Hallo, für ein aktuelles Projekt habe ich eine Platine entworfen. Diese ist nun hier, bestückt und funktioniert grundsätzlich. Nur mit einer Funktion habe ich ein Problem. Da die Platine mit einer Batterie betreibbar sein soll, und daher möglichst wenig Strom aufnehmen sollte, habe ich die 5V Stromversorgung des LCD Displays (16x2 Zeichen) auf einen IO des µC gelegt. Damit wollte ich dann das Display bei Bedarf an- bzw. abschalten. Leider geht das nicht. Ich habe im Programm den entsprechenden Pin als Ausgang gesetzt und eingeschaltet. Aber wenn da nun das Display dran hängt dann sind es keine sauberen +5V mehr wie die Versorgungsspannung des µC sondern die Spannung bricht irgendwie zusammen und doch nicht (auf dem Oszi sieht es aus wie ein Höhenprofil beim Radfahren). Hat da jemand Erfahrung dazu wo es da klemmen könnte? Zieht das Display beim Einschalten zu viel Strom? Eigentlich dachte ich das so ein Display kaum Strom zieht und die Hintergrundbeleuchtung wird über einen anderen Pin gesteuert. Gruß, Benny.
Hallo Schau erstmal nach, wieviel Strom dein LCD braucht. Und dann, was ein uC-Pin treiben kann. Gruß Joachim
Du kannst das Display nicht einfach aus und einschalten, es muss dann immer wieder neu initialisiert werden. Das heist du müstest dein Programm nach jedem Einschalten wieder neu starten.
> Aber wenn da nun das Display dran hängt dann sind es keine sauberen +5V > mehr wie die Versorgungsspannung des µC sondern die Spannung bricht > irgendwie zusammen und doch nicht (auf dem Oszi sieht es aus wie ein > Höhenprofil beim Radfahren). Geht es nicht genauer (Oszillogramm, Höhe der Spannung, etc.)?
Manfred G. schrieb: > Du kannst das Display nicht einfach aus und einschalten, es muss dann > immer wieder neu initialisiert werden. Das heist du müstest dein > Programm nach jedem Einschalten wieder neu starten. Na ja. Das nun wieder nicht. Es heisst lediglich, dass nach einem Wiedereinschalten die Initialisierungssequenz erneut durchlaufen werden muss. Mit ein bischen Codeorganisation ist das ein Funktionaufruf mehr
1 | if( .... ) { |
2 | PORTx |= ( 1 << LCD_POWER ); |
3 | lcd_init(); |
4 | }
|
Das ist jetzt nicht wirklich Raketentechnik.
Hallo, am µC wären 40mA pro Pin ok und max. 200mA gesamt. Da liegt das Display mit typ. 1,2mA darunter. @Manfred Wüsste nicht warum ich das Display nicht einfach aus- und einschalten können sollte. Das es neu initialisiert werden muss ist klar, aber dafür muss man nicht das Programm neu starten sondern einfach an gegebener Stelle "Initlcd" ausführen. Ich denke ich hab gefunden wo der Hund begraben ist, ich habe folgende Timer Konfiguration: Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare B Pwm = Clear Up Müsste so lauten: Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect Werd ich heut Abend mal testen. Gruß, Benny.
Benjamin Klyeisen schrieb: > Ich denke ich hab gefunden wo der Hund begraben ist, ich habe folgende > Timer Konfiguration: > > Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare B Pwm = Clear Up > Na das kann doch ein Blinder greifen, dass das nicht funktionieren kann! > > Müsste so lauten: > > Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare A Pwm = Clear Up > , Compare B Pwm = Disconnect Yep. Genau so muss das sein. Ist doch völlig logisch. Seltsam, dass das hier keiner gesehen hat. Auf jeden Fall danke für die Info. Sarkasmus aus.
@Buchegger Abwarten, es war zwar ein Fehler (Copy-Paste). Aber ich habe die PWM zu Anfang gleich mit 255 geladen, somit sollte es eigentlich ja doch gepasst haben. Naja, ich werds heut Abend sehen.
ein LCD selber verbraucht in der Regel nicht viel, das meiste frisst die Hintergrundbeleuchtung. Eventuell hilft es, wenn du nur die Hintergrundbeleuchtung abschaltest...
Humorberater schrieb: > Karl Heinz Buchegger schrieb: > >> Sarkasmus aus. > > In Zukunft bitte weglassen. Ist ohne viel lustiger. Siehst du. Er hat den Wink mit dem Zaunpfahl nicht verstanden.
...da sind wieder die jungs, die zwar programmieren können (vll), aber null plan von elektronik an sich haben. auweia. Klaus.
@Buchegger Doch, wohl verstanden und ignoriert. Es gibt Dinge im Leben über die ich mir Gedanken mache und Leute deren Äußerungen ich einfach ignoriere. @Klaus2 Es war einfach ein Copy-Paste Fehler, kommt beim proggen ab und zu vor und wenn ich sooooo schlecht wäre dann würde ich mit meinen Controllern kaum einen solchen Erfolg haben. Aber ich lerne daraus, nach 3 Bier sollte man Abends keinen Prototypen mehr in Betrieb nehmen...
Benjamin Klyeisen schrieb: > Ich denke ich hab gefunden wo der Hund begraben ist, ich habe folgende > Timer Konfiguration: > > Config Timer1 = Pwm , Pwm = 8 , Prescale = 8 , Compare B Pwm = Clear Up Dem LCD ist der Timer doch völlig schnurz. Bevor Du dem LCD die VCC klaust, mußt Du erstmal alle Ausgänge zum LCD auf 0 setzen. Ansonsten kannst Du ziemlich sicher ein neues LCD kaufen gehen.
Hallo Peter, danke, solche Hinweise hatte ich eigentlich erwartet bzw. ob es da was grundsätzliches gegen die Idee gibt einfach VCC abzuklemmen. Ich habe den Code nun angepasst und es funktioniert soweit. Da ein solches Display kaum was kostet und ich es eben wissen will habe ich eben die böse Situation erzeugt, VCC abgewürgt und weiter Daten gesendet. Display hats paar Stunden überlebt, nach welcher Zeit geht das dann kaputt? Oder gibt es da bei den Displays auch welche denen das egal ist? Gruß, Benny.
Naja, peda hat ein wenig übertrieben, aber im Interesse des Stromverbrauches und der Belastung der Ausgänge sollest du schon zusehen, das die Pins zum LCD inaktiv werden (z.B. auf low oder als Inputs ohne Pullups). Sonst kann es passieren das entweder das LCD nicht ausgeht, weil es über Schutzdioden an den Pins weiter gespeist wird oder zumindest der Stromverbrauch durch das Abschalten nicht signifikant sinkt. Allerdings verbraucht jede LED deutlich mehr Strom als ein LCD der HD44780 Klasse, so das es u.U. erstmal noch andere Einsparungsmöglichkeiten gibt.
Hi, also ich hab das nun alles sauber angepasst im Code und es funktioniert auch soweit. Wie gesagt funktioniert das auch mit dem "dem LCD den Saft abdrehen" aber der Stromverbrauch steigt dadurch, geht zwar nicht kaputt aber ich lasse es dann doch einfach an. Mich wundert aber nun das die ganze Schaltung knappe 16mA im Leerlauf braucht. Also nur µC mit 8MHz und LCD ohne Hintergrundbeleuchtung. Gespeist an 12VDC, auf 5V geregelt über einen LM2594-5. Ich habe den Schaltregler im Verdacht gehabt und diesen mal gegen meinen bisherigen TS2950-5 getauscht, ok, Verbrauch sank auf knappe 9mA. Wenn ich das Display abziehe dann sinkt es auf knappe 8mA. Aber in meiner vorherigen Schaltung mit 4er 7-Segment Anzeige hatte ich im Standby nur eine Stromaufnahme von 1-2mA. Da bin ich grad echt am rätseln was da den Strom zieht. Muss mal nochmals prüfen ob die Port-Pins richtig gesetzt sind. Die 6 Pins zum Display müssten doch alle als Ausgänge geschaltet sein oder? Also E, RW und die 4 Datenleitungen. Wenn es sein muss dann kann ich auch einen Akku einsetzen. Allerdings sollte das dann relativ einfach von statten gehen. Im Netz habe ich Anleitungen gefunden das man einen NIMH Akku mit bis zu 1/10 oder 1/20 seiner Nennkapazität auch permanent laden kann wenn man nicht viel Strom benötigt. In meinem Fall ginge es nur darum eine Netzfreischaltung in der Nacht zu überbrücken. Gruß, Benny.
Benjamin Klyeisen schrieb: > Wenn es sein muss dann kann ich auch einen Akku einsetzen. wie groß ist dein Akku? zb 1000mAh bei 10mA Verbrauch hast du also rein rechnerisch 100 Stunden Versorgung. 100 Stunden sind etwas über 4 komplette Tage. > benötigt. In meinem Fall ginge es nur darum eine Netzfreischaltung in > der Nacht zu überbrücken. Du machst dir zuviel Sorgen :-)
> Muss mal nochmals prüfen ob die Port-Pins richtig gesetzt sind. Die 6 > Pins zum Display müssten doch alle als Ausgänge geschaltet sein oder? > Also E, RW und die 4 Datenleitungen. Sind die Ausgänge auf LOW, wenn du das Display abschaltest?
Hi, also das Display schalte ich nicht mehr ab, lohnt sich nicht wegen den 1,2mA. Wenn ich das Display abschalte dann steigt der Strom um gute 50mA! Das Display geht zwar nicht kaputt, aber gut tut es nicht. Ich hatte vor entweder einen 8,4V Block Akku zu verwenden mit 280mAh oder 6x 1,2V AA in Reihe mit je 2200mAh. Ladestrom ca. 26,5mA. Akku wird im Gerät fest verbaut, kann also nicht verpolt werden. Aber das Netzteil könnte verpolt angeklemmt werden :-( Ich habe mal diesen Schaltplan für diese Sache zusammengefummelt, das sollte doch so gehen oder? Gruß, Benny.
Benjamin Klyeisen schrieb: > Ich habe mal diesen Schaltplan für diese Sache zusammengefummelt, das > sollte doch so gehen oder? Einerseits braucht man zum Akkuladen keine Konstantstromquelle, ein Widerstand tuts auch, es kommt ja auf ein paar Prozent mehr oder weniger Strom nicht an. Andrerseits hört deine Schaltung nicht auf zu laden, wenn der Akku voll ist. Bei AA ist das sicher unkritisch, aber ob dein Akkublock den Strom als Dauerladung verträgt solltest du im Datenblatt nachprüfen. Gruss Reinhard
Benjamin Klyeisen schrieb: > Wenn ich das Display abschalte dann steigt der Strom um gute > 50mA! Da machst Du irgendwas falsch. (oder verwendest das falsche Display mit Step-up Wandler). Der meiste Strom beim Display geht übrigens durch den Kontrasteingang. Da hängt im LCD einfach ein Spannungsteiler gegen den VDD Pin. Ich verwende meistens einen Open-Drain mit PWM + Widerstand + Glättungskondensator zur Kontrasteinstellung. Jeder Pin hat außerdem einen Pull-Up gegen VDD der jeweils 33uA zieht. Es bringt etwas zwischen der Datenübertragung die Pins in den Ruhezustand "high" zu setzen. Zur Batteriepufferung kannst Du dir vielleicht auch mal den Batteriewächter Ladeteil anschauen. http://www.mikrocontroller.net/articles/Batteriew%C3%A4chter Gruß Anja
Anja schrieb: > Benjamin Klyeisen schrieb: >> Wenn ich das Display abschalte dann steigt der Strom um gute >> 50mA! > > Da machst Du irgendwas falsch. (oder verwendest das falsche Display mit > Step-up Wandler). Matthias hat das bereits erklärt und es hat sich bewahrheitet. Wenn ich dem Display (Kontrasteinstellung hängt da mit dran) per µC Pin den Saft abschalte, dann fliest auf einmal mehr Strom über die Datenpins. Schalte ich das Display nicht ab sondern lösche nur den Inhalt und schalte die Hintergrundbeleuchtung ab, ist alles ok und ich habe nur ca. 1,2mA Stromaufnahme mehr wie wenn ich das Display komplett abziehe. Also passt zu den Angaben im Datenblatt des Displays. Ich hab jetzt auch nochmals den Stromverbauch des µC genau im Datenblatt nachgesehen. Bei Vcc 5V und 8MHz Takt soll der im aktiven Zustand ca. typ 4mA bis max. 12mA betragen. Also sollte sich mein Stromverbauch im Bereich von ca. 5,2mA bis 13,2mA befinden. Mit den knappen 8mA liege ich da ja gut und denke das soweit alles passt. Nun geht es mehr darum die Akku Ladung usw. zu lösen. Das werde ich aber in einem neuen Thema erfragen. Danke soweit an alle! Gruß, Benny.
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.