Gast
#2242755
Hallo liebe mikrocontroller.net Community, ich bin noch Neuling im Bereich uC Programmierung deshalb benötige ich eure Hilfe :). Natürlich habe ich schon die Tutorials hier auf der Seite komplett gelesen und mich auch schon in dem uC Handbuch eingelesen. Zum Problem: Ich benutze einen ATMega 644 (20Mhz) und habe an meinem PB1 ein PWM-Signal (1Khz, Tastverhältnis 20-80%) anliegen. Jetzt muss ich dieses Signal im uC softwaretechnisch erfassen und das Tastverhältnis berechnen. Das Tastverhältnis soll danach der Soll-Wert für ein PID-Regler sein der dann später ein Drehstrommotor über ein PWM-Modul ansteuert. Die Platine ist komplett fertig und funktioniert auch, ich benötige eher programmiertechnische Hilfe ;).. meine größte Sorge ist wie ich das Signal am besten auswerte ?? meine erste Idee war die ansteigende Flanke des Signals zu erfassen und meinen Timer0 (Timer1 verwende ich dann für meine PWM) zu starten. Wenn die Flanke fällt speichere ich in einer Variablen "an" die Zählerwerte und lass weiter laufen bis die nächste steigende Flanke kommt und speicher den Timer0 wert (-> komplette Periode)"periode" und Teile den ersten Wert "an" / "periode". Das ganze Funktioniert nur leider nicht. Mein Code stelle ich dazu ->unten. Wenn ihr bessere Lösungsverschläge habt bin ich dafür offen z.B abtasten des Signals etc etc ... Schon im vorraus vielen Danke für eure Hilfe gee