Forum: Mikrocontroller und Digitale Elektronik Drehzahl Messen und per PWM Regeln Atmega8


von mr. t (Gast)


Lesenswert?

Nabend,
gerade bin ich dabei eine kleine einfach Drehzahlregelung mit einem 
Atmega8 (16Mhz) zu realisieren. Soweit klappt das auch alles gut, die 
Drehzahl zwischen 100-1000 Umdrehungen wird geregelt lediglich die 
Genauigkeit bekomme ich mit dem 8Bit PWM nicht hin.

Die Drehzahl messe ich mit einem Reedkontakt am ICP1 des Timer1, daraus 
ermittel ich die Umdrehungszeit und mit dem Timer2 erzeuge ich das PWM 
Signal. Mit Timer0 rufe ich die Regelroutine regelmäßig auf.

Wenn ich das richtig sehe gibt es keine elegantere Möglichkeit das in 
Einklang zu bringen ?! Ideal wäre es ja Timer1 für PWM und Timer2 für 
die Zeitmessung aber da habe ich ja keine ICP Funktion :(. Vielleicht 
stehe ich da gerade auch etwas auf dem Schlauch...

Für weitere Ideen wäre ich Dankbar.

lg mr.t

von Karl H. (kbuchegg)


Lesenswert?

mr. t schrieb:

> die Zeitmessung aber da habe ich ja keine ICP Funktion :(. Vielleicht
> stehe ich da gerade auch etwas auf dem Schlauch...

Du kannst ja auch beides, ICP und PWM auf dem Timer 1 laufen lassen.

Kein Mensch sagt, dass der Timer nur 1 Funktionalität erfüllen kann. 
Auch wenn der Timer ein PWM Signal generiert, spricht der ICP Interrupt 
ja trotzdem an, wenn am richtigen Pin das richtige Signal kommt.

-> du hast einen Messwert und kannst daraus die Drehzahl errechnen.

von mr. t (Gast)


Lesenswert?

aaaa ok... ich dachte man kann ihn nur für die eine Funktion nutzen, 
aber er läuft ja eigentlich durch, Vergleicht beim PWM und beim ICP 
könnte ich einen Zeitstämpel verpassen...

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
Noch kein Account? Hier anmelden.