Forum: Mikrocontroller und Digitale Elektronik Atmega soll sich selbst abschalten können


von Fabian S. (jacky2k)


Lesenswert?

Hallo,
ich bastel grade an einer Platine für einen Kollegen.
Es handelt sich um einen kleinen Funk-Sender, der bei einem 5V Impuls 
auf einer Leitung etwas senden soll. Dabei ist es SEHR wichtig, dass das 
Gerät kein Strom verbraucht, wenn kein Impuls anliegt. Lag ein Impuls an 
soll der Atmega aber seine Sache noch fertig machen können, auch wenn 
der Impuls schon wieder weg ist.
Und das größte Problem an der Sache: Ich habe absolut kein Platz und nur 
3V zur Verfügung.
Ich habe zahlreiche Mosfetschaltungen Probiert und mit Dioden eine 
ODER-Logick gebaut, damit der Atmega sich selbst am Leben halten kann, 
es funktioniert jedoch nichts davon zuverlässig.
Zunächst habe ich es mit einem P-Channel in Vcc probiert, dann brauche 
ich allerdings noch einen weiteren Mosfet als Inverter, wodurch zu viel 
Spannung abfällt und die Schaltung nicht zuverlässig funktioniert.
Mit einem N-Kanal in der Masse habe ich das Problem zwar nicht, jedoch 
scheint der Atmega dann mit seinen internen Dioden das ganze so seltsam 
anzusteuern, dass der Mosfet quasi als Source-Folger (nur umgekehrt) 
arbeitet.
Hat jemand einen konkreten Plan wie man das lösen kann? Ich habe auch 
mal von solchen ICs gehört, die genau für soetwas gut sind. Kennt da 
jemand eins?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Schau Dir im Datenblatt zum ATMega das Thema "Sleep Modes" an. Es 
braucht keine weitere Hardware. Moderne ATMegas verbrauchen im PowerDown 
weniger als 1µA. Über einen PinChange- oder INT0/INT1-Pin-Interrupt kann 
der Controller geweckt werden.

von Fabian S. (jacky2k)


Lesenswert?

Dessen bin ich mir bewusst, ich habe das auch versucht, jedoch komme ich 
mit der Gesammten Schaltung nie unter 100µA. Wenn die Knopfzelle dann 
was um bei 100mAh hat komme ich damit nicht mal 2 Monate (im Sand-By!) 
hin und das sollte eigentlich fest verbaut werden.

von ←↓→ (Gast)


Lesenswert?

>Dabei ist es SEHR wichtig, dass das
>Gerät kein Strom verbraucht, wenn kein Impuls anliegt. Lag ein Impuls an
>soll der Atmega aber seine Sache noch fertig machen können, auch wenn
>der Impuls schon wieder weg ist.
parasitär versorgen wie z.b. bei 1-wire.
konkret heißt das einen kondensator der den atmega für die maximale zeit 
die zum bearbeiten gebraucht wird versorgt.

>Ich habe absolut kein Platz und nur
>3V zur Verfügung.
und wo ist da das problem, die pegelwandlung?

von Fabian S. (jacky2k)


Lesenswert?

←↓→ schrieb:
>>Dabei ist es SEHR wichtig, dass das
>>Gerät kein Strom verbraucht, wenn kein Impuls anliegt. Lag ein Impuls an
>>soll der Atmega aber seine Sache noch fertig machen können, auch wenn
>>der Impuls schon wieder weg ist.
> parasitär versorgen wie z.b. bei 1-wire.
> konkret heißt das einen kondensator der den atmega für die maximale zeit
> die zum bearbeiten gebraucht wird versorgt.
Wäre ne Möglichkeit, jedoch weiß ich nicht wie stark die Quelle ist. Und 
da der Sender an verschiedene Geräte angeschlossen werden soll kann ich 
das auch so pauschal nicht sagen.

>>Ich habe absolut kein Platz und nur
>>3V zur Verfügung.
> und wo ist da das problem, die pegelwandlung?
Hä? Ich habe nur 3V und keinen Platz => also kein Platz für ne 
Pegelwandlung.

von ←↓→ (Gast)


Lesenswert?

>Hä? Ich habe nur 3V und keinen Platz => also kein Platz für ne
>Pegelwandlung.
nicht mal mehr platz für ne led?
eine led hätte den passenden spannungsabfall.
und der atmega erkennt vcc*0,6volt als high.

von Fabian S. (jacky2k)


Lesenswert?

Spannungsabfall?
Worauf wolltest du hinaus, dachte ich soll aus den 3V nun 5V machen, 
damit das mit dem P-Channel funktioniert? Was hilft mir da ein 
Spannungsabfall?

