Simulieren eines 0,5-V-Tastendrucks mit einem Arduino-5-V-Ausgang

Ich wurde beauftragt, die Steuerung einer alten CNC-Nähmaschine zu modernisieren. Um auf einige der Bedienelemente auf die schnellste und einfachste Weise zugreifen zu können, muss ich Tastendrücke auf der integrierten Programmierplatine simulieren. Ich habe 12 Tasten, auf die ich mit einem Arduino-Programm zugreifen muss, das den Stickerei-Gcode in entsprechende Tastendrücke umwandelt.

Meine aktuelle Methode besteht darin, Leitungen über die NO-Tasten zu löten, damit ich die Schaltkreise schließen kann, ohne die Fähigkeit zu verlieren, die Tasten manuell zu verwenden. Das Problem ist, dass die Spannung dieser Schaltungen nur 0,5 VDC beträgt.

Es ist wahrscheinlich eine einfache Antwort und ich denke darüber nach, aber wie könnte ich die Tasten kurzschließen, während ich irgendwie die Arduino 5VDC-Ausgänge verwende. Ich habe eine Reihe von Relais- / Transistorbeispielen durchgesehen und mit meinem begrenzten Verständnis nicht ganz etwas gefunden, das meinen Anforderungen entspricht.

Alles in allem hoffe ich, ein paar 0,5 VDC mit 5 VDC schnell umschalten zu können (die Maschine kann 400 Stiche pro Minute ausführen) und trotzdem 5 Tage die Woche 8 Stunden Zykluszeit durchhalten.

Bilder wären schön zu sehen. Ich habe viele Fragen, die beantwortet werden würden, wenn ich ein oder zwei Bilder sehe. Gibt es einen Grund, warum Sie die Verwendung dieser winzigen Ampullen nicht in Betracht ziehen können ? ( Relativ kleine Reed-Schalter .) Sie sind ziemlich einfach mit einer MCU zu aktivieren.
Ich glaube, ich kam ein wenig unvorbereitet, da ich keine Bilder habe, aber im Grunde hat die Maschine einen Onboard-Programmierer mit gelöteten Tasten auf einer Platine, die ich nicht entfernen möchte. Ich habe das Gefühl, bei Reedschaltern müsste ich sie austauschen, wenn ich dich richtig verstehe?
Nein, ich sehe keinen Grund etwas auszutauschen . Aber deswegen würde ich auch gerne ein Bild sehen. Die Reedschalter müssen nicht einmal auf der Platine montiert werden, die Sie nicht entfernen möchten. Sie könnten entfernt montiert werden und Sie bringen einfach die Drähte vorbei. Der Hauptpunkt ist, dass sie bei der Spannungsdifferenz, von der Sie sprechen, sehr gut funktionieren und vollständig von allem isoliert sind, was mit der MCU zu tun hat, da die MCU nicht galvanisch verbunden ist, wenn Sie vorsichtig sind . Schöne Aufgabe, die Sie haben, und ich erwarte, dass die Ergebnisse sehr zufriedenstellend sein werden. Es ist gute Arbeit. :)
Süß, danke für die Hilfe. Ich werde Montag ein paar Bilder machen und in der Zwischenzeit Reed-Schalter untersuchen.
Ich mache mir Sorgen um mechanische Schaltelemente bei einer so niedrigen Spannung.
Wie hast du festgestellt, dass die Spannung 0,5 V beträgt? Wenn Sie es mit einem Multimeter gemessen haben, könnte es Sie anlügen, wenn die Tastatur gemultiplext ist (wahrscheinlich). In diesem Fall könnten die Spannungspegel konventioneller sein. Bilder der Elektronik, die mit der Tastatur verbunden ist, könnten uns einige Hinweise geben. Gibt es Schaltpläne usw. für diese Maschine online?
Ich stimme @Kartman zu, dass die Schaltflächen höchstwahrscheinlich gemultiplext sind. Jede Taste verbindet eine Reihe und eine Spalte einer Matrix und sie werden nur sehr schnell und in kurzen Impulsen abgetastet - daher die niedrige Spannung. Sie können den Arduino nicht direkt anschließen. Sie benötigen Relais oder Optokoppler.
Definieren Sie schnelle Rate? Versuchen Sie, dies bei 400 Zyklen pro Minute genau zu kontrollieren? Das wird die Hölle für mechanische Relais. Kann die Nähmaschine überhaupt so schnell auf die Knöpfe reagieren? Sie müssen dies für eine korrekte Antwort definieren.

Antworten (3)

Das Multimeter im DC-Modus mittelt die gemessene Spannung, wenn es sich nicht um DC handelt. Die 0,5-V-Messung könnte also einfach darauf zurückzuführen sein, dass die Tasten gemultiplext sind, sodass die Spannung an ihnen nicht konstant, sondern stattdessen gepulst ist. Sie können dies überprüfen, indem Sie das Multimeter in den Frequenzmodus versetzen. Wenn es eine Frequenz misst, werden die Tasten gemultiplext. Sie können auch überprüfen, wie sie verdrahtet sind: Wenn weniger Spuren zum Mikrocontroller gehen als Tasten, und wenn mehrere Spuren zu mehreren Tasten gehen, werden sie gemultiplext.

Wenn es gemultiplext ist, können Sie nicht einfach einen Arduino-Ausgang an die Tasten anschließen. Dies wäre sowieso eine schlechte Idee: Wenn das Arduino mit Strom versorgt wird und die Maschine nicht, möchten Sie nicht, dass die Arduino-Ausgänge Strom in das Mikro der Maschine einspeisen.

