User manual

345 C-Control Pro IDE
© 2013 Conrad Electronic
voll das byte Array global zu deklarieren.
Für die Servoansteuerung wird ein 16-Bit Timer betigt. Wird der Timer abgeschaltet oder für andere
Timerfunktionen genutzt, so wird die Servoansteuerung nicht arbeiten.
Parameter
servo_cnt Anzahl der möglichen Servos (maximal 20)
servo_interval Periodenlänge (0=10ms, 1=20ms)
ramaddr Adresse des Speicherblocks
timer Für die Servosteuerung benutzter 16-Bit Timer
Mega32: 0 = Timer 1
Mega128 & Mega128 CAN: 0=Timer 1, 1=Timer 3
AVR32: alle Timer (0 - 5)
5.22.2 Servo_Set
Servo Funktionen Beispiel
Syntax
void Servo_Set(byte portbit, word pos);
Sub Serial_Init(portbit As Byte, pos As Word)
Beschreibung
Setzt die Pulsnge zur Steuerung des Servoarms. Der Ausgangsport wird über den portbit Parameter an-
gegeben. (Für die Abbildung zwischen Portbits und den Pins des Controllers siehe Port Tabellen).
Alle Pulslängen der gestellten Servos rfen als Summe nicht die Periodenlänge (servo_interval Pa-
rameter) überschreiten, da sonst ein erratisches Verhalten auftritt. Man kann daher z.B. 8 Servos auf
2500µs Pulslänge bei einer Periodenlänge von 20ms setzen. Zur Sicherheit sollte man allerdings ein we-
nig unter der Periodennge bleiben.
Parameter
portbit Bitnummer des Ports (siehe Port Tabellen)
pos Pulslänge zur Steuerung des Servoarms in µsec (500 - 2500)
5.22.3 Servo Beispiel
byte servo_var[SERVO_BUF(10)]; // Servo interne Variablen
// Ansteuerung von 3 Servos und beenden nach 10 Sek.
void main(void)
{
// Max. 10 Servos, 20ms Intervall, Timer 3
Servo_Init(10, 1, servo_var, 1);
Servo_Set(7, 2000); // Servo Portbit 7 2000µs
Servo_Set(6, 1800); // Servo Portbit 6 1800µs