Expertenfrage zu redundant aufgebauten BLDC-Motor mit analogen Hallsensoren

  • Beim vorliegenden Motor handelt es sich um einen bürstenlosen Gleichstrommotor mit Hallsensoren und 440 W bei einer Nennspannung von 74 V. Dieser Motor hat eine Besonderheit: Die Motorwicklungen und Hallsensoren sind doppelt vorhanden und mit der Ansteuerelektronik (die auch doppelt vorhanden ist) vollständig galvanisch getrennt. Außerdem ist der Wicklungsstern über ein 30A-Relais von der Steuerelektronik getrennt, sodass im stromlosen Zustand sich die Motorwicklungen nicht durchmessen lassen.

    Um nun einen einfachen Motortest machen zu können, setze ich den kleinen BLDC-Controller ein, den ich in einem anderen Fred schon mal ausführlich beschrieben hatte. Ich teste also durch Umstecken immer nur eine Hälfte des Motors, wobei der Motor aufgrund der erwünschten Redundanz einwandfrei laufen sollte. Außerdem nutze ich nur ein 12V-Steckernetzteil (2,5 A), weil die Relais mit 12 V arbeiten und ich einen Spannungsregler dafür einsparen möchte. Das läuft in eine Richtung auch einwandfrei: Der Motor dreht (unbelastet) sanft und leise mit etwa 200 Umdr./Min. vor sich hin und nimmt dabei vom NT gerade mal 25 mA auf - soweit also alles gut. Wenn ich aber über den Controller die Laufrichtung ändere, läuft der Motor plötzlich ruppig und mit nur noch 100 Umdr., dafür aber mit einer Stromaufnahme von 150 mA. Dazu kommt, dass der Motor aus dem Stillstand manchmal nicht anläuft, genau genommen an 2 von 12 Positionen einer vollen Umdrehung! Heißt also, das einer der 6 Werte der 3 Hallsensoren irgendwie nicht mit der Position der korrespondierenden Motorwicklung harmonisiert. Dies könnte auch die Erklärung für die höhere Stromaufnahme sein. Sowie ich von Hand die Motorwelle um eine Position weiter drehe, läuft der Motor sofort an... Es scheint so, als würde der Motor an diesen 2 von 12 Positionen irgendwie bremsen! Komisch ist dabei nur, dass es in der anderen Richtung einwandfrei läuft...

    Was ich versucht habe: Ich habe erfolglos mehrere BLDC-Controller getestet, keine Verbesserung. Außerdem zeigen 3 Motore exakt das gleiche Fehlerbild, am Motor kann es also auch nicht liegen - oder vielleicht doch? Wäre es denkbar, dass der Effekt bauartbedingt ist, es eine Art Unsymmetrie gibt, welche nur in eine Drehrichtung wirksam ist?

    Ich habe auch alle Kombinationen der Motoranschlüsse durchprobiert, ohne Verbesserung. Allerdings gab es eine Verbesserung bei Erhöhung der Betriebsspannung auf 42 V: Plötzlich drehte der blockierende Motor auch aus dem Stillstand an, allerdings bleibt es bei der viel zu hohen Stromaufnahme und dem ruppigen Lauf.

    Meine einzige Erklärung wäre, dass ein Hallsensor bei diesem Motortyp nicht optimal angeordnet ist. Dabei äußert es sich in die "gute" Drehrichtung nicht negativ, weil der Sensor vor der zu bestromenden Wicklung sitzt, während in der Gegenrichtung der Sensor etwas zu weit unter der zu bestromenden Wicklung sitzt (in Bezug auf die rotierenden Magnete) und deshalb bremst. Der Hallsensor sitzt meiner Meinung nicht mittig genug zur entsprechenden Wicklung.

    Meine Frage: Hat jemand dafür eine Erklärung bzw. hat jemand schonmal bei einem BLDC-Motor beobachtet, dass der Motor in eine Richtung einwandfrei läuft, in die andere Richtung aber nicht?

    Hier mein Prüfaufbau:

    2 Mal editiert, zuletzt von Lars (22. Januar 2023 um 20:23)

  • Hier zur Erklärung noch einige Details zu dem Motor. Das Besondere an dem Motor ist, dass Motorwicklungen und Hallsensoren doppelt vorhanden sind und mittels Relais die Wicklungen von der Steuerelektronik vollständig getrennt werden können.

    Hier die Details:

    Ich habe 3 identische (und in der Zielanwendung funktionstüchtige) Motore die den gleichen Effekt zeigen: In der einen Richtung ein völlig ruhiger Lauf, in der anderen Richtung ein ruppiger Lauf mit 5x höherer Stromaufnahme. Ich frage mich, ob dies an der Konstruktion des Motors liegt, oder ob ich etwas falsch mache (zu geringe Betriebsspannung im Test, falscher Controller, o.ä.).

    Hat jemand bei einem ansonsten funktionstüchtigen (hallbasierten) BLDC-Motor einen vergleichbaren Effekt schonmal festgestellt?

    Bin für jeden Tipp dankbar!

    Einmal editiert, zuletzt von Lars (22. Januar 2023 um 20:36)

    • Offizieller Beitrag

    Hab' mit solchen Motoren noch nichts zu tun gehabt.

    Aber:

    - Bevorzugte Laufrichtung mit angemessener Stromaufnahme

    - Abschaltbare Bestromung

    Spontan hätte ich auf Antriebsmotoren für einen Rentner-Scooter (Rollstuhl) getippt. Die Relais könnten zur NOT-Abschaltung dienen, da damit der Stromkreis im Motor unabhängig vom Regler ist. Ausserdem Schließer-Kontakte und keine Öffner.

    Bei Abschaltung der ganzen Antriebseinheit (also auch der Relais) lässt sich der Motor leicht drehen => Manuelles Schieben des Rollstuhls, wenn er abgeschaltet ist, ohne dass der Motor mitdreht und somit selber bremst.

    Bevorzugte Laufrichtung ergäbe auch Sinn. Die Rollstühle brauchen bei Rückwärtsfahrt keine große Geschwindigkeit. Wie das im Motor technisch realisiert wird, weiß ich aber nicht.

    Auf dem Foto sind Dioden abgebildet. Wahrscheinlich keine Supressordioden. Und sind (siehe Kennzeichnungsring) auch nicht bidirektional, sondern unidirektional. Müsste man mal schauen, wie die Dioden verschaltet sind.....

    .
    Interesse an Elektronik für Schaukampfroboter und Kettenfahrzeuge (Fahrtregler, ESC) ? => http://www.Robots.IB-Fink.de

    Leitspruch: "Wer will, findet Wege. Wer nicht will, findet Gründe."

  • Erstmal danke für deine Ausführungen. Die Anwendung ist ein einachsiger, selbstbalancierender Stehroller zur Personenbeförderung, deshalb auch der hohe Sicherheitsanspruch beim Antrieb.

    Die beiden Dioden sind übrigens die Freilaufdioden für die beiden 12V-Relais.

    Aber ich habe den Fehler inzwischen gefunden...!

    Die Signale der Hallsensoren sahen verdächtig aus: Gemessen mit einem Fluke-DVM nur 3,8 V für High und 0,9 V für Low! Erstmal ist es so, dass die Elektronik des Stehrollers ein 3,3V-System ist und der vorliegende BLDC-Controller mit 5 V arbeitet - die Hallsensoren bekommen also etwas zuviel Power. OK, dann habe ich mal 3,3 V extern eingespeist (Foto) und siehe da: die Hallsensoren arbeiten analog und nicht digital! Es müssen also noch Komparatoren her zur Aufbereitung! Irritierend ist dabei, dass eine Richtung zufriedenstellend läuft, der Controller also eigentlich mit den verkorksten Hall-Signalen arbeitet...

    Ich werde zu allgemeinen Information gleich noch ein Bild von der redundanten Motor-Steuerung nachliefern.

    Edit: Hier die Bilder der Steuerung. Zu jeder der beiden (galvanisch vollständig voneinander getrennten) Leiterplatten gehört ein 74V-Akku. Man sieht, dass sich beide Leiterplatten einen Motor "teilen": Fällt eine Motorwicklung oder Leiterplatte aus, kann die andere übernehmen und das Fahrzeug kontrolliert zum Stillstand bringen... Da wurde richtig Aufwand betrieben (in der Mitte sieht man übrigens im gelben Block Drehratengeber und Beschleunigungssensoren):


    Anmerkung bzw. Frage: Durch die Verwendung von analogen Hallsensoren lässt sich die Position der Magnete - und damit des Rotors - viel genauer auflösen. Kann es sein, dass hier von der Ansteuerung her die bessere Sinus-Kommutierung verwendet wird, anstatt der einfacheren Block-Kommutierung? Oder braucht man für eine Sinus-Kommutierung IMMER einen Encoder (Drehgeber)?

    7 Mal editiert, zuletzt von Lars (22. Januar 2023 um 20:26)

  • DC motors have similar forward and reverse rpm and current when they are setup symmetrical.

    To get higher rpm and current forwards you would change the timing. This simultaneously leads to lower rpm and current in reverse.

    With brushed motors this means rotating the brushes 10-30° from the magnets.

    With brushless motors you rotate the sensors. I know this can be used to optimise current, torque or rpm in 1 direction. I do not know but can imagine that it may ruin the smooth working in the other direction.

    Marien

    Scraptosaur, Midnight Oil, Lt Lee, Mecha Knights, Rockey, Race Robots, Artbots, Linefollowers.

  • Thank you for the information. The motor is quality goods, so not from China. So I would also expect symmetry for optimal function. But I don't want to open the motor, so I can't go into more detail here. I also think I found the problem: The motor's Hall sensors deliver an analog output signal, but the BLDC controller expects digital signals ;(

    The problem is that it's a proprietary motor that you can't buy. Information about the engine is confidential and technical details have to be measured with a lot of effort.

    2 Mal editiert, zuletzt von Lars (20. Dezember 2022 um 10:22)

  • heureka ! Er läuft !!

    Zunächst einmal ist es ja so, dass es sich hier um einen proprietären Motor handelt, den es nicht einzeln zu kaufen gibt und zu dem es auch keine Daten gibt. Alles muss mühsam ausgemessen und ermittelt werden. Und analoge Hallsensoren kannte ich bislang bei BLDC-Motore auch noch nicht. Erschwerend kam hinzu, dass der BLDC-Controller ja weitestgehend mit den analogen Signalen gut gearbeitet hat, also eine generelle Funktion erstmal gegeben war.

    Hier meine Lösung / Konverter für Hallsensoren analog -> digital:

    Die Hallsensoren obigen Motors liefern je nach Rotorstellung eine Spannung im Bereich 0,9 ... 3,8 V, bei Vcc = 5 V. Da ich keinen LM339 liegen hatte, habe ich den Schmitt-Trigger-Inverter 74LS14 eingesetzt und testweise einen Hallsensor am 1. Inverter (Pin 1) aufgelegt. Der Ausgang geht auf den Eingang des 2. Inverters, um die Phasenlage zu korrigieren. Ohne weitere Beschaltung bliebt der Ausgang des 2. Inverters beim Drehen des Rotors konstant auf 5 V. Mit 3 Dioden 1N4002 (diese reduzieren die analoge Spannung um etwa 1,6 V) in Reihe sowie einen Pull-Down von 4K7 am Eingang des ersten Inverters hatte ich beim Durchdrehen des Rotors ein gutes Verhältnis von näherungsweise 50 % H-/L-Anteil am digitalen Eingang des BLDC-Controllers. Nach Verdrahten der anderen Signale aktivierte ich den BLDC-Controller und siehe da:

    Der Motor läuft jetzt sanft und ruckelfrei in beide Drehrichtungen ohne Mangel...🙌

    Der 74V-Motor läuft mit einer Betriebsspannung von 12 V bereits sehr gut, eine höhere Spannung ist zum (sogar leicht belasteten) Motortest absolut nicht nötig. Allerdings scheint es tatsächlich eine Art Vorzugsrichtung zu geben, in eine Richtung ist die Stromaufnahme trotz ruhigen Lauf etwa doppelt so hoch. Dies kann aber auch an der nicht ganz optimalen Aufbereitung der Hallsignale liegen, dass müsste ich mir vom Timing her mit dem Skope ansehen und ggf. noch optimieren. Aber das Problem ist gelöst und das ist wichtig!

    Hier der (provisorische) Konverter mit dem 74 LS14:

    Danke an alle, die sich "einen Kopf" gemacht haben, auch weil ich zunächst auf dem Holzweg war...

    5 Mal editiert, zuletzt von Lars (20. Dezember 2022 um 10:25)