Roboterarm / FTDI FT232RL / Com-Usb

  • Hallo Zusammen,

    Einleitung:
    Aktuell beschäftige ich mich mit dem Arexx RA1-Pro. Dieser ist mit einem ATMEGA64 uController ausgestattet, der mit dem PC über ein FTDI FT232RL kommuniziert. Jener sitzt auf eine Platine und ist über USB (Typ A - Typ B) mit dem PC verbunden. Ich konnte ein Programm auf den uController schreiben, dass mir den Input in eine Bewegung des Arms übersetzt. Bisher geschieht der Input jedoch noch über das Terminal des beigelegten Programms "RobotLoader". Nun möchte ich -zumindest was den Input/output betrifft - jenes umgehen und durch AutoIt ersetzen (die Möglichkeiten scheinen unbegrenzt :party: ).

    Problem:
    Ich weiss nicht wie ich diese Kommunikation nun in AutoIt realisieren soll, bzw. wo genau ich anfangen soll.
    Bisher konnte ich mir ein paar Beiträge zu DLL's,RS232,Com-Port UDF etc. durchlesen (auch im englischen Forum, und es wird komischerweise immer auf ein Thema verwiesen, was nicht mehr existiert :( ).
    Dieses Thema schien sehr vielversprechend, nur weiss ich nocht nichtmal, ob ich damit überhaupt richtig liege.
    Nur was davon brauch ich jetzt genau? Spielt das überhaupt eine Rolle? Benutze ich jetzt COM UDF's oder USB? (Im Geräte Manager ist ja der COM Port gelistet, aber auch der USB Serial Converter :wacko: )

    Ziel:
    Nach dem Starten des Roboters und connecten des RobotLoaders lässt sich durch ein einfaches senden von "s" das geladene Programm starten. Dies ware als ersteres in AutoIt zu realisieren :)

    Würde mich freuen wenn jemand damit bereits Erfahrungen gemacht hat oder mir vielleicht 1-2 Tipps geben kann, wo genau ich anfangen soll.

    • Offizieller Beitrag

    Hey,

    Mit dem Arm hab ich noch keine Erfahrung gehabt, aber mit COM32 und AutoIt ;) Die wohl beste COM Api ist die "CommAPI" :D Diese ist nämlich nativ und braucht keine extra DLL.

    Der Code müsste dann einfach so aussehen:

    Spoiler anzeigen
    [autoit]

    #include 'CommInterface.au3'

    [/autoit] [autoit][/autoit] [autoit]

    Const $iComport = 3
    Const $iBaudrate = 57600
    Const $iBits = 8

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite('>Error code: ' & @error & @CRLF & @CRLF & '@@ Trace(9) : $hCommAPI = _CommAPI_OpenCOMPort($iComport, $RS232_Baudrate, 0, $RS232_Bits)' & @CRLF) ;### Trace Console
    $hCommAPI = _CommAPI_OpenCOMPort($iComport, $iBaudrate, 0, $iBits)

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite('>Error code: ' & @error & @CRLF & @CRLF & '@@ Trace(12) : _CommAPI_TransmitString($hCommAPI,"s")' & @CRLF) ;### Trace Console
    _CommAPI_TransmitString($hCommAPI,"s")

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite('>Error code: ' & @error & @CRLF & @CRLF & '@@ Trace(15) : _CommAPI_CloseHandle($hCommAPI)' & @CRLF) ;### Trace Console
    _CommAPI_ClosePort($hCommAPI)
    ConsoleWrite('>Error code: ' & @error & @CRLF & @CRLF ) ;### Trace Console

    [/autoit]

    Gruß,
    Spider

  • Hallo,

    Danke GTASpider für die Antwort, auch wenn mir diese nicht sehr viel weiter geholfen hat.
    Jedoch hab ich folgenden Thread entdeckt, der eine UDF für FT232R handling enthält und konnte damit schon Erfolge erzielene (LED, die kommunikation indiziert, blinkt :) )

    Vielleicht hat damit schonmal wer Erfahrungen gemacht und kann mir weiterhelfen?

  • Hey Draien

    Ich kann dir leider keine Infos zu COM32 geben, aber ich bin an einer Ähnlichen Sache dran.
    Zumindestens könnte man mit Tinkerforge genau das Bauen und steuern was du da hast.

    Video ab ca. 30sec. http://video.golem.de/oss/6597/hardw…inkerforge.html

    Hier mein Thema zur Entwicklung der UDF:
    http://http//autoit.de/ind…en-Tinkerforge/

    MFG Chris :D