Ich habe eine Schaltung laut Anhang aufgebaut. Verwendet wird ein ATMEGA8 mit 4MHz Takt. Stromversorgung läuft über externes 5V/1A stabilisiertes Netzteil. Die Schaltung zieht im Ruhebetrieb(nach dem Einschalten) ca. 14mA Betätige ich jedoch einer der Taster am Eingang PortB geht der Stromverbrauch auf knapp 16mA. Sind alle Taster gedrückt sind es ca. 19mA Wechsele ich jetzt allerdings mittels der Taste von PortB.6 ins LCD-Menü geht der Stromverbrauch beim drücken einer der Tasten von PortB auf satte 74mA. Sind alle gedrückt, volle 200mA! Was ist da Faul? Die Schaltung ist doch recht simpel aufgebaut. Daher tippe ich eher auf ein Softwareproblem. Wäre jemand so nett und könnte mal einen Blick drauf werfen.
Zeile 364: KEY_DDR |= ACTION_KEYS; Da schaltest du die Pins als Ausgang, und wegen der Pullup-Konfiguration ist das PORT-Register noch gesetzt. Also sind die Pins für die Tasten nun Ausgänge mit high-Pegel...
1 | if(get_key_short(1<<KEY1)) // kurzer Tastendruck (PinB.6) |
2 | {
|
3 | KEY_DDR |= ACTION_KEYS; // HIER IST DAS PROBLEM, |
4 | ...
|
5 | }
|
Du schaltest die Eingänge auf Ausgang. -> Kurzschluss Edit: Da war jmd. schneller.
Danke für den Hinweis! Kann mir noch jemand erklären warum die Schaltung überhaupt mehr Strom zieht wenn eine taste gedrückt wird? (Wenn die PINs auf Eingang defineirt sind) Ist das nur weil der AVR etwas zu tun hat, oder weil die Eingägne dabei auf GND gelegt werden?
Manfred W. schrieb: > Kann mir noch jemand erklären warum die Schaltung überhaupt mehr Strom > zieht wenn eine taste gedrückt wird? (Wenn die PINs auf Eingang > defineirt sind) Das tut sie doch gar nicht. Dein Problem besteht darin, dass der Eingang an dem eine Taste gedrückt ist, eben kein Eingang mehr ist, sondern als Ausgang umdefiniert wird.
Ich glaube, du meinst den Fall ohne Kurzzschluss (14mA -> 16mA). Die Eingänge sind schätzungsweise hochohmig. Durch den Pullup fließt dadurch nur ein sehr kleiner Strom. Hängst Du diesen aber mittels Taster an GND, fließt ein höherer Strom.
Christian H. schrieb: > Ich glaube, du meinst den Fall ohne Kurzzschluss (14mA -> 16mA). > > Die Eingänge sind schätzungsweise hochohmig. Durch den Pullup fließt > dadurch nur ein sehr kleiner Strom. Hängst Du diesen aber mittels Taster > an GND, fließt ein höherer Strom. Ja, das meinte ich. Und läßt sich das irgenwie verhindern? Denn bei 6 taster gleichzeitig ist das ja ein recht "hoher" Strom. Oder ist das einfach so?
Manfred W. schrieb: > Christian H. schrieb: >> Ich glaube, du meinst den Fall ohne Kurzzschluss (14mA -> 16mA). >> >> Die Eingänge sind schätzungsweise hochohmig. Durch den Pullup fließt >> dadurch nur ein sehr kleiner Strom. Hängst Du diesen aber mittels Taster >> an GND, fließt ein höherer Strom. > > Ja, das meinte ich. > > Und läßt sich das irgenwie verhindern? Denn bei 6 taster gleichzeitig > ist das ja ein recht "hoher" Strom. Oder ist das einfach so? Du kannst (extern) hochohmigere Widerstaende benutzen (und die internen deaktivieren). Irgendwann wird's allerdings stoerungsempfindlich... Volker
> Du kannst (extern) hochohmigere Widerstaende benutzen (und die internen > deaktivieren). Irgendwann wird's allerdings stoerungsempfindlich... > Also extern gegen HIGH (Vcc) Sind 10kOhm typisch? habe da etwas davon gelesen. Was meinst du mit irgendwann?
Manfred W. schrieb: >> Du kannst (extern) hochohmigere Widerstaende benutzen (und die internen >> deaktivieren). Irgendwann wird's allerdings stoerungsempfindlich... >> > > Also extern gegen HIGH (Vcc) Sind 10kOhm typisch? habe da etwas davon > gelesen. > Was meinst du mit irgendwann? Du kannst auch 1M nehmen... Im Kfz-Bereich werden haeufig 100K benutzt, da mit groesseren Stoereinfluessen zu rechnen ist. So als Anhaltspunkt... Den Strombedarf kannst Du Dir ja ueber das Ohmsche Gesetz selbst ausrechnen... Volker
Irgenwann heist der Wiederstandswert zusammen mit dem Aufbau, welche Störstrahlung Du Dir einfängst. 10kOhm ist aber sehr klein da machst Du nichts falsch, bei ein paar Mega hängst Du halt noch nen Kondensator dran 10nF oder so gegen Masse.
Vielleicht sollten wir erst mal klären, was du dir bei der kritischen Zeile gedacht hast. Du willst doch nicht wirklich die Pins als Ausgänge haben, oder? Von den Bezeichnern her würde ich darauf tippen, dass du damit nur noch auf bestimmte Taster reagieren willst...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.