Die 4066-Analog-Switch-Lösung funktioniert in allen Fällen (gemultiplext oder nicht), daher ist sie die einfachste. Es bietet auch eine Art Isolierung, keine galvanische Isolierung, verhindert jedoch, dass das Arduino Strom in eine nicht mit Strom versorgte Maschine sendet.

74HC4066 ist ein leicht zu findender 4-Schalter-Chip. Sein Innenwiderstand beträgt etwa 50 Ohm, das sollte gut funktionieren. Verdrahten Sie einfach einen analogen Schalter über jeder Taste. Sie brauchen 3x ca. 50 Cent Chips für Ihre 12 Buttons, also wird es nicht die Bank sprengen.

Sie müssen die Masse des Nähmaschinenmikros mit der Arduino- und Analogschaltermasse verbinden. Es ist am besten, die Verkabelung kurz und ordentlich zu halten. Fügen Sie mit den 4066ern eine Entkopplungskappe auf der Platine hinzu.

Überprüfen Sie die Stromversorgung für den Mikrocontroller der Nähmaschine. Wenn es weniger als 5 V beträgt, können Sie loslegen. Wenn es höher als 5 V ist (unwahrscheinlich), sollten die analogen Schalter von der höheren Spannungsversorgung mit Spannungsumsetzung betrieben werden. Diese Switch-Chips können keine höhere Spannung als ihre eigene Stromversorgung verarbeiten.

Wenn Sie 5 V Strom von der Nähmaschine stehlen, um Ihr Arduino mit Strom zu versorgen, fügen Sie eine Schottky-Diode hinzu, um zu vermeiden, dass der Mikrocontroller der Maschine von den 5 V des Arduino mit Strom versorgt wird, und stellen Sie sicher, dass die Stromversorgung den erforderlichen Strom liefern kann.

Haben Sie auf der Maschine nach einem IO-Port gesucht? Seriell vielleicht ... das könnte auch nützlich sein.

Viele interessante Informationen dort, also danke für die gute Lektüre! Die Maschine stammt aus den 80er Jahren, daher habe ich nur grundlegende Handbücher mit nichts über die Elektronik gefunden. Außerdem ist alles Punkt-zu-Punkt-Programmierung, die auf einer Diskette gespeichert ist, also keine seriellen Ports oder ähnliches. Was ärgerlich ist, ist, dass es ein eigenes Betriebssystem hat, sodass ich auch nichts auf der Diskette des Computers lesen/schreiben kann. Ich werde zuerst die 4066s ausprobieren, da sie schnell und billig erscheinen. Aber ich habe eine Frage in Bezug auf die Entkopplungskappe, woher weiß ich, welche Größe ich verwenden soll?
Entkopplungskappen sind normalerweise die Keramik, die Sie in Ihrer Bits-Box haben. Versuchen Sie es mit 10 bis 100 nF.
Süß, danke für die Hilfe!

Ohne auf diese seltsame 0,5-V-Steuerspannung einzugehen (ist dies ein Diodenabfall oder eine Transistorbasis oder so etwas?), Könnten Sie dies mit 3 CD4066-Analogschaltern tun, wobei die Steuereingänge vom Arduino und den analogen Schalterelementen über die Schalter geschnallt werden. Vorausgesetzt, die Schalter ziehen keinen massiven Strom. Hast du den Schaltstrom gemessen?

Okay danke. Ehrlich gesagt ist diese Maschine so alt, dass ich Probleme habe, irgendetwas auf der Platine zu verfolgen. Da ich nur die Knöpfe brauche, dachte ich, ich könnte einfach dort anfangen und hoffentlich den Rest des Boards vermeiden. Ich kann den Schalterstrom am Montag messen, solange er unter den Arduino 40mA liegt? max current würdest du davon ausgehen das der CD4066 noch gut wäre?
Der 4066 ist für 10 mA an den analogen Schaltern ausgelegt.

WENN die Taste nicht gemultiplext ist (es ist sehr wahrscheinlich, dass sie gemultiplext ist, da dies die Anzahl der am Mikrocontroller der Nähmaschine erforderlichen Stifte verringern würde).

Und WENN die Tasten normalerweise offen sind und den "Ausgang" im geschlossenen Zustand mit Masse verbinden (eine andere Sache, die überprüft werden muss).

DANN gibt es eine sehr einfache Lösung: Sie verbinden direkt einen Arduino-Pin mit dem "Ausgang" jeder Taste (dh die Seite, die nicht dauerhaft mit Masse verbunden ist). Wenn Sie den Taster „drücken“ möchten, setzen Sie den Pin in den Ausgangsmodus und schreiben à 0. Wenn Sie den Taster in den „losgelassen“-Modus versetzen möchten, dann legen Sie den Pin als INPUT (hochohmig) fest, damit er hat keine Auswirkung auf den Pin (so dass die Taste standardmäßig freigegeben ist, aber Sie können die Taste trotzdem manuell drücken, wenn Sie möchten). Achtung: Schreiben Sie NIEMALS eine 1, Sie würden wahrscheinlich Ihre Sägemaschine zerstören.

NB: Diese Lösung entspricht nur einem sehr spezifischen Anwendungsfall (was zu einer viel einfacheren Lösung führt). In allen anderen Fällen müssen Sie entweder die allgemeine Lösung (Relais, Optokoppler, ...) verwenden oder etwas auf Ihren speziellen Fall zuschneiden