Hallo. :) Ich habe folgendes Problem, zu welchem ich gerade etwas verzweifelt nach einer guten Lösung suche und entsprechend schon seit ein paar Tagen alle möglichen Themen durchgehe. Dabei habe ich mich auch bereits intensiv in FETs eingelesen, hier fehlt mir allerdings Praxiserfahrung. Ebenso habe ich OPs bisher noch nie verwendet. Aber einmal zu den Details ... Meine Schaltung wird mit einem 9V-Block versorgt, soll eine lange Laufzeit haben und ist entsprechend auf Stromsparen ausgelegt. Mit Hilfe eines bistabilen Signalrelais wird ein Servo in die eine oder die andere Endposition gefahren und dort über einen Endschalter abgeschaltet. Das bistabile Relais wird, neben Display und Encoder von einem ATMEGA gesteuert - soweit alles kein Problem. Tritt ein Brownout auf oder ist der µC im Reset oder wird die Stromversorgung für die Steuerung abgeschaltet, dann soll der Motor ZWINGEND in eine bestimmte Endposition fahren und anschließend den Stromverbrauch auf 0 reduzieren (Endschalter kann das übernehmen). Grundsätzlich bin ich gedanklich so weit, dass ich wohl am µC einen Pin zur Laufzeit dauerhaft auf einen bestimmten Zustand (z.B. Ausgang Hi) schalte und damit den Sicherheitsschaltkreis über die Betriebszeit deaktiviere. Pins sind noch frei, von daher kein Problem. Der Sicherheitsschaltkreis müsste den Motor vom Relais abkoppeln (da dessen Zustand unbekannt ist) und den Motor in Endposition fahren, sobald der µC-Pin NICHT in seinem definierten Zustand ist. Anschließend könnte der Sicherheitsschaltkreis über den Endschalter ebenfalls vollständig abgeschaltet werden. Aber wie umsetzen? In FETs habe ich mich zwar eingelesen und mir gefällt, dass sie über Spannung geschaltet werden, aber weder wüsste ich, welche Typen ich dafür am besten nehmen könnte (prinzipiell Logic-Level, Verarmungstyp, kein SMD, maximaler Schaltstrom ca. 1-2A für den Motor), noch wie etwas in die Schaltung integrieren könnte, um das gewünschte zu erreichen und dabei den Gesamtverbrauch während des Betriebs nicht bedeutsam erhöhen. Zudem möchte ich das bistabile Relais dabei außen vor lassen, da auch ein Ausfall von selbigem durch die Sicherheitsschaltung erfasst werden soll. Für Vorschläge und Ideen wären ich wirklich dankbar. Lg, Torsten
Wie soll bei einem Brownout der Motor in eine Endposition fahren? Stützakku?
Torsten K. schrieb: > Tritt ein Brownout auf oder ist der µC im Reset oder wird die > Stromversorgung für die Steuerung abgeschaltet, dann soll der Motor > ZWINGEND in eine bestimmte Endposition fahren und anschließend den > Stromverbrauch auf 0 reduzieren (Endschalter kann das übernehmen). Hallo Torsten, das verstehe ich nicht oder nicht ganz: Du hast einen Teil der Steuerung der - wenn kein Strom mehr vorhanden ist trotzdem etwas tun soll. Torsten K. schrieb: > Meine Schaltung wird mit einem 9V-Block versorgt, soll eine lange > Laufzeit haben und ist entsprechend auf Stromsparen ausgelegt. das ist schon mal kontraproduktiv um einen Motor zu fahren. Torsten K. schrieb: > Der Sicherheitsschaltkreis müsste den Motor vom Relais abkoppeln (da > dessen Zustand unbekannt ist) und den Motor in Endposition fahren, Hmm, vielleicht wäre ein Blockdiagramm ganz hilfreich um "Schaltung", "Steuerung", "Sicherheitsschaltkreis" und deren Zusammenwirken besser zu verstehen. rgds
Du sprichts auch von "SICHER" (Bold) - wenn es um Sichergheit geht wäre auch nützlich den PL anzugeben den Du erreichen möchtest. rgds
Die Brownout-Detection ist eigentlich dazu da, im Falle eines Stromausfalles, oder während des Einschaltens für geregelte Zustände zu sorgen. Natürlich kannst Du irgendeinen Pin auf einen beliebigen Pegel legen, aber beim Zusammenbruch der Spannung kannst Du diesen nicht auf Deinen Signalzustand legen. Brownout ist keine definierte Unterbrechungsroutine, zumindest bei den mir bekannten Prozessoren. Folglich bleibt die Möglichkeit: Du misst selber die Spannung. Ein fest eingestellter Komparator reicht hierfür. Dieser wird so eingestellt, dass er minimal vor dem Brownout kommt. So kannst Du deinen Prozessor gezielt in's Bett schicken. Ob die Power dann noch reicht um die Heimreise zu beenden ist eine andere Sache bzw. hängt von der Schaltschwelle ab. Dein Motor hat ja auch noch Bedürfnisse. Übrigens: Manche Prozessoren haben einen eigenen Komparator eingebaut.
Das Kernproblem wird nicht sein, die Ansteuerung der FETs oder Relais hinzubekommen, sondern den Motor zu versorgen. Brownout bedeutet ja wohl, dass die Spannung zusammengebrochen ist. Oder geht es dir nur um eine Batterie-leer-Erkennung, nach der der Motor in die sichere Position fährt und dann die Ansteuerung sich schlafen legt, bis es eine neue Batterie gibt? Max
Ich vergaß: An Deiner Schaltung brauchst Du nichts zu ändern. Irgendwo hast Du ja die Routinen: Fahre_Links und Fahre_Rechts. Normalerweise bestehen diese aus den Sequenzen: Fahre nicht in die andere Richtung plus fahre in Richtung xy. Bei der Low-Voltage-Erkennung springst Du einfach eine der beiden Fahrrichtungen an und schickst das Teil anschließend ins Bett. Viele Rechner haben hierfür einen eigenen Befehl. Aufgeweckt wird das Teil ja dadurch, dass die Spannung kurzzeitig "echt" null Volt ist (Batterie raus) und anschließend (neue Batterie rein) die Betriebsspannung wieder kommt. Wie bereits vorher gesagt: Ob der Motor dort ankommt hängt von der Schaltschwelle ab.
Erst schon mal vielen Dank für die ganzen Antworten in der kurzen Zeit. :-) Ich habe meinen ersten Schaltungsdraft mal angefügt, wobei sich folgendes noch ändern wird: - µC wird ein ATmega328P (oder - softwareabhängig - auch mit weniger Flash) - der Quarz wird gegen einen 32kHz getauscht (zwecks RTC und PowerDown) - das bistabile Relais wird direkt an den Pins betrieben (< 35mA) - Display werde ich vermutlich ebenso direkt via Pin bestromen - im Schaltplan ist momentan keine Endposition erreicht (sonst wäre S3 oder S4 betätigt) So ... jetzt mal der Reihe nach zu den Fragen ... @Dirk: Brownout setze ich auf 4,7V. Ich gehe davon aus, dass ein 9V-Block dann immer noch das Minimum an Saft hat, um den Servo zumindest ein paar Milimeter weit zu bewegen - das würde bereits genügen. Notfalls ginge aber auch eine Reservebatterie (würde ich dann noch testen). @6A66: Nicht ganz. Ich habe eine Steuerung (µC). Sobald diese nichts mehr tut, soll ein anderer Schaltungsteil für einen definierten Motorzustand sorgen. Das ein 9V-Block nicht ideal zum Betreiben von Motoren ist, ist mir bewusst. Der Motor wird voraussichtlich nur ein- oder zweimal die Woche laufen - von daher ist eine hohe Batterieleistung nebensächlich. Schaltplan hängt an, vom Sicherheitskreis ist da aber noch nichts drin. Und sobald ich rausfinde, was Du mit "PL" meinst, kann ich Dir ggf. darauf anworten. ;) @Amateur: Genau das - tritt ein Fehlzustand (Reset durch Watchdog oder Brownout oder auch plötzliche Vaporisierung des µCs) auf, dann möchte ich - soweit irgend möglich - genau diesen definierten Zustand. Der µC wird - im Falle eines Neustarts - ebenso den definierten Zustand ansteuern und bis auf weiteres dort verweilen (um Softwarefehler und/oder Reset durch Watchdog abzudecken). Allerdings ... wie kann ich den erreichen, wenn alle Pins dann hochohmig sind? ;) @IOwside: Siehe weiter oben. Ich schau mir das noch an, wie ein fast auf 4V leergelutschter 9V-Block reagiert und ob ich ggf. eine Alternativbatterie verwende. und nochmal @Amateur: Ich möcht' jedoch ein kleines Notfall-Backup für den µC. Sicherlich werde ich auch dem µC noch eine Batterie-Leer-Erkennung spendieren und dann alles nötige bis zur neuen Batterie einleiten. ;)
Ein normaler DC Motor, der für 9V ausgelegt, wird sich bei bei 4V nicht mehr bewegen.
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.