- 3D-Druck Einstieg und Tipps         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: DIY Brushless Regler 60 A mit Hall Sensor

  1. #1
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406

    DIY Brushless Regler 60 A mit Hall Sensor

    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe mir als Ziel gesetzt, ein elektrisch angetriebene Bierkiste zu bauen. Die Mechanik sehe ich als unproblematisch, die größte Herausforderung sehe ich momentan im Antrieb.
    Das ganze soll mehrere Ausbaustufen haben und zunächst mit 3 12V Starterbatterien in Betrieb genommen werden, später mit Lithium-Akkus und ggf. einem eigenen BMS.

    Um meine Berechnungen mit praktischen Messwerten zu bestätigen habe ich einen Turnigy SK3 5065 Motor mit 235 KV gekauft und mit einem einfachen Regler (Hobbyking ESC HK-60A) an einem alten Fahrrad montiert. Damit konnte ich an 12 V die angepeilten 12 km/h erzielen (mit der entsprechenden Übersetzung).

    Da der Regler Sensorlos arbeitet muss man das Fahrrad natülich anschuppsen...

    Jetzt folgt der nächste Schritt: ein eigener Brushlessregler der den Motor effekiv ansteuert, geregelt anfahren kann und die aktuellen Werte mitschreibt (Strom, Spannung, Temperatur etc. ...)

    Hierzu habe ich zunächst den vorhandenen Regler von seiner Schrumpfschlauch-Verpackung befreit und versucht die verwendeten Bauteile ausfindig zu machen:

    Zunächst ist ein Step-Down-Wandler mit einem nachfolgenden LM7805 vorhanden. Weiterhin ein Atmel Mikrocontroller.
    Die Mosfets ( Aufschrift M3016D 543 / 545 ) sind für High- und Low-Site jeweils im Dreieckpack parallel geschaltet. Getrieben werden sie mit einem Treiber ( 5109B PCDI - der TI LM5109B scheint naheliegen).
    Was ich vermisse ist ein Shunt!

    Wie wird hier die Strommessung umgesetzt? Kann es sein, dass hier der Spannungsbafall über die Mosfets betrachtet wird? Es scheinen keine weiteren Bauteile vorhanden zu sein, die den Strom in irgendeiner weise messen könnten.

    Gruß Erik
    Meine Projekte auf Youtube

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    36
    Beiträge
    5.070
    3 Möglichkeiten, entweder keine Strommessung oder, wie du schon geschrieben hast, über die Mosfets oder was auch noch geht (allerdings nur mit OP), den Spannungsabfall an der Leiterbahn messen.

    MfG Hannes

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Ich bin mit einem ähnlichen Projekt zugange. Als Motor zum Testen habe ich einen Nabenmotor, der für ein Fahrrad gedacht ist. Er hat daher Sensoren. Um erstmal etwas funktionierendes zu haben, hab ich mir diesen Controler beschafft. Das hat dann schon mal funktioniert.

    Klicke auf die Grafik für eine größere Ansicht

Name:	PIC_0233.jpg
Hits:	32
Größe:	63,8 KB
ID:	32351

    Obwohl für diesen Test nicht nötig hab ich ihm aber schon mal einen Kühlkörper spendiert. Der war in einem früheren Leben mal ein CPU-Kühler.

    Klicke auf die Grafik für eine größere Ansicht

