ich kenne mich leider so gut wie gar nicht mit Arduino aus. Kleine Sachen wie z.B. einen Entfernungsmesser, etc habe ich mal programmiert. Ich bräuchte einmal eine Starthilfe bei einem Projekt das ich Ende nächste Woche haben muss.
Da für den Motor immer die selben Befehle verwendet werden, dachte ich mir man könnte einem Arduino Board diese Befehle speichern lassen und dann auf Abruf über USB senden lassen.
Leider hat sich nach intensiver Suche und Porbieren eine Lösung ergeben.
Als Hardware nutze ich das Arduino Mega Board + USB Host Shield 2.0.
Hat einer von euch schon mal sowas in der Richtung gemacht und kann mir sagen, wie ich die Befehle über den USB Port an den Converter bekomme.
Lass den Arduino da komplett aus dem Spiel. Du kannst da genauso gut ein Skript auf dem PC schreiben, was alle Befehle übers Terminal nach einander abarbeitet. Ich tippe mal drauf, dass der Arduino das Gerät garnicht erst erkennt aufgrund nicht unterstützter Treiber
Ja genau der Motor hat einen RS422 Anschluss. Den PC will ich ja ganz gerne vermeiden. Mein Ziel ist es später einfach nur einen Motor an eine Box zu schließen. An der Box sind 5 Taster (Motor 1-5), mit denen ich dann den Motor eine Nummer zuordnen kann.
So wie ich das verstanden habe, ist der Konverter nichts besonderes und wandelt wirklich nur blöde um. Allerdings hat dieser RS422 Anschluss 2x5Pin (geht auf ein kleines Flachkabel zum Motor) was glaube ich auch nicht so normal ist. Kennt denn einer auf die schnelle eine Anleitung oder Hilfe um solche Treiber zu schreiben? Ich werde natürlich weiterhin googeln und suchen. Möchte also nicht hier die Arbeit abgeben. Nur wenn einer auf die schnelle was kennt wäre ich sehr dankbar dafür
Die RS422 Anschlüsse sind nicht genormt, die mußt Du selbst herausfinden. Da für die Verbindung 4 Leitungen ausreichend sind, könnte eine 5. für Masse/Gnd oder Enable verwendet werden. Der Stecker könnte dann zwei 5-polige Schnittstellen enthalten (zum Durchschleifen auf weitere Motoren), oder eine Reihe liegt komplett auf Masse. Mit einem Ohmmeter oder Durchgangsprüfer kannst Du schon mal feststellen, welche Pins ggf. zusammengeschaltet sind.
Als Software sollte Serial (oder SoftwareSerial) direkt verwendbar sein, solange der Motor das übliche asynchrone Protokoll benutzt (wie RS323). Wenn die Eingabe normalerweise über ein Terminal erfolgt, dann weißt Du ja schon, was für Daten für die Kommandos zu übertragen sind. Also nur die Tx und Rx mit dem RS422 Modul verbinden und fertig.
Da Tx und Rx (Pin 0/1 am Arduino) normalerweise für den USB Anschluß verwendet werden, darf beim Programmieren nichts an diese Pins angeschlossen sein (Umsetzer ausstöpseln). Oder Du verwendest SoftwareSerial, und hängst das RS422 Modul an die entsprechenden Pins. Der Mega hat schon 3 serielle Schnittstellen eingebaut, da kann auch Serial2 für den Motor verwendet werden, aber der wäre ja wirklich Overkill für Deine Anwendung.
Beim Ausprobieren kann ein Uno hilfreich sein. Wenn man dem den Controller ausstöpselt, dann kann man das Board als USB-Seriell Umsetzter benutzen (Pins 0/1 für Tx und Rx), mit einem Terminal-Programm am PC (putty wird da oft empfohlen).
https://de.wikipedia.org/wiki/EIA-422:
EIA-422 spezifiziert nur die elektrischen Eigenschaften des Interfaces, es definiert kein Protokoll und auch keine Steckerbelegung. Es ist vorgesehen, dass die EIA-422-Spezifikation von anderen Spezifikationen referenziert wird. Deshalb existiert keine einheitliche Pinbelegung eines EIA-422-Steckers, so dass bei Verwendung verschiedener EIA-422-Geräte immer die Dokumentation des Gerätes beachtet werden muss.
So ich habe letzte Woche alles fertig gestellt und auch ans laufen bekommen. Für die, die es Interessiert. Ich habe folgendes gemacht:
Ich bin erst einmal von dem Arduino Board (Tx) auf ein RS-485 Modul gegangen. Die beiden Ausgangssignale A und B habe ich dann weiter auf einen Level-Shifter geschickt, um auf die 3,3V zu kommen. Mit dem Signal konnte ich dann direkt auf die UEXT-Schnittstelle des Motors gehen und siehe da.... Er bewegt sich.
Danke nochmal an alle die mir geholfen haben. Ich werde immer mal wieder die Steuerung erweitern (Rückantworten des Motors auslesen, etc). Jetzt weis ich ja was ich machen muss