LCD und RTC powered bei MCU

Gast #4684954
Lesenswert?

Hallo liebe Leute,

Ich plane gerade ein kleines Batterie betriebenes Gerät welches mit 
einem Motor das Tor unseres Hühnerstalls öffnet und schliesst.
Die Batterie sollte natürlich möglichst lange halten.

Nun frage ich mich, ob ich die Echtzeit Uhr (RTC) sowie das LCD direkt 
von je einem Output Pin des Mikrocontrollers (ATMEGA328P-PU) speisen 
kann.
Damit erhoffe ich mir, das LCD und die RTC abzuschalten indem ich die 
entsprechenden Outputs auf Low schalte. (Die RTC sollte dann automatisch 
von einer Knopfzelle gespiesen werden)

Ich habe folgende Ströme berechnet (bei 4.85V):

LCD: 2.5 mA
Trimmer 20 kOhm: 0.2 mA

DS1307+ I_CCA: 1.5 mA
2 x PullUP 2.7 kOhm: 3.6 mA


Was haltet ihr davon? Ist die Idee an sich gut oder eher schlecht?

- Sollte ich zusätliche Strom limitierende Widerstände und decoupling 
Kondensatoren verwenden?
- Sind die verwendeten Bauteile ok oder gibt es bessere alternativen?


Ich hänge einen aufs wesentliche reduzierten Plan an diesen Beitrag an.

Vielen Dank für eure Kommentare!

nette Grüsse aus der Schweiz,
Philip
Angehängte Dateien:
(Firma: matzetronics) #4685124
Lesenswert?

Philip schrieb:
> Was haltet ihr davon? Ist die Idee an sich gut oder eher schlecht?

Von den Strömen her ist das alles kein Problem. Allerdings solltest du 
schon am LCD einen Stütz-C einfügen (z.B. 47nF-100nF) und du musst daran 
denken, das alle Daten- und Kontrollpins auf low gehen, bevor du das LCD 
abschaltest. Das wird nämlich sonst munter weiter gespeist durch die 
anderen Pins und verbraucht wieder Strom. Ausserdem wirst du jedesmal 
nach dem aktivieren neu initialisieren müssen.
Ich sehe übrigens keine Benutzereingabe, wie soll das LCD aufwachen?
Gast #4685230
Lesenswert?

Lieber Matthias,

Vielen Dank für deine Tipps! Ich habe nun einen 0.1 μF Kondensator beim 
LCD eingefügt.
Ich werde wie du vorgeschlagen hast alle LCD pins auf low schalten und 
das Display jeweils neu initialisieren.

Was denkst Du über die RTC mit den zwei 2.7 kOhm Pullups, wird dies auch 
klappen mit der Speisung über den MCU?


Was das Aufwachen angeht hast Du natürlich auch recht ich habe einige 
Schalter sowie die Spannungsversorgung auf dem Schaltplan weggelassen, 
damit es etwas übersichtlicher ist. Wenn Du möchtest kann ich den 
gesamten Plan noch hochladen?

Danke! :o)
Gast #4685240
Lesenswert?

holger schrieb:
> Im Verhältnis zur Stromaufnahme des Motors wirken
> sich deine Stromsparmassnahmen vermutlich nicht die Bohne aus.

Lieber Holger,

Vielen Dank für Deine Antwort.

Das könnte natürlich sein. Ich habe versucht die Strom aufnahmen über 
einen Tag auszurechnen und bin auf ein anderes Ergebniss gekommen. 
Vielleicht habe ich jedoch etwas nicht berücksichtigt bitte kontrollier 
doch kurz meine annahmen/berrechnungen:

Strohmaufnahme pro Tag:

LCD 2.7 mA * 24h =  64.8 mAH
RTC 5.1 mA * 24h = 122.4 mAH
Motor 500 mA * 2 min = 16.7 mAH

Deshalb denke ich, dass es schon sinnvoll ist LCD/RTC abzuschlaten. (bzw 
die RTC von der Knopzelle her zu versorgen)

Lieber Gruss
Philip
#4685242
Lesenswert?

Nimm' eine temperaturkompensierte RTC wie DS3231. Die DS1307 rennt dir 
grob 5s am Tag weg.

