Guten Abend zusammen, ich habe hier zwei BLDC Motoren welche jeweils mit 3 Hall-Sensoren ausgestattet sind. Problematik ist nur, dass die Abstände der Hall-Sensoren zueinander sich bei beiden Motoren unterscheiden. Anbei habe ich zwei Bilder die die zwei unterschiedlichen Positionen zeigen. Nun zu meiner Frage: Ist es möglich per Software die Position der Hallsensoren zu ermitteln? Danke
SBwh schrieb: > Nun zu meiner Frage: Ist es möglich per Software die Position der > Hallsensoren zu ermitteln? Als Anmerkung: Die Software soll für beide Motoren gleiche Ergebnisse liefern.
Guten Abend, das wird meineserachtens schwer. Warum muss die Position der Hall-Sensoren denn bekannt sein? Die sollen doch eigentlich nur einen erfolgreichen "Step"(ist mir klar, dass das keine Schrittmotoren sind) auswerten und dadurch die Kommutierung auslösen...
Lavrans S. schrieb: > Guten Abend, > das wird meineserachtens schwer. Warum muss die Position der > Hall-Sensoren denn bekannt sein? Die sollen doch eigentlich nur einen > erfolgreichen "Step"(ist mir klar, dass das keine Schrittmotoren sind) > auswerten und dadurch die Kommutierung auslösen... Danke für die Antwort. Dann ist meine Frage, werden die erzeugten Werte der beiden Motoren identisch sein? Mein Ziel ist es, anhand der Flankenwechsel der Hall-Sensoren auch Geschwindigkeit und Lage des Motors zu erfassen.
Die Werte sollten für die selbe Geschwindigkeit identisch sein, solange die Motoren die gleiche Anzahl an Permanentmagneten (den gleichen Rotordurchmesser) haben. Zur Messung der drehgeschwindigkeit muss als Konstante bekannt sein, wie weit sich der Motor bei einer Auslösung der Sensoren dreht. Dan kann über den Abstand der Auslösungen die Geschwindigkeit berechnet werden. Was die Lage der Motoren angeht, muss die gleiche Konstante wie eben bekannt sein. Jedoch muss jetzt zusätzlich auch eine Ausgangsposition vorgegeben sein, denn über die Flankenwechsel kann ja nur bestimmt werden wie weit sich der Motor gedreht hat, nicht wie bei einem Servo, wo er sich genau befindet.
Die Hall-Sensoren dienen der Kommutierung. Daher ist die Position der Hall-Sensoren durch die Geometrie und den Aufbau des Motors fest vorgegeben. Und zwar so, dass alle 60° (elektrisch) eine Hall-Flanke kommt. Um auf die Geschwindigkeit des Rotors zu schließen, braucht man dann nur noch die Polpaarzahl des Motors wissen. Beispiel: Du misst 6 Hall-Flanken pro Sekunde und der Motor hat eine Polpaarzahl von 3. Dann dreht sich der Motor elektrisch mit 360°/s und mechanisch mit 360/3 °/s = 120°/s.
Na das sind mal merkwürdige Motoren. Dort sitzen die Sensoren nicht zwischen den Spulen, sondern direkt darin. Beim rechten Modell sogar teils, teils. Vermute daher mal, die Motoren sind für geringe Leistungen gebaut worden (Festplatte, Floppy o.ä.)?
Lavrans S. schrieb: > Die Werte sollten für die selbe Geschwindigkeit identisch sein, solange > die Motoren die gleiche Anzahl an Permanentmagneten (den gleichen > Rotordurchmesser) haben. Beide Motoren haben eine Polpaarzahl von 9 mit 27 Permanentmagneten. Der Motor soll mittels PWM angesteuert werden. Im Endeffekt FOC Steffen schrieb: > Du misst 6 Hall-Flanken pro Sekunde und der Motor hat eine Polpaarzahl > von 3. > Dann dreht sich der Motor elektrisch mit 360°/s und mechanisch mit 360/3 > °/s = 120°/s. Danke, dass kann ich auch gebrauchen :) Anhand dieser Seite: http://embeddedlightning.com/bldc_motor/ Wollte ich meine Regelung aufbauen. Da ich keinerlei Sinus-Source-Quelle zur Verfügung habe, war nun die Idee die Lage des Motors, anhand der Hall-Sensoren zu ermitteln und demnach die jeweiligen Phasen per PWM anzusteuern. Wie Herr Lavrans beschrieben hat, sind dafür 6 Position vorhanden.
Ich weiß nicht wie hochwertig die Stromregelung sein soll, aber für eine richtige FOC reicht die Auflösung der Hall-Sensoren normalerweise nicht. Da kann man auch gleich einfach eine Blockkommutierung laufen lassen und spart sich die ganze Transformiererei. Für eine richtige FOC müsste man z. B. noch einen Inkremental-Encoder ergänzen, der deutlich mehr Flanken pro Umdrehung liefert als Hall-Sensoren.
Steffen schrieb: > Ich weiß nicht wie hochwertig die Stromregelung sein soll, aber für eine > richtige FOC reicht die Auflösung der Hall-Sensoren normalerweise nicht. > Da kann man auch gleich einfach eine Blockkommutierung laufen lassen und > spart sich die ganze Transformiererei. > Für eine richtige FOC müsste man z. B. noch einen Inkremental-Encoder > ergänzen, der deutlich mehr Flanken pro Umdrehung liefert als > Hall-Sensoren. Es sei denn, dass er den Winkel mittels Kalman Filter schätzt anhand der Inkremementen
Steffen schrieb: > Für eine richtige FOC müsste man z. B. noch einen Inkremental-Encoder > ergänzen, der deutlich mehr Flanken pro Umdrehung liefert als > Hall-Sensoren. Das ist nicht unbedingt erforderlich. Anhand der Zeit, die der Motor für die letzte Umdrehung gebraucht hat, kann man aufgrund der mechanischen Trägheit die Position recht genau aus der aktuellen Zeit bestimmen. Das ist hier beschrieben (AVR447) www.atmel.com/images/doc8010.pdf Man muß auch nicht jedes Problem mit dem Kalman erschlagen. MfG Klaus
Klaus schrieb: > Das ist nicht unbedingt erforderlich. Anhand der Zeit, die der Motor für > die letzte Umdrehung gebraucht hat, kann man aufgrund der mechanischen > Trägheit die Position recht genau aus der aktuellen Zeit bestimmen. Das > ist hier beschrieben (AVR447) > > www.atmel.com/images/doc8010.pdf > > Man muß auch nicht jedes Problem mit dem Kalman erschlagen. > > MfG Klaus Geh ich davon richtig aus, dass ich bei einer 9 poligen Maschine beispielsweise jeden 9. Flankenwechsel als eine Umdrehung ansehen kann? Ebenso habe ich anhand der 27 Permanentmagnete in dem Sinne doch keine Auflösung von 60° für Berechnung der Zeiger sondern "6,66°" oder bin ich total auf dem Holzweg.
SBwh schrieb: > Ebenso habe ich anhand der 27 Permanentmagnete in dem Sinne doch keine > Auflösung von 60° für Berechnung der Zeiger sondern "6,66°" oder bin ich > total auf dem Holzweg. Bei solchen Motoren wird zwischen einer "elektrischen" und einer "mechanischen" Umdrehung unterschieden. Am einfachsten kann man das erkennen, wenn man den Motor als Generator betreibt und sich die erzeugte Spannung auf dem Scope anzeigt. Eine vollständige Sinusschwingung ist eine "elektrische" Umdrehung. Auch an den Hallsensoren findet man das wieder. Aus elektrischer Sicht wiederholen sich alle Signale danach. Je nach Polzahl kommen eine oder mehrere elektrische Umdrehungen auf eine mechanische. Winkelangaben bei BLDC Motoren beziehen sich typischerweise auf elektrische Umdrehungen. Das macht sie unabhängig von der Polzahl des Motors. MfG Klaus
Klaus schrieb: > Bei solchen Motoren wird zwischen einer "elektrischen" und einer > "mechanischen" Umdrehung unterschieden. Am einfachsten kann man das > erkennen, wenn man den Motor als Generator betreibt und sich die > erzeugte Spannung auf dem Scope anzeigt. Eine vollständige > Sinusschwingung ist eine "elektrische" Umdrehung. Auch an den > Hallsensoren findet man das wieder. Aus elektrischer Sicht wiederholen > sich alle Signale danach. Je nach Polzahl kommen eine oder mehrere > elektrische Umdrehungen auf eine mechanische. Winkelangaben bei BLDC > Motoren beziehen sich typischerweise auf elektrische Umdrehungen. Das > macht sie unabhängig von der Polzahl des Motors. > > MfG Klaus Herzlichen Dank, dass ich grob gesagt 9 elektrische Umdrehungen für eine mechanische Umdrehung habe war mir bewusst. Dementsprechend fallende Flanken für den Hall-Sensor. Anhand der Detektion von x-Flanken kann ich eine mechanische Umdrehung detektieren. Anhand der Detektion der fallenden Flanken der Hall-Sensoren wird meine FOC eingeleitet und mit Hilfe von PI nachgeregelt. Soweit der Plan. Eine Beispiel FOC habe ich hier gefunden. https://www.mikrocontroller.net/attachment/highlight/152219 Mit Hilfe Ihres Links bezüglich Atmel komm ich der Materie schon um einiges näher. Danke Ihnen
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.