von ←↓→ (Gast)


Lesenswert?

>Es handelt sich um einen kleinen Funk-Sender, der bei einem 5V Impuls
>auf einer Leitung etwas senden soll.
der funksender der mit einem atmgea bestückt ist und mit 3 volt läuft 
bekommt von irgentweiner quelle 5 volt auf seienen eingang.
also braucht es eine pegelwandlung von 5 nach 3 oder versteh ich deine 
schaltung nicht.

von Fabian S. (jacky2k)


Lesenswert?

Letzteres ;)
Also ich habe eine 3V Knopfzelle. 100-180mAh oder so ham die.
Dann ein Atmega88V und ein RFM12 Funkmodul von Pollin, welches mit 
5V-2.2V arbeitet.
Der Atmega soll nun sich und dem Funkmodul (also der gesamten Schaltung) 
die Spannung wegnehmen können. Angeschaltet werden soll alles durch 
einen kurzen 5V Impuls von einer externen Leitung.

von Sönke O. (soenio)


Lesenswert?

Wo liegt das Problem? ATmega direkt an die Spannungsversorgung. Paar 
Kondensatoren vllt. zwei drei Widerstände noch dazu. Das Funkmodul an an 
den ATmega. Die externe Leitung über drei Dioden oder wie vorgeschlagen 
über eine LED an ein INT0 oder INT1, fertich

von ←↓→ (Gast)


Lesenswert?

uff, das hätte ich nie aus deinem ersten beitrag rausgelesen.

>Der Atmega soll nun sich und dem Funkmodul (also der gesamten Schaltung)
>die Spannung wegnehmen können.
ast absägen obwohl man drauf sitzt, gut anleinen nicht vergessen. :)

von Fabian S. (jacky2k)


Lesenswert?

Ach so, ja jetzt weiß ich wofür der Spannungsabfall Kram gut sein soll. 
Das habe ich momentan mit einem großen Widerstand gelöst (1Meg glaub 
ich) und den Rest erledigen die Schutzdioden ;)
Mein Problem liegt doch beim Stromverbrauch! Ich will dass die Schaltung 
nur ein paar µA oder besser garnichts verbraucht, wenn sie grade im 
Stand-By ist.

> ast absägen obwohl man drauf sitzt, gut anleinen nicht vergessen. :)
Genau das ist mein Plan! :D

Alternative wäre nun, dass der Atmega immer läuft mit seinen paar µA 
Verbrauch und ich das Funkmodul über einen P-Channel an schalte.

von vorschlag (Gast)


Lesenswert?


von Jens G. (jensig)


Lesenswert?

Zeig doch mal die Schaltung. Denn wenn der atmega bereits das Funkmodul 
abschaltet, und nur noch selbst an Spannung liegt, braucht der alleine 
keine 100µA Strom im Sleep. Da muß doch noch was anderes da sein, was 
Strom zieht, und ebenfalls abgeschaltet werden muß.

von Fabian S. (jacky2k)


Lesenswert?

Wenn du mir das nun auf ein paar mm Größe runterkomprimierst ist es 
genommen :D

von MarioT (Gast)


Lesenswert?

Fabian S. schrieb:
> das Funkmodul über einen P-Channel an schalte

Stromaufnahme beim Senden: 23 mA
Ich würde es direkt an 2 Ports hängen wenn möglich.

von Sven K. (svenk)


Lesenswert?

Hmm,

5V Impuls schaltet einen NPN Transistor der einen P-Fet schaltet.
das ganze mit einem Kondensator und einer Diode Abfall-verzögern.

Jetzt startet hinter dem P-Fet der Atmel und macht zuerst
eine Selbsthaltung.
Erledigt sein Geschäft und schaltet den Pin wieder ab.
(Diode noch vom Portpin zur Basis vom NPN Transistor)

Fertig, kein Stromverbauch.

Gruß Sven

von Fabian S. (jacky2k)


Angehängte Dateien:

Lesenswert?

Hier ist die Schaltung. Den Stromverbrauch hatte ich gemessen mit 
überbrückten Mosfets.
Das Funkmodul hatte ich ebenfalls in Schlafmodus geschickt, jedoch habe 
ich nirgendwo eine genaue Anleitung gefunden wie das funktioniert und 
konnte auch nicht testen wer nun wie viel verbraucht.

von Fabian S. (jacky2k)


Angehängte Dateien:

Lesenswert?

Ich habe grade nochmal eben umgebaut, der AtMega läuft nun die ganze 
Zeit und kann das Funkmodul abschalten mit einem P-Channel.
Wäre super, wenn ihr mir eure gedanklichen Ergüsse dazu mitteilen würdet 
;)

