Hallo zusammen,
Ich benötige eure Hilfe. Und zwar will ich einen Lenkservo eines
Fernsteuerautos mit einem µC ansteuern. Die Grundlagen dafür sind mir
bekannt. Es handelt sich um das Model "Futaba S3003". Mein C-Code dafür
sieht wie folgt aus:
1 | #include <avr/io.h>
|
2 | #include <avr/delay.h>
|
3 |
|
4 | void steuerung(uint8_t richtung)
|
5 | {
|
6 | PORTB=1; // Signalleitung des Servo
|
7 | _delay_us((1+(richtung*0.5))*1000);
|
8 | PORTB=0;
|
9 | _delay_us(20*1000);
|
10 | }
|
11 |
|
12 | int main(void)
|
13 | {
|
14 | DDRB|=0xFF;
|
15 | for(;;)
|
16 | {
|
17 | steuerung(1); //0->Links;1->Geradeaus;2->Rechts
|
18 | }
|
19 | return 0;
|
20 | }
|
Der Lenkservo dreht sich permanent nach rechts bis in den Anschlag.
Dabei sollte er sich aber laut Code jetzt in der Nullstellung halten.
Die Funktion steuerung() erzeugt mir das PWM Signal. In diesem Fall
High-Pegel für 1,5ms und dann Low-Pegel für 20ms.
Würde mich sehr über Eure Tips freuen!