Ich wende mich nochmal dem eigentlichen Problem zu. Ich hätte mir bei meiner ersten Antwort mehr Zeit nehmen sollen, das möchte ich hiermit nachholen. Zaldo hat die richtige Stelle im Datenblatt gefunden und auch den entscheidenden Punkt und die daraus entstehende Gefahr benannt: die Ausgänge werden hochohmig was andere Schaltungsteile stören könnte. Das möchte ich erst etwas ausführlicher erkären und dann die Konsequenzen überlegen. Um es vorweg zu nehmen, ich habe bisher nicht herausgefunden was beim Reset tatsächlich schief gehen könnte. Vielleicht sieht jemand das Problem.
Was macht der Reset?
1. Der Reset ist asynchron, d.h. er wirkt sofort und unabhängig vom Takt, also ohne dass irgendwelche Verarbeitungsschritte nötig wären. Damit ist der Reset Eingang schonmal die richtige Wahl um einen schnellen Notaus zu realisieren. Ein Hardware-IRQ würde dagegen nur helfen, wenn der Controller noch so gut arbeitet, dass er eine Interruptroutine ausführen kann, was im Fehlerfall nicht unbedingt gegeben ist.
2. Beim Reset (gedrückter Notaus) werden alle internen Register auf Defaultwerte zurückgesetzt. Damit wird der Kontroller in einen ungefährlichen Grundzustand versetzt, was eben auch heißt dass alle Pins, die ja als Ein- und Ausgang verwendet werden können, als Eingang programmiert werden. Als Eingang sind sie hochohmig und können normalerweise keinen Schaden anrichten.
3. Wenn der Reset zurückgenommen wird (Notaus entriegelt) bootet der Controller und beginnt die geflashte Software auszuführen.
Noch ein Hinweis: Der Pin am Reset-Stecker X3 wirkt direkt auf den Controller. Im offenen Zustand wird der Pegel mit einem 3,3kOhm Pullup-Widerstand (R93) auf 5V gehalten. Ein Kondensater (C30) entprellt das Signal.
Was heißst das nun? Wenn alle In/Out-Pins des Controllers hochohmig werden, fehlt den Leitungen zu den einzelnen Funktionen der Treiber. Die Netze "floaten". Das kann duchaus zu zufälligen Ergebnissen führen, auch wenn der Controller selbst ja eigentlich einen wohl definierten Zustand hat. Ein floatendes Signal kann auf jeder beliebigen Spannung hängen bleiben, gerne auch auf dem halben Versorgunspegel. Das kann natürlich nur geschehen, wenn auch alle anderen Schaltungsteile an dem Netz hochohmig sind.
Gehen wir daher mal die verschiedenen Funktionen im Schaltplan durch. Wer Lust hat siehe hier:
http://www.produktinfo.conrad.com/daten ... RF1000.pdf
Seite 1
Um Piepser und LEDs brauchen wir uns wohl nicht weiter zu kümmern, da brennt nichts an und auch nichts ab.
Seite 2
Ebensowenig um die Eingänge: DMS (Dehnungsmessstreifen), Endtaster, Tastatur, Thermosensoren.
Das Display könnte Unsinn anzeigen, macht nichts.
Die Beleuchtung ist auch unkritisch. Mehr, als dass sie leuchtet, kann nicht passieren.
Das erste interessante Teil ist die Heizplatte. Das Elektronische Relais (SSR1, solid state relais) arbeitet als Optokoppler. Um die Heizung zu aktivieren muss ein Strom durch die interne LED fließen. D.h. ein zufälliger Spannungspegel eines floatenden Signals reicht hier nicht aus, man braucht einen aktiven Treiber. Die Heizplatte ist daher ungefährdet.
Weiterhin haben wir hier die Augänge, die für Extruderheizung und Lüfter benutzt werden. Hier haben wir zwar keine Optokoppler, aber LEDs, die den Schaltzustand anzeigen.
http://cdn-reichelt.de/documents/datenb ... %23KIN.pdf
Diese würden ein nicht getriebenes Signal herunterziehen, aber auf welchen Pegel? Die Durchlassspannungen können im Betrieb schon bei 2V liegen, sind also hoch genug um unseren FET (s.u.) zu öffnen. Aber ohne Treiber müsste die LED das Netz wenigstens unter 1V herunterziehen können.
Der FET-Treiber hat eine Schwellspannung von 1.8V (mindestens 1.5V). Um größere Ströme zu schalten bedarf es etwas mehr. Siehe:
http://www.ti.com/lit/ds/symlink/csd18531q5a.pdf
Ich würde hier keine Gefahr ableiten, aber das müsste man vielleicht nochmal genauer prüfen.
Seite 3, 4, 5
Was übrig bleibt sind die Motortreiber, die diese drei Seiten alleine füllen.
Datenblatt hierzu:
http://www.ti.com/lit/ds/symlink/drv8711.pdf
Die Ausgänge des Controllers sind direkt mit den Motortreibern verbunde, es gibt keine weiteren Bauelemente. Aber auch hier besteht eigentlich keine Gefahr. Im Motortreiber sind alle Eingänge mit internen Pullup oder Pulldown Widerständen versehen. Ein floatendes Signal wird also immer auf einem ungefährlichen Level gehalten.
Hm, wenn es also bei langem Reset stinkt, muss ich etwas übersehen haben. Oder die Geschichte mit den FET-Augängen und der LED schlägt zu, was ich wie gesagt nicht glaube. Nicht dass es doch ein Defekt bzgl. Späne etc. ist, wie hal4822 angedeutet hat. Ich fände es schon gut zu wissen, da ja viele einen verriegelten Notausschalter nachgerüstet haben. Und ein sofortiges Entriegeln ist eben auch nicht immer ratsam, wenn über das USB-Kabel noch Fahrbefehle einströmen. Man müsste den Notaus drücken, USB Kabel ziehen oder USB-Ausdruck stoppen, und dann den Notaus wieder entriegeln.
Edit:
Nachdem ich alles geschrieben hatte viel mir auf, dass ich die Bauteile da hätte um einen einfachen Test zu machen. Ich habe eine 9V Batterie, einen 1MOhm bzw. 10MOhm Widerstand und eine normale rote 5mm LED miteinander verbunden. An der LED habe ich mit einem Digitalmultimeter die Spannung gemessen. Die war bei 1MOhm etwas über 1.6V und bei 10MOhm etwas unter 1.6V. Es ist also nicht so wie ich gedacht habe, dass die Durchlassspannung bei sehr kleinen Strömen bis unter 1V fällt. Wenn jetzt die im RF1000 verwendeten LEDs noch eine etwas höhere Schwelle haben, könnte das floatende Signal den FET Treiber öffnen.