[Mega88] PWM - High und Lowzustand (geschickter?) abfragen

Gast #2298771
Lesenswert?

Guten abend erstmal und verzeiht mir den wenig aussagekräftigen Betreff,



bevor ich zu meinem eigentlichen Problem komme ein paar schnelle 
Hintergrundinfos:

Ich arbeite zzt an einem Quadrocopter im eigenbau, heisst ich will bis 
auf Motoren und Propeller nichts fertig kaufen.
Nach einigen Anfangsschwierigkeiten sind meine Motorregler für die 
Brushlessmotoren fertig gelayoutet, geätzt, bestückt, programmiert und 
funktionieren mit Drehzahlvorgabe via TWI.

Die Low Side Fets auf den Motorphasen werden direkt durchgeschaltet, die 
High Side Fets werden zur Leistungsregelung mit einer PWM überlagert.

Anfangs hab ich das noch über ein externes & ic gemacht, mittlerweile 
findet die überlagerung in der Software statt, jedoch nicht so 
....elegant? wie ich es gerne hätte:

Die PWM wird an OC0B ausgegeben und bei jedem Compare Match des PWM 
Timers per PIN abgefragt... wenn jetzt jedoch meine Pulse eine bestimmte 
breite unterschreiten "verpasst" mein Atmel das und der Motor ist aus, 
heisst eine bestimmte Drehzahl darf ich nicht unterschreiten. Eigentlich 
kein Problem aber es lässt mir keine Ruhe weil mir mein Code dadurch 
irgendwie dreckig vorkommt ^^

Es gibt doch sicher eine elegantere Lösung als meine?

Vielen dank schonmal :)

PS: verwendet wird Timer0 im Phase Correct PWM Mode

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