Als Display würde ich ein 5110-LCD nehmen. Die kommen unter 1mA 
(Backlight aus lassen!); wenn du die Anzeige nicht all zu oft 
auffrischt, sogar mit ~240µA. Die DS3231 nimmt 100µA auf, wenn sie über 
Vcc mitgespiesen wird. Auf Backup-Batterie laufend jedoch <1µA. Die 
I2C-Transfers schlagen kurz mit etwa 4mA zu Buche.
#4686120
Lesenswert?

Ich würde die RTC weglassen, das kann der Mikrocontroller selber, wenn 
Du als Taktquelle den internen 8MHz RC-Oszillator verwenden kannst, dann 
kommt der Uhrenquarz an PB6 und PB7, der Timer 2 wird so konfiguriert, 
das er als Uhr läuft, auch wenn der Controller im Sleep ist. Die Uhr 
mußt Du dann natürlich in Software realisieren. Zum witerzählen der Zeit 
muß der Controller zwar immer wieder (z.B. 1x pro Sekunde) aufwachen, 
aber das fällt, vom Stromverbrauch her, kaum ins Gewicht, und im aktiven 
Betrieb verursacht die Uhr gar keinen zusätzlichen Stromverbrauch. Bei 
den größeren ATmegas sind die Pins für CPU-Quarz, und Uhrenquarz 
getrennt, da geht dann auch beides gleichzeitig.

Mit freundlichen Grüßen - Martin
Gast #4686134
Lesenswert?

Martin S. schrieb:
> Ich würde die RTC weglassen, das kann der Mikrocontroller selber

Hey Martin,

Das ist eine gute Idee. Wobei die Uhr dann halt neu eingestellt werden 
muss wenn die Battrien gewechselt werden. (Dies sollte aber nicht allzu 
häufig vorkommen).

Kannst Du etwas über die zu erwartende Genauigkeit sagen? (Über ein Jahr 
mit Temperaturen von ca. -5 bis 35 grad C)

Gruss Philip
#4686166
Lesenswert?

Mit der selbstgestrickten µC-RTC kommst du auf das Niveau der DS1307, um 
es einfach zu formulieren. Oder du steckst viel (und ich meine viel) 
Geld in einen temperaturkompensierten Quartz (TCXO). Da ist eine DS3231 
zu 50 Eurocents ein echter Schnapper.

Ich habe aus den Komponenten eine Uhr gebastelt, die halt nur Uhrzeit, 
Datum, bisschen Gedöns und Luftfeuchte/Temperatur anzeigt. Und komme da 
auf ordentliche Laufzeiten. Das wird mit diesen 1620-Displays jedoch 
nichts, die ziehen deutlich mehr Strom.
Gast #4686175
Lesenswert?

Dirk K. schrieb:
> Mit der selbstgestrickten µC-RTC kommst du auf das Niveau der
> DS1307, um
> es einfach zu formulieren. Oder du steckst viel (und ich meine viel)
> Geld in einen temperaturkompensierten Quartz (TCXO). Da ist eine DS3231
> zu 50 Eurocents ein echter Schnapper.
>
> Ich habe aus den Komponenten eine Uhr gebastelt, die halt nur Uhrzeit,
> Datum, bisschen Gedöns und Luftfeuchte/Temperatur anzeigt. Und komme da
> auf ordentliche Laufzeiten. Das wird mit diesen 1620-Displays jedoch
> nichts, die ziehen deutlich mehr Strom.

Hey Dirk,
Das Display soll halt nur so ein paar Minuten pro Monat laufen. (Wenn 
Schliess/Öffnungszeiten neu eingestellt werden müssen)

Meine Frage ist deshalb ob ich das LCD/RTC mit dem MC zuverlässig von 
der Spannungsversorgung trennen und wieder verbinden kann.

Ob es dann während der kurzen Betriebszeit ein wenig mehr Strom braucht 
wird nicht allzusehr zu Buche schlagen (hoffe ich) :)


Danke und Gruss Philip
#4686208
Lesenswert?

Philip schrieb:
> Kannst Du etwas über die zu erwartende Genauigkeit sagen?

Genaue Messungen kann ich Dir nicht bieten, aber, hier im Zimmer, laufen 
schon mehrere Aufbauten, mit Wald und Wiesen Uhrenquarz vom Reichelt, 
und 10nF Keramikkondensatoren. Abweichung ca. 2 - 3 Minuten / Monat. 
Temperatur ist allerdings relativ konstant, ca. 20 .. 26 Grad C. Will 
aber, für einen Aufbau, der gerade am entstehen ist, mal einen der 
Kondensatoren durch einen Trimmer ersetzen, zwecks Abgleich.

