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?
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.
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.
>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?
←↓→ 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.
>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.
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?
>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.
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.
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
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. :)
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.
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ß.
Wenn du mir das nun auf ein paar mm Größe runterkomprimierst ist es genommen :D
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.
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
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.
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 ;)
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.
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.
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.
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
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.
ist jetzt das vierte mal innerhalb von 2 tagen, dass das ausführlichst diskutiert wurde. Versorgung aus einer Zelle, Sleep Mode und SUCHFUNKTION
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.
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!
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
Joa dann gibts halt nun kein Brown-Out ;) Hab ja die Spannungsmessung drin und wenn die zu gering ist macht das Teil sowieso nichts.
Einige neue Pico-Power-Tinys und Megas haben schlafende Brown-Out-Detektoren, vielleicht kannst Du so einen verwenden.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.