www.mikrocontroller.net

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


Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ←↓→ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ←↓→ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: ←↓→ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sönke O. (soenio)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ←↓→ (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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. :)

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: vorschlag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht 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ß.

Autor: Fabian S. (jacky2k)
Datum:

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

Autor: MarioT (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sven K. (svenk)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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 
;)

Autor: Jens G. (jensig)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Patrick K. (gnom69)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Marcus B. (raketenfred)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael M. (Gast)
Datum:

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

Autor: Fabian S. (jacky2k)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

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

Autor: Fabian S. (jacky2k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha gut zu wissen, aber es wird auch so funktionieren, danke. :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.