Mehrere Elektromagneten steuern

Hallo,

ich würde gerne mit Hilfe von Elektromagneten einige Tasten einer PC-Tastatur kurz drücken.
Ich habe mir das so vorgestellt, das ich auf die Tasten Permanentmagneten klebe und mit einem Gestell platziere ich die Elektromagneten darüber.

Die Elektromagneten möchte ich per VB.NET und einer Arduino Uno an-/ausschalten. Es reicht aus, wenn immer nur eine Taste gleichzeitig gedrückt wird. So wie ich das verstehe kann ich mit einer Arduino Uno 14 Elektromagnete unabhängig voneinander an-/ausschalten.

Ich habe mir gedacht, dass ich mir einen Stromkreislauf mit einer Spannungsquelle und den Elektromagneten aufbaue. Vor jedem Elektromagnet befindet sich ein Schalter den ich mithilfe der Arduino Uno an-/ausschalten kann. Eigentlich analog dazu, nur eben mit Schaltern.

Meine Fragen:

  • Ist das so möglich oder gibt es eine bessere Lösung?
  • Welche Schalter benötige ich?
  • In welcher Größenordnung müssen die Permanent/Elektromagnete liegen?
  • Die Arduino Uno kann ich per USB versorgen, kann ich darüber auch gleich die Befehle für an-/aus übertragen oder benötige ich noch ein weiteres Kabel?

Danke für eure Hilfe, ich bin Maschinenbauer und auf dem Gebiet der Elektrotechnik ziemlich verloren :frowning:

nahibi:
ich würde gerne mit Hilfe von Elektromagneten einige Tasten einer PC-Tastatur kurz drücken.

Warum?

Mit einem Arduino LEONARDO, der über USB mit einem PC verbunden ist, könntest Du direkt über das USB-Kabel Tastencodes an den PC senden, ohne Tasten drücken zu müssen (also der LEONARDO agiert dann wie eine USB-Tastatur).

So wie ich das verstehe kann ich mit einer Arduino Uno 14 Elektromagnete unabhängig voneinander an-/ausschalten.

Mit I2C Portexpandern auch viele Hundert.

Als Leistungstreiber könnten die preiswerten ULN2803 reichen.

Hmm. Dein Ansatz riecht irgendwie nach Holzhammermethode, und einer tiefen Abneigung gegen alles, was nicht mechanisch ist :wink:

Je nach Tastenhub und Druckpunkt müssen die Elektromagnete recht stark sein. Besser wären vielleicht je 2 Magnete, von denen einer gekippt wird, um den anderen abzustoßen. Aber dann kann man ja gleich einen Winkelhebel die Taste drücken lassen.

Etwas elektrischer wäre es, die Tastatur aufzuschrauben und an jeden Tastenkontakt ein Relais anzuschließen, das den Kontakt kurzschließt. Statt mechanischer Relais können dafür auch FETs verwendet werden, das spart zumindest Platz (und Geld). Das geht natürlich schlecht wenn die Tastaur fest in ein Notebook eingebaut ist.

Noch elektronischer wäre es, die Tastencodes direkt an den PC zu schicken - was für einen Anschluß hat denn Deine Tastatur?

Für eine USB Tastatur käme auch ein Arduino in Frage, der vom PC direkt als Tastatur erkannt wird (Due, Leonardo...).

Jurs Ausführungen zum Leonardo kamen mir auch in den Sinn, wenn es denn aber -aus welchem Grund auch immer- die beschriebene mechanische Ausführung sein soll, schlage ich die Ansteuerung des Elektromagneten über einen Transistor vor. Dies kann ein "normaler" bipolarer NPN-Transistor oder eben ein N-Channel-FET sein. Keine Angst vor den Bezeichnungen, es gibt sehr schön ausgearbeitete Standardbeschaltungen mit Bauteilvorschlägen: http://www.pighixxx.com/test/abc/
Wichtig bei der Ansteuerung von induktiven Bauteilen (Relais, Motoren, E-Magnet) ist eine sogenannte Löschdiode, die Induktionsspannungen quasi kurzschließt. Andernfalls könnten diverse Halbleiter Schaden nehmen, also der angesprochene Transistor bis hin zum Mikrocontroller. Aber auch das ergibt sich aus den Schaltungen im Link. Für alles was unklar blieb - du weißt, wo du uns findest. :slight_smile:

Wow, danke für eure Antworten.

Ich habe mich jetzt informiert, wie eine Tastatur eigentlich funktioniert und in der Tat sind eure Lösungen viel besser.

Ich verwende eine USB Tastatur und es ist auch kein Problem die Tastatur aufzuschrauben um daran zu basteln. Möchte auch erstmal diese Methode der "Tastencodes direkt senden" vorziehen.

