Hallo, Ich steuere mit der Arduino-PWM einen Step Down Wandler. Grundsätzlich alles OK. Ich würde gern mit der Frequenz höher gehen. Wenn man akzeptiert, das die PWM Auflösung von 256 auf 128 fällt, sollte das möglich sein. Es sieht nur nicht so aus. Ist das machbar- Falls ja, wie? Q.
z.B. diese Konfiguration setzt die PWM Frequenz von Pin 3 auf 100kHz. PWM an Pin 11 kann dann aber nicht mehr verwendet werden:
1 | void setup(){ |
2 | pinMode (3, OUTPUT) ; |
3 | TCCR2A = 0x23 ; |
4 | TCCR2B = 0x09 ; |
5 | OCR2A = 160-1 ; // 160 clock periods (10us per cycle) |
6 | OCR2B =0 ; |
7 | TCNT2 =0 ; |
8 | }
|
Hallo Mick, Funktioniert hervorragend und skaliert auch wie erwartet, wenn ich OCR2A mit anderen Werten lade. Danke! Q.
Mick schrieb: > TCCR2A = 0x23 ; > TCCR2B = 0x09 ; finde ich persönlich nicht gut leserlich. Besser und im Datenblatt besser zu finden: TCCR2A |= (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); TCCR2B |= (1 << WGM22) (1 << CS20);
@Werner: Ich würde noch das |= in ein = umwandeln, stimme dir aber grundsätzlich zu, ein (1 << COM2B1) | (1 << WGM21) | (1 << WGM20) ist einfach klarer als ein 0x23. Funktionieren wird natürlich beides.
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.