Forum: Mikrocontroller und Digitale Elektronik 74hc244 automatisch sperren bei µC-Absturtz


von Michael (Gast)


Lesenswert?

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Henrik J. (henrikj)


Lesenswert?

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.

von Uwe (Gast)


Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

>           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.

von Michael (Gast)


Lesenswert?

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...

von friedrich (Gast)


Lesenswert?

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

von slow (Gast)


Lesenswert?

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.

von friedrich (Gast)


Lesenswert?

Hallo Michael, sollst recht haben :))

von Uwe (Gast)


Lesenswert?

OK!  Counter Clear AC gekoppelt !

von Uwe (Gast)


Lesenswert?

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.

von Erich (Gast)


Lesenswert?

>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.

von Uwe (Gast)


Lesenswert?

klar funktioniert die Lösung mit Counter und FlipFlop. Ist halt nen 
selbstgebauter externer Watchdog. Warum sollte der nicht funzen Erich ?

von Timm T. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.