Hi Forum, Folgendes Teil hat der Postbote heute ausgeworfen: HT2205 Bürstenlosen Motor mit AS5600 Encoder https://de.aliexpress.com/item/4000979603718.html?spm=a2g0s.9042311.0.0.3b704c4d7nTw37 (12V, 1A Haltestrom) und nun bräuchte ich Hilfe bei der Auslegung Ansteuerung Auswahl vom Treiber. Ziel des Spieles ist es das Teil als "Drehpoti" und den BLDC für Force Feedback zu verwenden. Das ganze ist experimentell d.h. ich habe keine Idee ob und wie das so funktioniert wie ich mir das vorstelle. Aber einen Versuche finde ich ists wert. Was ich jetzt brauch ist ein Treiber Ansteuerung 3-fach H-Brücke (?) um das Teil an einen STM32xnnn an einen PWM Ausgang angeschlossen zu bekommen. ESCs kenne ich, sind aber nicht flexibel genug für das was ich vorhabe. Naiver Weise würde ich sagen 6 Mosfets mit mind 1A. So wie ich mich kenne ergibt das aber recht schnell rauchende Häufchen. Was wäre Sinnvoll? Besten Dank!
Florian B. schrieb: > 3-fach H-Brücke (?) Sagen wir mal 3-fach Halbbrücke. Man kann so eine Halbbrücke mit einem der Advanced Timer des STM32 ansteuern und sich es einfach machen, wenn man in der Lowside Logiklevel N-Kanal MOSFets benutzt und die Highside mit P-Kanalern und kleinem Transistor ansteuert. Das kann z.B. so aussehen: https://www.mikrocontroller.net/attachment/284084/RC_H-Bridge.png Hier ist die eigentliche Schaltung etwas anders, als du sie benötigst, aber das Prinzip bleibt. Die volle Version, die für dich schon fast zu aufwendig ist, ist die Verwendung von echten Treiberchips, wie z.B. dem IR2110/2112 o.ä. Das habe ich bei dem FU gemacht: https://www.mikrocontroller.net/articles/3-Phasen_Frequenzumrichter_mit_AVR
Florian B. schrieb: > und nun bräuchte ich Hilfe bei der Auslegung Ansteuerung Auswahl vom > Treiber. So informativ ist die Artikelbeschreibung ja nicht. Da du aber die Rotorposition über den Encoder kennst, sicher einen uC zur Verarbeitung und Absteuerung hast, reicht ein L6232 oder ähnlicher Festplatten-spindle motor driver, der schon alles enthält, Transistore, PWM Regelung etc.
Florian B. schrieb: > Was ich jetzt brauch ist ein Treiber Ansteuerung 3-fach H-Brücke (?) > um das Teil an einen STM32xnnn an einen PWM Ausgang angeschlossen zu > bekommen. Gibt da verschiedene Konzepte. Konzept1: Die brücke macht die Kommutierung eigenständig, man sagt ihr über Bus/PWM/Pins die Richtung und Geschwindigkeit. Konzept2: Die Brücke ist nur eine Brücke, und man muss die Ansteuerung selber machen, also PWM und alles. Das zweite Konzept ist sehr aufwändig in Software, ist aber natürlich mit mehr Lerneffekt verbundne. Wenns nur ums Ansteuern geht, würde ich eine nehmen, die alles selber tut. Was ich IMMER nehmen würde, ist eine Brücke mit integriertem Stromlimit. Der Motor scheint keine Hallsensoren zu haben (?), dann wäre die Brücke Sensorless. Aber das bitte genau klären, es auch für BLCD mit Hallsensoren gibt es Brücken. ICh würde bei Allegro schaun: https://www.allegromicro.com/en/products/motor-drivers/bldc-drivers#guide%20 Für 12V 1A ist man da genau richtig. Datenblatt genau lesen ;-)
Danke erst einmal für die Antworten. Um noch etwas klarer zu machen wo ich hin will: Einfach beschrieben ist es ein gerastertes Drehpoti. Nur dass die Rasterung und die Anschläge elektronisch bestimmt werden können. Mercedes hat das Teil schon gebaut und iDrive genannt. Dann angeblich aus Kostengründen wieder eingestellt. Den Effekt fand ich sehr überzeugend und will es seitdem nachbauen und an diversen Stellen in eigenem Kram verwenden. Das heisst auch, dass für das Forcefeedback sich der Motor nicht drehen soll, sondern genau im gegenteil dem manuellen Drehen entgegenwirken. Deswegen vermute (!!) ich, dass ich mit normalen BLDC Treibern nicht glücklich werden würde, weil die ja für das Gegenteil entwickelt wurden (und ich vermute, dass die sensorless Variante die Drehung schon alleine für die Positionsbestimmung braucht.) Softwaremäßig habe ich in dem Bereich schon gearbeitet (Forcefeedback für Automotive). In dem Fall ist's aber Hobby. Erfahrungsgemäß liegt die Kunst das ganze gut hinzubekommen in einer ausgetüfftelten Ansteuerung. In dem Fall vermutlich auf Basis von Winkel/Kraft. Geschwindigkeit evtl. als Prediktor. Gefühlsmäßig wäre ich jetzt am ehesten bei einer integrierten 3-fach Halbbrücke mit Strombegrenzung. Kenne das aber erstens nicht als Bauteil Da meine Expertise eher auf der Software-Seite liegt bin ich umso glücklicher je geringer die Bauteilzahl wird und je weniger ich da falsch machen kann.
Florian B. schrieb: > weil die ja für das Gegenteil entwickelt wurden Das kommt ja nur auf die Ansteuerung an. Wenn du den Motor gegen die Bewegung des Sticks drehen lässt, ist das der gewünschte Effekt. Stärke und Winkel machst du in Software. Du benötigst aber in jedem Fall die Stellgrösse, die der Stick liefert, wenn der Anwender dran rumrührt.
@Matthias: Das ist im Prinzip genau der Plan. Nur gehe ich davon aus, dass die Treiber um das zu steuern die Position brauchen. Die weiss zwar ich über den AS5600 aber die Motortreiber ICs nicht. Oder verstehe ich da etwas falsch?
Die Auswertung der Drehwinkel funktioniert mitlerweile. Bei der Motorsteuerung bin ich immer noch auf der Suche. Mitlerweile bin ich bei einem DRV8313 gelandet. Was haltet ihr von dem? Schoene Gruesse, Florian Link: https://www.ti.com/lit/ds/symlink/drv8313.pdf?ts=1620817013563
:
Bearbeitet durch User
Florian B. schrieb: > Oder verstehe ich da etwas falsch? Ich denke schon. Denn den Drehwinkel hast du doch bereits aus der Auslenkung des Sticks. Das ist direkt auch die Position deines BLDC Motors. Wie ein Gimbal dreht sich der Motor halt nur ein paar dutzend Grad, nehme ich mal an. Wenn da Getriebe usw. dazwischen ist, sieht das anders aus, aber davon wissen wir hier nichts. Auch der Gimbal ist störrisch und hält die Position, wenn die mechanisch (von aussen) geändert werden soll. Der einzige Unterschied zum Gimbal ist bei dir, das die Hartnäckigkeit, mit der der Motor Kontra gibt, variabel sein soll. Ob man da einen Treiberchip oder 6 diskrete MOSFet benutzt, ist eigentlich wurscht. Ich sehe in Gimbals meist Einzelendstufen, aber die Jungs stehen unter Kostendruck und packen soviel wie möglich in die Software und so wenig wie möglich in die Hardware. Florian B. schrieb: > Link: https://www.ti.com/lit/ds/symlink/drv8313.pdf?ts=1620817013563 Irgendwie hat TI mal wieder ihre Website versaubeutelt. Da geht nischt.
:
Bearbeitet durch User
https://www.ti.com/lit/ds/symlink/drv8313.pdf vielleicht. Bei mir gehen beide. Der hier ist jetzt auch noch in die nähere Wahl gekommen: L6230 - https://www.st.com/en/motor-drivers/l6230.html Auch nicht günstiger aber mit dem schlagenden Vorteil eines Eval-Boardes. Und da ich vermutlich genau 2 Stück von den Teilen bauen werde (wenns überhaupt klappt) ist das nicht so der Faktor... @Verstehen: Ja genau. Ich (bzw. meine MCU eben) weiss den Drehwinkel. Aber um den Motor selbst ansteuern zu können müsste dann doch auch der integrierte Controller-Chip den Winkel kennen?
Florian B. schrieb: > Aber um den Motor selbst ansteuern zu können müsste dann doch auch der > integrierte Controller-Chip den Winkel kennen? Nö, wenn ihn die MCU weiss, dann steuert sie entsprechend den Controllerchip. Der muss davon nichts wissen, sondern nur dem Kommando der MCU entsprechend die Spulen bestromen. Deswegen geht ja bei den Gimbals z.B. alles auch ohne Treiberchip, sondern nur mit den 6 MOSFets. Es gibt zwar Treiberchips, die selber Sensoren auswerten und nur noch mit einfachsten Signalen von der MCU angesteuert werden, aber das ist für deine Anwendung eher hinderlich. Du willst ja keinen Motor drehen, sondern eher das Gegenteil. Dreh- und Angelpunkt ist in jeden Fall die Software der MCU. Die muss es erlauben, den Motor fein zu positionieren mit variabler Kraft. Mein Ansatz wäre eine Tabelle im Flash mit drei um 120° verschobenen Sinusspalten. Der Zeiger in diese Tabelle steuert dann, multipliziert mit der gewünschten Leistung, den Drehwinkel des Motors. Verschiebe ich den Zeiger, folgt der Motor wie ein Hündchen dem Knochen.
@Mathias: "... wie ein Hündchen dem Knochen" sehr schön. Genau das :) Dann meinen wir auch das selbe. Bei "... für das Gegenteil entwickelt..." meinte ich genau die Treiber die selbst die Positionsbestimmung versuchen vorzunehmen. Danke für den Hinweis mit den Tabellen. Aus mange an Chip war ich noch bei "irgendwie bestimmen." Tabellen sind vermutlich das einfachste. Bestellt sind jetzt zwei dev boards mit L6230PD und STSPIN830. Ich berichte weiter. Herzlichen Dank.
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.