von Jens G. (jensig)


Lesenswert?

R4 und R6 sorgen offensichtlich für die 100µA, wenn Du nur das Funkmodul 
abschalten, und den atmega in den sleep schicken würdest (also unter 
Spannung bleibend).
Soll das 'ne Unterspannungsdetektion sein? Dann mach die um mindestens 
zwei Größenordnungen höher (mit kleinem C gegen Masse zur Entstörung), 
und die Stromaufnahme sollte deutlich runter gehen.

von Patrick K. (gnom69)


Lesenswert?

Mach doch eine Monostabile Kippstufe, der Atmega kann dann immer die 
Zeit zurücksetzen, wenn er mit rechnen noch nicht Fertig ist, und wenn 
ein Impuls kommt wird gestartet.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Die Widerstände sind in der Tat Käse. Und das Funkmodul muß man nicht 
extra spannungsfrei schalten. Die Ruhestromaufnahme liegt (bei mir 
gemessen) unter 2µA, das kann man vernachlässigen. Einfach nur per 
Kommando in den PowerDown versetzen, alle im Datenblatt genannten 
internen Module und den Oszillator stillegen und gut.

von Marcus B. (raketenfred)


Lesenswert?

Gibt es nicht extra Flipflops??

Gibt es doch als fertiges Bauteil, da kommt der Impuls dran--> Spannung 
ist da für die Schaltung,

Fertig geschaltet etc--> Flipflop resetten--> Strom aus

von Fabian S. (jacky2k)


Lesenswert?

Marcus B. schrieb:
> Gibt es nicht extra Flipflops??
Kennst du eins?

> R4 und R6 sorgen offensichtlich für die 100µA
Joa das mit den Widerständen stimmt wohl. sind aber nur ca. 70µ wobei 
ich mir jetzt grade nicht mehr ganz sicher bin bei welche Spannung ich 
das gemessen hatte, denn da hab ich nicht die Baterie verwendet, sondern 
Labornetzteil.

Ich denke ich werde nun mal die Version mit dem P-Channel die ich oben 
gepostet habe ätzen und aufbauen und zusätzlich noch ne Brücke einbauen, 
um den Mosfet überbrücken zu können, dann habe ich beide Varianten 
offen.

von Michael M. (Gast)


Lesenswert?

ist jetzt das vierte mal innerhalb von 2 tagen, dass das ausführlichst 
diskutiert wurde.
Versorgung aus einer Zelle, Sleep Mode
und SUCHFUNKTION

von Fabian S. (jacky2k)


Angehängte Dateien:

Lesenswert?

So ich habe nun euren Rat befolgt und ne neue Platine gebaut und alles 
mit Stand-By Modi gelöst. Bei 3V brauche ich nur noch 21µA. Scheint mir 
immernoch recht viel. Im Ahang ist nochmal der neuste Schaltplan (im 
vorherigen war noch ein kleiner, entscheidener Fehler drin, der mir den 
Atmega gebrutzelt hat....). Q1 ist nicht eingebaut, dafür aber R5, es 
fehlt momentan auch noch der R6. Der Verbrauch sollte jetzt also noch 
geringer sein als er später sein wird.

Hier ist mein Quelltext:

rf12_trans(0x8201);
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
while(1) sleep_mode();

Kann sich jemand erklären, wie da dennoch 21µA verbraucht werden?

Edit: ADC, Timer etc sind alle samt aus.

von Fabian S. (jacky2k)


Lesenswert?

Arg, grade geistesblitz gehabt, der Brown-Out war noch an, nun braucht 
er nur noch 0,3µA! Echt der Hammer, hätte ich nicht gedacht, dass das so 
gut klappt ;)

Danke an alle!

von Purzel H. (hacky)


Lesenswert?

Als Brownout bietet sich ein externer Chip an. zB ein MCP111T -xx fuer 
verschiedene Spannungen erhaeltlich, im SOT23. Laeuft mit weniger als 
1uA, fuer 0.28$ @25 stueck

von Fabian S. (jacky2k)


Lesenswert?

Joa dann gibts halt nun kein Brown-Out ;)
Hab ja die Spannungsmessung drin und wenn die zu gering ist macht das 
Teil sowieso nichts.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Einige neue Pico-Power-Tinys und Megas haben schlafende 
Brown-Out-Detektoren, vielleicht kannst Du so einen verwenden.

von Fabian S. (jacky2k)


Lesenswert?

Aha gut zu wissen, aber es wird auch so funktionieren, danke. :)

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.