Hallo, für eine Waage (mit 4xAA Zellen = 4.8V-6.8V) würde ich gerne einen STM32 Mikrocontroller (3.3V) und einen Taster nutzen. Der Taster soll den Spannungsregler einschalten. Anschließend soll die Spannung über einen Spannungsteiler gemessen werden (noch während der Taster gedrückt wird). Danach soll der Mikrocontroller selbst den Regler "an" halten. Dabei soll der Mikrocontroller weitere Tastendrücke (kurz "Tara", lang "aus") mitbekommen und am Ende den Spannungsregler ausschalten. Ich habe mir dabei die angehängte Schaltung überlegt. Am Connector J3 soll der taster angeschlossen werden. Das "switch"-Signal kommt an einen Eingang am Mikrocontroller, das "PWR_En"-Signal kommt sowohl an den Enable-Eingang (high ab 2V) des Spannungsreglers sowie an den ADC-Pin des STM32. Ablauf: Zu Beginn ist PWR_En low, also gibt der Regler keine Spannung aus. Beim drücken auf den Taster liegt sowohl an "switch" als auch an "PWR_En" ein high an. Bei "switch" liegen durch die Zenerdiode immer etwa 3.3V an, egal wie voll die Batterien sind. Bei PWR_En liegt die halbe Batteriespannung an, jeoch maximal 3.3V. der Regler gibt also eine Spannung aus, wodurch der STM32 in wenigen Millisekunden bootet. Nun kann zu Beginn die Leerlaufspannung an "PWR_En" gemessen werden, und eventuell später auf eine niedrige Batteriespannung hingewiesen werden. Nach dem Messen wird der Pin als Ausgang geschaltet und ein high wird ausgegeben, damit der Spannungsregler an bleibt. Der Taster kann nun losgelassen werden (sollte ja nur wenige Milisekunden dauern bis dahin). Die 3.3V am PWR_En haben auf das "switch"-Signal keinen Einfluss, da R4 mit R5+R6+R8 einen Spannungsteiler bildet, wodurch weniger als 0,3V am Pin anliegen sollte. Ein drücken auf den Taster ergibt jedoch ein entprelltes high Signal. Meiner Meinung nach sollte alles so funktionieren. Sieht jemand spontan ob ich etwas nicht beachtet habe? Danke schon einmal.
wenn switch high wird blinkt d1 kurz auf. evtl. sieht man eine kleine rauchwolke.
Gerald M. schrieb: > Nach dem Messen wird der Pin als > Ausgang geschaltet und ein high wird ausgegeben, Welcher Pin....zeichne doch mal alles, inklusive Taster und µC und Batterie. Das ist alles ziemlich wirr.
Was sollen die beiden Z-Dioden, keine wird jemals leitend. Um den Spannungsregler zu enablen, nimmt man eine simple Diode. Den Spannungsteiler für den ADC mach man hochohmig (2*100k), dann passiert dem MC auch bei VCC = 0V nichts. R8 ist überflüsig.
Gerald M. schrieb: > Danach soll der Mikrocontroller selbst den Regler > "an" halten. Dabei soll der Mikrocontroller weitere Tastendrücke (kurz > "Tara", lang "aus") mitbekommen Der Taster startet den µC und der µC "drückt" anschließend den Taster, soll aber noch Dastendrücke erkennen... entweder ist das unglücklich ausgedrückt oder Murks ;)
Gerald M. schrieb: > Ich habe mir dabei die angehängte Schaltung überlegt. Wegen 100k:10k kommt an switch nur 0.4 bis 0.6V an. Vergiss deine 3.3V Z-Dioden, stell dir vor da wären LEDs, die begrenzen ähnlich schlecht. Beachte, dass manche Eingänge am STM eine Eingangsschutzdiode haben, wenn dort Spannung an liegt (Taster gedrückt) also Strom über die Diode nach VCC fliesst und den uC schon mal Strom versorgt oder eben gar nicht über 0.7V kommt. Zeichne dir die Dioden vom uC Pin zu VCC in deinrn Schaltplan und überlege, warum es dann nicht funktioniert. Manche Eingänge vom STM erlauben aber 4V auch wenn VCC noch aus ist, 0V hat. Damit kann die Schaltung gehen (ist aber etwas aufwändig). Schlag nach, welche Eingänge "5V tolerant" sind.
MaWin schrieb: > Damit kann die Schaltung gehen ( Nee, weil aus R8:R7 nur 1.1V an Enable kommen, weniger als 2V.
OK, habe nun die Schaltung überarbeitet. Der STM32 hat quasi ausschließlih 5V tolerante Pins, es reicht also alles auf <5V zu begrenzen. Situation1: Knopf initial gedrückt --> Batterie-Spannung kann an PWR_En gemessen werden Situation2: Der Mikrocontroller übernimmt das halten. Situation3: Der Taster wird gedrückt während alles an ist.
Warum machst du mittels Dioden nicht ein OR für das Power_En? Also entweder die Taste OR der MCU aktiviert den Spannungswandler. Die Taste einlesen über einen separaten Pin.
Audi10 schrieb: > Warum machst du mittels Dioden nicht ein OR für das Power_En? Also > entweder die Taste OR der MCU aktiviert den Spannungswandler. Die Taste > einlesen über einen separaten Pin. Das ist natürlich auch eine gute Idee. Habe jetzt etwas herumgespielt und die Schaltung im Anhang tut das gewünschte (die Schalter sollen nur das High-z Verhalten widerspiegeln). Ich schaue wenn ich in der Schaltung sonst noch Dioden habe, werde ich wahrscheinlich Dioden nutzen, so hat es aber den Charme dass ich die Bauteile sowieso schon in der BOM habe.
Das ist die Schaltung eines Idioten
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.