Hallo Zusammen,
ich bastel gerade eine zeitgesteuerte Lichterkette (batteriebetrieben,
4.5V) mit verschiedenen Leuchtfunktionen.
Verwendet werden 5mm grüne LEDs die über zwei BC337 Transistoren
(PB0/PB1 am Attiny) geschalten werden. Die Lichteffekte werden über PWM
realisiert.
Das funktioniert auch so weit gut.
Die Lichterkette soll aber nur in den späten Abendstunden in Betrieb
sein, daher habe ich den Watchdogtimer des Attinys so konfiguriert, dass
6 Stunden der Betrieb der LEDs stattfindet und für 18 Stunden ruhe ist
(Sleep/PWR_DOWN).
Leider ist die ganze Angelegenheit sehr ungenau. Anstatt auf die
gewünschten 6 Stunden rutsche ich auf 6,5 Stunden. Mit den 18 Stunden
sieht das noch schlimmer aus. Zudem verschiebt sich permanent das
Zeitfenster. Der interne Oszi wird laut Datenblatt durch Wärme und
Spannung beeinflusst. Das ist bei batteriebetriebenen Anwendungen eher
suboptimal.
Um der Sache Abhilfe zu verschaffen schiele ich hier auf folgende
Lösungsansätze:
- Verwendet eines externen 32kHz Quarzes -> Läuft hier meine ganze
Anwendung mit 32kHz oder ist es möglich, dass nur der WDT gebraucht vom
Quarz macht?
- Verwenden eines RTC Modules -> Frage ich hier permanent ein
Zeitfenster ab und kalkuliere mir die Schaltpunkte intern oder sollte
ein externer Alarm verwendet werden, der den µc alle Stunde weckt?
- Rekalibrierung des internen Oszis -> Das soll wohl eher aufwendig
sein?
Gibt es vielleicht noch weitere Lösungen und was ist hier zuverlässigste
Ansatz?
Danke schonmal!
Gruß senz
Ja ist so, der Watchdog Timer ist recht ungenau. Kalibrierung hilft
kaum, weil die Temperatur einen starken Einfluss hat.
> Verwendet eines externen 32kHz Quarzes -> Läuft hier meine ganze> Anwendung mit 32kHz oder ist es möglich, dass nur der WDT gebraucht vom> Quarz macht?
Kommt auf AVR Modell an. Manche haben nur einen Oszillator für alles,
manche haben zwei Oszillatoren, da kannst du den Uhrenquarz für einen
Timer verwenden und den Rest mit einem schnelleren Quarz oder dem
internen R/C Oszillator takten.
Bei Verwendung einer RTC kannst du einen Alarm programmieren, dann
schaltet sie einen I/O Pin auf High oder Low. Das wiederum kann den AVR
aufwecken.
> Gibt es vielleicht noch weitere Lösungen
STM32L0xx Chips enthalten eine RTC und kosten nicht mehr, als AVR.
senz schrieb:> - Verwendet eines externen 32kHz Quarzes
Ein 32kHz Quarz ist extrem hochohmig und empfindlich gegen alles. Man
kann ihn zum Laufen bringen, aber dann ist er immer noch
temperaturabhängig und deshalb nur für Wohnräume zu gebrauchen.
> - Verwenden eines RTC Modules -> Frage ich hier permanent ein> Zeitfenster ab und kalkuliere mir die Schaltpunkte intern oder sollte> ein externer Alarm verwendet werden, der den µc alle Stunde weckt?
Das lohnt sich nur, wenn der Quarz integriert ist, ansonsten siehe oben.
Für solche RTCs verspricht der Hersteller einen max. Fehler von 5
Minuten im Jahr, unabhängig von der Temperatur und ohne Abgleich. Die
haben einen Alarm-Ausgang den man auf eine feste Tageszeit programmieren
kann. Der uC wird dann nicht alle Stunde, sondern nur einmal am Tag
geweckt. Das sollte man nutzen, ständiges Abfragen kostet nur Strom.
> - Rekalibrierung des internen Oszis -> Das soll wohl eher aufwendig> sein?
Aufwendig nicht, aber dann muss der Oszillator auch immer laufen, das
kostet viel zu viel Strom.
> was ist hier zuverlässigste Ansatz?
Ganz klar mit weitem Abstand die RTC mit eingebauten Quarz. Ein MEMS
Oszillator sollte noch robuster sein, aber anscheinend baut nur Maxim
eine, die DS3232M, und die ist fast 3x so teuer wie z.B. die PCF2129T/2.
senz schrieb:> - Verwendet eines externen 32kHz Quarzes -> Läuft hier meine ganze> Anwendung mit 32kHz oder ist es möglich, dass nur der WDT gebraucht vom> Quarz macht?
Nein nein.
ATMega328P?
(warum ist das überhaupt geheim, oder habe ich das nur übersehen?)
Dann timer2 am Uhrenquarz betreiben und den AVR selber mit 1 oder 8MHz
intern.
Den Oszillator kann man dann auch problemlos gegen den Quarz
kalibrieren.
Arduino Fanboy D. schrieb:> Den Oszillator kann man dann auch problemlos gegen den Quarz> kalibrieren.
das ist eher sinnlos, da der quarz selbber ja auch temp. und vcc
abhängig driftet.
was du eher meinst e.g. beim 328p, sinn macht und ich auch verwende, es
wird der interne rc-osc. und der interne temp. sensor verwendet, dann
wird bei unterschiedlichen temperaturen (... und vcc) in grenzen der
interne rc entsprechend korregiert. die korrekturwerte werden also
vorher bestimmt/festgelegt und im program verankert.
sieht bei mir dann so aus:
1
# ifdef RECALIBRATION
2
initOSCCAL=OSCCAL;
3
//correct osccal regarding ambient temperature
4
//for each 5°C step are correction values available (in total 12 values)
Apollo M. schrieb:> das ist eher sinnlos, da der quarz selbber ja auch temp. und vcc> abhängig driftet.Arduino Fanboy D. schrieb:> Uhrenquarz
Für die Anwendung sollte das locker ausreichen.
Oliver
Apollo M. schrieb:> das ist eher sinnlos, da der quarz selbber ja auch temp. und vcc> abhängig driftet.
Die Abweichung des WDT ist erheblich größer.
Da kannste an OSCCAL rumdrehen wie du willst, der WDT, und damit die
Schlafzeit, wird nicht exakter davon.
Auch hilft der laufende interne 8MHz Oszillator nicht wirklich beim
Strom sparen.
Der Uhrenquarz schon eher.
senz schrieb:> Um der Sache Abhilfe zu verschaffen schiele ich hier auf folgende> Lösungsansätze:> - Verwendet eines externen 32kHz Quarzes -> Läuft hier meine ganze> Anwendung mit 32kHz oder ist es möglich, dass nur der WDT gebraucht vom> Quarz macht?
32kHz Quarz wird dann für den ganzen Tiny verwendet, für eine PWM zu
langsam
Getrennte Takte gehen erst bei den Controllern mit Asyc-Clock am Timer2
> - Verwenden eines RTC Modules -> Frage ich hier permanent ein> Zeitfenster ab und kalkuliere mir die Schaltpunkte intern oder sollte> ein externer Alarm verwendet werden, der den µc alle Stunde weckt?
du könntest wie jetzt den Watchdog nehmen um den μC alle 8s zu wecken
und dann wenn 1min um ist die Zeit von der RTC holen und schauen ob der
richtige Zeitpunkt gekommen ist.
Oder eine RTC mit Alarm und Interruptausgang, dort stellst du vorm
abschalten den Alarm 18h später ein und kannst den μC dann komplett
schlafen legen
> - Rekalibrierung des internen Oszis -> Das soll wohl eher aufwendig> sein?
der Watchdogtimer löst ja in der max. Einstellung nach 8s aus, das mach
für 6h 2700 Events, das kannst du ja durch Messung entsprechend
anpassen. Der Takt hängt allerdings auch von Temperatur und Spannung ab.
Der Watchdogtimer ist nun mal primär als Watchdog gedacht, und da ist
eine genaue Zeit nicht so wichtig
> Gibt es vielleicht noch weitere Lösungen und was ist hier zuverlässigste> Ansatz?
Musst du mal so ne Kerze o.ä. aufmachen, bei den Preisen kann ich mir
nicht vorstellen das die da mehrere Chips oder einen mit Quarz verbauen.
Sascha
Hugo H. schrieb:> Arduino Fanboy D. schrieb:>> ATMega328P?>> ATTiny - geheim ist nur die genaue Ausprägung :-)
OK...
Etwas klarer!
Aber noch viel Dunst.
Denn gleich sind die Tinys auch nicht wirklich.
Oliver S. schrieb:> Für die Anwendung sollte das locker ausreichen.
ja so ist es, ich würde für die anwendung auch nur den wdt verwenden und
fertig. ABER wir lieben ja alle over engineering, :-)!
Arduino Fanboy D. schrieb:> Da kannste an OSCCAL rumdrehen wie du willst, der WDT, und damit die> Schlafzeit, wird nicht exakter davon.
schon klar, der wdt osc. ist unabhängig/separat und lässt sich nicht
korregieren.
ich würde den internen rc-osc mit auto korrektur und maximalen prescaler
nehmen und einen 16bit hw tmr ... , aber mich fragt ja keiner.
mt
senz schrieb:> ich bastel gerade eine zeitgesteuerte Lichterkette (batteriebetrieben,> 4.5V) mit verschiedenen Leuchtfunktionen.Apollo M. schrieb:> ja so ist es, ich würde für die anwendung auch nur den wdt verwenden und> fertig. ABER wir lieben ja alle over engineering, :-)!
Bei der Anwendung. ist doch schon das rum plagen mit dem SleepMod
Overkill. :)
sehe das Problem gerade nicht, watchdog weckt auf, sagen wir alle
Stunde, AD Input misst Licht und entscheidet, Lichterprogramm starten
oder weiterschlafen.
32kHz Quarz unabhängig vom CPU-Takt geht erst ab ATmegax8.
Als Stromaufnahme im Power-Save habe ich bei 5V gemessen:
ATmega48: 6,4µA
ATmega168: 5,5µA
Atmega328P: 1,3µA
Für die A-, PA- und PB-Typen habe ich keine Testergebnisse.
Du mußt natürlich erstmal abschätzen, wieviel Strom die LEDs brauchen,
d.h. ob es überhaupt sinnvoll ist, auf das letzte µA zu optimieren.
Es lohnt vielleicht ein Blick auf die neueren ATtiny214/414/814 im 14
pol. Gehäuse. Deren RTC kann man mit einem ext. 32,768 kHz Quarz
betreiben aber dennoch die CPU mit 20 MHz laufen lassen.
senz schrieb:> Gibt es vielleicht noch weitere Lösungen
Zeitgeteuert mit Batterie heisst immer 32kHz Quartz, und ein moderner
AVR (z.B. ATmega328) kann auch schnell laufen trotz 32kHz.
Nutze also den 32kHz Quartz um den uC zyklisch aufzuwecken (der dann
wohl mit dem RC Oszilator schnell genug sein sollte).
32kHz Quarze sind auch genau genug für eine Uhrzeit.
MaWin schrieb:> Zeitgeteuert mit Batterie
für diese Aufgabe sicher nicht nötig, WD alle Stunde (von mir aus auch
alle 30min) und Helligkeit feststellen braucht keinen externen Quarz, es
ist doch schnurz ob etwas früher oder später das Licht an oder ausgeht,
nur das es nicht am Tag brennt.
Grundsätzlich sind Mikrocontroller genau!
Das kann man aber nicht von ihrer Zeitbasis behaupten.
Seit dem die Uhr in den Rechner Einzug gehalten hat, geht es mit der
Qualität von Quarzen steil Bergab.
Wenn die Maxime lautet: Der wird ja sowieso synchronisiert und
Genauigkeit kostet, so ist das sogar verständlich.
Noch schlimmer sieht es bei den Resonatoren aus.
Kann an Deinen µP ein Uhrenquarz 32KHz angeschlossen werden, so bist Du
fein raus. Die gibt es, mit relativ hoher Genauigkeit für kleines Geld.
Geht das nicht, so könntest Du durch zyklische Synchronisation mit einer
RTC glücklich werden. Die braucht aber Platz und kostet.
Vorteil: Auch nach dem Ausfall der Stromversorgung bist Du noch up
todate. Aber nicht ohne Energiespeicher.
Weiterhin gibt es Quarze in jeder "Genauigkeitsklasse", aber auch
Preisklasse.
Eine Synchronisation mit dem DCF77 ist ein weitere Option. Module
hierfür gibt es auch für kleines Geld.
senz schrieb:
> ... am Attiny ...
Vorschlag: "normaler" Quarz
ATtiny861A als Beispiel, der Grenzfall: 2.048 MHz, nachts mit Vorteiler
256, Timer1 mit Vorteiler 16384, benötigt bei 5.0 V knapp 85 uA.
Das dürfte gegenüber dem Verbrauch der LEDs tagsüber vernachlässigbar
sein.
Mach Dich doch mal mit paar gängigen RTC-Chips vertraut,
die kosten so 1-3 Euros und sparen Dir den ganzen Zirkus.
Die wecken zur Alarmzeit einfach Deinen Controller auf
und fertig ist die Sache.
Nur 2 Beispiele:
DS1337: DIL-8, braucht aber einen 32Khz Quarz.
RTC4543: SMD, hat den Quarz schon drin=kein Abgleich nötig.
Beide lassen sich simpel+prima verstehen und ankabeln.
Und es gibt sicher noch zig. geeignete RTC mehr, ich habe diese beiden
genannt, weil ich damit oft gearbeitet habe und die sind wirklich simpel
zu beherrschen.
Guten Morgen,
vielen Dank für die Antworten! Ihr habt mir schon sehr weitergeholfen!
Stefan ⛄ F. schrieb:> STM32L0xx Chips enthalten eine RTC und kosten nicht mehr, als AVR.
Ich finde die STM32-Reihe sehr interessant, da werde ich definitiv mal
reinschauen. Aber ich habe noch so viele AVR's hier rumfliegen, die will
ich gerne erstmal verbauen.
Georg M. schrieb:> Soll dabei die Uhrzeit wichtiger als die Dämmerung sein?
Die Uhrzeit hat definitiv höhere Priorität. Es sollte kein Zeitdrift
entstehen. Auf die PWM / Leuchtfunktion mag ich aber auch nicht
verzichten.
Arduino Fanboy D. schrieb:> ATMega328P?
Ich verwende hier einen Attiny85
Sascha W. schrieb:> Musst du mal so ne Kerze o.ä. aufmachen, bei den Preisen kann ich mir> nicht vorstellen das die da mehrere Chips oder einen mit Quarz verbauen.
Ich habe mal so ein Teil geöffnet (Bild im Anhang). Leider haben die
Bauteile keine Bezeichnung. Auf der Unterseite der Platine befindet sich
zusätzlich noch ein kleiner Elko (auch ohne Beschriftung). Ich weiß nur
nicht ob es sich hier um ein Microcontroller oder einen Timerbaustein
handelt?
Ich tendiere nach euren Antworten jetzt zur Richtung externer RTC. Da
ich 3 PWM Pins des Tinys für die verschiedenen Lichterstränge in
Anspruch genommen habe, habe ich vermutlich zu wenig Pins für die RTC
(2x I2C Pins, 1x Interrupt Pin). Hier würde ich dann auf den Attiny84
wechseln.
Jetzt frage ich mich nur noch, welches Modell? Ihr habt hier schon ein
paar genannt. Teilweise sind die schwer zu beschaffen (Ich kaufe gerne
beim großen R) oder nur als (Arduino-)Module erhältlich. Ich möchte hier
aber kompakt bleiben.
Daher meine Frage: Gibt es eine RTC mit internen Quarz, wenn möglich im
DIL8 Gehäuse die mit einer Betriebsspannung von 2-3V zu recht kommt? Ein
externer Alarm sollte ebenfalls verfügbar sein.
Gruß senz
senz schrieb:> Auf der Unterseite der Platine befindet sich> zusätzlich noch ein kleiner Elko (auch ohne Beschriftung)
Sicher, das es kein Resonator ist? C1 und C2 auf der Platine sprechen
nämlich dafür. Findet sich die Versorgung mit Plus an Pin 1 und Masse an
Pin 8, dann wird es wohl ein PIC sein (PIC12F519/F629 o.ä.). Das sind
8-Pin Mikrocontroller von Microchip.
Herman Kokoschka schrieb:> Mach Dich doch mal mit paar gängigen RTC-Chips vertraut,> die kosten so 1-3 Euros und sparen Dir den ganzen Zirkus.>> Die wecken zur Alarmzeit einfach Deinen Controller auf> und fertig ist die Sache.
Damit wird es dann allerdings richtig spannend.
Wenn man sich um die Uhr nicht mehr kümmern muss, weil sie übers Jahr
genau genug geht, muss man sich sinnvollerweise um den Sonnenstand
Gedanken machen und die jahreszeitlich Änderung der Deklination der
Sonne beim Festlegen der Alarmzeit berücksichtigen. Die "späten
Abendstunden" für eine Beleuchtung im Winter liegen uhrzeitmäßig
deutlich anders als im Hochsommer.
Wolfgang schrieb:> Wenn man sich um die Uhr nicht mehr kümmern muss, weil sie übers Jahr> genau genug geht, muss man sich sinnvollerweise um den Sonnenstand> Gedanken machen und die jahreszeitlich Änderung der Deklination der> Sonne beim Festlegen der Alarmzeit berücksichtigen. Die "späten> Abendstunden" für eine Beleuchtung im Winter liegen uhrzeitmäßig> deutlich anders als im Hochsommer.
die Berechnung funktioniert aber +-1 Minute für Auf- und Untergang
natürlich nur rechnerisch, die Helligkeit ist aber je nach Wolken
verschieden.
senz schrieb:> Ich möchte hier aber kompakt bleiben.> Daher meine Frage: Gibt es eine RTC mit internen Quarz, wenn möglich im> DIL8 Gehäuse die mit einer Betriebsspannung von 2-3V zu recht kommt?
Brauchbare Quarze passen nicht in so kleine Gehäuse, aber es gibt den
DS3232M Z+ im SO-8.
Es geht noch deutlich kleiner mit einem uC mit interner RTC. Der braucht
externe 32kHz, bekommt aber keinen Quarz, sondern einen MEMS-Oszillator.
Der SIT1630AI-S4-DCC-32.768E hat ein SOT-23 Gehäuse und ist etwas
stabiler als ein normaler Uhrenquarz. Das sollte bei Zimmertemperatur
ausreichen.
Noch kleiner und noch stabiler (5 Min./Jahr @-40..+85°C) ist der
SiT1552AI-JF-DCC-32.768 aka ASTMTXK-32.768KHZ-LY. Oder demnächst evt. <
2 Min./Jahr mit dem SiT1566. Bei Löten braucht man allerdings gutes
Licht und gutes Flussmittel, die Maße im Bild sind Millimeter, nicht
Zoll ;)
senz schrieb:> ich bastel gerade eine zeitgesteuerte Lichterkette (batteriebetrieben,> 4.5V) mit verschiedenen Leuchtfunktionen.Bauform B. schrieb:> Es geht noch deutlich kleiner mit einem uC mit interner RTC. Der braucht> externe 32kHz, bekommt aber keinen Quarz, sondern einen MEMS-Oszillator.
Nichts für ungut, aber stimmen hier noch Aufwand und Nutzen?
Der MEMS-Oszillator läuft mit <= 3,6 V und bräuchte noch einen
Spannungsregler.
Wenn die Grundfläche eng wird, würde ich bei einem Einzelstück in die
Höhe bauen:
https://www.reichelt.de/keramik-smd-quarz-3-2-x-1-5-x-0-8-mm-32-768-khz-gey-kx-327nht-12-p245473.html?&trstct=pol_3&nbc=1
m.n. schrieb:> Nichts für ungut, aber stimmen hier noch Aufwand und Nutzen?> Der MEMS-Oszillator läuft mit <= 3,6 V und bräuchte noch einen> Spannungsregler.
selten, welcher uC wird denn noch mit mehr als 3.3V betrieben? Zum
Beispiel beim OP:
senz schrieb:> Daher meine Frage: Gibt es eine RTC mit internen Quarz, wenn möglich im> DIL8 Gehäuse die mit einer Betriebsspannung von 2-3V zu recht kommt?
Bei den extrem kleinen Oszillatoren lasse ich Aufwand/Nutzen gelten,
weil, wer mag die löten? Aber den im SOT-23 kann sogar ich noch löten
und der braucht nicht einmal ein Abblock-C. Also noch sparsamer wird's
erst, wenn so einer im uC integriert ist.
Joachim B. schrieb:> die Berechnung funktioniert aber +-1 Minute für Auf- und Untergang> natürlich nur rechnerisch, die Helligkeit ist aber je nach Wolken> verschieden.
Wenn man eine helligkeitsabhängige Steuerung haben möchte, sollte man
die Helligkeit und nicht die Zeit als Steuergröße verwenden. ;-)
Das will der TO aber nicht.
Eine Beleuchtung, die pünktlich mit Sonnenuntergang an geht, will
gewöhnlich auch keiner. So eine Beleuchtung soll meist erst aktiviert
werden, wenn die Sonne einen bestimmten Winkel unter den Horizont
abgetaucht ist (z.B. mit Ende der bürgerliche Dämmerung bei
Sonnenmittelpunkt 6° unter Horizont)
Wolfgang schrieb:> Wenn man eine helligkeitsabhängige Steuerung haben möchte, sollte man> die Helligkeit und nicht die Zeit als Steuergröße verwenden. ;-)> Das will der TO aber nicht.
schrieb ich auch schon, warum wollen die Leuts immer nur das was nicht
funktioniert?
Bauform B. schrieb:> selten, welcher uC wird denn noch mit mehr als 3.3V betrieben? Zum> Beispiel beim OP:senz schrieb:> batteriebetrieben, 4.5V
Das war die Ausgangsfrage. Vielleicht hat es der TO auch schon wieder
vergessen ;-)
Wie auch immer, eine RTC im 8-pol. DIL wäre zum Beispiel ein PCF8563/83
mit aufgeklebtem Quarz. 1 - 6 V wären kein Problem.
Zwischenzeitlich wurde auch von drei PWM-Kanälen gesprochen, weshalb ich
wiederum den oben erwähnten ATTiny814 ins Gespräch bringe: RTC und 3 x
16-Bit PWM alles schon auf dem Chip.
m.n. schrieb:> weshalb ich> wiederum den oben erwähnten ATTiny814 ins Gespräch bringe
Funktioniert beim ATTiny814 der interne RTC Oszi während des Power-Downs
/ Sleeps?
Joachim B. schrieb:> schrieb ich auch schon, warum wollen die Leuts immer nur das was nicht> funktioniert?
Weil ein LDR nicht bei jedem Standort die passende Wahl ist und u.U. von
der eigenen Lichtquelle (wegen kompakter Bauweise) beeinflusst wird.
senz schrieb:> Weil ein LDR nicht bei jedem Standort die passende Wahl
dann wähle halt einen besseren Standort, egal was hier vorgeschlagen
wird, wenn du immer nur ablehnst und Salamischeiben verbreitest wirst du
nie eine Löung finden oder du baust eine RTC deiner Wahl ein!
senz schrieb:> bastel
trifft es wohl gut, ohne Plan und ohne Konzept!
Joachim B. schrieb:> senz schrieb:>> Weil ein LDR nicht bei jedem Standort die passende Wahl>> dann wähle halt einen besseren Standort, egal was hier vorgeschlagen> wird, wenn du immer nur ablehnst und Salamischeiben verbreitest wirst du> nie eine Löung finden oder du baust eine RTC deiner Wahl ein!>> senz schrieb:>> bastel>> trifft es wohl gut, ohne Plan und ohne Konzept!
Also hier gibt es User die mir sehr weiterhelfen / weitergeholfen haben
und konstruktive Beiträge bringen. Nur du gehörst leider nicht dazu.
Wie dir vielleicht entgangen ist habe ich mich für ein RTC entschieden
und Frage gerade nach verschiedenen Modellen. Ebenso interessiert mich
die Lösung mit dem ATTiny814, daher fragte ich ob ich den internen RTC
während des Sleeps nutzen kann.
Wenn ein LDR nicht passt, dann passt er eben nicht ins KONZEPT. Auch
andere haben erkannt das es sich hier um eine Zeitgesteuerte Lösung
handeln soll. Und "wähle einen besseren Standort" ist ja wohl eine der
... Antworten die dir einfallen konnte.
Troll dich doch bitte in einem anderen Thread aus, wenn du hier nichts
sinnvolles beizutragen hast.
senz schrieb:> Troll dich
Netter Umgangston hier...
senz schrieb:> Weil ein LDR nicht bei jedem Standort die passende Wahl ist
Bei den Chinesen-Lampen funktioniert das erstaunlich gut.
> von der eigenen Lichtquelle (wegen kompakter Bauweise) beeinflusst wird.
Wir haben hier Straßenlampen, die ihre Helligkeit "mitten in der Nacht"
absenken. Auf meine Frage, wie die diese "Mitte der Nacht"
herausbekommen, sagte der Vertreter des Herstellers: die messen im
Grunde einfach von Dämmerung zu Dämmerung und teilen diese Zeit durch 2.
Dann wird noch das Zeitfenster ins hintere Drittel verlegt und fertig.
Netter pragmatischer Ansatz.
Und als ich dann ein wenig darüber nachdachte, ob die Lampen sich dabei
nicht selber beeinflussen, kam mir der Gedanke, dass die Elektronik die
LEDs einfach einmal pro Minute für ein paar ms ausschaltet und dann die
Umgebungshelligkeit misst.
senz schrieb:> Ebenso interessiert mich die Lösung mit dem ATTiny814, daher fragte ich> ob ich den internen RTC während des Sleeps nutzen kann.
Was steht im Datenblatt?
Wenn du den Schalter richtig umlegst, dann läuft der weiter. Und kann
sogar als "Wake-Up Source" genutzt werden.
Stefan ⛄ F. schrieb:> Ja ist so, der Watchdog Timer ist recht ungenau. Kalibrierung hilft> kaum, weil die Temperatur einen starken Einfluss hat.
Den Oszilator des WDT kann man nicht kalibrieren und das ist nicht der
interne RC-Oszilator ;)
Lothar M. schrieb:> Und als ich dann ein wenig darüber nachdachte, ob die Lampen sich dabei> nicht selber beeinflussen, kam mir der Gedanke, dass die Elektronik die> LEDs einfach einmal pro Minute für ein paar ms ausschaltet und dann die> Umgebungshelligkeit misst.
Das kenne ich anders. Die Sensoren hängen irgendwo im unbeleuchteten
Bereich - und reagieren sehr träge. Von dort (ich kenne es z. B. im Dorf
von Trafo-Häuschen) wird die Straßenbeleuchtung gesteuert (wir haben als
Kinder ab und an die Beleuchtung abends ausgeschaltet :-) - einfach den
Sensor eine ganze Weile mit der Taschenlampe angeleuchtet).
Wenn der TO es kompliziert haben möchte dann ist es eben so. Vielleicht
ist das Anbringen eines Sensors schlecht möglich. Soll er halt einen
ATTiny85 oder -45 nehmen und einen Quarz dranpappen. Dann sollte die
Genauigkeit ein paar Monate ausreichen.
Hugo H. schrieb:> Das kenne ich anders.
Das war bisher auch anders, weil man die Natriumlampen eben nicht kurz
mal ausschalten konnte. Aber heute machen das die LED-Lampen selbständig
(wie gesagt: laut Hersteller): die meisten der Lampen im Ort werden um
12 ausgeschaltet, nur ein paar an stategischen Punkten leuchten weiter
und dunkeln sich mitten in der Nacht selber ab.
Diese Abdunklung wird beworben zur Reduzierung der Lichtverschnutzung
bei der Nachrüstung der bestehenden Lampenköpfe.
senz schrieb:> Funktioniert beim ATTiny814 der interne RTC Oszi während des Power-Downs> / Sleeps?
Lothar hatte das ja schon positiv beantwortet. Das Teil wäre
unbrauchbar, wenn es nicht so wäre.
Es nervt - wie auch an anderen Stellen - dem TO sein Vorhaben ausreden
zu wollen. Er wird seine eigenen Erfahrungen machen, wobei der Umgang
mit entladener Batterie m.M.n. noch berücksichtigt werden muß.
Bei 4,5 V muß ich immer an diese Blockbatterie denken, die zu St. Martin
in die Laterne kam ;-)
Lothar M. schrieb:> Und als ich dann ein wenig darüber nachdachte, ob die Lampen sich dabei> nicht selber beeinflussen, kam mir der Gedanke, dass die Elektronik die> LEDs einfach einmal pro Minute für ein paar ms ausschaltet und dann die> Umgebungshelligkeit misst.
Als ich das gelesen habe, dachte ich du meinst, dass die LED als
Photodiode missbraucht wird
(siehe:
https://www.elektronik-kompendium.de/news/led-als-fotodiode-einfacher-daemmerungslichtsensor/)
Ich glaube du meintest aber nur, dass während der Messung mit diskretem
Phototransistor/diode das Licht der Lampe die Messung nicht beeinflussen
soll :)
Timo N. schrieb:> dass während der Messung mit diskretem Phototransistor/diode das Licht> der Lampe die Messung nicht beeinflussen soll :)
Ja, so arg müssen die Lampenhersteller für diese Option nicht sparen,
dass da nicht eine Photodiode herausspringen würde.
Wie wäre es mit RTC und Tabellen für Sonnenaufgang/-untergang?
Eine gute RTC macht vielleicht 5-10min Abweichung im Jahr, Tabellen für
Sonnnenaufgang gibt es reichlich, beides zusammen sollte doch für Deine
Anwendung reichen.
Wähle für die Zeiten einen Ort in der Ost-West-Mitte des Landes.
Dann muss jediglich einmal die Uhrzeit gestellt werden und es passt
täglich.
Die meisten RTC haben sogar eine Spannungserkennung, die "sagen" dem
Controller also, ob die Spannung mal ausfiel und die Uhr neu gestellt
werden muss.