Hmm also so ganz blick ich das nicht. Warum nur wird das so mystifiziert, wie man diesen Duty cycle berechnet?
Gut, im Prinzip ist es ja einfach: aus Alpha und Beta kann der Winkel berechnet werden. (Dieser müsste mit dem vom Drehgeber gelieferten Winkel übereinstimmen, oder?)
Anhand des Winkels bestimmt man den Sektor, und danach berechnet man den Winkel innerhalb des Sektors. Anschliessend ist
t1 = sin(60 - x)
t2 = sin(x)
die Zeiten für Vektor 1 und Vektor 2, wobei x der Winkel in diesem Sektor ist.
Beispiel:
Winkel des Rotors sei 70°. Dies ist im Sektor 2. Also subtrahiere man 60°, man erhält 10°. Somit ist
t1 = sin(50°) = 0.766
t2 = sin(10°) = 0.173
die Zeit für den Anfangs- und den Endvektor. Der Nullvektor muss während der Zeit
1 - t1 - t2 = 0.061
ausgegeben werden.
Das ist alles schön und gut und auch sehr trivial, aber
a) was mache ich denn nun mit alpha und beta, die benötige ich ja gar nicht, denn den Winkel kann ich ja auch vom Drehgeber ablesen
b) irgendwie ist das doch ein wenig komisch, innerhalb jedes Sektors immer dieselben Winkel wieder zu berechnen -- das sollte doch auch einfacher gehen, direkt mit alpha und beta, denn diese geben den winkel doch implizit an, oder nicht?
Gruss
Lesezeichen