
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo, ich werde meiner Absicht untreu, hier nichts mehr zu posten, aber irgendwie muss man ja verhindern, daß Fragesteller das Forum dümmer verlassen, als sie es betreten haben. > [....] > Sollstand: > 1. Wiederanlauf sollte Softwaremäßig ausführbar sein ohne die Netzspannung unterbrechen zu müssen > 2. Reset sollte auch Softwaremäßig erfolgen können um danach zb. eine Programmänderung > durchführen zu können. > Immer das Gehäuse aufzuschrauben zu müssen wirkt eigentlich etwas unprofessionell. > Und auf eine Resettaste wollte ich eigentlich bisweilen auch verzichten. > Habe zu diesen Punkten zwar schon einiges probiert, bin jetzt aber mit meinem Latein am Ende. Deine Idee ist richtig und in einigen Fällen auch unabdingbar für den ordentlichen Aufbau eines Steuerungssystemes. Es gibt viele Möglichkeiten ein µC-System "außer Tritt" zu bringen (von Spikes auf der Leitung bis hin zur Fehlbedienung) und dann braucht man einen automatischen Reset und einen erneuten automatischen Systemstart. Das nur für alle Dumpfbacken, die weder eine Lösung noch den Durchblick haben aber trotzdem dummes Zeug schreiben müssen. Gerade mit der V2 ist die Lösung leider nicht ganz ohne Hardware hinzubekommen. Soweit ich sehen kann, läßt sich der an sich vorhande Watchdog nicht mehr ansprechen (dazu bräuchte man eine Assemblerroutine und eigene Assemblerroutinen gibt/darf es nicht mehr geben). Mir fällt zu Lösung auf Anhieb nur ein, an einer Stelle des Programmes sie bei ordnungsgemäßem arbeiten immer durchlaufen werden muß, einen Befehl/eine Funktion unterzubringen, die z.B. einen Impuls auf einen Port ausgibt. Dieser Impuls kann dann eine "Totmannschaltung" am Leben erhalten oder nach einer Zeit x des Ausbleibens einen Reset auslösen. Hardwaremäßig käme z,B, ein retriggerbares Monoflop oder ein Timer (NE555 bzw. Derivate) in Frage. In den Tiefen des Archivs gibt es nach meiner Erinnerung sogar eine Bauanleitung für letzteres. OK... Nun haben wir unser Reset hinbekommen und müssen das Programm nur noch neu starten. Das ist bei Atmel & Co kein Thema, da zeigen die Resetvektoren von Hause aus auf den Programm- anfang, können aber auch beliebig gesetzt werden. Nicht so bei der C-Control. Die landet im Programmiermodus und hängt da fest. Also muss auch hier Hardware her. Am einfachsten wäre es, mit dem Resetimpuls unseres Harware Watchdogs ein weiteres Monoflop zu triggern, das an eine Relaisschaltstufe. einen verzögerten Impuls abgibt, der die Stromzufuhr zur CPU ...ääm µC... kurz unterbricht. Danach greift dann der Autostart Mechanismus wieder. Das ist natürlich noch keine fertige Lösung. Es soll nur zeigen, wie man das Problem überhaupt angehen kann. Um ehrlich zu sein: Wenn ich eine Failsafesteuerung dieser Art brauche, nehme ich einfach einen Atmel. Grüße Henrik Meine Homepage: http://www.henrik-reimers.de/control/ |
| Antwort schreiben |