Hallo allerseits, Vom Elektronik 101 aus dem Studium abgesehen hab ich wenig Ahnung von analogen Schaltungen. Und von LTSpice auch nicht so viel :) Allerdings habe ich momentan für ein Hobbyprojekt eine Aufgabenstellung, die ich analog bewältigen muss: Ein µC soll per Batterie betrieben werden. Wenn ein Taster gedrückt wird, soll das Ding anspringen und auch weiterlaufen und sich dann nach getaner Arbeit selbständig vom Saft nehmen. Meine Idee, das zu lösen ist folgende: Der Taster liegt an der Basis einer Darlingtonschaltung. Die Versorgungsspannung des Mikrocontrollers wird am Emitter des Transistors abgegriffen. Parallel zum Taster wird die Basis auch von einem Ausgang des µC versorgt, sobald der Bootvorgang abgeschlossen ist. Damit der Taster nicht während des ganzen Bootvorgangs gedrückt bleiben muss, habe ich parallel nun noch einen Kondensator mit niedrigem Serienwiderstand gelegt. Gedanke war, dass beim Einschalten die Zeitkonstante niedrig ist, der C also sofort geladen ist, aber sich beim Abschalten langsam über die Basis entlädt (tau >= 1s), so dass die NPNs durchlassen, bis die Setup-Routine beendet ist und das Board sich selbst am Leben halten kann. Das Schaltbild anbei soll das Entladeverhalten beschreiben, die Spannungsquelle soll hierbei einen Schalter simulieren (Ich bekomme bei LTSpice einfach keinen Schalter hin). Allerdings habe ich das Gefühl, der Kondensator tut überhaupt nichts - siehe Spannungsverlauf der Basisspannung. Nach meinem Verständnis müsste bei ~4.3s die Spannung mit einer Zeitkonstante von etwa 1s abklingen, oder nicht? Darüber hinaus würde mich interessieren, ob meine Schaltung anhand meiner Beschreibung überhaupt Sinn macht, oder ob ich irgendwo einen riesigen Denkfehler habe und das gar nicht funktioniert, wie ich mir das vorstelle.
Warum muss der uC von der Betriebsspannung abgetrennt werden? Wenn es nur darum geht die Batterie zu schonen,dann genuegt es vollkommen den uC in den Sleep-mode zu versetzen.
Weil zusätzlich noch einiges an Peripherie dranhängt, die zu viel Strom zieht, als dass ich sie vom Board aus versorgen könnte. Und wenn ich nur das Board schlafen legen würde , würde die den immer noch ziehen. Könnte ich auch mit Transistoren lösen. Aber meine Variante ist mir weniger aufwändig erschienen. Und ich lerne dabei mehr :)
Du willst quasi den µC mit Taster einschalten, und der soll sich selber nach getaner Arbeit abschalten? Soweit richtig? Dann wäre ein RS-Flipflop was: Auf den "Set" - Eingang schaltet dein Taster was drauf, "Reset" bedient der µC. Das Flipflop bleibt an, nachdem es mal ein "1" auf "Set" gesehen hat. Ein "1" auf Reset, bewirkt dass es ausgeht. Das kann man auch mit Transistoren aufbauen - vorzugsweise mit MOSFET, weil kein Strom fließen soll. Flipflop ist schon mal gutes Futter für Google. "Selbsthaltung" auch. Es geht auch anders: Man kann auch den µC in den Deep-Sleep schicken und per Taster wieder aufwecken, in dem Fall müsste man die Versorgung nicht abdrehen. Welcher µC ist es denn genau? Der Stromverbrauch in "aus" geht dann hinunter bis zu ein paar 100nA, je nach Typ, das ist quasi nicht. Auch für Batterien.
> wird die Basis auch von einem Ausgang des µC versorgt Der uC kann doch nicht mehr Spannung liefern als am Emitter von Q2 anliegt - wie soll damit die Basis von Q1 aufgesteuert werden? > Damit der Taster nicht während des ganzen Bootvorgangs gedrückt bleiben muss Wie lange dauert dieser?
Suche mal nach dem AVR-Transistortester von Markus F. oder Karl-Heinz Kübbeler hier im Forum. Oder auch hier: AVR-Transistortester Dort ist ein solcher Schaltungsteil eingebaut.
An Flipflops habe ich überhaupt nicht gedacht - das ist natürlich viel simpler. Sleep-Modus wollte ich aus o.g. Gründen nicht. Ok, das erübrigt mir die Sache mit dem Kondensator. Aber ich kann ja sicher nicht den kompletten Betriebsstrom über das FF laufen lassen. Wäre folgendes Vorgehen dann korrekt: der Q-Ausgang des FF treibt die Basis einer Darlingtonschaltung und der µC und die Peripherie (alles 5Vcc) wird dann vom Emitter versorgt?
Für sowas gibt es fertige Spannungsregler mit Enable-Eingang. Einen Pin im MC zu initialisieren und einen festen Pegel ausgeben geht warscheinlich schneller als du den Taster loslassen kannst. Den Rest des Bootvorgangs kann man ja danach abfeiern.
Siehe Anhang - sollte vom Prinzip her deinen Wuenschen entsprechen
Man könnte auch getrennte Spannungsregler mit Standby her nehmen. Also ein sehr sparsamer der nur den uC versorgt und dieser schaltet über den Standby-Pin einen größeren für die restliche Peripherie und geht dann wieder schlafen. Ansonsten würde ich für den simplen Vorschlag einen FET nehmen der durchgeschaltet bleibt so kann man den Verbrauch noch etwas senken.
Toxic schrieb: > Siehe Anhang - sollte vom Prinzip her deinen Wuenschen entsprechen Ich bin nicht sicher, ob das gescheit funktioniert. Das hängt von den Ports ab. Die haben oft Dioden gegen die Versorgung. D.h. da ist noch eine Diode vom PIN in zu VCC in Flussrichtung drin. Ist der µC versorgt, stören sie nicht. Wenn die VCC aber nicht da sind, fließt da ein Strom und der µC wird über den Transistor zugeschaltet. Oder halb zugeschaltet, und es dämmert in einem undefinierten Zustand vor sich hin. Es kann sein, dass einige Ports, z.B. die 5V-toleranten Pins das nicht haben. Das stände im Datenblatt. Aber niemand hindert einem daran, den PNP mit dem Flipflop zu schalten.
WehOhWeh schrieb: > Ich bin nicht sicher, ob das gescheit funktioniert. Das hängt von den > Ports ab. Die haben oft Dioden gegen die Versorgung. Das stimmt allerdings. Es ist daher besser R2 als Basiswiderstand fuer einen weiteren Transistor zu benutzen,dessen CE-Strecke parallel zum Taster beschaltet wird.In dem Fall muss GP5 statt Lowpegel einen Highpegel ausgeben. So sollte es dann eigentlich gehen - wenn ich nicht noch einen weiteren Denkfehler eingebaut habe.....
Moin, mal so als ganz blöden Einwurf :) den µC vom Taster aus dem Sleep holen. der µC schaltet dann den Rest ein oder aus und legt nach getaner Arbeit wieder schlafen. nur so als Idee
Vielen Dank für die Antworten! Irgendwie versteh ich immer weniger... Ich habe auf der RS-FF-Basis mal meine Schaltung geändert. Würde meine Skizze hier funktionieren? Und wenn ja, sieht jemand auf Anhieb, ob und wenn ja für welche Widerstände vor dem Spannungsregler Mindest/Maximalwerte eingehalten werden müssen? Den Pulldown R2 schön groß, genauso wie R4, der den Basisstrom begrenzt - ansonsten sind die Dimensionen relativ egal, oder?
Adrian Bergmann schrieb: > Würde meine > Skizze hier funktionieren? Wahrscheinlich nicht, denn das FF wird mit 9V versorgt und der µC mit 5V. Das reicht dann kein zuverlässiges HIGH am FF-Reset und du musst damit rechnen, dass das FF dann dauernd geresettet ist bzw. nicht geresettet werden kann (je nach Aktivpegel für Reset). Den Basisstrom braucht man beim Emitterfolger nicht zu begrenzen. Brauchst du überhaupt eine Darlingtonschaltung als Emitterfolger? Benötigt dein µC viel mehr als 100mA? Außerdem ist dabei der Drop schon so groß, dass dein nachfolgender 5V-Regler nur bei frischer Batterie noch volle Ausgangsspannung liefern kann. > Damit der Taster nicht während des ganzen Bootvorgangs gedrückt bleiben > muss, Was für einen Rechner willst du damit starten? Ich dachte, das ist ein µC? Da dauert doch der Startvorgang maximal ein paar hundert Mikrosekunden, allerhöchsten 10ms wenn man warten will, bis z.B. ein Quarz sicher angeschwungen hat. Das kannst du doch mit dem Taster manuell kaum unterbieten. Oder soll da Windows, Linux drauf laufen? Ein FF kannst du dir auch sparen, denn das ist letztendlich schon im µC vorhanden. Du setzt als erstes den Pin zur Selbsthaltung und wenn du mit dem Programm fertig bist, dann setzt du den wieder auf Null. Dazu braucht man zwei Transistoren, einen pnp und einen npn sowie etwas Hühnerfutter. Oder zwei kleine Fets, einen nMOS und einen pMOS. Ich hatte ja oben schon Hinweise für ein Beispiel angegeben. Zur Vereinfachung hänge ich dir das aber nochmals an. Es dreht sich um T1 und T3. T2 brauchst du nicht, der ist in dem Projekt nur zum Neustart gedacht, ohne dass man auf die Unterbrechung warten muss. Da schließt man den Taster direkt an GND an. Hier z.B. ist das Beispiel in einem Beitrag verlinkt worden: http://www.mikrocontroller.net/attachment/65454/schematic.png
Danke für deinen Input! > Wahrscheinlich nicht, denn das FF wird mit 9V versorgt und der µC mit > 5V. Das reicht dann kein zuverlässiges HIGH am FF-Reset und du musst > damit rechnen, dass das FF dann dauernd geresettet ist bzw. nicht > geresettet werden kann (je nach Aktivpegel für Reset). Verstehe. Ein Active High Reset angenommen, würde es ja dann reichen, wenn der µC einen weiteren Transistor schaltet, der die 9V dann an den Reset-Eingang durchlässt. > Den Basisstrom braucht man beim Emitterfolger nicht zu begrenzen. > > Brauchst du überhaupt eine Darlingtonschaltung als Emitterfolger? > Benötigt dein µC viel mehr als 100mA? Außerdem ist dabei der Drop schon > so groß, dass dein nachfolgender 5V-Regler nur bei frischer Batterie > noch volle Ausgangsspannung liefern kann. Da werden unter anderem 3 Servos mitversorgt. Da wollte ich auf Nummer sicher gehen. >> Damit der Taster nicht während des ganzen Bootvorgangs gedrückt bleiben >> muss, > Was für einen Rechner willst du damit starten? Ich dachte, das ist ein > µC? Da dauert doch der Startvorgang maximal ein paar hundert > Mikrosekunden, allerhöchsten 10ms wenn man warten will, bis z.B. ein > Quarz sicher angeschwungen hat. Das kannst du doch mit dem Taster > manuell kaum unterbieten. Oder soll da Windows, Linux drauf laufen? Ein Linux ist es nicht gerade. Aber ich prototype gerade mit einem Arduino, der mit Bootloader schonmal eine gute Sekunde benötigt, bis er Pins toggelt. > Ein FF kannst du dir auch sparen, denn das ist letztendlich schon im µC > vorhanden. Du setzt als erstes den Pin zur Selbsthaltung und wenn du mit > dem Programm fertig bist, dann setzt du den wieder auf Null. > Dazu braucht man zwei Transistoren, einen pnp und einen npn sowie etwas > Hühnerfutter. Oder zwei kleine Fets, einen nMOS und einen pMOS. > Ich hatte ja oben schon Hinweise für ein Beispiel angegeben. Zur > Vereinfachung hänge ich dir das aber nochmals an. Es dreht sich um T1 > und T3. T2 brauchst du nicht, der ist in dem Projekt nur zum Neustart > gedacht, ohne dass man auf die Unterbrechung warten muss. Da schließt > man den Taster direkt an GND an. > Hier z.B. ist das Beispiel in einem Beitrag verlinkt worden: > http://www.mikrocontroller.net/attachment/65454/schematic.png Die Schaltung ist für mich ziemlich schwierig nachzuvollziehen. Aber so langsam komme ich an. Werde mir das morgen nochmal in aller Ruhe anschauen. Danke nochmal!
Hallo, warum so kompliziert? ein Taster, 2 Widerstände, ein low voltage P-Channel Mosfet. Fertig. Mit Taster schaltet man den Mosfet durch, der µC schaltet sich ein, gleich am Anfang im Code schaltet er einen Pin, damit der Mosfet an bleibt. Ab läßt man den Taster los. Dann macht der µC sein Ding und wenn er fertig ist, schaltet er den Pin vom Mosfet wieder um. Damit ist alles aus.
DevilElec schrieb: > Mit Taster schaltet man den Mosfet durch, der µC schaltet sich ein, > gleich am Anfang im Code schaltet er einen Pin, damit der Mosfet an > bleibt. Ab läßt man den Taster los. Dann macht der µC sein Ding und wenn > er fertig ist, schaltet er den Pin vom Mosfet wieder um. Damit ist alles > aus. So, wie du es schreibst, funktioniert das nicht! - der pMOSFET braucht dann die Batteriespannung am Gate, um abzuschalten. Wenn der µC aus ist, kann er keine 9V liefern sondern nur 0V und wenn er eingeschaltet ist, dann kann er max. 5V liefern, also gar nicht ausschalten. - deshalb hatte ich jetzt schon mehrfach ein Beispiel genannt und auch verlinkt, mit dem das prima funktioniert. Man kann es auch mit MOSFETs realisieren oder meinetwegen auch kombiniert mit Transistoren und MOSFETs. Adrian Bergmann schrieb: > Ein Active High Reset angenommen, würde es ja dann reichen, > wenn der µC einen weiteren Transistor schaltet, der die 9V dann an den > Reset-Eingang durchlässt. Auf HIGH kannst du ihn mit einem Transistor nicht ziehen, nur auf LOW. Vielleicht suchst du dir ein FF mit Active-Low-Reset/Set. > Da werden unter anderem 3 Servos mitversorgt. Da wollte ich auf Nummer > sicher gehen. Dann nimm statt dem Darlington einen pMOS, der kann viel mehr Strom und wird mit viel weniger Leistung angesteuert und hat zusätzlich fast keinen Spannungsabfall wenn eingeschaltet. > Ein Linux ist es nicht gerade. Aber ich prototype gerade mit einem > Arduino, der mit Bootloader schonmal eine gute Sekunde benötigt, bis er > Pins toggelt. OK, dann ist das FF schon das richtige Element. Adrian Bergmann schrieb: > Die Schaltung ist für mich ziemlich schwierig nachzuvollziehen. Naja, es sind doch nur die beiden Transistoren T1 und T3 - ob als bipolar oder FET ist zunächst egal. Lass für die Überlegung die Kondensatoren und die LED (überbrücken) weg, der Taster wird statt an T2 direkt an GND angeschlossen. Die Zeichnung zeigt ja den ganzen Transistortester. Dort werden die 9V auf den 5V-Regler durch T3 geschaltet, die Widerstände R11/R12 dienen nur der Batteriespannungsmessung: weglassen! Im Anhang mal zwei Varianten mit FF. Ungetestet!
Vielen Dank für deine Mühe! Die Schaltung des Transistortesters kann ich nachvollziehen. Dazu habe ich aber noch eine Frage: In der Schaltung werden bc547er/557er benutzt. Aber die 100mA, für die die ausgelegt sind, scheinen mir zu knapp für meine Anwendung. Deshalb (Und weil sie bequemerweise schon in meinem Sortiment sind) würde ich die gerne gegen 327/337er mit 1A Icmax ersetzen. Die haben eine Ube von immerhin 1.3V, womit ich aber immer noch über den 7V bin, die mein LM317-Regler mindestens braucht. Kann ich damit rechnen, dass damit über den größten Teil der Batterielebensdauer meine 5V stabil bleiben? Zu deiner Flipflop-Lösung (Nochmal Danke, dass du dir dafür die Zeit nimmst!) habe ich auch eine grundsätzliche Frage. Wenn ich IC-Datenblätter für NAND Gatter durchforste, geben die eine konstante Stromaufnahme von mehreren mA an. Auch diskret aufgebaut habe ich ja grundsätzlich einen kleinen Stromfluss. Das macht die ganze Turnübung die ich hier zwecks Batterie sparen betreibe, völlig sinnlos, oder?
Hallo Adrian, DevilElec und Toxic haben in Ihren Beiträgen einen sehr einfachen Weg aufgezeigt, der wunderbar funktionieren sollte. Ich finde ihn wesentlich eleganter als die FlipFlop-Geschichte. In den beiden erstgenannten Lösungen würde ich lediglich noch irgendwo einen Kondensator einbringen, damit Dir das Prellen des Tasters den MC nicht 10x hintereinander ein- und wieder ausschaltet. Dieser Kondensator könnte evtl. auch die eine Sekunde Boot-Vorgang überbrücken. Viele Grüße Igel1
:
Bearbeitet durch User
Adrian Bergmann schrieb: > würde ich die gerne gegen 327/337er mit 1A Icmax ersetzen. Die haben > eine Ube von immerhin 1.3V, womit ich aber immer noch über den 7V bin, > die mein LM317-Regler mindestens braucht. Kann ich damit rechnen, dass > damit über den größten Teil der Batterielebensdauer meine 5V stabil > bleiben? UBE spielt doch keine Rolle, höchstens UCEsat. Wenn du genügend Basisstrom lieferst (hfe mit max. 20..30 ansetzen), dann verlierst du auch nur 200...300mV. Ich hatte dir deshalb einen pMOSFET empfohlen, da fallen im EIN-Zustand nur ein paar mV ab. Also einfach den BC557 durch einen pMOS ersetzen. Adrian Bergmann schrieb: > Wenn ich IC-Datenblätter für NAND Gatter durchforste, geben die eine > konstante Stromaufnahme von mehreren mA an. Da scheinst du an der falschen Stelle nachzuschauen. Z.B. der CD4011 (kann man den überhaupt noch beschaffen?) hat bei 10V eine typische Stromaufnahme von 0,01µA im Ruhezustand. Mit dem 4011 kannst du sogar zwei RS-FF aufbauen, mit Active-Low-Bedienung. Stichwort NAND-FF. http://pdf.datasheetcatalog.com/datasheets/208/108647_DS.pdf
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.