Der Versuch, ein Gerät mit dem Arduino zu bauen, mit dem ich einen Cluster von Desktop-Computern, den ich habe, aus der Ferne neu starten kann. Das Gerät funktioniert, indem es kurzzeitig die Jumper der RESET-Taste auf der Hauptplatine eines Desktops verbindet. Es werden zwei Multiplexer verwendet, sodass 8 Desktops gleichzeitig damit verbunden werden können. Ein Multiplexer steuert die Erdung der Reset-Taste und der andere steuert den Pluspol der Reset-Taste. Es werden zwei Multiplexer benötigt, um dieselbe Motherboard-Masse mit demselben Motherboard-Pluspol zu verbinden.
Das Problem, das ich habe, ist, dass das Gerät funktioniert, wenn es an den USB-Anschluss meines Laptops angeschlossen ist, aber den Computer neu startet, wenn ich die Stromversorgung trenne. Das Gerät funktioniert überhaupt nicht, wenn ich es an den USB-Anschluss meines Linux-Servers anschließe, sondern scheint ein sehr schwaches Signal an die RESET-Leitungen der Hauptplatine zu senden, das dazu führt, dass die Hauptplatine einfriert und nicht zurückgesetzt wird.
Ich denke, das Problem hat mit meinem begrenzten Verständnis der Nuancen des elektrischen Flusses durch diese Geräte zu tun. Ich habe das Gefühl, dass es eine Art Rückfluss oder ein kleines Leck geben muss, das für diesen Anwendungsfall Störungen verursacht. Wie Sie sehen können, habe ich Dioden hinzugefügt, die die Stromversorgung verbinden. Dies verringert die Wahrscheinlichkeit, dass das Motherboard neu startet, wenn ich die Stromversorgung trenne, erheblich, aber es passiert immer noch manchmal. Außerdem funktioniert das Gerät immer noch nur, wenn es an meinen Laptop-USB und nicht an meinen Linux-Server-USB angeschlossen ist. Ich habe das Gefühl, dass es vielleicht eine Konfiguration von Dioden, Kondensatoren oder verschiedenen Arten von Schaltern gibt, die verwendet werden sollten. Wie ein Relais oder MOSFET anstelle der Multiplexer?
Ich habe versucht, das gelbe Kabel vollständig zu trennen, bevor ich die Stromversorgung unterbreche, aber das hat nicht geholfen. Es scheint, dass ein Signal von der Masse der Hauptplatine über einen anderen Kanal zum Positiv der Hauptplatine leckt. Das einzige, was funktioniert, ist, eine der Hauptplatinenleitungen physisch von der Platine zu trennen, bevor Sie die Stromversorgung trennen. Das Verbinden des Pluspols oder der Masse der Hauptplatine mit dem Pluspol oder der Masse des Arduino setzt die Hauptplatine ebenfalls nicht zurück. Dies impliziert für mich, dass ein Signal irgendwie direkt von einer Hauptplatine durch das System zur anderen leckt.
Im Beispiel unten ist zu Testzwecken nur ein Desktop-Motherboard angeschlossen (über die gelben und blauen Drähte). Die LEDs auf der rechten Seite dienen zum "Debuggen", damit ich sehen kann, welche Steuerleitungen tatsächlich Ladung an die Multiplexer liefern. Die grünen Drähte sind wie Steuerleitungen mit jedem Multiplexer verbunden (also sind A, B, C und INHIBIT für jeden gleich) und der gelbe Draht, der die beiden Multiplexer verbindet, verbindet den "OUT" des Masse-Multiplexers mit dem "IN" von der positive Überbrückungskabel-Multiplexer.
Es werden zwei Multiplexer benötigt, um dieselbe Motherboard-Masse mit demselben Motherboard-Pluspol zu verbinden.
Ich verstehe vielleicht falsch, was Sie getan haben, aber es hört sich so an, als würden Sie versuchen, die Multiplexer so zu verwenden, als wären sie im Inneren physisch so:
Aber tatsächlich sind sie innen eher so:
Der Punkt ist, dass der Multiplexer einen bestimmten Eingang nicht direkt mit dem Ausgang verbindet, wie es ein physischer Schalter tun würde, sondern eine gepufferte Version.
Wenn Sie den positiven Pin des Reset-Schalters physisch mit der Masse der Hauptplatine verbinden möchten, können Sie dies beispielsweise mit einem Optokoppler für jede Hauptplatine tun:
scld
Platzhalter
Andi aka
Chris Dutrow
Chris Dutrow