nabend zusammen,
ich möchte einen Servo mithilfe des Servocontrollers anx-S20 über I²C mit einer C-Control V1.1 steuern. Zum Testen habe ich analog zu dem Programm für einen SD20 auf dieser Seite (http://www.the-starbearer.de/Roboter...servo/SD20.htm) ein Testprogramm geschrieben was folgendermaßen aussieht:
Das Programm soll einen Servo von der ganz linken Position nach einer kleinen Pause auf die ganz rechte Position fahren und das dann immer wieder hin und her. 194 ist die I²C Adresse des anx-S20 und 63 der Befehlscode für Servo Nr. 1 im 8-bit Modus.Code:define SDA Port[11] define SCL Port[12] define I2C_Daten byte define N byte SDA=ON SCL=ON #Main gosub I2C_Start I2C_Daten=194 gosub I2C_Write I2C_Daten=63 gosub I2C_Write I2C_Daten=0 gosub I2C_Write gosub I2C_Stop pause 50 gosub I2C_Start I2C_Daten=194 gosub I2C_Write I2C_Daten=63 gosub I2C_Write I2C_Daten=255 gosub I2C_Write gosub I2C_Stop pause 50 goto main #I2C_Start SDA=OFF SCL=OFF return #I2C_Stop SDA=OFF SCL=ON SDA=ON return #I2C_Write for N=1 to 8 SDA=OFF if (I2C_Daten and 128) =128 then SDA=ON pulse SCL I2C_Daten=I2C_Daten shl 1 next pulse SCL Return #I2C_Read I2C_Daten=0 deact SDA for n=1 to 8 I2C_Daten=I2C_Daten shl 1 SCL=ON if SDA then I2C_Daten=I2C_Daten+1 SCL=OFF next Return #Ack SDA=0 pulse SCL return #NoAck SDA=1 pulse SCL return
Allerdings tut sich mit diesem Programm rein gar nichts der Servo gibt keinen mucks von sich. Habe alle Anschlüsse überprüft und konnte keinen Fehler erkennen. Am Servo liegts auch nicht, ahbe ich seperat getestet. Ich schätze mal der Fehler liegt in meinem Programm. Weiß jemand einen Tip für mich? In der Anleitung des anx-S20 hab ich leider nichts bez. I²C Ansteuerung gefunden.
Vielen Dank schon mal und Viele Grüße
Daniel
Lesezeichen