Drehzahl Messen und per PWM Regeln Atmega8

Gast #1896757
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
#1897299
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren