Beiträge von Lars

    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...

    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.

    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)?

    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!

    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:

    So mal ein kleiner zwischen Stand von meinen Bau Projekten

    Kleiner zwischen Stand ist gut... Das ist schon eine Massenproduktion !

    Ich staune auch darüber, dass alles "saugend" passt...! Ja hat denn der Chinamann keine Toleranzen? Kann ich fast nicht glauben, dass der Chinamann eine Maßhaltigkeit von +/- 0 mm garantiert bzw. liefert. Oder hast du Ausschuss einkalkuliert?

    Wenn ich Aluprofile in Deutschland anfertigen lasse, dann liegt die Toleranz regelmäßig bei +/- 1 mm. Selbst beim Einsatz eines Lasers wird es nicht besser als +/- 0,2 ... 0,5 mm...

    Jedenfalls vielen Dank für das Video, ist sehr interessant.

    Von den ständigen Spam-Mails ganz zu schweigen, wo man zunächst nicht weiß, ob das eine ernste Anfrage ist oder wieder mal ein Trojaner feierlich überbracht werden soll.

    Och, dass geht aber noch viiiel besser: Man stelle sich vor, die von (fast) allen installierte Corona-App protokolliert den exakten Aufenthaltsort zu jeder Zeit mit allen in der Nähe befindlichen Personen und lädt diese Daten in Echtzeit zu irgendwelchen Behördenservern hoch!

    Bei Bedarf kann die Behörde ohne richterliche Verfügung dann auch noch das Mikrofon auftasten, ohne das der Eigentümer das mitbekommt! So kann die Behörde in den Raum reinhören und sämtliche Gespräche mitschneiden, auswerten, durch Sprachfilter laufen lassen und sonst was noch ...

    Kann man nur noch durch Entfernen des Akkus verhindern, was - zum Behördenglück - bei vielen Geräten nicht mehr geht! Und das wissen die wenigsten der nützlichen Lämmer: Einfach das Gerät ausschalten reicht nämlich nicht mehr aus ...

    Leider nur noch ein paar Tage in der Mediathek verfügbar.

    Da gibt es doch Tools um sich sämtlichen Content aus einer Mediathek auf die Festplatte zu zaubern...

    Ein Entwickler von Amazon hat mal über Details geplaudert und kundgetan, dass es vom allerersten Onlineauftritt an oberstes Ziel ist, so viel private Daten wie nur möglich vom Rechner des Kunden zu stehlen! Angeblich war dem Jeff B. von Anfang an klar, dass das Sammeln von Daten der Menschen weitaus lukrativer ist, als den Menschen unnützen Schnuddel teuer zu verkaufen...

    DIESEN Tatbestand findet ich ungeheuerlich!

    Ich habe bei Amazon mal eine kleine LED-Taschenlampe für nur einen Cent (0,01€) inkl. Versand gekauft - der günstige Preis war mutmaßlich irgendein Fehler in deren System. Die Lampe lag nach einigen Wochen tatsächlich im Briefkasten... Der Kauf kommt mir trotzdem teuer zu stehen, bedenkt man, dass ich für diese Lampe gegen meinen Willen meine Daten hergeben musste!!

    Fortsetzung:

    Hier noch die etwas kleineren Nanotec, Serie DB87S und DB42L:

    Hier mit externem Encoder:

    Hier mit internem Encoder:

    Preisvorstellung: Ein Motor (Typ S) 60 €, alle 3 für 150 € inkl. Versand

    Und hier noch die kleinsten BLDC-Motoren (a' 650 g) mit Datenblatt:

    Preisvorstellung: Beide Motoren 56 € inkl. Versand

    Bei Interesse bitte melden (habe es nicht gefunden, aber falls es geht per PN).

    Ich biete diverse Motoren "Made in Germany" bzw. "Made in USA" der Hersteller MOOG, Litton und Nanotec an.

    Die Motoren wurden testweise in Betrieb genommen und sind in einem guten Gebrauchszustand.

    Es handelt sich bei den Nanotec um bürstenlose Gleichstrommotoren mit hoher Ausgangsleistung, hoher Laufruhe und langer Lebensdauer. Durch Anbau eines Encoders können diese zu einem leistungsfähigen Servomotor für hohe Drehzahlbereiche erweitert werden. Für hohe Drehmomente können bei Bedarf leistungsstarke Planetengetriebe angebaut werden.

    Bei einige der Motoren ist der Encoder bereits montiert, einige Motoren haben eine durchgehende Welle (Details bitte den Fotos entnehmen).

    Die beiden MOOG sind wahre Drehmomentmonster (fast 10 Nm Spitze) und haben Hallsensoren verbaut.

    Technische Daten füge ich mit an, können aber auch bei den Firmen im Netz nachgesehen werden.

    Diese BLDC-Motoren stehen insgesamt zum Verkauf:

    Preisvorstellung: Ein Motor 130 €, beide 230 € inkl. Versand

    Nachfolgend die Nanotec-Motoren mit Nennleistung 660 W, 440 W und 220 W:

    Preisvorstellung: Ein Motor (Typ L) 80 €, beide 150 € inkl. Versand

    Preisvorstellung: Ein Motor (Typ M) 70 €, beide 130 € inkl. Versand


    forum.roboteers.org/wcf/index.php?attachment/2871/

    forum.roboteers.org/wcf/index.php?attachment/2872/

    forum.roboteers.org/wcf/index.php?attachment/2873/

    Ich steuere sie über die klassischen Servo-Pulse an,

    Das ginge mit den Billigreglern auch! Was (noch) fehlt ist ein Arduino-Nano für 3 € zwischen Empfänger und Regler, der das PPM-Summensignal auswertet und in sinnvolle Ansteuersignale für den Regler umsetzt. Da arbeite ich dran...

    Beim Regler mit dem JY01 stellt man anscheinend nur über den Shunt den

    Maximalstrom ein und es läuft einfach so.

    Richtig. So wird der maximal zulässige Strom bei 20 A abgeregelt. Diese 20 A muss bei einer Motorblockade im Zweifel ein einziger MOSFET dauerhaft vertragen, ohne das die Verluste durch Kommutierung auf die anderen FETs verteilt werden. OK, genau genommen sind es zwei FETs (1x H / 1x L) über die der Strom bei einer Motorblockade dauerhaft fließt.

    Aber dennoch: Der Anwender bzw. Programmierer bestimmt, ob und wie schnell der maximal zulässige Motorstrom (Serie: 20 A) beim Billigregler erreicht wird. Das wird über die PWM gemacht (Eingang Speed-Control), nämlich mit der Schrittweite und der Geschwindigkeit, wie schnell die PWM von 0 auf 96 % ansteigt. 96 % deswegen, weil 100 % nicht geht (Bootstrap-Prinzip beim H-FET, der N-Kanal-H-FET kann nicht dauerhaft eingeschaltet werden).

    2.9 kg kommt mir auch sehr schwer vor. Meine Skateboardmotoren haben ca. 750g und die finde ich vom Gewicht im Feather schon bedenklich.

    Von den ganzen Gewichts-Regeln bei den Bots habe ich tatsächlich keine Ahnung, man müsste die Leistungsdaten der einzelnen Motoren mal vergleichen, um dann ggf. auf Minimum-Gewicht zu optimieren. Der vorgestellte Regler steuert ja auch andere BLDC-Mot. an, muss ja nicht dieser Hoverboardmotor sein...

    Was setzt du bei den 750g-Skateboardmotoren eigentlich für Regler ein und wie sind da die Leistungsdaten?

    Aber ich habe zwei Fragen zur Ansteuerung:

    - Es gibt Pin 16 "Speed Control" - akzeptiert der ein "normales" Servo-Signal (1...2 ms H), oder muss da tatsächlich eine analoge Spannung (oder PWM 0...100%) angelegt werden ?

    - Bei den beiden "Analogeingängen" Pin 1 (Brake) und Pin 16 (Speed) steht: "0...2.5V or 0...5V". Woher weiss der IC, welchen Spannungsbereich man nutzen will ?

    - Pin 5 (Z/F) für die Richtung: Ich gehe also davon aus, dass die Speed an Pin 16 der Absolutbetrag ist, und Pin 5 bestimmt, in welche Richtung der Motor laufen soll

    Also eigentlich ist die Ansteuerung sehr einfach, auch bei minimalen Programmierkenntnissen. Alles wird digital gesteuert und läuft mit Vcc = 5 V, es gibt keine Notwendigkeit irgendwo 2,5 V einzuspeisen (hier können auch Übersetzungsfehler in den Beschreibungen vorliegen).

    Der Pin "Speed-Control" akzeptiert ein PWM-Signal mit einer Frequenz im Bereich 50 ... 2000 Hz. Eine Funke (PPM-Summensignal) ist natürlich nicht direkt anschließbar (aber daran arbeite ich gerade).

    Ebenso verhält es sich mit den anderen Eingängen:

    BRAKE: 0 V = Normaler Betrieb, 5 V = Bremsen

    Z/F: 0 V = Vorwärts, 5 V = Rückwärts

    Was ich allerdings mal versuchen werde sowie es die Zeit zulässt: Auf den Eingang "BRAKE" ein 50Hz-PWM-Signal auflegen und zwar invertiert zum PWM-Signal "Speed-Control". Wenn nicht beschleunigt wird, wird gebremst, wobei beim Auftouren das nicht hinderlich ist - eher im Gegenteil - da der Strom in der Motorwicklung ohnehin noch eine Zeit lang über die Body-Dioden der L-FETs weiterfließen würde.

    Ich kann nicht sagen ob das funktioniert (hängt vom Motor-Controller JY01 ab), aber mit der richtigen Frequenzabstimmung (in Bezug auf die Induktivität des Motors) lässt sich der Motor noch direkter ansteuern, fast schon wie ein Schrittmotor, aber mit vollem Drehmoment! Es müsste dann auch nicht mehr separat gebremst werden, bei Gas = 0 bleibt der Motor SOFORT stehen, bleibt im Stillstand gebremst und wird bergab auch nicht mehr schneller ...

    Hier als Ergänzung noch ein Anschlußplan für den Regler:

    Für diejenigen, die Spaß am Programmieren haben und gern etwas mehr Nutzen herausholen wollen: Es gibt einen Signalausgang (SC) als Indikator für die aktuelle Drehzahl des Motors (Geschwindigkeit). Genau genommen ist es ein exklusiv-oder (XOR) der 3 Hallsignale, das Signal wird von dem Motor-Controller JY01 (Pin 6) generiert.

    Programmier-Beispiel 6,5"-Hoverboardmotor: Pro Rad-Umdrehung werden 90 Impulse generiert. Im Leerlauf (bei 12 Umdr./s) sind das 1080 Impulse pro Sekunde, die ich auf einen Interrupt (IRQ) meines Arduino-Nano legen würde. Im IRQ-Handler wird mit jedem Impuls ein Timer ausgelesen und neu gestartet, das Timer-Ergebnis wird gespeichert (und kann dann jederzeit vom Hauptprogramm gelesen und ausgewertet werden). Dafür werden 20 bis 30 Maschinenbefehle benötigt, Ausführungszeit bei 16 MHz Takt somit um 2 µs pro IRQ. Heißt: Selbst wenn zwei BLDC-Regler auf zwei IRQ des Nano aufgelegt werden, liegt die Auslastung des µC durch Abarbeitung der IRQ bei maximaler Drehzahl beider Motoren bei unter 1 %.

    Damit ergeben sich für die Steuerung neue Möglichkeiten - Beispiel:

    1.) Der µC (z.B. Arduino-Nano) hat eine direkte Rückmeldung des Motors auf die Ansteuerbefehle, kann also die Umsetzung durch den Motor überwachen.

    2.) Fehlersituationen wie z.B. Motorblockade können schneller erkannt werden.

    3.) Es kann eine Drehzahl-Regelung realisiert werden, wobei über die Funke dann der Sollwert vorgegeben wird und der µC die Drehzahl über die PWM und abhängig von der Belastung des Motors selbst einstellt. Ähnlich einem PID-Regler sollte sich so noch mehr Dynamik erreichen lassen, zumal die Bremsfunktion effektiver überwacht und genutzt werden kann. Damit ist eine bessere Motorkontrolle und z.B. noch schnellere Richtungsänderung möglich.

    Und nebenbei würde das Fahrzeug bergab auch nicht mehr schneller werden...

    Mein Tipp für einen ca. 10 kg leichten Bot mit zwei BLDC-Motoren:

    Ein 6,5"-Hoverboardmotor mit 350 W wiegt 2,9 kg und liefert bei 20 A bis zu 10 Nm Drehmoment. Dazu sind die Räder aus Vollgummi (= pannensicher) und ziemlich robust. Schwachpunkt könnte die 16 mm-Hohlachse sein, also die einzige Radaufhängung aus der aus einer 6 mm-Bohrung die Motorzuleitung herausgeführt wird. Dafür sind die Teile um 20 € zu bekommen und zusammen mit dem 13€-Regler eigentlich der ideale Bot-Antrieb für den preisbewussten Geldbeutel...

    FORTSETZUNG:

    3.) Einsatz / Verbesserung / Tuning

    Nachfolgend betrachte ich nur noch die neue Reglergeneration (mit KK & Bremse ab 2021). Zunächst einmal sehe ich außer im Preis den Vorteil in diesem chinesischen Motor-Controller JY01. Dieser Chip beinhaltet die Kommutierungstabellen (vor / rück), eine Fehlerkorrektur, eine Strombegrenzung, eine getaktete Funktionsbremse und übernimmt die komplette Ansteuerung der MOSFET-Treiber für 3 Halbbrücken (= 6 N-Kanal MOSFETs). Nachdem die 2017er Version des JY01 noch lästige Wartezeiten erzwungen hat, reagiert die aktuelle Version schlagartig auf Ansteuerbefehle, womit sich eine dynamische Motorkontrolle realisieren lässt.

    3.1) Die Strombegrenzung beim Billigregler

    Laut Verkaufsofferte vom Chinamann kann der Regler einen Strom von 16 ... 20 A liefern. Hierzu wurde klassisch im Massezweig der MOSFETs ein Mess-Shunt von 0,005 Ohm vorgesehen. Laut Data Sheet des JY01 spricht die Strombegrenzung bei 100 mV an, was mit 0,005 Ohm x 20 A auch soweit passen würde. Die Strombegrenzung soll MOSFETs und Motor schützen.

    Die Idee ist nun, höhere Ströme zu realisieren, um größere Motoren verwenden zu können und / oder um noch mehr Dynamik zu erreichen. Höhere Ströme heißt aber auch, kontrollierte und bessere Kühlung der MOSFETs zu garantieren - vielleicht sogar die MOSFETs gegen bessere Typen auszutauschen. Wenn man das macht, muss auch die 20A-Strombegrenzung angepasst werden. Zudem sollten alle stromführenden Leitungen im MOSFET-Bereich verstärkt werden (1,5 mm² Kupferdraht auflöten).

    3.2) Kühlkörper (KK)

    Hier besteht bereits in der ausgelieferten Version großer Verbesserungsbedarf, denn der KK ist nur mit zwei kleinen Schrauben an der Leiterplatte befestigt. Die MOSFETs liegen am KK zwar irgendwie auf, sind aber nicht mit dem KK wärmeschlüssig verschraubt. Die Folge: Hält man die Schaltung gegen das Licht, erkennt man einen kleinen Luftspalt zwischen MOSFET und KK. Das ist natürlich Murks, die MOSFETs werden kaum wirksam gekühlt und sollten eigentlich nur so stark belastet werden, als wenn kein KK montiert wäre!

    Beispiel für eine ungenügende MOSFET-Montage / Luftspalt deutlich sichtbar:

    Hier bietet sich die erste Möglichkeit zur Verbesserung an: 6 MOSFETs vorsichtig auslöten, den KK demontieren, 6 Löcher (3,0 mm) in den KK bohren und die MOSFETs mit 3mm-Isolierbuchsen und langen M3-Schrauben und Wärmeleitpads auf dem KK fest montieren. Danach wieder die Leiterplatte montieren und die 6 MOSFETs einlöten. Abschließend die MOSFETs durchmessen: Die 6 Kühlfahnen (= MOSFET-Drain) müssen vom KK elektrisch isoliert sein (Isolation über ISO-Buchse & Wärmeleitpad).

    Wer allerdings höhere Ströme realisieren möchte, sollte andere MOSFETs und einen besseren KK einsetzen.

    3.3) MOSFETs

    Zunächst werden die verwendeten MOSFETs identifiziert, was auch für eine Reparatur hilfreich sein könnte - z.B. wenn eine kostengünstige Alternative mit gleichen Daten gesucht wird. Die 6 verwendeten MOSFETs sind vom Gehäusetyp TO-220. Mein Vorschlag wäre, bei einem Tuning / Austausch ebenfalls TO-220 einzusetzen, da die größeren TO-247 von den Anschlüssen bzw. Platzbedarf her etwas tricky sein könnten. Die Verwendung mehrerer MOSFETs parallel ginge zwar auch, soll hier aber nicht weiter betrachtet werden.

    MOSFET-Bezeichnung im 2017er-Regler: NCE6990 (UDS = 69 V, ID = 90 A, RDS(on) = 0,0062 Ohm)

    MOSFET-Bezeichnung im 2021er-Regler: 095RONT (UDS = 90 V, ID = 120 A, RDS(on) = 0,005 Ohm)

    Von Jahr zu Jahr schreitet die Entwicklung neuer MOSFETs voran, es wird also immer wieder mal MOSFETs mit besseren Werten zu günstigeren Preisen geben. Meine aktuelle Empfehlung für höhere Ströme ist der nachfolgende Typ, wobei mein Ziel 45 A ist (die Strombegrenzung ist dann anzupassen).

    MOSFET-Alternative für max. 45 A in TO-220: IRLB3036 (UDS = 60 V, ID = 370 A, RDS(on) = 0,0019 Ohm)

    Kosten: ca. 3 € / Stck. Etwas nachteilig ist die geringere UDS, wodurch ich die Schaltung vorzugsweise in einem 36V-System einsetzen würde (mit Ladeschlußspannungen von 42 V). Vermutlich könnte man mit der Betriebsspannung noch etwas höher gehen, wenn über die MOSFETs ein paar schnelle Suppressor-Schutzdioden vorgesehen werden.

    Natürlich muss der Einsatz stärkerer MOSFETs ausgetestet werden, da die von der Schaltung vorgegebenen MOSFET-Treiber in der Lage sein müssen, die ggf. höheren Gate-Kapazitäten zeitnah umzuladen. Da über die China-MOSFETs und deren Treiber nicht viel bekannt ist, müssen eigene Belastungstest durchgeführt werden (Reihenfolge: Leerlauf, Teil- und Volllast). In keinem Fall dürfen bei vergleichbarer Belastung die neuen MOSFETs wärmer werden als die Serien-MOSFETs, was auch mit hohen Drehzahlen getestet werden sollte (ton- / toff-Zeiten sowie ggf. höhere Schaltverluste durch langsameres Durchsteuern / Sperren beachten). Auf möglichst kurze Motor-Zuleitung ist zu achten.

    An dieser Stelle ein weiterer Hinweis: Der Regler wird für einen Spannungsbereich 9 ... 60 V beworben. Um die MOSFETs voll durchzusteuern sollte die Betriebsspannung jedoch min. 12 V betragen, noch besser wären 15 V.

    3.4) MOSFET-Treiber

    In der alten 2017er-Version wurden noch drei IR2101 eingesetzt, die zwar schnell sind aber nur relativ kleine Gateströme liefern können (+0,13 A / -0,27 A). Für den Hochstrom-Schaltbetrieb eines MOSFET sollte seine Gatekapazität möglichst schnell ge- bzw. entladen werden, eben damit der FET möglichst schnell leitend gemacht bzw. gesperrt werden kann. Hierzu sind hohe Treiberströme wünschenswert (> +/-1 A), da in der Regel die Gatekapazität eines MOSFETs umso größer wird, je kleiner der RDS(on) ist. Wer also andere (bessere) MOSFETs für höhere Ströme einsetzen möchte, sollte diesen Punkt beachten. Der auf dem 2021er-Regler verbaute MOSFET-Treiber EG2134 scheint dafür eine gute Voraussetzung zu sein. Das 20-polige IC liefert laut Datenblatt +1,2 A / -1,4 A.

    Bild vom MOSFET-Treiber EG2134 oberhalb Motor-Controller JY01:

    Abschließend Prinzipbeschaltung und Datenblatt zum MOSFET-Treiber EG2134:

    Datasheet EG2134 Treiber für 6 MOSFETs der neueren Generation mit Bremse.pdf

    4.) Fazit & Aussichten

    Der vorgestellte BLDC-Regler mit dem JY01 in der 4. Version erscheint mir für den dynamischen Einsatz in einem Bot brauchbar. Die Schaltung bietet eine solide und mit 13 € kostengünstige Grundlage, auf der man aufbauen kann.

    Durch Austausch der MOSFETs und Änderungen an der Strombegrenzung kann man die Leistung weiter erhöhen, um höhere Motorströme zu erreichen. Etwas Nacharbeit ist im Bereich des KK nötig, damit die Serien-MOSFETs besser gekühlt werden (Verlustwärme muss vom FET stets optimal abgeführt werden). Stärkere MOSFET am besten auch mit einem besseren KK versehen.

    Der Hit an der Schaltung ist für mich der Motor-Controller JY01: Dieser Chip übernimmt vollständig die MOSFET-Ansteuerung mit der folgerichtigen Kommutierung für bürstenlose Gleichstrommotore, sodass man sich um fast nichts mehr kümmern muss. Ein kleiner µC (z.B. Arduino-Nano für 3 €) könnte dann 2 oder 4 dieser Regler parallel über PWM ansteuern (somit 2 oder 4 brushless Mot. a' 250 ... 600 W) .

    Wenn man jetzt noch das PPM-Summensignal der Funke auf einen Interrupt-Eingang legt und auswertet, hat man ein komplettes System für wenig Geld zusammengestellt, über das man selbst die volle Kontrolle behält...


    In folgender technischer Betrachtung geht es um BLDC-Regler bzw. brushless Controller, die mit Hallsensoren arbeiten und mit Betriebsspannungen bis 60 V betrieben werden können. Weiterhin sollen die Regler BLDC-Motore bis ca. 0,6 kW mit hoher Dynamik ansteuern können und möglichst kostengünstig in der Anschaffung sein - die Preise für die nachfolgend vorgestellten Regler liegen zwischen 8 und 13 € inkl. Versand.

    0.) Vorgeschichte:

    Für meine Projektarbeit "Bot mit bürstenlosen Motoren" suchte ich lange Zeit nach Reglern, die in der Lage sind BLDC-Motoren mit 1,5 kW (Quelle: Elektroroller) möglichst dynamisch anzusteuern. Schnell wurde klar das ein derartiger Regler ab 400 € aufwärts kostet, was mir zu teuer erschien. Die Alternative ist ohnehin viel interessanter: selbst bauen! Da mir dafür aber die Zeit fehlte - insbesondere das für 4 Leiterplatten nötige Leiterplatten-Layout schreckte mich ab - habe ich alles eine Nummer kleiner projektiert, nämlich mit 4x 0,4 kW-Mot. Nun war es möglich diese kleinen Chinaregler einzusetzen, die angeblich 16 ... 20 A bei bis zu 60 V liefern können.

    Wie im Parallel-Thema "Brushless-Fahrtregler: Grundlagen und Nachbau" bereits beschrieben, gibt es grundsätzlich zwei Typen von BLDC-Reglern. Man stelle sich dazu einen aufgebockten Bot vor, bei dem über die Funke Vollgas gegeben wird: Die Räder würden mit höchster Drehzahl im Leerlauf touren. Wird jetzt der Steuerknüppel schlagartig auf Gas = 0 gestellt, unterscheiden sich die Regler: Beim Typ 1 (eBike) würden die Räder gemütlich abtouren bis diese von selbst stehen bleiben, was durchaus einige Sekunden dauern kann (unbelastet). Beim Typ 2 (Bot) dagegen bleiben die Räder bei Gas = 0 quasi SOFORT stehen und sind im Stillstand auch blockiert / gebremst! Letzteres verstehe ich unter einer dynamischen Ansteuerung!

    1.) Die erste Generation billiger BLDC-Regler um 2017 (Spezifikation: 35 V / 16 A):

    Ich habe zwei Regler gekauft und auf einen Prüfstand mit einem BLDC-Hoverboardmotor (350 W) getestet, wobei die Ansteuerung mit einem Arduino erfolgte. Die Reaktion des Motors sollte dynamisch sein, immerhin ist der Einsatz in einem Bot vorgesehen und nicht in einem eBike oder eScooter (Personenbeförderung).

    Die erste Generation Billigregler war jedoch lausig, eine dynamische Ansteuerung war nicht möglich; Beispiel: Bei der Steuerung von Vollgas-Vorwärts auf Vollgas-Rückwärts macht der Regler stets eine Pause von einer Sekunde, heißt also, dass das Rad nach dem Abtouren erst für eine Sekunde absolut stillstehen MUSSTE (= Regler-Vorgabe!) , bevor Richtungswechsel und Vollgas wieder zugelassen wurden. Dazu kam dann auch noch, dass beim Vollgas-Auftouren der Regler von sich auch eine Art "Hochlauf-Rampe" (hieß im Datenblatt treffend "Smooth turn-on") eingefügt hat, was dazu führte, dass selbst der unbelastete Motor im Prüfstand wie in Zeitlupe auftourte.

    Jedenfalls ist der Regler für den Einsatz im Bot unbrauchbar. Für batteriebetriebenes Kinderspielzeug oder ein eBike vielleicht, da tourt nichts dynamisch unter Volllast auf und gebremst werden beim Abtouren muss auch nicht.

    1.1) Technische Details zum Billigregler und dem interner Motor-Controller JY01:

    Vom Prinzip her besteht der Regler aus Motor-Controller-IC, 3 MOSFET-Treiber und 6 N-Kanal MOSFETs, alles zusammen mit einer Spannungsversorgung auf einer doppelseitigen Leiterplatte von 4 x 6 cm.

    Nachfolgend Bilder von der 2017er Leiterplatte - gekauft für 8 € inkl. Versand:

    Die eigentliche Frage blieb: Warum reagiert der Regler auf meine Befehle nicht spontan, sondern fügt immer irgendwelche Wartezeiten ein? Schnell fand ich heraus, dass es auf der Platine einen dominanten Master-Chip mit der Bezeichnung JY01 gibt. Hierzu fanden sich auch Unterlagen, die das langsame Anlaufverhalten bestätigen. Der Chip ist dennoch interessant, denn in diesem winzigen Chip sind sämtliche Kommutierungstabellen und eine Fehlerkorrektur hinterlegt, wobei der Vorteil scheinbar in der recht einfachen / fehlertoleranten Ansteuerung liegt. Nachteil: Dieses IC überschreibt stur meine Arduino-Ansteuerung und setzt seine eigene (undynamische) Verfahrensweise durch. Es scheint, es soll ein zu großer Motorstrom vermieden werden, obwohl der Regler über eine Strombegrenzung verfügt und die Ströme beim Auftouren im Leerlauf nicht einmal 15 % vom Begrenzungswert erreichten.

    Prinzipbeschaltung vom Motor-Controller JY01 mit MOSFET-Treiber IR2101:

    2.) Völlig neue Generation billiger BLDC-Regler ab 2021 (neue Spezifikation: 60 V / 20 A):

    Nachdem die erste Regler-Generation ab 2017 eher eine Spielerei und für den dynamischen Einsatz in einem Bot nicht tauglich war, kaufte ich zwei weitere Regler im Jahr 2021 nach, da ich von neuen Funktionen gelesen hatte. Die neuen Regler unterscheiden sich optisch durch einen bereits montierten Kühlkörper (KK), haben aber auch den JY01 verbaut, was erstmal abschreckt. Obwohl das IC den gleichen Aufdruck wie 2017 hat - also keine Versionskennzeichnung oder Herstellerjahr erkennbar ist - handelt es sich um eine völlig neue Variante! Es tauchen auch neue Data Sheets auf, die von einer 4. Version berichten - UND DIESE NEUE VERSION VOM JY01 HAT ES IN SICH!

    Bild von der 2021er Leiterplatte mit Kühlkörper - gekauft für 13 € inkl. Versand:

    Wer meine Berichte liest weiß in etwa, dass ich Regler und Motoren auf einem Prüfstand stets heftigen Belastungstests unterziehe, z.B. indem ich das vorwärts drehende Rad mit Gewalt (und dicken Lederhandschuhen!) rückwärts drehe, wobei es zwar zu hoher Stromaufnahme kommt, aber weder MOSFETs beschädigt werden dürfen (innerhalb der Regler-Spezifikation), noch ein Kommutierungsfehler auftreten darf.

    Die Erwartung bei diesem Belastungstest ist, dass der Regler das Rad brutal weiter tourt, also aus der Motorblockade heraus vollstes Drehmoment ermöglicht - was übrigens ohne Hallsensoren kaum möglich sein dürfte.

    Diesen ersten Test hat der Regler bestanden - ich konnte ab etwa 21 V das Rad nicht mehr festhalten, der Motor drehte kraftvoll immer weiter, ohne das der Regler in eine Abschaltung wegen Fehlersituation oder Überstrom geht: TOP! (Testdurchführung übrigens mit einem strombegrenzenden Netzteil 0...35 V / 0...10 A).

    Der danach folgende Dynamiktest überzeugte ebenfalls: Bei der Umschaltung von Vor auf Rück aus hoher Drehzahl heraus gab es keinen (vom JY01 erzwungenen) Stopp-Zyklus mehr, vielmehr fand der Richtungswechsel derart schlagartig statt, dass mir der Radnabenmotor fast aus der Befestigung gerissen wurde! SO MUSS DAS SEIN!

    Das IC JY01 (mutmaßlich 4. Version) überlässt es jetzt also dem Programmierer bzw. Anwender, ob und wie Reglerelektronik und Motor geschützt werden! Es gibt keinen "Smooth turn-on" mehr und auch die elendigen (vom JY01 eingefügten) Wartezeiten gibt es nicht mehr. So erwarte ich das von einem Regler! Nachteilig ist das für Anfänger dieser Anwendung, da diese größere Fehler von der Ansteuerung her machen könnten, eben weil der JY01 jetzt nicht mehr die "schützende" Kontrolle über die Befehlsausführung ausübt und Ansteuerungsfehler 1:1 durchlässt.

    Die neuere Generation der Billigregler (bzw. des Motor-Controller JY01) zeigt für Bot-Nutzung eine durchaus brauchbare Dynamik, zumal sich die elektrischen Eckdaten von 35 V / 16 A auf 60 V / 20 A verbessert haben. Die 60 V sind eine echte Hausnummer, so lassen sich 48V-Systeme mit Ladeschlußspannungen von 56 V aufbauen.

    UND DANN DER HAMMER: Es gibt sogar eine eingebaute und bei Bedarf zuschaltbare Bremse, welche bei höheren Drehzahlen vollautomatisch als "getaktete Stotterbremse" arbeitet, ohne das sich der Anwender um die nötige Drehzahlermittlung und Berechnung der Brems-PWM kümmern muss! Die dabei erreichte Dynamik ist absolut akzeptabel und natürlich bleibt das Rad im Stillstand vollständig blockiert - wie das bei einem Bot sein sollte.

    Diese Bremsfunktion gab es bei der 2017er Leiterplatte noch nicht. Etwas nachteilig ist hier, dass der Bremsstrom nicht abgeregelt wird und viel höher sein kann, als der beim Beschleunigen max. fließende Motorstrom. Das kann zu einer Überhöhung der Betriebsspannung führen (Bremstaktung: Motor ist jetzt Generator, Strom fließt über Body-Dioden in die Batterie) und belastet die L-MOSFETs der 3 Halbbrücken stärker, weil diese dann die Bremsenergie kurzschließen / verdauen müssen. Auch hier ist also der Anwender in der Pflicht, selbst die Belastungsgrenzen zu ermitteln und geeignete Maßnahmen zum Schutz von Motor & Elektronik zu realisieren.

    ... FORTSETZUNG FOLGT (hier Begrenzung auf 10.000 Zeichen)

    - Die o.g. Body-Diode ist nach meinem Geschmack zu lausig (=leistungsarm).

    Sehr gute Regler machen zu exakt diesem Zeitpunkt den parallel zur Body-Diode angeordneten MOSFET leitend, wodurch die Verluste der Diode vernachlässigbar werden. Ich habe das noch nicht realisiert, weil das exakt synchronisiert werden muss. Hauptproblem ist dabei, dass die meisten MOSFET-Treiber mit einem Bootstrap-Kondensator arbeiten, welcher geladen sein muss, bevor der H-FET angesteuert wird. Dies wird realisiert über den eigenen L-FET innerhalb der Halbbrücke, oder - etwas tricky - über die Motorwicklung und den durchgesteuerten L-FET der anderen Seite. Das sollte dann aber auch "der richtige" L-FET sein, eben jener, der gemäß Kommutierungstabelle als nächstes an der Reihe wäre...

    So zumindest habe ich das gelöst und kein MOSFET ist abgeraucht.

    Ich hatte mal von Sabbertooth einen Regler zum Testen (und einen zweiten zum Reparieren). Der macht das anders. Also immer die MOSFETs durchsteuern. Sowohl im Puls, als auch in der Pulspause (Kurzschlus der Motorwicklungen) Damit hängt der Motor bei kleinen Geschwindigkeiten "gut am Gas", aber mir kommt es dann so vor, als wenn ich beim Autofahren immer kontinuierlich Vollgas fahre und die Geschwindigkeit mit der Bremse reguliere.... <X

    Das klingt für mich nach einem Typ2-Controller. Vielleicht macht er auch noch die oben beschriebene Ansteuerung der MOSFETs zur Entlastung der Body-Dioden.

    Meiner Meinung nach macht es einen großen Unterschied von der MOSFET-Ansteuerung her, ob ich einen MOSFET-Treiber mit Bootstrap-Kondensator einsetze, oder eine echte weitere Spannungsquelle habe, welche die +15 V über Betriebsspannung für den H-FET (N-Channel) dauerhaft bereit stellt. Im Fall Bootstrap-C geht schon mal nicht, den H-FET dauerhaft durchzusteuern (PWM= 100 %). Zudem muss IMMER ein L-FET durchgesteuert werden, bevor das Gate vom H-FET seinen Impuls aus dem Bootstrap-C erhält. Darauf muss übrigens auch eine asynchrone Strombegrenzung abgestimmt sein, welche nach einer Überstrom-Abregelung die Ansteuer-PWM wieder frei gibt - es darf NIE mit einem H-Puls weitergemacht werden!

    In meinem Projekt eQuad2009 hatte ich das so gelöst: Beim Beschleunigen / Auftouren verhält sich der Regler wie ein Typ2, wird Gas rausgenommen wie ein Typ1 (= Freilauf, keine MOSFET-Ansteuerung). Das Typ2-Beschleunigen mache ich so: Die Hallsensoren legen per Tabelle fest, welche beiden Halbbrücken als nächsten angesteuert werden müssen (wie man Hallsignale verifiziert hatte ich hier bereits weiter oben geschrieben). Bei den beiden Halbbrücken sind beim Auftouren immer 3 MOSFETs beteiligt: Die PWM wird dabei auf jene Halbbrücke gelegt, welche gerade gemäß Kommutierungstabelle den H-FET leitend hat, wobei der H-Puls den H-FET und der L-Puls der PWM eben den L-FET über die MOSFET-Treiber ansteuert. Bei der zweiten Halbbrücke wird der L-FET dauerhaft durchgesteuert! Dieser erhält keine PWM sondern wird für die gesamte Dauer des aktiven Hallsignals leitend gemacht. Und wenn das kurz vor der Freigabe der PWM auf die H-aktive Halbbrücke gemacht wird, kann dort sogar mit einem H-Pulse begonnen werden, eben weil der Bootstrap-C dann bereits über die Motorwicklung umgeladen wurde. Das ist vielleicht nicht ganz sauber, aber funktioniert.

    Der Witz ist eben, dass, wenn diese Art der Ansteuerung auf den Motor abgestimmt wurde (auch deshalb Prüfstand, um Parameter anpassen zu können), der Motor eben beim Auftouren nicht abbremst, da ja kurzfristig beide L-FET leitend sind. Ich hatte hierzu Strom- und Temperaturmessungen an Motor und MOSFETs durchgeführt und festgestellt, dass dies die besseren Ergebnisse liefert.

    Allerdings: Viele Regler arbeiten mit einer hohen MOSFET-Schaltfrequenz von > 16 kHz, mutmaßlich um den Anwender die störenden Geräusche zu ersparen. Auch hier habe ich an meinem 5kW-Selbstbauregler sowie am 2kW-Motor von eQuad Messungen durchgeführt und festgestellt, dass der beste Wirkungsgrad bei 2500 Hz liegt und nicht bei 16000 Hz (oder dazwischen oder gar noch höher). Vorgehensweise: Bei 16 kHz konnte ich die Motorwelle bei einer PWM von 5 % mit einem dicken Handschuh am langsam drehenden Ritzel festhalten (blockieren), bei 2,5 kHz hat es den Handschuh in das Ritzel gezogen, Festhalten unmöglich! Und das war bei einer PWM von 5 %, also ca. 2,25 V von meinen 48 V Nennspannung!!

    Ganz nebenbei wurden so auch meine MOSFETs entlastet: Bei 2,5 kHz sind die Schaltverluste wesentlich geringer, die MOSFETs (übrigens IRFP4368 mit einem RDS(on) von marginalen 0,0018 Ohm) bleiben kalt ...

    Deshalb Prüfstand, deshalb Abstimmung von Motor & Regler ...