Also Erfahrungen hab ich keine mit den Boards explizit. Aber mit der Ansteuerung von mehrern Servos über I²C.
Wie du weist hat mein Roboter wie deiner auch 18 Servos zum Ansteuern. Leider hat mein Board (damals gabs noch keine anderen) nur 12 Servoports. D.h. 6 Stück müssen direkt vom µC übernommen werden.
Klingt jetzt nicht weiter tragisch, ist in der Umsetzung aber sch.... Weil: egal welche 6 Servos du dran hängst, sie laufen nie Synchron mit den 12 übrigen oder sie verhalten sich in der Programmierung anders oder sie zicken rum. Ich hab eigentlich nur ärger damit gehabt (naja mitlerweile hab ich auch das gelöst). Also würde ich dir zum SD21 Board raten, abgesehen davon liefert es mehr Power.
Zur I2C ansteuerung die ist eigentlich total simpel für Servos hier mal ein kurzer Ausschnitt wie das bei mir aussieht:
Code:
oi2c S = New oi2c; // Initsialisieren eines neuen S Objekts an der I2C Leitung
S.Node = &h70; //Adresse des Servocontrollers im I²C Netz (wird auf dem Controller mittels Jumper gesetzt (oder ist fest vorgegeben).
s.width = cv8bit; // Übertragungsrate
s.mode = cv10bit;
s.noinc = cvfalse; // senden oder Empfangen hier auf Senden gestellt
s.location = 18; // Adresspeicher für den Servo X
s = 90; // Position zwischen 0 und 255 eingeben
s = 187; // Geschwindigkeit um auf die Pos zu fahren
s.location = 32; // letzten Adressspeicher aufrufen
s = 0; // Null setzten dann
Das wars auch schon mehr ist das nicht nur halt für 12 Servos, bzw. in deinem Fall 18 Servos.
Lesezeichen