Das Problem mit dem Batterie-Wechsel ist einfach zu lösen: wenn der 
Controller nur die Zeit weiterzählt, ist die Stromaufnahme so gering, 
daß ein Elko von ein paar Tausend uF locker ein paar Minuten überbrückt.

Wenn die genaue Zeit so wichtig ist, hast Du schon mal über ein 
DCF77-Modul nachgedacht, reicht ja, wenn es alle paar Tage mal kurz 
eingeschaltet wird, und die Uhr nachgestellt wird.

Mit freundlichen Grüßen - Martin
Gast #4686240
Lesenswert?

Martin S. schrieb:
> Wenn die genaue Zeit so wichtig ist, hast Du schon mal über ein
> DCF77-Modul nachgedacht, reicht ja, wenn es alle paar Tage mal kurz
> eingeschaltet wird, und die Uhr nachgestellt wird.

Hallo Martin :)

Das ist ja eine coole Idee :)

Für dieses Projekt jedoch denke Ich ist einfacher und billiger den 
DS3231 von Dirk zu verwenden. (Hoffe ich jedenfalls)

Aber ich freue mich in einem anderen Projekt mal das DCF77 Signal 
empfangen zu können. :)

Danke und Gruss
Gast #4686285
Lesenswert?

Philip schrieb:
> Strohmaufnahme pro Tag:
>
> LCD 2.7 mA * 24h =  64.8 mAH
> RTC 5.1 mA * 24h = 122.4 mAH
> Motor 500 mA * 2 min = 16.7 mAH

RTC 5 mA ist doch völliger Unsinn, realistisch sind weniger als 500 µA, 
und das Konzept ist auch unsinnig, von einer Batterie auf eine andere 
umzuschalten (die auch noch weniger Kapazität hat). RTCs sind darauf 
ausgelegt, im abgeschalteten Zustand des Systems jahrelang mit Batterie 
zu laufen, es ist eine völlige Illusion, dass du daran mit irgendeiner 
irren Schaltung was verbessern könntest.

Georg
Gast #4686319
Lesenswert?

Georg schrieb:
> RTC 5 mA ist doch völliger Unsinn, realistisch sind weniger als 500 µA,
> und das Konzept ist auch unsinnig, von einer Batterie auf eine andere
> umzuschalten (die auch noch weniger Kapazität hat). RTCs sind darauf
> ausgelegt, im abgeschalteten Zustand des Systems jahrelang mit Batterie
> zu laufen, es ist eine völlige Illusion, dass du daran mit irgendeiner
> irren Schaltung was verbessern könntest.

Hallo Georg,

Die RTC hat doch zwei Strom aufnahmen eine wenn Vcc=5V und eine wenn 
Vcc=0V (im zweiten Fall wird die RTC dann durch die Knopfzelle 
versorgt).

Sagen wir mal: I_ccs = 0.2 mA (Vcc=5V)
und I_BAT1 = 0.0005 mA (Vcc=0V)


Würde es dann keinen Sinn machen mit einer Schaltung Vcc zu trennen?
#4686422
Lesenswert?

