Ich möchte bei einer Led Lampe einen attiny13 mit 3 Mignon Akkus verwenden. Wenn die Spannung unter 3V sinkt soll der Mikrocontroller in den sleep-mode schalten. Ich habe hier mehrere Ideen mit brown-out detektor gelesen. Aber ist dieser eigentlich nicht nur für kurze Spannungseinbrüche? Meine Idee wäre daher alle 5 min die Spannung mit dem integrierten Adc zu messen und dann bei 3V kontrolliert in den sleep mode zu wechseln. Beim Einschalten muss bei der ersten Messung dann die Spannung bei 3,2V liegen um eine Hysterese zu haben. Kann man das so machen? Und brauche ich für die Versorgungsspannungsmessung einen Spannungsteiler oder kann die interne Referenz des Adcs bis 4 V messen?
Du kannst nie mehr messen als du dem ADC als Ref gibst also Spannungsteiler. Aber wie willst du den den wieder aufwecken ? Der ADC ist ja aus wenn im Sleep mode. Guck mal ob du was mit dem Analogen Komperator hin bekommst.
mit Ucc als Referenz die Bandgap messen: Ucc = 1024/ADC * Bandgap oder mit Beispielwerten: (hab grad keine Infos zum tiny13, nur allg. AVR) 2,4V = 1024/512 * 1,2V
OK, Tiny13 hat zwar Bandgap von 1,1V, aber der ADMUX kann das nicht. Tiny24/25 u.v.a können das.
Auf Knopfdruck aufwachen, Spannungsteiler an (high-seite an portpin) und dann mit interner Referenz gemessen und vergleichen, fertig
Schade dass das mit der bandgap Spannungsmessung nicht funktioniert, das wäre die eleganteste Lösung. Werde wohl 2 Widerstände verwenden müssen. Ich denke der analoge Komparator scheidet aus, da die Spannung dann nicht softwaremäßig eingestellt werden kann, wenn ich das richtig sehe..
Hans schrieb: > Werde wohl 2 Widerstände verwenden müssen. Nööö... Schalte zum Messen kurz einen LED-Ausgang (an einem ADC-Pin) auf Eingang mit PullUp und miss die LED-Spannung gegen Vcc als Referenz. Wirkt genauso wie das Messen der Bandgap-Spannung gegen Vcc. ...
Gute Idee mit der Led Spannung. Das geht aber nur wenn man sie nach VCC schaltet oder? Bei mir wird die Led nach Masse geschaltet und hängt mit der Anode dauerhaft an VCC.
Hans schrieb: > Gute Idee mit der Led Spannung. Das geht aber nur wenn man sie nach VCC > schaltet oder? Dann wird das mit dem hochohmigen internen PullUp nix... > Bei mir wird die Led nach Masse geschaltet und hängt mit > der Anode dauerhaft an VCC. Dann könntest Du extern einen hochohmigen PullDown anbringen, der einen geringen Messstrom durch die LED treibt, wenn der Pin als Eingang umgeschaltet ist. Du hast dann eine konstante Spannung zwischen Vcc und Eingang. Da Du ja keine Spannung anzeigen musst, sondern nur einen Schwellwert zum Abschalten brauchst, kannst Du damit leben. Beispiel (angenommene Werte): Vcc, über LED, über R, Messwert 4,0 V 2,0 V 2,0 V 50 % 3,0 V 2,0 V 1,0 V 33 % Dein Messwert ändert sich also um 1/6 des Max-Wertes. Dies müsste für eine Abschaltschwelle dicke reichen. Ich würde da noch die gleitende Mittelwertbildung mit einsetzen, um Ausreißer auszublenden. Beitrag "Re: ADC Code" ...
Ich denke ich werde dann eher den uC umprogrammieren dass die Led nach Vcc geschaltet wird. Ein externer pull down verursacht evtl. im sleep-mode einen zu hohen Leckstrom.
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.