Forum: Mikrocontroller und Digitale Elektronik LCD und RTC powered bei MCU


von Philip (Gast)


Angehängte Dateien:

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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?

von holger (Gast)


Lesenswert?

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

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

von Philip (Gast)


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)

von Philip (Gast)


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

von Dirk K. (dekoepi)


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.

: Bearbeitet durch User
von spess53 (Gast)


Lesenswert?

Hi

>Als Display würde ich ein 5110-LCD nehmen.

Oder DOG-Display -> 250µA.

MfG Spess

von Philip (Gast)


Lesenswert?

Dirk K. schrieb:
> Nimm' eine temperaturkompensierte RTC wie DS3231. Die DS1307 rennt dir
> grob 5s am Tag weg.

Hey Dirk,

Vielen Dank für diese Bemerkung. 5s/tag ist klar zuviel. Ich werde mir 
die DS3231 genauer anschauen.

Was die beiden vorgeschlagen Displays betrifft bin ich noch ein wenig 
skeptisch.

von Martin S. (led_martin)


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

von Philip (Gast)


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

von Dirk K. (dekoepi)


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.

von Philip (Gast)


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

von Martin S. (led_martin)


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

von Philip (Gast)


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

von Georg (Gast)


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

von Dirk K. (dekoepi)


Lesenswert?

Vermutlich ist es eine DS1307 mit LED drauf, die dann 5mA zieht ... ;)

von Philip (Gast)


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?

von Dirk K. (dekoepi)


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.

: Bearbeitet durch User
von Georg (Gast)


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

von Philip (Gast)


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? :^(

von Jacko (Gast)


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?

von Philip (Gast)


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

von Philip (Gast)


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

von Jacko (Gast)


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!

von Philip (Gast)


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?

von Philip (Gast)


Lesenswert?

Philip schrieb:
> Könnte man auch R + Transistor weglassen? das LCD zieht ja nur 2.5 mA
> (max).
>
> Oder sollte man immer mit R + Transistor arbeiten?

mit weglassen meine ich direkt vom PortPin Out zum Spannungseingang der 
LCD zu gehen

von Joachim B. (jar)


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

: Bearbeitet durch User
von Jacko (Gast)


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.

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.