Forum: Mikrocontroller und Digitale Elektronik LCD verdunkelt bei Tastendruck, Stromaufnahme der Schaltung fast 200mA


von Lokus P. (derschatten)


Angehängte Dateien:

Lesenswert?

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.

von Uwe .. (uwegw)


Lesenswert?

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...

von Alexander S. (esko) Benutzerseite


Lesenswert?

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.

von Lokus P. (derschatten)


Lesenswert?

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?

von Karl H. (kbuchegg)


Lesenswert?

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.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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.

von Lokus P. (derschatten)


Lesenswert?

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?

von Volker S. (volkerschulz)


Lesenswert?

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

von Lokus P. (derschatten)


Lesenswert?

> 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?

von Volker S. (volkerschulz)


Lesenswert?

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

von MarioT (Gast)


Lesenswert?

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.

von Uwe .. (uwegw)


Lesenswert?

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
Noch kein Account? Hier anmelden.