Hi,
ich würde mir gerne ein kleines "Erinnerungs-Gerät" basteln (z.B. für
Blumen gießen etc.); es soll einfach nach einer bestimmten Zeit (bis ca.
1 Woche) eine kleine LED aufleuchten lassen und mit einem kleinen Taster
resettet werden können. Habt ihr eine Idee, wie ich das möglichst
einfach realisieren kann? Ich schätze um einen Mikrocontroller kommt man
nicht herum oder gibt es Timer-Bausteine die so lange Zeiten
realisieren? Ich habe einen Arduino, da müsste man doch mit Delays und
Schleifen auch so eine lange Wartezeit hinkriegen oder klappt das aus
irgendeinem Grund nicht? Genauigkeit ist nicht so wichtig, bei einer
Zeit von einer Woche kanns auch mal ne Stunde daneben liegen.
Homy schrieb:> gibt es Timer-Bausteine die so lange Zeiten realisieren?
Mit einem 4060 plus 4020 lässt sich sowas sicherlich realisieren.
Wenn Du die Programmierung von µCs beherrschst, wird vielleicht
etwas einfacher.
Gruss
Harald
dann würde ich wohl einen ATTiny benutzen...würde den dann auch gerne
per Batterie betreiben, so ein ATTiny zieht ja wahrscheinlich auch nicht
so viel Strom, das müsste dann auch eine Weile halten oder?
Früher ging das für µC-Verächter leichter, weil es einen dafür perfekten
Baustein gab, den XR2240. Den gibts heute aber nur noch als Antiquität.
Dessen Prinzip lässt sich zwar mit dem 4060 und etwas Drumrum nachbauen,
heute nimmt man aber einen einfachen µC, der das auch mit Knopfzelle
ewig durchhält.
A. K. schrieb:> Wozu braucht man da einen Quarz? Derart pingelige Blumen gibts nicht.
Weil:
Homy schrieb:> es soll einfach nach einer bestimmten Zeit (bis ca.> 1 Woche)
das auch eine tausendstel Sekunde sein könnte :-P
Homy schrieb:> dann würde ich wohl einen ATTiny benutzen...würde den dann auch gerne> per Batterie betreiben, so ein ATTiny zieht ja wahrscheinlich auch nicht> so viel Strom, das müsste dann auch eine Weile halten oder?
Im Prinzip geht da jeder Mikrocontroller. Schön handlich und wirklich
billig ist der ATtiny13A. Mit internem 128-KHz-Oszillator müsste er
unter 100 μA ziehen, das heißt, wenn du zwei Mikrozellen zur
Stromversorgung verwendest, reicht das mehr als 2 Jahre.
Die LED würde ich – wie A. K. schon vorgeschlagen hat – nicht leuchten,
sondern immer wieder aufblitzen lassen.
Markus Weber schrieb:> Mit internem 128-KHz-Oszillator müsste er> unter 100 μA ziehen, das heißt,
Das wär dann der Watchdog-Oszillator, und der ist dann doch ein arg
grobes Schätzeisen. Ich würde schon den normalen nehmen, aber man kann
den passend prescalen.
Markus Weber schrieb:> Im Prinzip geht da jeder Mikrocontroller. Schön handlich und wirklich> billig ist der ATtiny13A. Mit internem 128-KHz-Oszillator müsste er> unter 100 μA ziehen, das heißt, wenn du zwei Mikrozellen zur> Stromversorgung verwendest, reicht das mehr als 2 Jahre.
Weil die Zeit nicht sonderlich genau sein muss kann man auch den
Watchdog nehmen um ihn aus dem Schlaf zu wecken. Dann musst du die
Batterie wahrscheinlich erst wechseln wenn sie ausgelaufen ist ;)
Hatte für so etwas Aldi Zeitschaltuhren zerlegt.
Die Uhrenplatinen kann man überall einbauen. 3 Kabel - Masse, 1,5 Volt
und Signal.
Mit der 220 Volt Platine kann man bestimmt auch noch irgendwas mal
anfangen.
Eumel schrieb:> Markus Weber schrieb:>> Im Prinzip geht da jeder Mikrocontroller. Schön handlich und wirklich>> billig ist der ATtiny13A. Mit internem 128-KHz-Oszillator müsste er>> unter 100 μA ziehen, das heißt, wenn du zwei Mikrozellen zur>> Stromversorgung verwendest, reicht das mehr als 2 Jahre.>> Weil die Zeit nicht sonderlich genau sein muss kann man auch den> Watchdog nehmen um ihn aus dem Schlaf zu wecken. Dann musst du die> Batterie wahrscheinlich erst wechseln wenn sie ausgelaufen ist ;)
Mit fällt gerade ein, dass der Watchdog eh mit dem 128 KHz Oszillator
läuft. Also ändert sich an der Genauigkeit nichts, nur beim
Stromverbrauch kannst du die beiden Nullen streichen.
Eumel schrieb:> Mit fällt gerade ein, dass der Watchdog eh mit dem 128 KHz Oszillator> läuft. Also ändert sich an der Genauigkeit nichts, nur beim> Stromverbrauch kannst du die beiden Nullen streichen.
Da hast du wohl Recht. :-)
Zusätzlich den Prescaler so einstellen, dass der CPU-Takt für die noch
verbleibenden Wach-Zeiten bei 500 Hz liegt. Dann reichen wahrscheinlich
eine Solarzelle mit Elko oder zwei Elektroden, die man in die Blumenerde
steckt. ;-)
Eumel schrieb:> Mit fällt gerade ein, dass der Watchdog eh mit dem 128 KHz Oszillator> läuft. Also ändert sich an der Genauigkeit nichts, nur beim> Stromverbrauch kannst du die beiden Nullen streichen.
Der Tiny13A braucht laut Datasheet bei 100kHz Takt nur um die 5µA idle.
Weiter runter ist dort nicht dokumentiert, aber das geht mit dem Takt
sicherlich noch weiter runter bis zum Minimum von 4MHz/256=16kHz.
Im Power-Down mit aktivem Watchdog braucht er um die 4µA, also effektiv
mehr Strom als im Idle ohne Watchdog bei 16kHz.
A. K. schrieb:> aber das geht linear weiter> runter bis zum Minimum von 4MHz/256=16kHz.
Wieso sollte das das Minimum sein?
A. K. schrieb:> Im Power-Down mit aktivem Watchdog braucht er um die 4µA, also effektiv> mehr Strom als im Idle ohne Watchdog bei 16kHz.
Interessanter Gedanke, muss ich mal nach messen.
Eumel schrieb:> Wieso sollte das das Minimum sein?
Weil der Prescaler nur durch maximal 256 teilen kann. Weiter runter
gehts nur auf der Basis des unkalibrierten 128kHz Watchdog-Oszillators
und der ist so ungenau, dass es nach 1 Woche evtl. irgendwann nachts um
3 Uhr blinkt.
Korrektur: Es sind 4,8MHz, nicht 4MHz, also 19kHz Minimum.
A. K. schrieb:> dass es nach 1 Woche evtl. irgendwann nachts um> 3 Uhr blinkt.
Ist den Blumen doch egal ob sie jetzt einen Tag früher oder später
gegossen werden :)
Ich bin allerdings nicht sicher, wie die Kurve 19-7 im Datasheet zu
interpretieren ist. Möglicherweise ist da der Stromverbrauch des
Oszillators nicht drin enthalten. Dann ist meine Rechnung natürlich
Käse.
Nochmal Strom: Ein vergleichsweise dicker Klops wie der ATmega48PA ist
mit 32kHz Uhrenquarz im Power-save mit 1µA sparsamer als jeder ATtiny.
Und nebenbei auch noch viel genauer.
Peter R. schrieb:> Als Anzeige sollte man da ein LCD-Element benutzen. Z.B ein> zweistelliges Display, wie es reichelt anbietet, und dann von inaktiv> auf 88 umschalten.
Zu unauffällig. Musst du immer eigens draufgucken. Eine blinkende LED
sieht man auch so, insbesondere wenns dunkel ist.
A. K. schrieb:> Nochmal Strom: Ein vergleichsweise dicker Klops wie der ATmega48PA ist> mit 32kHz Uhrenquarz im Power-save mit 1µA sparsamer als jeder ATtiny.> Und nebenbei auch noch viel genauer.
Interessante Sache!
Leider zeigt das Datenblatt für den ATmega48PA im Kapitel 32.4 auf der
Seite 531 keine Grafik. Liegt das an meinem Viewer?
http://www.atmel.com/Images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet.pdf
Für den ATmega88PA ist der Graph zu sehen (Seite 555). Nehme an, der für
den 48PA schaut ähnlich aus.
Was ich aber auch interessant finde: der ATmega328P ist sogar noch ein
bisschen sparsamer als der ATmega88PA. Je größer desto sparsamer?
Markus Weber schrieb:> Seite 531 keine Grafik. Liegt das an meinem Viewer?
Ich sehe in der aktuellen Version auch nichts, habe aber eine ältere
Version hier rumliegen, noch im alten Layout.
Eumel schrieb:>> Je größer desto sparsamer?>> Vielleicht ein bisschen neuer?
Alterung des Datasheets. In der 2011er Version brauchte er mehr als in
der 2013er.
A. K. schrieb:> Alterung des Datasheets. In der 2011er Version brauchte er mehr als in> der 2013er.
Dann hat sich vielleicht der Herstellungsprozess gebessert oder Atmel
hat ähhhh "besser" gemessen ;)
> Früher ging das für µC-Verächter leichter, weil es einen> dafür perfekten Baustein gab, den XR2240.
CD4536 ist der übliche Langzeittimer heute.
Reicht aber nicht für 1 Woche, eher 4 Stunden,
also noch einen CD4020 nachschalten.
Hat leider das Problem, daß man zwar mit einem Poti die zeit
einstellen kann, aber 1 Woch warten muß um zu überprüfen ob die
Einstellung auch gestimmt hat.
Also braucht man wohl doch eher was digital einstellbares
mit einem Display, also eine fertige Zeitschaltuhr,
am einfachsten zu Einstöpseln in die Steckdose.
Moeglichst einfach ...ist ein Eimer mit feinem TroepfelLoch.
Die richtige Menge Wasser fuellen.Kalibrieren ;-)
Wenn es nicht mehr troepfelt,dann ist es Zeit zum giessen.
Automatische Kompensation: bei grosser Waerme verringert sich
die Zeit wegen Verdunstung
kukuk schrieb:> Moeglichst einfach ...ist ein Eimer mit feinem TroepfelLoch.
Noch einfacher ist es, sich einen Zettel an den Badezimmerspiegel zu
pappen: "Donnerstag Blumen giessen!".
Mann, hier geht es ums Elektronik basteln.
mfg.
MaWin schrieb:> Hat leider das Problem, daß man zwar mit einem Poti die zeit> einstellen kann, aber 1 Woch warten muß um zu überprüfen ob die> Einstellung auch gestimmt hat.
Hallo
Das muss nicht sein. Zum Einstellen benutzt du einen niedrigeren
Teilerausgang. Die Schaltzeit lässt sich daraus digital hochrechnen. Mit
dem CD 4536 solltest du direkt hinkommen. Den 4060 habe ich schon als
Timer oberhalb von 10 h benutzt. Der Einganstakt liegt hierbei deutlich
unter einem Hertz und das funktioniert problemlos. Mit einem solchen
Eingangstakt kämst auf über 1Jahr Schaltzeit beim 4536.
Das scheint mir das Bauteil der Wahl zu sein.
Hallo, vielen Dank für die vielen Antworten und Anregungen!
Ich hab hier noch einen ATTiny45 rumliegen, aus dem werde ich mir dann
demnächst mal einen Prototypen basteln. Für die nächste Version kann ich
dann ja den ATTiny13A ausprobieren ;)
Wie funktioniert das genau mit diesem Watchdog und dem Prescalen? Das
muss man wahrscheinlich irgendwie initialisieren? Meine
Mikrocontroller-kenntnisse sind äußerst beschränkt ;) Ich hab das so
vor: Ich programmiere die Funktion auf meinem Arduino Uno und übertrage
den Code dann so: https://www.youtube.com/watch?v=30rPt802n1k auf den
Attiny. Hoffe das klappt, hab es noch nie ausprobiert :)
Homy schrieb:> Ich hab hier noch einen ATTiny45 rumliegen, aus dem werde ich mir dann> demnächst mal einen Prototypen basteln. Für die nächste Version kann ich> dann ja den ATTiny13A ausprobieren ;)
Klar. Der Tiny45 ist zwar weit weniger sparsam als der Tiny13A (das A
ist dabei wichtig), aber fürs Prinzip reicht er.
> Wie funktioniert das genau mit diesem Watchdog
Der Watchdog selbst ist etwas härterer Tobak, weil der beim Tiny45 nur
als Reset-Quelle taugt, nicht als Interrupt-Quelle. Der Controller
kriegt also alle 4 Sekunden einen Reset und im Programm muss man
unterscheiden, ob das eben der Watchdog war, oder beispielsweise ein
Power-Up. Und braucht Daten, die einen Reset überleben.
Einfacher: Lass den Watchdog weg und probier mit normalem Programm rum.
Mit normalem Timer und Idle-Modus (SLEEP Befehl) zum Strom sparen.
> und dem Prescalen?
Siehe Datasheet. Man kann den Systemtakt runterskalieren. Der
Stromverbrauch ist näherungsweise proportional zum Takt.
> Das muss man wahrscheinlich irgendwie initialisieren?
Ja.
> Meine Mikrocontroller-kenntnisse sind äußerst beschränkt ;)
Das wird sich nun ändern.
> Ich programmiere die Funktion auf meinem Arduino Uno und übertrage> den Code dann so
[Video ignoriert] Programme von einem AVR sind auf einen anderen nicht
allzu oft ohne Anpassung übertragbar. Timer funktionieren etwas anders,
Register sehen anders aus usw. Ausser wenn die aus der gleichen Reihe
sind, wie Mega88 und Mega168.
Eine andere Frage wäre, wie du die Zeit eieruhrmässig einstellen willst,
wenn nicht fest eingebrannt. Wenn digital per Schalter, dann könnte ein
8-Pin Tiny unpraktisch klein sein.
Ja, darüber habe ich mir auch schon Gedanken gemacht, fürs erste würde
ich einfach mit einer festen Zeit arbeiten. Mit einem Schalter zum
Einstellen wäre dann der nächste Schritt, da bräuchte ich dann
vermutlich wirklich einen größeren Mikrocontroller.