Hallo liebe Mikrocontroller-Community, ich stehe noch relativ am Anfang im Umgang mit Mikrocontrollern. Aktuell versuche ich PWM auf einem ATTiny441 zu nutzen. Durch Datenblatt, Ausprobieren und Google bin ich nun an einem Punkt, an dem mein Vorhaben fast funktioniert, aber eben nur fast :D Hier der Code (Nochmal in Schön im Anhang): #define F_CPU 16000000UL #include <avr/io.h> int main(void) { // Pin direction setup (PA2, PA5, PA7, PB2 as output pins) DDRA = 0b10100100; DDRB = 0b00000100; // Timer 1: Fast-pwm mode 14, non-inverting mode, prescale 8 TCCR1A = (1 << COM1A1) | (1 << COM1B1) | (1 << WGM11); TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS11); // Timer 2: Fast-pwm mode 14, non-inverting mode TCCR2A = (1 << COM2A1) | (1 << COM2B1) | (1 << WGM21); TCCR2B = (1 << WGM23) | (1 << WGM22) | (1 << CS21); // Pin routing: // PA2 - TOCC1 - OC0A // PA5 - TOCC4 - OC0B // PA7 - TOCC6 - OC1B // PB2 - TOCC7 - OC1A TOCPMSA1 = (1 << TOCC7S0) | (1 << TOCC6S0); // Enable pwm-pins TOCPMCOE = (1 << TOCC7OE) | (1 << TOCC6OE) | (1 << TOCC4OE) | (1 << TOCC1OE); // Define top values (2500) ICR1 = 5000 - 2; ICR2 = 5000 - 2; // Compare values OCR1A = 2500; OCR1B = 1250; OCR2A = 2500; OCR2B = 1250; while (1) { } } 1. An den Pins PA7 und PB2 liegt das gewünschte Signal an, an PA2 und PA5 will das ganze nicht so recht. Hättet ihr einen Tipp, wo der Fehler liegen könnte? 2. Wenn ich mein Oszi an einen der PWM-Pins hänge, ist ein Spannungsüberschuss von ca. 1V an der steigenden Flanke einer Schwingung zu beobachten (siehe Bild im Anhang). Lässt sich dies beheben? Vielen Dank euch schonmal ;)
Gab97 schrieb: > 2. Wenn ich mein Oszi an einen der PWM-Pins hänge, ist ein > Spannungsüberschuss von ca. 1V an der steigenden Flanke einer Schwingung > zu beobachten (siehe Bild im Anhang). Lässt sich dies beheben? da der Tiny vermutlich 5V versorgt ist, können auch nur 5V rauskommen. Der Fehler wird wohl viel mehr ein Messfehler sein. (Masse ungünstig angeschlossen?)
HI Abblockkondensator am ATTiny vorhanden? >Der Fehler wird wohl viel mehr ein Messfehler sein. (Masse ungünstig >angeschlossen?) Dem schließe ich mich an. MfG Spess
Peter II schrieb: > Der Fehler wird wohl viel mehr ein Messfehler sein. Danke für den Hinweis, hab direkt ein paar andere Messpunkte ausprobiert und bekomme nun eine deutlich bessere Kurve. So ist es, wenn man sich mit seinen Werkzeugen nicht gut genug auskennt :D
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.