Forum: Compiler & IDEs [Mega88] PWM - High und Lowzustand (geschickter?) abfragen


von eagreen (Gast)


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

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.