PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Motor Steuerung unter Linux?



InK
28.09.2004, 17:48
Hallo,

ich betreibe mit der Steuerkarte zwei schrittmotoren unter windows mit
dem origingal steuerprogramm von frank.
Da es keine portierung in einer Linux conformen sprache gibt habe ich
den comport gemonitort um die steuerwoerter zu erfassen.
Mit diesen sequenzen konnte ich per echo > /dev/ttyS0 oder aehnlichem
das board wie auch die motoren nicht ansprechen.
Da ich von C++ usw keine ahnung habe aber dringend eine loesung
brauche richte ich mich an euch.
Jeder loesungsansatz ist willkommen.
Danke im voraus.
Ingo

Frank
28.09.2004, 17:58
Also die Steuerkommandos der RS232 Motorkarte sind doch recht klar in der Anleitung beschrieben. Was ist denn da noch unklar? Vielleicht kannst du Frage anhand eines Beispieles konkretisieren

k-arma
28.09.2004, 18:44
Hi.

ich sitze auch an oben beschriebenem Projekt. Naja und die zwei Roboanfänger haben dann folgendes getestet:

Die Steuerung von zwei Motoren mithilfe des VB Progs war kein Prob. Beim Versuch die Steuerwörter direkt über die Eingabeaufforderung an COM1 zu senden ist fehlgeschlagen. Also haben wir mit einem Monitortool versucht herauszufinden, was ausser den Befehlen noch an den COM Port / Controller gesendet wird.

Wir versuchen herauszufinden, wie man die serielle Schnittstellen direkt ansprechen kann, um das dann unter Linux umzusetzen. Nach Möglichkeit wollten wir das ohne ein C-Programm (von uns kann keiner C :-| )oder ähnlichem realisieren, sondern mithilfe eines Shell-Skripts.

Beispiel:
senden des Steuerworts: #rme0
Ergebnis des Monitoring: #rme#00
anschliessend quittierende Antwort des Controllers und Ausführung

Dann der erste Versuch über cmd:
echo #rme0 > com1
- kein Ergebnis
der zweite Versuch (aufgrund des monitoring resultats):
echo #rme#00 > com1
- kein ergebnis

und das ging dann so weiter(unter Win2000 und unter Linux - da natürlich mit der entsprechenden Syntax). Nach einigen Stunden vergebener Mühe haben wir es dann gelassen und uns auf die Suche nach Leuten gemacht die wohl ein bisschen mehr davon verstehen ;-)

Gruss K-Arma

Frank
28.09.2004, 18:53
Also von Linux und den dortigen Tools hab ich keine Ahnung. Aber im Grunde würde es auch mit Terminaprogramm "fast" funktionieren.
Das Problem sind dort die Binären Angaben. Die "0" nach dem "#rme" darf nicht als Ascii Zeichen gesendet werden. Es muss eine richtige binäre 0 sein. In Basic geht das mit chr(0)
Du mußt also nur rausbekommen wie du auch binäre Zeichencodes senden kannst, also Zeichen die man nicht über die Tastatur eingibt.
Ansonsten würde es sicherlich funktionieren.
Geb mal "#rmt" ein. Der Befehl sollte einige Konfigurationswerte ausgeben. Da hier kein binärer Wert dabei ist, geht dieser Befehl sehr einfach mit jedem Terminalprogramm.

k-arma
28.09.2004, 18:59
hmm,

alles klar. Habe die Funktion chr(0) auch im Quellcode des VB Programms entdeckt, aber anscheinend falsch interpretiert.

wir werden das mal testen.

dank dir!

K-Arma

InK
29.09.2004, 16:46
Hallo,

die Definition der Nullen als binaer code war das "Zuenglein an der Waage".
Damit ist es jetzt moeglich ueber die BASH die Motoren zu steuern.
Anbei ein kleines Beispiel fuer Suchende die noch weniger Ahnung als ich hatten:

#Eine VAR mit dem Steuerwort befuellen um Motoer endlos zu drehen.
TEST="#rme\0\0"

##Achtung Strom usw muss vorher definiert sein.

#Ausgabe des Steuerwortes auf die erste Serielle Schnittstelle.
echo -e $TEST > /dev/ttyS0
#Fertig.

Danke noch an Frank fuer den Wegweiser.

Gruss, Ingo

Frank
30.09.2004, 19:23
Bitte, gern geschehen.

Robo-Fan
24.07.2007, 10:03
Hallo,

habt ihr das Projekt mit Linux weiter verfolgt?
Wenn ja was für Ergebnisse gibt es zu berichten?
Würde auch gern unter Linux Schrittmotoren ansteuern.
Könne Ihr Eure Erfahrungen hier mitteilen?

Danke.