Hallo, ich suche nach einer einfachen Möglichkeit den 74hc244 zu sperren, falls mein µC abstürtzen sollte. Da habe ich mir gedacht ich erzeuge am µC-Ausgang ein Rechtecksignal mit ca. 2kHz, denn wenn der µC abstürtzen würde, würde der Takt wegfallen. Jetzt muss ich aus dem Takt ein LOW-Siganle am !OE-Eingang bekommen. Irgendwie muss das doch mit einem Koppelkondensator funktionieren, jedoch klappt es irgendwie nicht (vielleicht hab ich nur nen Denkfehler). So habe ich es bereits probiert (µC gibt dabei abwechselnd 0 und Z aus): Vcc Vcc | | - - | | 4,7k | | 22k | | | | |----| - - |----| | | Z | 220n | | 74 | | µC |------+---||----+---o| HC | | | 0 | | 244| |----| --- |----| 100n --- | | --- Hat wer ne Idee wie ich das Problem lösen kann, möglichst ohne ein Monoflop aufzubauen. MFG Michael
Mit dem Takt könntest Du ein Monoflop wie z.B. ein 74hc123 oder 74hc221 ansteuern, dessen Ausgang Du dann zum "Sperren" verwendest. Mir ist klar, daß das Deinem Wunsch widerspricht, aber mit Deiner Kondensatorlösung bist Du auch nicht wirklich besser dran.
Gibt es nicht einen internen oder externen Watchdog? Der setzt den Prozessor zurück, falls er Quatsch macht. Und der nOE Pin wird mit einem PullUp versehen. Solange der Prozessor alsi nicht vernünftig läuft, sind die Ausgänge hochohmig.
Watchdog benutzen und als ersten Befehl im Resetvektor OE deaktivieren. Ansonsten Counter mit Clear und Overflow. Overflow (oder Qn) an FlipFlop und FlipFlop zu OE. Der Counter Muß dann immer einen Reset bekommen bevor er überläuft. Reset von FlipFlop und Counter, zum rückstellen des Fehlerspeichers, verbinden.
> Vcc Vcc > | | > - - > | | 4,7k | | 22k > | | | | > |----| - - |----| > | | Z | 220n | | 74 | > | µC |------+---||----+---o| HC | > | | 0 | | 244| > |----| --- |----| > 100n --- > | > | > --- Wie soll sowas funktionieren, da ist ja noch nicht mal erkennbar, wie das Funktionsprinzip sein soll. Das Prinzip ist ok, die Schaltung nennt man Watchdog. Es gibt hunderte: http://www.google.de/search?hl=de&q=watchdog+circuits&gs_sm=e&gs_upl=12048l12048l1l12174l1l1l0l0l0l0l0l0ll0l0&bav=on.2,or.r_gc.r_pw.,cf.osb&biw=1033&bih=872&wrapid=tlif132387733735910&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi&ei=7sPoTtEw2qqyBvTQ3JkH Da der 74HC244 keine Schmitt-Trigger Funktion an den Enable Eingängen hat, muß so oder so ein IC dazu der die Schaltschwelle erkennen kann. Da kann man den billigsten der billigen nehmen, den NE555. Mit einem 74HC1G14 bräuchte man zumindest eine zusätzliche Diode (oder open collector Ansteuerung), spart also keine Bauteile.
Schon, aber ich hab nen Debugger dran und damit geht glaub ich der Watchdog nicht (PIC18). Der µC steuert über den hc244 drei Halbbrücken (Motor) an. Letztens ist mir der Debugger jedoch wärend des Betriebs plötzlich ausgestiegen, was mir die Endstufe dann zerschossen hat da der Controller einfach stehngeblieben ist. Würde sich der hc244 selbst sperren, würde das nicht passieren. Werd vermutlich also nicht um das Monoflop drumherumkommen...
Mallo Michael, machs doch noch einfacher: VCC | R2 | Pc --- R1 ---+---- HC244 | C1 | GND Gib dann einfach am PC dynamisch ein Signal "0" / "Z" aus. Damit wird C1 imemr wieder entladen. Fällt die Funktion wech lädt sich der Konsendator und der HC schaltet. R und C denke ich kannst Du selbst dimensionieren. Das mit dem 220n im Schaltpfad ins nicht das Grüne vom Ei denn da hast du Limitierungen an den Ausgangsströmen des Treibers und das gibt unkalkulierbare Schmutzeffekte. Grüße
Netter Vorschlag. Nur klappts so nicht. Was passiert, wenn der uC "Mist baut", "sich verläuft" oder "aussteigt" und der Ausgang ist grad auf Low? Keine Schutzfunktion.
Deshalb benutze ich bei der Kombination normaler µC (also nicht automotive) und Motor immer nen CPLD dazwischen. Dann kann bei einem Absturz oder nem Programmierfehler nicht einfach mal nen Endschalter übersehen werden). Da könnte man jetzt auch noch die Counter, FlipFlop und Logiggater zwischen µC und Motortreiber machen.
>ich suche nach einer einfachen Möglichkeit den 74hc244 zu sperren, falls >mein µC abstürtzen sollte. Das ist ein Bastlerforum. Da macht es nichts, wenn ein uC abstürzt oder >abstürtzen sollte . Die diskutierten Lösungsansätze sind zwecklos und ebenfalls einfaches Bastlerniveau.
klar funktioniert die Lösung mit Counter und FlipFlop. Ist halt nen selbstgebauter externer Watchdog. Warum sollte der nicht funzen Erich ?
Michael schrieb: > Der µC steuert über den hc244 drei Halbbrücken (Motor) an. Letztens ist > mir der Debugger jedoch wärend des Betriebs plötzlich ausgestiegen, was Dann solltest Du eher die Ansteuerung der Motoren überarbeiten. Gibts beim AVR auch: Wird das AVRisp mkii vom USB getrennt, zieht es den Controller auf Reset. Du hast also zwei Fehlerfälle: 1. Der Controller bekommt externes Reset => alle Pins werden - zumindest beim AVR - hochohmig und tendieren gegen Vcc. Wie es beim PIC ist, musst Du halt sehen. 2. Der Controller bleibt hängen => alle Pins bleiben stehen => Watchdog-Reset entsprechend kurz einstellen => Reset => alle Pins werden hochohmig und neu initialisiert Hat der Controller keinen internen Watchdog, musst Du einen externen Watchdog für den Controller dranklöppeln. Jetzt hast Du einen definierten Fehlerzustand => Pins hochohmig. Danach baust Du Deine Ansteuerung auf. Also z.B. mit Pull-Down-Widerständen, die im Reset-Fall die Halbbrücken stilllegen, indem sie den Pegel runterziehen. Das OE des 244 bringt Dir gar nichts. Dadurch werden die Ausgänge hochohmig und sind für den Motortreiber nicht mehr definiert. Schlimmstenfalls beginnt der dann irgendwie zu schwingen. Also musst Du die Ausgänge mit Pull-Downs auf low zwingen. Dann kannst Du das aber auch gleich definiert am µC machen.
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.