TKalbe
14.01.2007, 00:01
Hallo,
ich versuche momentan mit dem Tiny 25 einen Servo anzusteuern.
Die PWM vom Timer0 bekomme ich überhaupt nicht ans laufen, keine Ahnung warum.
Die PWM vom Timer1 habe ich eingestellt bekommen. Es wird ein Signal vom 20ms erzeugt. Wenn ich davon 1-2ms high setze kann ich den Servo von einem Endanschlag zum anderen drehen lassen.
Leider ist die Auflösung von einem Teilschritt zum anderen viel zu klein, also der Servo macht Riesenschritte. Liegt das an dem 8-bit Timer, weil dadurch einfach zu wenig Schritte in der PWM möglich sind ?
So habe ich den Timer eingestellt:
TCCR1 = (1<<COM1A1)|(1<<COM1A0)|(1<<CS10)|(1<<CS11)|(1<<CS13)|(1<<PWM1A);
OCR1A = 148;
OCR1C = 155;
OCR1A lasse ich von 139 bis 148 laufen.
Die Prozessorfrequenz beträgt 8mHz.
Wenn es mit dem Timer 0 besser zu machen ist, oder ich den Timer 1 anders einstellen muß, bin ich für reden Rat dankbar !!
Gruß
Torsten
ich versuche momentan mit dem Tiny 25 einen Servo anzusteuern.
Die PWM vom Timer0 bekomme ich überhaupt nicht ans laufen, keine Ahnung warum.
Die PWM vom Timer1 habe ich eingestellt bekommen. Es wird ein Signal vom 20ms erzeugt. Wenn ich davon 1-2ms high setze kann ich den Servo von einem Endanschlag zum anderen drehen lassen.
Leider ist die Auflösung von einem Teilschritt zum anderen viel zu klein, also der Servo macht Riesenschritte. Liegt das an dem 8-bit Timer, weil dadurch einfach zu wenig Schritte in der PWM möglich sind ?
So habe ich den Timer eingestellt:
TCCR1 = (1<<COM1A1)|(1<<COM1A0)|(1<<CS10)|(1<<CS11)|(1<<CS13)|(1<<PWM1A);
OCR1A = 148;
OCR1C = 155;
OCR1A lasse ich von 139 bis 148 laufen.
Die Prozessorfrequenz beträgt 8mHz.
Wenn es mit dem Timer 0 besser zu machen ist, oder ich den Timer 1 anders einstellen muß, bin ich für reden Rat dankbar !!
Gruß
Torsten