Guten Abend, ich bin zur Zeit dabei eine Platine für die Ansteuerung eines brushless Motors zu bauen. Leider habe ich noch nicht so viele Erfahrungen auf diesem Gebiet, deshalb hoffe ich ihr könnt mir weiterhelfen. Erstmal ein paar allgemeine Infos: Die Stromversorgung wird von einer 7,4V LiPo Batterie übernommen. Der Schaltplan kann den angehängten Bildern entnommen werden. Es wurden aber bereits folgende Änderungen am Schaltplan vollzogen: Leider habe ich bei Eagle einige Kondensatoren vergessen. Es wurden zwischen Pin 7 und 8 sowie Pin 20 und 22 des Mikrocontrollers 100nF Abblockkondensatoren hinzugefügt. Nach dem Spannungswandler wurde ein 10uF Kondensator zwischen 5V und GND hinzugefügt. Das verwendete Quarz und die damit verbundenen Kondensatoren wurden durch einen Taktgeber ersetzt, der dem des Arduino Uno ähnlich ist. Durch diese Änderungen funktioniert die Schaltung eigentlich ganz gut, wenn keine Last (Motor) angeschlossen ist. Die Ansteuerung läuft dabei über Raumzeiger mittels PWM Signal. Dieses Signal konnte mit einem Oszilloskop nachgewiesen werden. Unter Last (Motor angeklemmt) geschieht es, dass sich der Mikrocontroller nach kürzester Zeit aufhängt. Durch ein Reset zuckt der Motor kurz wieder. Wenn man nun den Mikrocontroller von der Platine nimmt und stattdessen die Pins 4,5,15,16 sowie GND des Atmega Sockels mit einem Arduino UNO verbindet und dort den Atmega einsetzt läuft die Schaltung einwandfrei, auch unter Last. Was könnte der Grund dafür sein? Ein weiteres Problem besteht darin, dass die MOSFETS, die sich im Boardlayout rechts befinden, sich viel stärker erhitzen als die MOSFETS der anderen beiden Phasen. Habt ihr eine Idee woran das liegen könnte? Ich hoffe ihr könnt weiterhelfen. Ich wäre euch sehr dankbar.
Es fehler noch ein par Infos von Dir: Datenblatt der Zelle (wegen Innenwiderstand und so) Datenblatt des Motors Daten der SW : Schaltfrequenz, eingestellte Totzeit 1.) Zum Schaltplan: Strommessung: Bau niederohmigere Shunts ein (1 mOhm ist Industreistandard) und verwende Opamps um das Signal zu verstärken. Tue auf jeden Fall die Cś parallel zu deinen Shunts weg! Rechne mal aus was der MOSFET hier leisten muss! du hast schnelle MOSFET Treiber und dein Inrush-Strom wird hier höllisch sein! Gatedriver: Warum hast du LTC Bausteine? LTC heist übersetzt "leider teuer" MOSFETs: Warum hast du einen 55V Typ? Ich würde hier einen 30V typen nehmen da hast du mehr Auswahl (das ganze PC Mainboard Zeugs + viel Automotive hat um die 12V Eingangsspannung und daher 30 MOSFETs). Du hast auch genug Luft zu deiner Versorgung. Vermutlich würde auch ein 25V typ dicke ausreichen. Zwischenkreis-Kondensator (330uF): Nehm unbedingt einen Typ mit sehr niedrigem Innenwiderstand du solltest hier nicht sparen. Im Schaltplan ist nicht ersichtlich was verbaut ist. Hier solltest du den genauen typen angeben. 2.) Layout Schlechtes Layout mit großen Induktivitäten. Versuche die Induktivitäten klein zu halten wo viel Strom fließt (kurze Leitungen) 3.) Probleme deiner Schaltung (heiß werden) Durch die Cś parallel zu den Shunts kann der Inrush sehr hoch werden und der MOSFET muss sich durch den Linearbetrieb quälen. Das mag er nicht. In Abhängigkeit des Innenwiderstandes deiner Versorgung, des Ladezustandes der Batterie und des Batteriestromes kann die Spannung so stark einsinken das die MOSFETS mit niedrigerer Gatespannung angesteuert werden und in den Linearbetrieb kommen und viel Leistung verbraten statt den Motor zu betreiben. Du kannst ez.B. inen Gatetreiber nehmen der eine Chargepump hat wie z.B. einen DRV8301 (liefert 10V an die Gates wenn die Spannung auf 6V eingebrochen ist) oder einen von Allegro z.B. A4915 (der macht auch die Kommutierung selbst) oder alternativ natürlich selbst eine Ladungspumpe aufbauen mit welchen deine Gatetreiber betrieben werden. 4.) Wozu ARDUINO und Space Vector zeugs?
Schon mal vielen Dank für deine Infos!! Mit Datenblatt der Zelle meinst du die Batterie? Die gibts hier: http://www.conrad.de/ce/de/product/209139/Conrad-energy-LiPo-Racingpack-74-V-3000-mAh-20-C-Stecksystem-Tamiya-Stecker-XH Datenblatt des Motors: LRP Electronic Brushless-Elektromotor Vector X12 Drehzahl 15840 U/min Turns 17.5 http://www.produktinfo.conrad.com/datenblaetter/225000-249999/239105-an-01-de-VECTOR_X12_BRUSHLESS_STOCKSPEC_17_5T.pdf Daten zur Software: In der Software ist ein Array definiert das aus 24 Einträgen besteht. Jeder Eintrag ist ein PWM Wert zwischen 0 und 200. Das Array ist zudem zyklisch. Die PWM Werte werden ausgelesen und an den Motor weitergegeben (Die PWM Frequenz beträgt 32kHz). Dabei ist anfangs Phase A bei Arrayeintrag 0, Phase B bei Arrayeintrag 8 und Phase C bei Arrayeintrag 16. Nach einer bestimmten Anzahl an Interrupts werden alle Phasen einen Arrayeintrag weitergesetzt. Die Interrupts sind auf eine Frequenz von 15625 Hz gesetzt. Wenn man die Arrayeinträge nach 40 Interrupts weiterschaltet bekommt man 16,3 Umdrehungen des Motors pro Sekunde. 1) Schaltplan Strommessung: Die parallel geschalteten Kondensatoren sind nun weg. Die Shuntwiderstände wurden nur so hochgewählt, weil das anscheinend vom Treiber so gefordert wird. Siehe http://cds.linear.com/docs/en/datasheet/1158fb.pdf Bezeichnung: Rsense Gatedriver: Die habe ich gewählt, weil ich nicht viele für den geforderten Spannungsbereich gefunden hatte. Die Spannung von der Batterie kann bis 6Volt fallen und da soll das Auto auch noch fahren bzw. die Treiber schalten können. Abgesehen davon, dass die Treiber teuer sind, müssten Sie ihren Dienst erfüllen oder? MOSFET: Die 55 Volt wurden gewählt, weil es preislich kaum einen Unterschied gemacht hat und ich dachte dann kann man ja ruhig mehr nehmen. Wo besteht der Unterschied zu Mosfets mit 25Volt außer in der Spannungsfestigkeit? Zwischenkreiskondensator: http://www.produktinfo.conrad.com/datenblaetter/400000-424999/404646-da-01-en-SMD_ALUMINIUM_KONDENSATOR_330UF_35V.pdf Passt der Innenwiederstand? 2) Layout Habe die Phasen des Motors nun direkt an die entsprechenden Mosfets gelötet und nicht an die seitliche Klemme angeschlossen. Wo oder wie kann ich hier noch weiter optimieren (auf Grundlage des fertiggestellten Boards)? 3) Probleme der Schaltung Habe - wie gesagt - die parallelen Kondensatoren abgelötet und die Phasen des Motors näher an die Mosfets gebracht. Die Shuntwiderstände werden immer noch sehr warm. Der am weitesten rechts im Boardlayout wird am wärmsten.Das müsste ja besser werden, wenn ich niederohmigere nehme bzw. kurzschließe? Die Mosfets werden immer noch sehr heiß. Meine subjektive Wahrnehmung sagt, dass die Highside Mosfets generell wärmer als die Lowside sind. Der am weitesten rechts gelegene Highside Mosfet ist am heißesten. Liegt das an der nahegelegenen Einspeisung? Kannst du eine Aussage darüber treffen, ob die Mosfets im Linearbetrieb arbeiten? Wie kann ich das erkennen? 4) Den Arduino habe ich zum Testen benutzt. Meine Schaltung funktioniert nur, wenn kein Motor angeschlossen ist. Mit dem Oszilloskop kann man dann schön das PWM Signal aller 3 Phasen erkennen. Wenn ich nun den Motor anschließe geht der Mikrocontroller aus oder bleibt stehen?! Zum Testen habe ich dann den Mikrocontroller von meiner Schaltung entfernt und auf einen Arduino gesetzt. Dann habe ich die Pins 4,5,15,16 sowie GND vom Arduino zum Sockel des Mikrocontrollers auf meiner Platine verbunden. Jetzt läuft die Schaltung auch unter Last. Wenn der Mikrocontroller jedoch direkt auf meiner Schaltung sitzt geht es nicht. Meiner Meinung nach kann das nur am Taktsignal oder der "schöneren" Spannungsversorgung des Arduinos liegen. Aber ich bin kein Experte...
Bau auf jeden Fall Widerstände in die Leitungen CurrentA usw. vor den ADC-Eingängen ein, dann haben die internen Schutzdioden des MC noch einen Chance. Schau dir auch mal das Schaltbild der MC100 Motorcontrol Platine bei Atmel an, da sieht man ganz gut, was an Entstörungen noch so nötig ist. Weiter ist Application Note AVR447 eine guter Ansatz für Sinusmodulation an Sensor-Motoren. Matthias B. schrieb: > In der Software ist ein Array definiert das aus 24 Einträgen besteht Das klingt auch sehr grob. In AVR447 wird beschrieben, wie du das mit einer Tabelle von 192*3 Werten feiner abstufen kannst.
Um Auf Linearbetrieb prüfen zu können empfehle ich ein Oszi >= 500MhZ Eingangsbandbreite + entsprechende Tastköpfe mit einer niedrinduktiven Anbindung der Masse-Klemme. Mit diesem gleichzeitig GS-Spannung sowie DS-Spannung der LS mit einfachen Mitteln anschauen. AM besten dann noch eine entsprechende Strommesszange für den Phasenstrom (>2k€) Dein Lochrasteraufbau und die Verwendung von LTC-Chips bringen mich jedoch zu der Annahme das du im Hobbybereich bist und kein solches Oszi hast. Ach eine Analyse warum der rechte MF wärmer wird ist nur möglich mit entsprechendem Messequipment. Die HS-MOSFETs sind nur sicher entsprechend mit sehr guten Differenztastkpfen zu vermessen. Deine Aussage die HS-MF haben ein größeres Problem sind ggf. dadurch erklärbar da diese ja 1. weniger Spanung bekommen durch den Abfall an der Diode zum Aufladen der Bootsrap-Cs sowie 2.) durch den Ladungsausgleich zwischen Bootstrap-C und Gate. Mit so wenig Spannung empfehle ich zwingend einen Gatedriver der über eine Chargepump die Spannung hochpumt. 6V unter LAst wäre nur gut wenn du Logic-Level-MF verwendest. Du hast jedoch einen normal Level typ in Verwendung. Kondensator: Der Typ ist nicht wirklich gut mit 90mOhm. Nimm einen bedrahteten. Die SMD-Typen (Nass, kein Conductive Polymer) sind hier noch nicht wirklich gut. Versuch auf unter 30mOhm zu kommen. Anmerkung von Matthias: Ist korrekt. Nehme hier wie bereits an anderer Stelle von beschreiben nen Opamp/Komparator. Es reicht ein einziger der als Komparator arbeitet und den Summestrom aller 3 Zweige in der LS misst. Du hast ja eine Zelle ohne Temperatursensor. Eine Strommessung macht nur dann Sinn wenn due entweder Akkumangement machen willst oder einen Stromregelkreis brauchst. Wähle den Faktor des Opamps so daß die Betriebsspannung des uC nicht überschritten wird (das darf auch nicht beim Starten des Boards passieren, wenn die Spannung von aussen 7.5V ist und der uC noch 0V hat! Schua dir daher die zeitlichen Abläufe des aktivierens der Spannungen auf dem Board an . Tip: Nimm einen für deinen Spannungsbereich geeigneten Gatedriver wie den Allegro dann brauhcst du auch nicht mal mehr den uC da der GTR die Kommutierung macht (Oszillator kannst du extern aufbauen). Du hast in deiner jetzigen Schaltung ja nicht mal einen Ein/Aus-Knopf. Alternativ kannst du den uC verwenden um den Allegro anzusteuern dann musst du nur sehr wenig SW machen was den Motor betrifft. Dann hast du 3 ICs gespart, 1 mögliches Problem eliminiert und hast mehr Platz um deine MF Induktivitätsärmer anzubinden
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.