Gast
#177214
Hallo Zusammen, ich versuche mich derzeit an einer HW PWM mit dem mega8. Ziel soll es sein einen Servo zu Steuern. Nun muss ich sagen das ich irgendwie das ganze net wirklich auf die Reihe bringe. Ich hab mir mal gedach t das ich hier niederschreibe was ich so in etwa habe und meine verstanden zu haben und Ihr sagt mir dann ob das kompletter nonsen ist oder ob ich doch net ganz so doof bin ;-) Also ich hab mir das wie folgt gedacht: Damit mein Servo so das tut was ich will brauch ich ne Frequenz von 50Hz (20ms) und ein variables ti von 1-2ms. Am besten geeignet schein mir dafür der Timer1 (16bit) mit einem 256 Vorteiler. Das müsste bei meinem mega8 mit 4MHz und einem Vorteiler von 8 der Counter bis 10.000 Zählen und dan wären 20ms um. 4.000.000 / 8 = 500.000 => 500.000 * 0.02 = 10.000 Dann soll noch für die z.B. ersten 1,5 ms H sein d.h. 500.000 * 0.0015 = 750 das würde dann bedeuten das ich den Timer0 als Fast PMW mit Obergrenze OCR1A (10.000) und als Vergleicher zum umschalten von H nach L OCR1B (750) nehemen würde. das ganze würde ich in C wie folgt formulieren TCCR1A = (1<<COM1A0) | (1<<WGM11) | (1<<WGM10); TCCR1B = (1<<WGM12) | (1<<WGM13) | (1<<CS11); OCR1AH = 0x27; //Obergrenze auf 10.000 OCR1AL = 0x10; OCR1BH = 0x02; //Vergleich auf 750 OCR1BL = 0xEE; DDRB = 0x02; //OC1A als Ausgang So, wenn sich nu jemand durch das hier durchgewühlt hat und mir noch sagen könnte wie meine Überlegungen so hinhauen würde ich mich sehr freuen. Vorab schon mal ein Danke, der Jochen