Hallo zusammen. Bitte seid umsichtig mit mir, ich bin leider Anfänger und teste grade die Timer mit PWM aus.
Ich würde gerne einen DC-Motor ansteuern, der 3 unterschiedliche Geschwindigkeiten fahren soll. Jede Stufe soll 10s dauern.
Das ganze soll als PWM mit Timer 1 realisiert werden.
Ich arbeite hier mit normalen Schleifen und Abfragen. Es soll wie gesagt ganz unkompliziert funktionieren.
Ich nutze einen ATmega328P und Microchip-Studio.
Im Beispielcode hab ich es mal mit 10, 50 und 100% probiert. Ich hab die Bauteile leider nicht hier, deshalb kann ich es nicht ausprobieren.
Könnt ihr mir noch Tipps geben oder meint ihr das klappt schon so?
Ich habe extra keinen Prescaler gewählt, da die Motoren ja keine hohen Frequenzen mögen.. Danke schonmal!
Grüße, Octupa
Wo wird eigentlich ein Ausgang geschaltet? Was ist den das eigentliche Ziel? Ist das eine Hausaufgabe?
Meine Ausgänge sind über den Port B doch genau definiert. Nein, das ist keine Hausaufgabe. Diese Aufgabe war in meiner Klausur dran und ich habe kläglich versagt. Zumindest hab ich das gedacht. Mein Code ist allerdings nicht komplett falsch. Ich wollte mich damit auseinander setzen, da ich mich sehr ärger, dass es nicht besser geklappt hat.
Dann benutze das Aruino Framework mit millis und analogWrite und du bist in 5 min am Ziel.
So hab ich es aber überhaupt nicht gelernt. Wir machen das auf Anfängerniveau.
Was kommt danach?
Danach kommt nichts, das ganze soll in Dauerschleife laufen.
falsche Usergroup
Sorry, aber danke trotzdem für die Tipps.
Hab das ganze jetzt mit meinem Weg gelöst. Das sollte so funktionieren.
Ich danke euch trotzdem für die Mühe
Schönes Wochenende!
Nutze das _BV( ) Makro. Das hier kann niemand lesen bzw. ist äußerst mühsam es zu entschlüsseln.
TCCR1A = 0xB2;
TCCR1B = 0x19;
Weißt du was du hier konfiguriert hast?
Warum hast du 3 Compare Bits aktiviert?
Prescaler ist 1. Das bedeutet du hast einen Prescaler ausgwählt.
"extra keinen" gibt es in dem Kontext nicht. Entweder man hat einen konfiguriert oder nicht. Der Takt ist 1,6kHz. Es ist übrigens immer eine dumme Idee den Timer einzuschalten bevor er komplett konfiguriert ist.