Hallo, ich habe ein Problem mit meiner PWM. Ich habe mir ein Fahrzeug gebaut, was über zwei Motoren angetrieben wird. Ich verwende zusätzlich einen Atmega8 (16MHz) und L293 Brücke. Schaltungstechnisch sollte alles in Ordnung sein, da ich alles soweit durchgetestet habe. Nun habe ich jedoch ein Problem mit meiner PWM. Ich habe ein kleines Programm geschrieben (siehe Anhang) das den Roboter hin und herfahren lassen sollte. Dabei fährt er bei jedem Weg einmal schnell und einmal langsam. Als ich den Roboter mit dem Programm in Betrieb genommen habe, fährt er zunächst sinnlos hin und her. Anschließend arbeitet er anscheindend das Programm ab, jedoch mit der Einschränkung, dass er nur einen Motor ansteuert. Der zweiter Motor läuft nicht. Könnte jemand evtl. mal über das Programm schauen? Viele Grüße und Danke schonmal für die Bemühungen!
Hi > TCCR1A |= (1 << WGM10)|(1<<WGM11); // 10-Bit Modus > TCCR1B &= ~(1 << WGM12)|(1 << WGM13); Damit ist dein Top-Wert $3FF > ICR1H = 0xFF; //maximaler Wert des Zählers > ICR1L = 0xFF; Das passt nicht zusammen. Die Zuweisung an ICR1 ist wirkungslos. Ebenso: > OCR1AH = 0x80;//Setze auf 32768 > OCR1AL = 0x00; > OCR1BH = 0x80; > OCR1BL = 0x00; > OCR1AH = 0xff;//Setze auf 65535 > OCR1AL = 0xff; > OCR1BH = 0xff; > OCR1BL = 0xff; MfG Spess
Vielen Dank Spess, nun läuft alles so wie es soll! Für den Fall dass jemand mal etwas ähnliches realisieren möchte und nicht weiter kommt, poste ich den Code. Viele Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.