Hallo Zusammen,
ich bin gerade dabei einen RX-10 Servo mit Bascom anzusteuern, leider
habe ich da so meine Probleme. Hier im Forum war das ja schon mal ein Thema und ich habe auch ein paar Sachen versucht. Am Anfang ist es halt schwer Fehler einzugrenzen, könnte ja Hard.- oder Software sein. Ich poste einfach mal den Code den ich versucht habe, vielleicht sieht ja einer einen Fehler. Danke schon mal im voraus!!
Ich hoffe das es mit der 485 Schnittstelle so geht, habe da die ganze Zeit
einen anderen Motor dran gehabt, dort hat es geklappt, Senden und Empfangen.
Hier mal das Datenblatt des Servo´s
http://www.nodna.com/download/ROBOTIS/Dynamixel/RX-10(english).pdf
und hier der Code
Danke Gruß FrankCode:$regfile = "m16def.dat" 'ATMEGA16 $crystal = 16000000 'Quarz: 16MHz $baud = 1000000 Dim S As Byte Wait 2 Ddrd = &B11100000 'Pin PD7,6,5 als Ausgang konfigurieren Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Enable Interrupts 'Interrupts global 'FF FF 01 04 03 19 01 DD ' LED ein bei Adresse 1 'FF FF 01 04 03 19 00 DE ' LED aus bei Adresse 1 Do Wait 1 Ucsra.txc = 1 Portd.7 = 0 ' 485 Modul auf schreiben setzen Waitms 1 S = &HFF Print Chr(s); S = &HFF Print Chr(s); S = &H01 Print Chr(s); S = &H04 Print Chr(s); S = &H03 Print Chr(s); S = &H19 Print Chr(s); S = &H01 Print Chr(s); S = &HDD Print Chr(s); Portd.6 = 0 ' Test-Led einschalten Sprung: If Ucsra.txc = 0 Then Goto Sprung ' warten bis Serieller Puffer leer ist Portd.7 = 1 ' 485 Modul auf lesen setzen Wait 1 Ucsra.txc = 1 Portd.7 = 0 ' 485 Modul auf schreiben setzen Waitms 1 S = &HFF Print Chr(s); S = &HFF Print Chr(s); S = &H01 Print Chr(s); S = &H04 Print Chr(s); S = &H03 Print Chr(s); S = &H19 Print Chr(s); S = &H00 Print Chr(s); S = &HDE Print Chr(s); Portd.6 = 1 ' Test-Led ausschalten Sprung1: If Ucsra.txc = 0 Then Goto Sprung1 ' warten bis Serieller Puffer leer ist Portd.7 = 1 ' 485 Modul auf lesen setzen Loop End







Zitieren
Lesezeichen