Name:	PIC_0231.jpg
Hits:	29
Größe:	77,4 KB
ID:	32352

    So weit ich die Ansteuerung eines BLDC verstanden habe, braucht man den Strom nicht. Das einzige, was man braucht, ist die Position des Rotors, um das Feld des Stators passend auszurichten. Wie man die Position des Rotors bestimmt, über Sensoren oder die Back-EMF, ist eigentlich egal. Den Strom braucht man dazu nicht. Auf meinem Controler erkannt man einen Shunt. Ich vermute aber, daß er für den Überstromschutz gebraucht wird.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  4. #4
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    Schön zu lesen, dass ich mit dieser Idee nicht alleine bin!

    Welche Leistung besitzt der Motor denn?

    Der von mir ausgewählte Motor besitzt eine Leistung von ca. 2,5 kW und ist für 60 A angedacht. Der Motor hat einen Innenwiderstand von ca 20 Milliohm. Wenn ich diesen mit 36 Volt bespaße fließen deutlich mehr Ampere als die angegeben 60 A. Die Tage werde ich aber nochmal die Induktivität messen um zu gucken wie deren Einfluss darauf ist. Nichtsdestotrotz habe ich im Stillstand einen zu hohen Strom, welchen ich begrenzen muss/möchte.
    Je nachdem wie linear sich der Widerstand am Mosfet verhält erscheint mir das dann als attraktivere Methode den Strom zu ermitteln.

    Ich habe mir jetzt Hall-Sensoren bestellt. Allerdings analoge ohne Schaltschwelle - ich möchte die aktuelle Rotorposition genau kennen und nicht einfach nur nach einem ausgerichteten Hall-Sensor schalten (was ich natürlich auch ohne Probleme machen könnte...)

    Zunächst arbeite ich mich mal in die sensorlose Kommutierung anhand der Atmel-Dokumentation ein. Ich werde aber vermutlich eher einen STM32 einsetzen - damit habe ich mich mittlerweile mehr angefreundet (obwohl Atmel gute Module für das Auswerten von Encodern und ähnlichem bietet!)

    Gruß Erik

    [EDIT]
    Habe endlich mal das Datenblatt für die Mosfets vom Typ M3016D gefunden.
    Diese besitzen einen Innenwirderstand RDSON von 4 Milliohm und können bei 25° C 19 A dauerhaft ab.

    Welche Mosfets sind auf deinem Board verbaut?
    Geändert von erik_wolfram (17.01.2017 um 22:52 Uhr)
    Meine Projekte auf Youtube

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von erik_wolfram Beitrag anzeigen

    Welche Leistung besitzt der Motor denn?
    Die offiziellen Angaben sind 24V und 250W, wobei ich diese Werte nur begrenzt ernst nehme. Die wirkliche Grenze ist bei Elektromotoren eigentlich nur die Temperatur. Eine Spannung zu erreichen, bei dem ein Durchschlag in der Wicklung erfolgt, ist unwahrscheinlich. Dazu braucht man sicher einige hundert Volt. Und ein Strom, der die Wicklung spontan verdampft, wird man auch bei diesen Spannungen nicht erreichen. Alles andere hängt aber nur an der Temperatur. Die 250W passen auch gut zu den europäischen Regeln für Pedelecs, ein Verkaufsargument für Nichttechniker. Man kann da sicher mehr herausholen.

    Ich habe ein umgebautes Fahrrad mit einem etwas größeren Nabenmotor, bei dem ich im Betrieb gemessen habe. Mit ca. 800W hab ich so knappe 30kmh erreicht. Mehr war mit den eingesetzten Batterien (10S LiFePo4) nicht zu erreichen. Da waren aber die 250W Pedelecs noch kein Thema, trotzdem kamen 800W in der Motorbescheibung nicht vor.

    Der von mir ausgewählte Motor besitzt eine Leistung von ca. 2,5 kW und ist für 60 A angedacht. Der Motor hat einen Innenwiderstand von ca 20 Milliohm. Wenn ich diesen mit 36 Volt bespaße fließen deutlich mehr Ampere als die angegeben 60 A. Die Tage werde ich aber nochmal die Induktivität messen um zu gucken wie deren Einfluss darauf ist. Nichtsdestotrotz habe ich im Stillstand einen zu hohen Strom, welchen ich begrenzen muss/möchte.
    Je nachdem wie linear sich der Widerstand am Mosfet verhält erscheint mir das dann als attraktivere Methode den Strom zu ermitteln.
    Ich habe mir meinen Controller nur von außen angesehen. Bevor ich einen weiteren bekommen habe, will ich ihn nicht gefährden. Solange ich keinen eigenen fertig habe brauche ich die fertig gekauften zum Testen meiner Mechanik. Die FETs sind stramm auf der Unterseite montiert, die Bezeichnung ist nicht lesbar.

    Der Strom wird über einen Shunt gemessen. Er ist auf meinem Bild links unten zu erkennen. Nach dem Datenblatt hat der Controller eine Strombegrenzung bei 20A und verkraftet 500W (mit einem Kühlkörper).

    Den Bahnwiderstand eines FETs als Shunt zu benutzen halte ich für problematisch. Erstens ist er stark von der Ansteuerung und der Temperatur abhängig. Die Rdson Werte auf der ersten Seite des Datenblattes schreibt eher das Marketing. Die realen Widerstände, der Die des FETs muß ja auch irgendwie mit dem Rest der Schaltung und dem Motor verbunden sein, finden da keine Berücksichtigung. Zum zweiten liegt am FET, je nach Schaltzustand der Brücke, die volle Betriebsspannung an. Das erschwert die Messung der kleinen Spannung zur Strombestimmung ungemein.


    Ich habe mir jetzt Hall-Sensoren bestellt. Allerdings analoge ohne Schaltschwelle - ich möchte die aktuelle Rotorposition genau kennen und nicht einfach nur nach einem ausgerichteten Hall-Sensor schalten (was ich natürlich auch ohne Probleme machen könnte...)
    Das ist nicht ganz so einfach. Ich hab da mal an einem anderen Motor, der solche Sensoren hat und mechanisch wesentlich zugänglicher ist als ein Nabenmotor, Messungen gemacht. Die theoretisch sinusförmige Hallspannung, aus der man eigentlich leicht den Winkel errechnen kann, war praktisch ziemlich deformiert. Ich führe das auf mechanisch Ungenauigkeiten und Sättigungseffekte zurück. Ich hab da zwar einen Plan, wie ich das mal messtechnisch erfassen kann, das wird aber noch ein wenig dauern.

    Lineare Hallsensoren lassen sich leicht aus alten CD-Laufwerken gewinnen. Der Spindelmotor hat typischerweise solche Sensoren.

    Klicke auf die Grafik für eine größere Ansicht

