Forum: Mikrocontroller und Digitale Elektronik PWM und Schalterabfrage (Mega8)


von Udo Z. (Firma: keine) (udoz)


Lesenswert?

Moin,

gegeben ist ein mechanischer Schalter nach Masse, der per PWM elektrisch 
mit einem Lowside-Switch überbrückt werden soll. Dabei muss jedoch eine 
Abfrage des Zustandes des Schalters (AUF oder ZU) möglich sein. Die PWM 
geht von 0 bis 95%. Genutzt wird ein Mega8 mit 1 Mhz.

Meine Idee:

- Timer2 in Fast PWM-Mode, Frequenz ca. 120 Hz (Vorteiler auf 32), 
BOTTOM 0, TOP 255. Pulsweite wird über OCR2 vorgegeben.

- Bei einem Compare Match (OCR2, TCNT2) wird ein Interrupt ausgelöst. In 
der Interrupt-Routine wird der Schalterzustand abgefragt; OC2 ist ja 
Low.

- Da der Lowside-Switch max. 170 µs zu Abschalten benötigt, wird in der 
Interrupt-Routine zunächst 200 µs gewartet (_delay_us (200)), bevor der 
Schalter abgefragt wird.

Wenn ich mich nicht verrechnet habe, sollte für das Warten und Abfragen 
ausreichend Zeit zur Verfügung stehen, bevor TOP erreicht wird und OC2 
wieder auf High geht. Ansonsten gibt es nichts Zeitkritisches im 
Programm.


Ist das ein brauchbarer Ansatz?
Gibt es eine andere/bessere Methode?


Danke, UdoZ

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.