Forum: Analoge Elektronik und Schaltungstechnik ATMegaL an Solarzelle und Kondensator: Spannungseinbruch


von Bartholomäus S. (sam_vdp)


Lesenswert?

Hallo,

ich versuche gerade einen ATMega8L über eine Solarzelle aus einem alten
Taschenrechner zu betreiben. Diese liefert etwa 3V und 0.1 mA. Testweise
habe ich das ganze jetzt mal mit einem 330uF Kondensator gepuffert,
womit der uC auch läuft. Allerdings funktioniert das nur, wenn der uC
erst angesteckt wird, wenn der Kondensator schon geladen ist.
Andernfalls pendelt die Spannung um 1.4V herum.
Brown-out detection habe ich auch schon probiert, dann geht garnichts
mehr (auch hier wieder Spannung auf 1.4V).

Gibt es eine Möglichkeit, den "Start" des uC ohne externe Hardware zu
verzögern, bis die notwendige Spannung erreicht ist?

Vielen Dank und beste Grüße,
Bartl

von johnny.m (Gast)


Lesenswert?

Mit 0,1 mA läuft der ATMega eh nicht (außer im Sleep-Mode). Mal ins
Datenblatt schauen!

von 3 Newton (Gast)


Lesenswert?

Nimm eine größere Solarzelle.

3N

von Thomas O. (Gast)


Lesenswert?

Hallo,

da die Solarzelle weniger Energie liefert als der Dauerbedarf des µC
ist es nur eine Frage der Zeit bis der Kondensator leer ist und sich
der µC wieder ausschaltet. Also entweder einen größeren
Energiespeicher(2 Mignonzellen), das dauert halt ziemlich lange bis er
voll ist oder ne Leistungsstärkere Stromquelle(anderes Solarmodul) aber
trotzdem mit einem Elko um kurzfristige Spitzen abzufangen.

Man kann die Resetbeschaltung ändern, so das hier ein Elko reinkommt
der entsprechend lange braucht bis er voll ist dadurch steigt die
Spannung am Reset sehr langsam über den erforderlichen Pegel und der µC
schaltet verzögert ein. Musst dich mal im Netz umschauen glaube da muss
dann noch eine Diode gegen VCC rein damit sich beim Abschalten der Elko
nicht über den Resetpin entladen weil die Resetzspannung nur ein
gewissen maß über VCC sein darf.

von Εrnst B. (ernst)


Lesenswert?

> weil die Resetzspannung nur ein gewissen maß über VCC sein darf.

Dieses "Gewisse Maß" ist recht hoch, weil der Reset-Pin auch zum
initieren des HV-Programmiermodus verwendet wird.
(Keine Diode nach VCC an dem Pin)

Nach den "Absolute Maximum Ratings" können da ruhig 13V anliegen.

Diode macht trozdem sinn, damit dieser Reset-Kondensator beim Absinken
der Betriebsspannung auch zur Spannungsversorgung beiträgt.

/Ernst

von Bartholomäus S. (sam_vdp)


Lesenswert?

@johnny.m und Thomas: Der mittlere Leistungsbedarf der Schaltung liegt
unterhalb dessen, was die Solarzelle liefert, weil der uC fast nur
schläft, also langfristig läuft die Schaltung schon. Das Problem ist,
das der Leistungsbedarf beim Anlaufen größer ist und deshalb sofort die
Spannung einbricht.

@Thomas und Ernst: Das mit dem Kondensator gegen Reset klingt sehr gut,
werde ich baldmöglichst ausprobieren. Vielen Dank!

von jÜrgen (Gast)


Lesenswert?

Das einfachste hier ist es das ganze mit einem Akku zu puffern und das
ganze dann mit einer Z-Diode zu stabilisieren.


Grüße jÜrgen

von Profi (Gast)


Lesenswert?

So könnte es gehen:
Du versorgst von der Solarzelle einen Reset-Baustein (z.B.Maxim) mit
sehr geringer Stromaufnahme. Mit dessen Ausgang versorgst Du den µC.

Was passiert, wenn Du den µC im Reset hältst? Geht dann die Spannung
über 1,4V? Wenn ja, könntest Du den Ausgang des Reset-ICs auch an
µC-Reset anschließen.

Wenn der Reset-Eingang ein Schmitt-Trigger hat, geht es evtl. auch mit
einem C am Reset-Eingang und einem großen Ladewiderstand.

von Bartholomäus S. (sam_vdp)


Lesenswert?

> Was passiert, wenn Du den µC im Reset hältst?
Hab ich noch nicht ausprobiert, aber der Aufbau mit einem Resetbaustein
am Resetpin der uC ist ja im Prinzip der gleiche wie bei Verwendung des
internen Brown-out Detektors, oder? Mit dem hat es nicht funktioniert,
also denke ich man müsste wenn den ganzen uC über den Resetbaustein
betreiben.