Name:	CD-MOTOR-OFFEN.jpg
Hits:	26
Größe:	40,8 KB
ID:	32358

    Wenn man genau hinschaut, sieht man die Sensoren unter den drei oberen Wicklungen. Sie haben 4 Anschlüsse, sind also reine Hallsensoren ohne eingebaute Elektronik. Damit kann man preiswert experimentieren.

    Mein erstes Ziel ist es, einen eigenen Controller zu bauen, der das Gleiche leistet, wie der fertig gekaufte. Die nächsten Ziele sind dann eine digitale Anbindung an einen Fahrzeugcontroller (ein 0 bis 5V Signal ist nicht optimal), eine Drehzahlreglung, eine feinere Ansteuerung, höhere Leistung und ein besserer Wirkungsgrad. Das liegt aber alles noch in weiter Ferne. Zuerst geht es darum, daß bei einem blockierten Motor oder beim Abbremsen aus vollem Lauf kein Rauch aus dem Controller kommt.

    Ich komme aus dem PIC Lager, wenn es nicht gerade etwas extrem simples ist setze ich PIC24xxx ein. Die PIC24xxMC (MotorControl) Varianten haben eine komfortable Ansteuerung für eine 3-Phasen Brücke, mit der ich bisher gut klargekommen bin. In dieser Richtung wird es also bei mir weitergehen.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  6. #6
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    Ich möchte ebenfalls die Temperatur messen um die Leistung entsprechend anzupassen.
    Bei dem von mir verwendeten Turnigy Brushless Motor ist die Temperatur meines Erachtens nach einer der wichtigsten Einflussfaktoren. Bei meinen ersten Versuchen ist dieser gut warm geworden. Später möchte ich auf jeden Fall eine temperaturabhängige Leistungsanpassung - das fehlt mir bei den meisten Brushlessreglern - hier wird nur zeitlich die Leistung begrenzt (10-15 s max. Strom).

    Das mit den Mosfets und dem sich ändernden Innenwiderstand dachte ich mir auch - deshalb würde ich davon auch absehen und lieber einen herkömmlichen Shunt einsetzen.

    Wie sieht die Hallspannung aus? Ich habe mir zunächst erstmal recht empfindliche Sensoren beschafft (ca. 30T) - vermutlich zu empfindlich... (Allegro A1120)

    Mit PICs hatte ich noch keinen Kontakt - dafür sehr viel mit Atmel und jetzt STMs. Da ich grade einen Datenlogger umgesetzt habe werde ich hier wohl zu einem STM32 greifen.
    Meine Projekte auf Youtube

  7. #7
    Erfahrener Benutzer Roboter-Spezialist Avatar von erik_wolfram
    Registriert seit
    02.12.2009
    Ort
    Berlin
    Beiträge
    406
    Hallo, ein kleines Update.

    Die Hall-Sensoren sind angekommen und ich habe diese heute getestet. Leider bin ich davon ausgegangen, dass die Sensoren analog sind - sie haben aber eine Schaltschwelle (ich hatte die Sensoren schonmal verwendet - aber wohl falsch in Erinnerung gehabt...). Bei meinem Brushless messe ich damit 7 Pulse / Umdrehung (14 Pole). Bei einer Drehzahl von 1300 1/min waren die Flanken sehr sauber.
    In wie fern ich damit eine genaue Lagemessung umsetze ist mir noch unklar.

    Nichtsdestotrotz werde ich mich als nächstes an die Leiterplatte für die Sensoren machen.

    Weiterhin habe ich noch einen ACS709 Stromsensor +/-75 A zu liegen - ich habe es aber heute nicht geschafft diesen zu testen - ich bin mal gespannt, wie gut dieser geeignet ist. (Innenwiderstand liegt bei ca. 1mOhm)
    Die Verlustleistung ist natürlich auch nicht ohne mit P = (60 A)^2 * 0,001 Ohm = 3,6 W.

    Hast du hierzu schon einen Plan?
    Meine Projekte auf Youtube

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von erik_wolfram Beitrag anzeigen
    Bei meinem Brushless messe ich damit 7 Pulse / Umdrehung (14 Pole). Bei einer Drehzahl von 1300 1/min waren die Flanken sehr sauber.
    In wie fern ich damit eine genaue Lagemessung umsetze ist mir noch unklar.
    Wichtiger ist, wie es bei kleinen Drehzahlen, im Stillstand aussieht. Beim Anlaufen kommt es besonders auf den Winkel an.

    Die Auswertung der drei Signale ist eigentlich recht einfach. Jeder Sensor sieht ein um 120° Drehwinkel versetztes Signal. Dabei beziehen sich die Signale auf eine "elektrische" Umdrehung. Da du 7 Pol-Paare hast, ist das 1/7 einer mechanischen Umdrehung. Der Ansteuerung ist das aber egal, sie wiederholt sich 7 mal pro Umdrehung . Die Signale sind theoretisch sinusförmig wie hier:

    Klicke auf die Grafik für eine größere Ansicht

Name:	3ph120sin-2.png
Hits:	3
Größe:	9,1 KB
ID:	32370

    Dein Sensor liefert ein Signal, wenn das Feld positiv ist, und kein Signal, wenn das Feld <= 0 ist. Bei drei Sensoren gibt es 8 mögliche Kombinationen. Alle Signale auf 1 (an allen Sensoren gleichzeitig ein Feld in der gleichen Richtung) oder alle Signale 0 (an allen Sensoren kein Feld) kommt nicht vor. Es bleiben also 6 gültige Codes. Damit kann man die 360° einer (elektrischen) Umdrehung in 60° große Teile zerlegen, die Position also mit einer Genauigkeit von +- 30° bestimmen. Wie die Codes für den jeweiligen Drehwinkel sind, kann man sich überlegen. Beobachtet man die drei Signale (Scope, LA oder drei LED) und dreht den Motor von Hand langsam, kann man das verifizieren. Das Ganze muß sich 7 mal bei einer mechanischen Umdrehung wiederholen.

    Wenn man jetzt die drei Spulen so ansteuert, daß deren Feld möglichst orthogonal zur Rotorposition ist, sollte der Motor laufen. Dies bekommt man aber wegen der Auflösung der Sensoren bestenfalls auf +- 30° hin. Das wird dann als Blockkommutierung bezeichnet.

    Mit analogen Sensoren könnte man die Auflösung verbessern. Bei den Messungen, die ich mit analogen Sensoren gemacht habe, waren die Signale leider nicht so schön sinusförmig wie im Bild. Die Magnete waren offensichtlich unterschiedlich und die Mechanik wohl nicht genau genug. Auch spielte wohl Sättigung in den Sensoren eine Rolle. Ohne intelligente Nachbearbeitung der Signale wird es schwer werden, die Auflösung real zu verbessern.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  9. #9
    Unregistriert
    Gast

    Foc

    gibt allgemein einen guten einstieg in das thema
    https://www.youtube.com/watch?v=HyhQXWIJhug

    ich verfolge das projekt gespannt weiter

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von erik_wolfram Beitrag anzeigen
    Weiterhin habe ich noch einen ACS709 Stromsensor +/-75 A zu liegen - ich habe es aber heute nicht geschafft diesen zu testen - ich bin mal gespannt, wie gut dieser geeignet ist. (Innenwiderstand liegt bei ca. 1mOhm)
    Die Verlustleistung ist natürlich auch nicht ohne mit P = (60 A)^2 * 0,001 Ohm = 3,6 W.

    Hast du hierzu schon einen Plan?
    60A sind schon ganz schön sportlich. Du rechnest da 3,6W pro Milliohm aus. Nun sind 1 Milliohm leicht zu erreichen, eine schlecht angezogene Schraubklemme, eine Sicherung, eine Leiterbahn oder selbst eine Lötstelle. Dieser Rechner liefert für eine Leiterbahn mit den typischen 35µ Dicke, einer Breite von 1,25mm und 25mm Länge schon mal 10 Milliohm. Da bleiben dann bei 60A 0,6V liegen. 1m Kabel mit 2,5² hat auch schon 13 Milliohm und setzt rund 45W um (SMD Lötkolben haben auch diese Leistung).

    Ich hab mal Sicherungen für 60A bestellt und war erstaunt, was ich bekommen habe. Auf dem Katalogbild sahen sie wie gewöhnliche KFZ-Flachsicherungen aus. Hier mal ein Größenvergleich:

    Klicke auf die Grafik für eine größere Ansicht

