Hallo zusammen, heute komme ich leider wieder einmal mit einer unausgegorenen Idee und hätte ein paar Fragen dazu. Ich würde gerne einen Brushless-Außenläufer aus dem Modellbaubereich mit Sensoren ausstatten, um ihn mit einem geeigneten "Fahrtregler" in einem Fahrzeugmodell feinfühlig ab Stillstand steuern zu können. Soweit die Grundidee. Noch lieber würde ich ihn aber nicht nur mit drei Hall-Sensoren für die typische Block-Kommutierung ausstatten, sondern mit einer besser auflösenden Sensorik in Richtung feldorientierte Steuerung oder Betrieb als Servomotor gehen. Ich habe mir schon einige Gedanken dazu gemacht, will aber den Startpost nicht zu lange werden lassen. Im Laufe der Diskussion werden wir weitersehen. Jetzt die ersten Fragen: 1. Ich habe schonmal im Netz kleine Platinchen mit Hallsensoren gesehen, die man an solche Außenläufer dranfrickeln kann, aber ich finde die jetzt ums Verr... nicht mehr. Hat jemand einen Tipp? Der Motor wird allerdings relativ klein sein: 28mm Außendurchmesser, falls ich einen finde auch vielleicht 32mm oder sowas. 35mm sind leider schon zuviel. 2. Für die feinere Ansteuerung fehlen mir natürlich kilometerweit die Kenntnisse, sowas aufzubauen. Ich habe lediglich das grundsätzliche Verständnis, wie und warum sowas funktioniert. Ich habe eine Sache im Netz gefunden, basierend auf einem STM32: odriverobotics.com Wäre auch Open Source, um es anzupassen, mir passt das Ding nämlich aufgrund seiner Eckdaten nicht: mind. 24V (bei mir 12V), 2 Motoren (ich will nur einen), Baugröße des Boards, für mich unnötige Ansteuerung eines Bremswiderstands. Weiß jemand was passenderes? Viele Grüße Tom.
Das machen die brushless Regler schon heute so, nur werten die das Feedback aus. Was willst du damit erreichen?
WAS machen sie genau so? Natürlich wird Feedback ausgewertet. Aber erst, wenn der Motor rundläuft. Ich will aber ab Stillstand kraftvoll und smooth losfahren. Zeig mir einen Modellbau-Fahrtregler, der feldorientierte Steuerung macht. Da lach ich doch. Für Fahrzeugmodelle gibt es eben die "sensored" Motoren und Fahrtregler, welche die Sensorsignale verarbeiten. Dabei handelt es sich fast durchweg um Hall-Sensoren, welche die Magneten des Rotors abtasten. Nur wenige Motoren haben eine extra-Magnetscheibe, um von den Störungen des induzierten Magnetfelds wegzukommen - salopp gesagt, ich hoffe, man versteht was ich meine. Aber die "Auflösung" ist eben sehr gering. Entweder nur drei Schritte pro volle Umdrehung des elektrischen Feldes oder vielleicht etwas mehr, falls man aus den Signalen/Schaltpunkten der beiden jeweils nicht direkt im Magnetfluß befindlichen Sensoren noch was sinnvolles herausextrahieren kann. Der Fahrtregler kann eigentlich nur ein schwaches, langsames Drehfeld (mit Blockkommutierung) erzeugen und mit den Sensoren nachschauen, ob er bei der nächsten 120°-Drehung des Feldes auch wirklich angekommen ist. Notfalls in einer kurzen Regelschleife die Stärke des Drehfeldes erhöhen. Ich habe schon gehört, es soll so "dumm" programmierte Regler geben, die bei diesem Verfahren im Fall eines echt blockierten Motors oder fehlerhafter Sensoren den Strom so weit erhöhen, daß irgendwas abraucht. Während ein sensorloses Setup nach einer kurzen "blinden" Phase mit schwachem langsamen Drehfeld eben sehen muß, ob das Feedback auswertbar ist. Sowas habe ich auch: Da hat man dann im Zweifelsfall statt einem losfahrendem Modell nur zaghaftes, sich wiederholendes Gezirpe aus dem Motor. Interessant ist auch, daß "sensored" Motoren ein verstellbares "Timing" der Sensoren haben, die Hallsensensoren lassen sich ein bißchen drehen und sprechen so je nach bevorzugter Drehrichtung früher oder später an. Das ist eine Einstellmöglichkeit, die ich an dieser Stelle überhaupt nicht haben will. Sie ist ja wirklich nur nach Trial und Error, Gefühl oder Esotherik einstellbar und vermutlich der Historie geschuldet - die Bürstenmotoren hatten auch einstellbares Timing der Bürsten/Kohlen. So und ich möchte im Idealfall: Mehr Auflösung durch einen richtigen Dreh-Encoder. Vielleicht reichen schon zwei Bit mehr. Es soll die wie auch immer geartete Steuerung einfach erkennen können, WIE weit der Rotor dem Drehfeld hinterherhängt und darauf reagieren. Eben in Richtung feldorientierte Regelung. Ein richtiger industrieller Servomotor, der auf die Auflösung seines Drehgebers genau positionsgesteuert werden kann, muß es aber nicht werden.
Hehehe, selten ein Thread mit so wenig Interesse gestartet :-) Ich probiers nochmal. Also Frage: Weiß jemand eine gut dokumentierte "Plattform" aus Controller und Endstufen, mit der ich mich in die Thematik der sensorgesteuerten oder sogar feldorientierten Steuerung von BLDC-Motoren einarbeiten kann? Auf youtube gibt es einen Haufen Videos, in denen jemand mit einer Lochrasterplatine und einem Arduino Nano einen BLDC hablbwegs zum Laufen bringt, aber dokumentiert? Mit Sinus-Ansteuerung? Leider habe ich in Sachen Microncontroller wenig Erfahrung, wenig Übung und wenig Werkzeuge. Ich kann nur einen Arduino ein bißchen was machen lassen. Aaaaber ich kann ja vielleicht dazulernen. Als Zeichen dafür, daß ich ja auch selbst was tue und nichts vorgekaut haben möchte: 1. Habe ich mir die Doku zum "Odrive" mal angeschaut. Ich habe gelernt: Der dort verwendete ST32F405 hat Timer mit Quadratur-Eingängen, die auch prompt für die Encoder verwendet werden. Die Rotorposition steht also für die Firmware relativ schnell zugänglich in einem Register. Um solche Dinge mache ich mir nämlich Sorgen, sollte ich es mit einem einfacheren Controller versuchen (z.B. Arduino), der keine Quadratur-Eingänge hat. Der nötige Code zum Entwirren der Quadratur-Signale macht wahrscheinlich das Timing zunichte. 2. Habe ich die käuflichen Platinchen, mit denen BLDC-Außenläufer mit Hallsensoren gespickt werden können, noch immer nicht (wieder-)gefunden. Dafür viele Beispiele, wie die Hallsensoren irgendwie drangefrickelt werden, teilweise einfach außen an die Glocke, und dort müssen sie das durch den Rückschlußring "durchscheinende" Magnetfeld detektieren. Mir gefällt das nicht. Ich möchte es gerne definierter. Wo ich genauer den Bereich festlegen und verschieben kann, in dem ein Sensor schaltet. Und nicht so ein diffuses, von der individuellen Schaltschwelle und vielleicht sogar vom Wicklungsstrom verfälschtes Abtasten des Magnetfeldes. Z.B. mit Reflex- oder Gabellichtschranken. Hat dazu jemand Ideen oder Beispiele? Viele Grüße Tom.
TomH schrieb: > Entweder nur drei Schritte pro > volle Umdrehung des elektrischen Feldes oder vielleicht etwas mehr, > falls man aus den Signalen/Schaltpunkten der beiden jeweils nicht direkt > im Magnetfluß befindlichen Sensoren noch was sinnvolles > herausextrahieren kann. Da solltest du noch mal drüber nachdenken. Drei digitale Sensoren ergeben 8 mögliche Zustände. Alle 0, d.h. alle sind nicht in einem Magnetfeld oder alle 1, alle sind voll im Magnetfeld kommt bei einer vernünftigen Anordnung der Sensoren nicht vor. Bleiben also 6 Zustände pro elektrischen Drehung. Anders ausgedrückt bilden die 3 Sensoren einen Winkelsensor mit einer Auflösung von 60° bzw +-30° pro elektrischer Umdrehung. Wenn du dir mal die Signale der Hallsensoren beim händischen Drehen anschaust, siehst du das beschriebene ganz deutlich. Bei analogen Hallsensore, wie man sie gerne bei Motoren aus CD-Laufwerken findet, kann man aus dem Verhältniss der 3 Signale eine höhere Auflösung errechnen. Das ist ebenfalls leich mit einem Scope nachzuvollziehen. Die Signale sehen wie Drehstrom aus. Bevor du jetzt über die Sensoren bei verfügbaren Motoren lästerst, bau erstmal eine Steuerung für diese. Zum Üben reicht ja ein ausgeschlachteter Motor aus einem CD Laufwerk. Auch in Laserdruckern kann man häufig sogar mehrere Motore finden. Wenn du das optimal hinbekommen hast, und dir die Steuerung dann immer noch nicht fein genug ist, kannst du immer noch über bessere Sensoren nachdenken. Wer gleich mit der Kür anfängt und die Pflicht auslässt, wird am Ende nichts erreichen. MfG Klaus
Eine guter Anfang ist immer noch Application Note AVR447 von (nun) Microchip. Darin wird die Sinus- und Blockansteuerung eines sensorbehafteten BLDC beschrieben, komplett mit leicht portierbarer Software (ich selber lasse sie auch auf STM32F100 und ATXMega laufen). Als Hallsensoren sind z.B. die von Videorecordern, in deinem Fall vorzugsweise von Video/Hi8 Camcordern geeignet, wenn man sie auf dem Schrott findet. Man kann auch die ganze Trommel mit Motor benutzen. Man kann aber auch mit einer passenden Anordnung einfache Hallsensoren wie die von Micronas am Rotor positionieren: https://www.pollin.de/p/hall-effekt-sensor-micronas-hal510ua-c-1-b-1-00-10-stueck-180073 https://www.pollin.de/p/hall-effekt-sensor-micronas-hal501s-c-180069
War das die Platine? http://e0designs.com/products/hall-effect-sensor-board/ Dieses Projekt steht bei mir auch noch auf der Liste :-)
TomH schrieb: > Weiß jemand was passenderes Lichtschranken. Die können einerseits gut die grobe Lage, und andererseits gut feinauflösend die Aussenfläche deines Aussenläufers abtasten, du musst bloss ein mit Streifen bedrucktes Papier aufkleben, der Strom für die beleuchtende LED sollte irrelevant sein. Die Software ist Kinderkram, da es nicht um Back-EMF geht. Du könntest den 3 Halbbrücken eine Sinuskommutierung nach Don Lancasters Magic Sinewaves verpassen, denn Blockkommutierung ist für nahe am Stillstand nicht so passend. Sensorlösung: A) nur 1 Spur, z.B. alle 5 Grad ein Strich, bei 0 Grad einer fehlend (Prinzip Kurbelwellensensor vom Auto). Man muss 1 man ptobierrn bevor man weiss wie die Fotorlage ist. B) 3 Spuren, jeweils schwarz und weiss in 1 Drittel und feingestrichelt im dritten Drittel, versetzt. Man weiss sofort wierum der Motor für Blockkommutierung steht, und hat man 1 pol gedreht, kann man Sinuskommutieten. C) 2 Spuren, die eine mit 17, die andere mit 18 Strichen, aus dem relativen Versatz den Rotorwinkel berechnen. D) Analogerfassung mit Grauwerten.
Wenn du immer auf ODrive referenzierst, warum hast du dir das Projekt noch nicht genauer angesehen? Dann hättest du gemerkt das ODrive nur ein Fork des VESC ist. Und der kann alles was du willst. Und bei 12V raucht der auch nicht ab :). https://vesc-project.com
Wow, einige fundierte Antworten. Danke. Bin auch nicht beleidigt, wenn mich einer an die Pflicht erinnerst. FlorenzW schrieb: > War das die Platine? > http://e0designs.com/products/hall-effect-sensor-board/ Jawoll! An den optischen Eindruck der Website kann ich mich noch erinnern, nur gefunden hab ich sie nicht mehr. Danke. "Lästern" über existierende sensored BLDC: Ich finds halt komisch, wenn man die Schaltpunkte mechanisch einstellen muß und entweder mit externer Meßtechnik (Stromverbrauch, erreichbare Drehgeschwindigkeit) den Erfolg des Einstellens prüfen muß oder an den Erfolg glauben muß: "Ich da was gedreht, jetzt geht er viel besser." Wieviel angenehmer ist da bei Odrive zu lesen: Motor muß frei von mechanischer Vorspannung sein (keine Federbelastung oder Gewichtsbelastung des Abtriebs), mit leichter Reibung und Massenträgheit kommt die Referenzfahrt hingegen klar. Ja, so stellt sich klein Tömchen das idealerweise vor. Natürlich muß ich mich da erst hinarbeiten. Vielleicht schaffe ich es sogar nie. Aber jetzt habe ich Lesestoff. v-escproject.com schaue ich mir natürlich auch an.
TomH schrieb: > Natürlich wird Feedback ausgewertet. Aber erst, wenn der Motor > rundläuft. Ich will aber ab Stillstand kraftvoll und smooth losfahren. Wenn man das mit einem PKW vergleichen würde : Vollgas geben und ganz ganz ganz langsam die Kupplung kommen lassen. Verstehst du das unter Kraftvoll? Ansonsten mach ein Getriebe vor den Motor.
TomH schrieb: > "Lästern" über existierende sensored BLDC: Ich finds halt komisch, wenn > man die Schaltpunkte mechanisch einstellen muß und entweder mit externer > Meßtechnik (Stromverbrauch, erreichbare Drehgeschwindigkeit) den Erfolg > des Einstellens prüfen muß oder an den Erfolg glauben muß: "Ich da was > gedreht, jetzt geht er viel besser." > Wieviel angenehmer ist da bei Odrive zu lesen: Motor muß frei von > mechanischer Vorspannung sein (keine Federbelastung oder > Gewichtsbelastung des Abtriebs), mit leichter Reibung und Massenträgheit > kommt die Referenzfahrt hingegen klar. Ja, so stellt sich klein > Tömchen das idealerweise vor. Ist wie bei einem Bürstenmotor. Da macht man beim Prototypen die Bürstenplatte auch drehbar und stellt sie auf maximales Drehmoment ein. Das erkennt man an maximaler Drehzahl bei gegebener Last. Die ist wenn man nichts anderes hat die Lagerreibung, also die Lehrlaufdrehzahl Wenn man den richtigen Winkel hat, baut man alle weiteren genau so. Na gut, inzwischen hat man als Motorhersteller so viel Erfahrungen daß man weiß, wie man es machen muß und es passt auch beim Prototypen schon. Und so ist auch beim Brushless, wenn man Motor und das Equivalent zur Bürstenplatte, die Sensoren und den Controler, von einem Hersteller bezieht, passt das schon. Wenn ich eine eigene Bürstenplatte an einen Motor anflicke, muß ich irgendwie den richtigen Winkel feststellen, entweder durch probieren oder halt automatisch. Hab ich das einmal gemacht und Motor und Sensoren werden reproduzierbar produziert, kann ich den Winkel auch fest lassen. So muß sich "klein Tömchen" das vorstellen. MfG Klaus
Zunächst noch einige Worte zum Thema, warum brauche ich einen kraftvollen Anlauf ab Drehzahl null? Warum kein Getriebe? Ich habe momentan zwei konkrete Anwendungsfälle, die ich gerne beschreibe, nur wollte ich den Anfangspost nicht ellenlang werden lassen. 1. Ferngesteuerter Modell-Lkw im Maßstab 1:8. Dieser hat momentan noch kein Schaltgetriebe. Die feste Untersetzung ist in etwa so, daß er bei Vollgas nicht ganz Schrittgeschwindigkeit erreicht. Der Motor ist ein sensorgesteuerter 17,5 Turns Innenläufer mit zugehörigem Regler*, vor einigen Jahren bei Conrad als "Crawler Combo" gekauft. Akku ein 7,2V 8,5Ah NiMH. Mit dieser Untersetzung kann er auch wunderbar ganz langsam fahren und fast zentimeterweise eine Stufe hochkriechen. Aber beim Betrieb mit einer Schneefräse (besonders lange langsam fahren - Kälte - Nässe) ist es mir jetzt mehrere Male passiert, daß auf einmal extrem hoher Strom floß und mir die Anschlußkabel von den Akku-Lötfahnen abgelötet hat! Ok, jetzt ist eine 35A-Kfz-Sicherung drin, mal schaun, was dann passiert. Über die Ursache kann ich nur mutmaßen. Entweder der "dumme" Regler* erhöht einfach stur den PWM-Füllgrad, weil er den Motor nicht weiterdrehen kann, oder steuert gar irrtümlich irgendwelche Halbbrücken auf Kurzschluß. Bis jetzt ist außer dem "selbsttrennenden" Akkukabel nichts zu Schaden gekommen. Aber ich möchte die Situation gerne verbessern. 2. Elektrifizierter Tret-Traktor mit ca. 600W Außenläufer. Dieser hat sogar zwei mechanisch zu schaltende Gänge. Der Außenläufer ist aber naturgemäß sensorlos und auch nur mit einem sehr einfachen Flug-BL-Regler* angesteuert. Drehrichtungsumkehr macht ein Hochlast-Relais, das zwei Motorphasen vertauscht. Dieses Gefährt hat im oberen Gang sehr deutliche Anfahrschwierigkeiten und selbst im unteren Gang gibt es Situationen, wo er nur zirpend ruckelt, statt ordentlich loszufahren. Hier möchte ich die Situation wenigstens versuchsweise verbessern, indem ich Hallsensoren am Motor anbringe und einen sensorfähigen Regler* verwende. Allerdings nicht um den Preis, daß die 12V 24Ah aus einem Bleiakku zusammen mit einem fehlfunktionierenden/überforderten Regler* ein Feuerwerk veranstalten. Das Fernziel wäre in beiden Fällen eine Motorsteuerung, welche Lastwinkel und Strom im Blick hat, durch bessere Lastwinkel mehr Drehmoment erreicht und übergroße Ströme entweder nicht oder nur kurzzeitig zuläßt. Regler*: Mir ist klar, daß es sich um "Steller" handelt. Ich verwende aber im Sinne eines flüssigen Textes trotzdem den im Modellbau üblichen deutschen Begriff "Regler".
Sensor-Timing: Natürlich "muß" man da nichts einstellen. Natürlich habe ich den sensorbestückten Innenläufer genau auf der Werkseinstellung gelassen. Gut möglich, daß die Einstellmöglichkeit auch nur für die Modellbau-Renn-Experten und Möchtegerns eingebaut wird, als Esotherik und Plazebo. Nach dem Motto, ich kann da dran rumdrehen, dann wirds bestimmt noch toller. Aber im Sinne des Fernziels möchte ich halt auf jeden Fall nicht an dieser Stelle herumdrehen müssen, wenn ich mir selbst etwas baue. Von Serie oder wiederholgenauer Reproduzierbarkeit kann übrigens nicht die Rede sein, es geht mir ja nur um meine beiden Einzelfälle...
Da sieht man recht schön, wie die Sensoren angeordnet sind bei einem sensored outrunner: https://hackaday.com/2018/04/19/completely-scratch-built-electronic-speed-controller/ Mich interessiert die Sache, weil sich, in Verbindung mit einem hoch auflösendem Drehencoder, leistungsfähige Servos bauen lassen müssten. Dann hätte man für FDM-3D-Drucker und günstige Fräsen ein closed-loop System zur Verfügung.
:
Bearbeitet durch User
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.