Vielen Dank für den Tipp!

von TravelRec. (Gast)


Lesenswert?

Mach vor dem Sleep-Befehl alle Ports hochohmig, so daß sie während des
Schlafens keine Ströme in angeschlossene Peripherie schicken können.
Das spart etliches. Brown-Out gehört aus, ebenso der Watchdog und die
interne Spannungsreferenz, wenn´s um´s Stromsparen geht. Der Takt
sollte vom internen RC stammen und möglicht "langsam" sein. Der
Prozessor läuft übrigens deswegen nicht an, weil der Spannungshub an
der Solarzelle so langsam ist, daß der Taktgenerator nicht in die Gänge
kommt. Das Einschalten an einem voll geladenen Puffer-C sollte indeß
immer klappen. Darum wirst Du nicht herumkommen, also erst Laden, dann
einschalten. Von externen Reset-Bausteinen darfst Du Dir aus dem Grund
auch nichts erhoffen, außerdem ziehen diese dann noch zusätzlich Strom.

von Bartholomäus S. (sam_vdp)


Lesenswert?

> Mach vor dem Sleep-Befehl alle Ports hochohmig, so daß sie während
> des Schlafens keine Ströme in angeschlossene Peripherie schicken
> können.
Danke für den Tipp, mach ich noch.

> Brown-Out gehört aus, ebenso der Watchdog und die
> interne Spannungsreferenz, wenn´s um´s Stromsparen geht.
Hab ich so.

> Der Takt sollte vom internen RC stammen und möglicht "langsam"
sein.
Hab ihn momentan auf 1Mhz. Wenn ich 0x00 in OSCCAL schreibe sollte er
den langsamsten Takt nehmen, oder?

> Darum wirst Du nicht herumkommen, also erst Laden, dann
> einschalten. Von externen Reset-Bausteinen darfst Du Dir aus dem
> Grund auch nichts erhoffen, außerdem ziehen diese dann noch
> zusätzlich Strom.
Schade. Stellt sich nur die Frage: Wie kann ich das "erst Einschalten
wenn Vcc>2.7V" am besten implementieren? Bin für alle Vorschläge
offen!

von TravelRec. (Gast)


Lesenswert?

>>Hab ihn momentan auf 1Mhz. Wenn ich 0x00 in OSCCAL schreibe sollte er
den langsamsten Takt nehmen, oder?

Würde ich nicht machen, weil dann das EEPROM nichtr mehr funzt. !Mhz
ist schon ganz okay.

>>Schade. Stellt sich nur die Frage: Wie kann ich das "erst
Einschalten wenn Vcc>2.7V" am besten implementieren? Bin für alle
Vorschläge
offen!

Prozessor nach dem Einschalten unmittelbar in den Sleep setzen. Mittels
Analog-Komparator und sehr hochohmigen Spannungsteiler kann man dann
einen Interrupt auslösen, der den Controller weckt. Geht aber nur im
Idle-Mode und braucht durch den Komparator auch wieder Strom. Ein
einfacher Schalter ist vielleicht doch besser, wenn Du weißt, daß der
Ladeelko voll ist, einschalten. Vielleicht ist es doch besser, eine
größere Solarzelle, einen Akku und einen ordentlichen Low-Drop
(Low-Current) Spannungsregler zu spendieren...

von Christian Rötzer (Gast)


Lesenswert?

Profi hat doch schon eine gute Idee gepostet! Das solltest Du auch so
machen, da, wenn Brown-Out aus, kein vernünftiger Reset mehr zustande
kommt. Ansonsten würde ich mit einem 32kHz-Uhren-Quartz starten und
auch mal mit einem Labornetzteil den Strom bei undefiniert niedrigen
Spannungen messen.

von Bartholomäus S. (sam_vdp)


Lesenswert?

> Mittels Analog-Komparator und sehr hochohmigen Spannungsteiler kann
> man dann einen Interrupt auslösen, der den Controller weckt.
Geniale Idee, die probier ich aus! Danke.

> Profi hat doch schon eine gute Idee gepostet!
Ich dachte nur, weil Christian geschrieben hatte "Von externen
Reset-Bausteinen darfst Du Dir aus dem Grund auch nichts erhoffen",
aber das habe ich wohl falsch verstanden.

Labornetzteil habe ich leider keins und mein Multimeter kann man bei
diesen Strömen auch ziemlich vergessen. Ist wie gesagt alles recht
"bastelmäßig" :)

von Bartholomäus S. (sam_vdp)


Lesenswert?

Sorry, nochmal Nachtrag:
Die Methode mit Analog Komparator wird wohl nicht gehen, weil der uC im
Idle-Modus immernoch zu viel Strom braucht.
Also mal wieder Samples ordern :)

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.