Was brauche ich jetzt dafür alles:

  • welches board reicht aus?
  • ein USB-Kabel für die Versorgung des boards (kann ich damit jetzt auch direkt das Signal für an/aus von VB.NET an das board übertragen, oder brauch ich noch ein weiteres Kabel)
  • welche FETs brauch ich denn, bei conrad gibt es ja massig
  • natürlich noch eine USB-Tastatur zum basteln

Hab ich sonst noch was vergessen?

Nochmals danke für eure Hilfe.

Noch elektronischer wäre es, die Tastencodes direkt an den PC zu schicken - was für einen Anschluß hat denn Deine Tastatur?

Die meisten PC haben noch eine PS/2 Buchse für eine entsprechende Tastatur.
Das könnte auch ein Uno emulieren. Aber hier geht es bestimmt um eine mechanische Lösung a la "useless machine". Sonst könnte man das auch direkt mit VB machen, ganz ohne Arduino.

Die Arduino Uno kann ich per USB versorgen, kann ich darüber auch gleich die Befehle für an-/aus übertragen oder benötige ich noch ein weiteres Kabel

Na klar, das macht doch der Beispielsketch, den du schon gefunden hast. Da sendet das VB Programm über das gleiche Kabel mit dem der Uno geladen wurde und über das er mit Strom versorgt wird, eine '0' oder eine '1' um die Led ein oder auszuschalten.

Habe ich das richtig verstanden, dass du nun direkt an einer zweiten Basteltastatur Tastendrücke simulieren möchtest? Ich könnte mir in dem Fall vorstellen, ein paar billige CMOS-ICs vom Typ 4066 (4fach bilaterale Schalter) zu nehmen und mit diesen an die entsprechenden Leiterbahnen der Tastatur zu gehen.
Hat jemand diesbezüglich Einwände bzw. bessere Vorschläge?

sth77:
Habe ich das richtig verstanden, dass du nun direkt an einer zweiten Basteltastatur Tastendrücke simulieren möchtest? Ich könnte mir in dem Fall vorstellen, ein paar billige CMOS-ICs vom Typ 4066 (4fach bilaterale Schalter) zu nehmen und mit diesen an die entsprechenden Leiterbahnen der Tastatur zu gehen.
Hat jemand diesbezüglich Einwände bzw. bessere Vorschläge?

genau das ist quasi wie michael_x schon geschrieben hat eine "useless machine".

Die Bezeichnung "useless machine" bezeichnet eher sowas: Best useless machine ever! - A Máquina mais inútil do mundo - nova versão melhorada - YouTube. Da wird über eine Mechanik ein Schalter bedient. Ich hingegen schlug eine nichtmechanische Lösung vor - also nix mit useless machine. :wink:

Könnt ihr mir noch sagen welche Größe die I/O Pins beim Leonardo haben 1,5mm²?
Dann werde ich mir das Zeugs mal bestellen und probieren.

Danke nochmal an alle.

1.5 mm² ? ? ?

Der Leonardo hat das Arduino - übliche Rastermaß von 2.54mm mit Lücken.
Die Stifte sollten ca 0.6x0.6 mm dick sein. ( Das wären 0.36mm² )

Passt also sowas rein:

Bild von : MPE 087-1-006: Stiftleisten 2,54 mm, 1X06, gerade bei reichelt elektronik

Nur als Beispiel, such mal bei ebay nach Dupont Male Kabeln u.ä.


Schade: Eine elektromechanische Lösung wo echte Tasten echt bewegt werden, hätte ich witziger gefunden.
So ist das ganze doch total sinnlos: um Tastenbetätigung per Software simulieren, braucht man gar keine Hardware.

michael_x:
Schade: Eine elektromechanische Lösung wo echte Tasten echt bewegt werden, hätte ich witziger gefunden.

Ich würde dann eher eine pneumatische Lösung favorisieren, statt elektromagnetischer Betätigung. Die wäre von einem Maschinenbauer auch leichter nachzuvollziehen - Pumpe, Ventile, Schläuche und Kolben kann man noch anfassen, ohne Lötkolben zusammenstöpseln, und ohne DVM überprüfen. Und ob der Controller das richtige Ventil ansteuert, läßt sich auch ohne Meßgerät feststellen.

Bei den Spulen hätte ich selbst als Elektroniker Probleme, die richtige Auslegung für die notwendige Kraft und den Betätigungsweg zu finden. Dann lieber noch ein Servo pro Taste, oder eine Mimik die so einen "Finger" zu der zu betätigenden Taste fährt.

Ich finde das auch Interessant (Software - USB Keyboard mit UNO und Zenerdioden):
Virtual USB Keyboard