Hast du mal in das Datenblatt des DS1307 (klick mal auf "DS130729 
geguckt? Electrical Characteristics, Seite 2:

Active Supply Current (fSCL = 100kHz) max. 1.5mA
Standby Current max. 200µA
(ICCS specified with VCC = 5.0V and SDA, SCL = 5.0V.)

Damit noch immer ein Stromverschwender im Vergleich zum genaueren 
DS3231.

Beim trennen von Vcc fällt der auf Standby (Timekeeping) zurück und 
spart gut Strom.
Gast #4686554
Lesenswert?

Philip schrieb:
> Die RTC hat doch zwei Strom aufnahmen eine wenn Vcc=5V

Philip schrieb:
> Sagen wir mal: I_ccs = 0.2 mA (Vcc=5V)

Zuerst behauptest du, deine RTC braucht 5 mA, jetzt sind es noch 0,2 mA 
- so kann man nicht ernstahft diskutieren. Das ist immerhin ein 
Unterschied von Faktor 25. Was fällt dir als nächstes ein? Mach das so 
wie du willst, Argumente nützen ja eh nichts.

Georg
Gast #4686575
Lesenswert?

Georg schrieb:
> Philip schrieb:
>> Die RTC hat doch zwei Strom aufnahmen eine wenn Vcc=5V
>
> Philip schrieb:
>> Sagen wir mal: I_ccs = 0.2 mA (Vcc=5V)
>
> Zuerst behauptest du, deine RTC braucht 5 mA, jetzt sind es noch 0,2 mA
> - so kann man nicht ernstahft diskutieren. Das ist immerhin ein
> Unterschied von Faktor 25. Was fällt dir als nächstes ein? Mach das so
> wie du willst, Argumente nützen ja eh nichts.
>
> Georg

Wieso bist du so gemein? :^(
Gast #4686591
Lesenswert?

Der Stromverbrauch mit Motor und LCD und RTC und pipapo ist
schon ein Proobleeeem.

Bevor ich mit Bauteilnamen um mich werfe, noch eine Frage
zum Konzept:

Da du für den Motor nur 2 Aktivierungen pro Tag vorsiehst,
nehme ich mal an, dass die Hühner morgens raus dürfen
und abends, wenn der Fuchs auf Jagd geht, eingesperrt werden
sollen.

Was nützt da eine hochgenaue Uhr? Tiere synchronisieren ihre
"innere Uhr" auf das Tageslicht. Bei denen sind die
"Umschaltzeiten" Morgendämmerung und Abenddämmerung.

Ein µC mit ungenauem internal RC-Oszillator und einem LDR
(von mir aus auch ein Licht-Frequenzwandler) als
Lichtsensor im sparsamsten Stromsparmodus könnte dieses
Verhalten wunderbar und (bei schlauer Programmierung) noch
störsicherer, als das Tierverhalten nachbilden.

Wenn sich das Programm an den Ablauf der letzten 7
Tage orientiert, ist die Sommer-Winter-Anpassung gleich
eingebaut...

Da kommst du auf Genauigkeiten von vielleicht 5...15
Minuten pro Tag - aber die werden nicht summiert, sondern
passen sich immer wieder an den Tagesablauf an.

LCD? Wozu?
Gast #4686594
Lesenswert?

Georg schrieb:
> Zuerst behauptest du, deine RTC braucht 5 mA, jetzt sind es noch 0,2 mA
> - so kann man nicht ernstahft diskutieren. Das ist immerhin ein
> Unterschied von Faktor 25. Was fällt dir als nächstes ein? Mach das so
> wie du willst, Argumente nützen ja eh nichts.

Aber du hast natürlich recht ich habe verschiedene Zahlen verwendet.

Zuerst ging ich von 5.1 mA aus.
Dies setzte sich zusammen aus (Active Supply Current) I_CCA = 1.5 mA + 
der Strom der durch die I2C Pullups fliesst.

Unterdessen habe ich bemerkt, dass dies eine schlechte Annahme ist da 
der I2C ja nicht immer aktiv ist.

Besser ist es vom Standby Current I_CCS = 0.2 mA auszugehene.

I_CCS ist immer noch 400 höher als I_BAT1 = 500 nA wenn V_CC = 0V ist.


Alle werte habe ich vom DS1307 Datenblatt.


Deshalb denke ich man einsparungen machen wenn man mite microcontroller 
VCC auf 0V setzt.


Gruss Philip
Gast #4686626
Lesenswert?

Jacko schrieb:
> Der Stromverbrauch mit Motor und LCD und RTC und pipapo ist
> schon ein Proobleeeem.
>
> Bevor ich mit Bauteilnamen um mich werfe, noch eine Frage
> zum Konzept:

Hallo Jacko,


Vielen Dank für Deine Antwort.

Ich denke Du hast das Konzept richtig erfasst. :)

Ich habe über die realisierung mit einer Photodiode nachgedacht und 
obwohl sie viele Vorteile hat, hat sie auch einige Nachteile.

Vorteile:
-Keine RTC nötig
-Kein LCD nötig
-natürlicher zykluss

Nachteile:
-Sensor benötigt einmalige Kalibrierung.
-anfälliger auf äussere veränderungen (verschiebung des Stalles, Schnee, 
etc.)
-erhöhter programmier und debug aufwand



Alle diese Nachteile kann man sicherlich überwinden. Aber bevor ich mich 
an die Programmiererei mache wollte ich halt noch abklären ob es möglich 
ist LCD und RTC per Mikrocontroller von der Versorgungs Spannung 
abzuschneiden. (Worauf ich immer noch keine Antwort habe ;)


klar ist mit dieser Lösung müsste ich dann die Öffnungs und Schliesszeit 
alle paar Monate anpassen. (Deshalb brauche ich auch ein LCD 
(entsprechende Buttons sind übersichtshalber nicht auf dem Schaltplan 
eingezeichnet)).


Danke und viele Grüsse,
Philip
Gast #4686667
Lesenswert?

Straßenbeleuchtungen etc. werden recht zuverlässig mit
LDR-Erfassung geschaltet, wenn der Sensor so aufgestellt ist,
dass ihm Wetter nichts anhaben kann. Mit Kontrolle durch einen
ungenau getakteten µC wird das nur noch störsicher.

Ansonsten ist 5 Minuten DCF-Empfang pro Tag auch kein
Stromfresser - da musst du aber eine grobe Tabelle vorhalten, die
die Tageslänge im Jahresverlauf kennt - UND darfst die
Sommer/Winterzeit-Bits nicht vernachlässigen! Sonst gibts
Krawall im Hühnerstall! (Oder vorm Tor!)

Ansonsten noch ein Vorschlag für das LCD:
Einschaltung nur bei Bedarf! Dann kannst du das billigste
"stromfressendste" Display von Pollin etc nehmen.
Kosten:
1 PortPin IN + Taster
1 PortPin OUT + R + Transistor zum Einschalten des LCD

Ginge aber auch mit externem Schalter fürs LCD und
nur 1 PortPin IN, der die LCD-Versorgung erkennt.

Bei Abschaltung des LCD alle OUT-Pins zur LCD-Ansteuerung in
den INPUT-Modus schalten.
Bei Einschaltung des LCD muss es natürlich initialisiert werden.

Viel Glück bei deiner weiteren Suche!
Gast #4686689
Lesenswert?

Jacko schrieb:
> Ansonsten noch ein Vorschlag für das LCD:
> Einschaltung nur bei Bedarf! Dann kannst du das billigste
> "stromfressendste" Display von Pollin etc nehmen.
> Kosten:
> 1 PortPin IN + Taster
> 1 PortPin OUT + R + Transistor zum Einschalten des LCD

Könnte man auch R + Transistor weglassen? das LCD zieht ja nur 2.5 mA 
(max).

Oder sollte man immer mit R + Transistor arbeiten?
#4686719
Lesenswert?

Philip schrieb:
> Ich plane gerade ein kleines Batterie betriebenes Gerät welches mit
> einem Motor das Tor unseres Hühnerstalls öffnet und schliesst.
> Die Batterie sollte natürlich möglichst lange halten.

Martin S. schrieb:
> Ich würde die RTC weglassen, das kann der Mikrocontroller selber, wenn
> Du als Taktquelle den internen 8MHz RC-Oszillator verwenden kannst

ich würde eher die RTC DS3231 wählen die kann mit dem Alarmregister den 
ganzen Atmel wecken der tief schläft bis er morgens und abends was tun 
soll!

Da muss er nicht selber Sekunden zählen.

mit dieser Erweiterung könnte man auch noch den Atmel die letzten µA im 
sleep klauen
https://www.mikrocontroller.net/articles/Datei:Schaltplan_transistortester.png
Gast #4688029
Lesenswert?

Bei einem 2 x 16 Display für 5 EU von Po..in stehen
1,5...3 mA ohne Beleuchtung im Datenblatt - das kannst du auch
direkt von einem Out-Pin versorgen. Es gehen maximal 0,1 V
im µC verloren.

Oder eben (auch MIT Beleuchtung) das Display über einen
externen Taster, oder Schalter aktivieren.

"Oder sollte man immer...?"
- Nein, nur wenn der Strom zu hoch wird, besonders wenn mehrere
Ausgänge gleichzeitig Strom von etlichen mA ziehen.

Im Extremfall quälst du den µC mit zu hoher Verlustleistung.

Ansonsten sollte man bei Anwendungen, die sich auf stabile
Ausgangsspannungen verlassen, wie z.B. eine 16-Bit-PWM o.ä.
darauf achten, dass nicht alles durch Schalten eines anderen
PortPins mit einer Last > 10...20 mA (oder auch einiges weniger) 
durcheinander kommt.

Spielt beim von dir geschilderten Problem aber keine Rolle.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren