-
-
Erfahrener Benutzer
Fleißiges Mitglied
Servo dreht immer gleiche Richtung (PWM)
Hallo Leute
Irgendetwas stimmt nicht, endweder an meinem Code oder sonst wo.
oid init_Motor(void)
{
//10-Bit nicht invertierter PWM
TCCR1A = (1<<COM1A1) | (1<<WGM11) | (1<<WGM10);
//Prescaler (64)
TCCR1B = (1<<CS11) | (1<<CS10);
//Vorladen
TCNT1 = 868;
//Interupt dektivieren
TIMSK &= ~0x3c;
//Ausgänge für PWM
PORTD &= ~(1<<PD5);
//Pulsbrite für PWM (1.5ms)
OCR1A = 892;
//einschalten
PORTD |= (1<<PD5);
}
So wäre eigentlich die Nullstellung des Servos. Aber hier dreht er bereits schnell in eine Richtung. Wenn ich den OCR1A Wert auf 970 mache dreht er langsamer und bei ca. 1000 steht er stil. Komisch!!!!
Auf die andere Seite habe ich es noch nicht geschaft. Irgendwie stimmen meine einstellungen nicht oder sontwas. Kann mir jemand helfen? Bin so ziemlich am Ende!!!!
Ah noch was. Wen der Servo läuft, fängt die VCC am Atmega32 auch zu pulsieren. Weiss nicht warum????
-
Erfahrener Benutzer
Roboter Experte
-
Erfahrener Benutzer
Fleißiges Mitglied
Ok ich habe es drausen mit dem PWM mode usw. Aber eine Frage ist leider immer noch offen und zwar:
Meine Perioden dauer beträgt 20ms und so wie ich das mit den Servos verstanden habe, bedeutet ein Impuls von 1.5ms Neutralstellung, 2.5ms z.B nach rechts und 1ms nach links in diesem Fall.
Nun, bei mir dreht der Servo immer in die gleiche Richtung nur unterschiedlich schnell. Also wie kann ich nun die Drehrichtung ändern???
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen