Forum: Mikrocontroller und Digitale Elektronik BLDC mit Sinuskommutierung


von Thomas (Gast)


Lesenswert?

Hallo,
ich verwende einen LPC2468. Ich möchte damit einen BLDC ansteuern, 
allerdings mit Sinuskommutierung. Dazu habe ich mir die Application Note 
AVR447 zu gemüte geführt (http://www.atmel.com/Images/doc8010.pdf), wo 
das einigermassen gut erklärt wird. Dort kommt auch ein interessantes 
Verfahren zum Zug:

Die Rotorposition wird interpoliert, indem mittels Timer die Dauer der 
High-Phase eines Hallsensors gemessen wird. Lässt man den Timer 120 mal 
schneller laufen, dann zählt der Timer quasi die Rotorposition in Grad.
Genau sowas will ich hier auch implementieren, das braucht man ja 
sowieso für Sinuskommutierung.
Mein uC hat entsprechende Input Capture Eingänge sowie ausreichend 
Timer, aber ich weiss jetzt grade nicht so recht, wie ich das angehen 
kann.
Könnt ihr mir einen Tipp geben?

Ich denke mir das so:
Mit Input Capture die High-Zeit eines Hallsensors messen, und danach 
einen Timer so einstellen, dass er 120 mal schneller hochzählt. Der 
Timer muss nicht unbedingt einen IRQ generieren; vielmehr stelle ich mir 
das so vor, dass ich einfach dann, wenn ich die Rotorposition wissen 
will, das Timerregister lese. Geht das?
Ich stehe momentan extrem auf dem Schlauch.

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.