Name:	Sicherung.jpg
Hits:	12
Größe:	41,1 KB
ID:	32373

    Viele von den "einfachen" Schaltungen leben von diesen Widerständen. Sie arbeiten als Strombegrenzung.

    Wenn es um die Messung des Gesamtstrom des Motors geht, wird typisch ein Shunt benutzt. Auf dem Bild meines Controlers kann man den Draht, vermutlich Konstantan, erkennen. Ich hab chinesische Volt/Amperemeter, da waren entsprechende Shunts mit 75mV bei 100A mit bei.

    Klicke auf die Grafik für eine größere Ansicht

Name:	100A_Shunt.jpg
Hits:	17
Größe:	60,0 KB
ID:	32374

    Als Maßstab hab ich ein TO220 Gehäuse draufgelegt. Die Anschlußschrauben sind übrigens M8. Mit den eingesägten Schlitzen, die man unter dem TO220 erkennen kann, ist er abgeglichen worden.

    Für einen ersten selbst entwickelten und programmierten BLDC Controler wäre mir das alles zu heftig. Jeder Fehler führt zur "Kernschmelze". Ich hab bei Experimenten mit hohen Strömen schon Kabel komplett von der Isolierung befreit. Ein wenig kann ein Netzteil mit einstellbarer Strombegrenzung helfen, aber für mehrere kW ist das nicht umsonst. Ich werd erstmal mit wenigen A starten und mich an die 10 bis 20A (250W+) herantasten.

    Im Augenblick haben aber andere Projekte Vorrang.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

  1. DIY Brushless Regler für Modellbaumotoren (max. 20A)
    Von Che Guevara im Forum Elektronik
    Antworten: 54
    Letzter Beitrag: 25.07.2014, 20:18
  2. I2C brushless Regler (für quadcopter)?
    Von ichbinsisyphos im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 04.03.2013, 23:29
  3. Brushless Regler raucht ab
    Von Che Guevara im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 17.07.2012, 01:04
  4. Brushless Regler Anpassen (E-Car)
    Von dekra54 im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 11.03.2010, 06:32
  5. Brushless Regler ansteuern
    Von scales im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 05.08.2007, 17:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests