Hallo Zusammen Ich habe mich hier an einen modularen BLDC (FOC) Kontroller auf Basis des TMC4671 gewagt, und möchte um Feedback bzgl. Schaltplan & Layout bitten. Ein Regler besteht nachher aus 1x der "Logik" Platine mit dem TMC4671 drauf, und 1-n gestapelten Endstufen, wobei jede Endstufe wiederum 1-n (vorgesehen sind aktuell 3) Kondensator-Platinen angelötet bekommt (mit Kupferschiene). Wie das genau Funktionieren soll seht ihr auf den Fotos. Ich habe versucht die Strompfade möglichst kurz und die umflossenen Flächen möglichst klein zu halten (sowohl auf der Hochstromseite als auch an den Gates der MOSFETs). Die Kondensator-Platinen verwende ich an stelle von Elkos um einen (massiv) geringeren ESR zu erreichen. Mit 3 Platinen wären das dann 909uF keramisch. Spannung: Die meisten Bauteile wurden auf 100v+ ausgelegt, effektiv werde ich im Moment 43V LiFePo4 verwenden. Strom: Die MOSFETs können 380A dauer, 1200A Puls. Mit 2 Endstufen parallel möchte ich 100A Dauer, 200A Kurzzeitig (<1 min) Motorstrom erreichen. Ich gehe davon aus dass der Akkustrom bei max. 25 bzw. 50A liegen wird (wegen niedriger Drehzahl). Zur Strommessung sollen L01Z600S05 von Tamura zum Einsatz kommen, diese werden über die entsprechenden Pinheader angeschlossen. Vielen Dank schonmal für eure Verbesserungsvorschläge!
:
Bearbeitet durch User
Hier sind noch die Datenblätter der wichtigsten Bauteile + Schaltplan des TMC4671 Eval-Boards (von dort habe ich ein bisschen etwas abgeschaut), damit das niemand raussuchen muss.
Sean G. schrieb: > Vielen Dank schonmal für eure Verbesserungsvorschläge! Der Schaltplan ist schlecht lesbar. Du solltest Schaltplansymbole nicht wie PCB-Makros zeichnen, sondern so, dass die Symbole entsprechend des Signalflusses orientiert sind: links Eingang --> rechts Ausgang bzw. links Ansteuerung --> rechts Leistun. Und die Versorgung ist oben und der GND unten platziert. > Die MOSFETs Die musste ich erst mal suchen ... und fand sie dann unerkennbar als viereckige Kästen, denen man nicht mal ansieht, ob das N- oder P-Kanal Fets sind. Dass dann die Ansteuersignale noch _P und _N statt wie üblich _H(ighside) und _L(owside) heißen, macht die Übersicht nicht besser. Das mit den flächigen Vias (grüne Rahmen) unter den beiden Mosfets hast du mit deinem Fertiger abgeklärt? Nicht, dass die ganze Lötpaste in die Vias "abtaucht" und nichts mehr für das Pad übrig bleibt. Auch den engen Abstand deiner Kerkos solltest du mit dem Fertiger mal durchgehen. Und auch, ob der dann hinterher die Löstellen per AOI kontrollieren kann. Wenn du dann noch die "unteren" 3 Mosfets ein wenig umplatzierst (rot nach blau), dann sparst du dir unnötige Knicke (gelb). Sean G. schrieb: > Strom: Die MOSFETs können 380A dauer 1. Nur, wenn du dabei das Gehäuse auf Tc=25°C halten kannst. Wirst du aber nicht schaffen, denn dabei fallen immerhin bis zu 380A*380A*1,5mOhm = 216 Watt am Mosfet an. 2. ist das der Wert aus den "Absoulte Maximum Ratings". Mit dem rechnet man nicht, sondern man hält sicheren Abstand. > Mit 2 Endstufen parallel möchte ich 100A Dauer Du hast aber vorher schon mal an deutlich kleineren BLDC-Ansteuerungen "geübt" und gelernt? Oder willst du "aus dem Stand" gleich mal mit dieser Leistung anfangen?
:
Bearbeitet durch Moderator
Lothar M. schrieb: >> Mit 2 Endstufen parallel möchte ich 100A Dauer > Du hast aber vorher schon mal an deutlich kleineren BLDC-Ansteuerungen > "geübt" und gelernt? Oder willst du "aus dem Stand" gleich mal mit > dieser Leistung anfangen? Das hoffe ich auch. Sieht aber so aus als wenn er ungefähr weiß was er tut. Sean G. schrieb: > Vielen Dank schonmal für eure Verbesserungsvorschläge! Die 12V Leiterbahn für die Gate Treiber ist zu dünn. Diese sollte ruhig so breit sein wie die Gate Leiterbahnen. Dein Bootstrap Kondensator könnte mit 100nF zu klein sein. Hier würde ich auch einen 0R in Reihe mit einplanen. Bei meinen letzten Gate Treibern von TI sind mir öfters die internen Bootstrap Dioden kaputt gegangen. Eventuell sogar externe Dioden einplanen. (Hilft auch bei der Bauteilbeschaffung mit Alternativ Typen) Sean G. schrieb: > und 1-n gestapelten Endstufen Wie willst du die Endstufen kühlen?
:
Bearbeitet durch User
Lothar M. schrieb: > Der Schaltplan ist schlecht lesbar. Danke, die LCSC Libs sind was das angeht echt unmöglich - ich habe jetzt mal einige Symbole angepasst - ich denke das hat wirklich viel gebracht bzgl. Lesbarkeit (& ich konnte viele Netlabels durch Wires ersetzen). Lesson learned, bei EasyEDA am besten Symbole von Anfang an anpassen/neu zeichnen :) >> Die MOSFETs > Die musste ich erst mal suchen ... und fand sie dann unerkennbar als > viereckige Kästen, denen man nicht mal ansieht, ob das N- oder P-Kanal > Fets sind. > Dass dann die Ansteuersignale noch _P und _N statt wie üblich > _H(ighside) und _L(owside) heißen, macht die Übersicht nicht besser. Ebenfalls beides angepasst > Das mit den flächigen Vias (grüne Rahmen) unter den beiden Mosfets hast > du mit deinem Fertiger abgeklärt? Nicht, dass die ganze Lötpaste in die > Vias "abtaucht" und nichts mehr für das Pad übrig bleibt. Fertiger ist JLCPCB. Ich kann die Vias also entweder Plugged machen (tented geht ja nicht, soll ja lötbar sein), weniger Vias verwenden oder beides. Mehr Paste geht nicht, denn der Footprint hat bereits auf der ganzen Fläche Paste. Hat jemand hier Erfahrung sowas bei JLC zu machen? > Auch den engen Abstand deiner Kerkos solltest du mit dem Fertiger mal > durchgehen. Und auch, ob der dann hinterher die Löstellen per AOI > kontrollieren kann. Ist sehr sehr knapp, sollte aber laut Webseite gehen. Mit ein paar Grabsteinen kann ich zur Not leben, und das sollte ja auch bei den Äussersten Kerkos überhaupt passieren können. > Wenn du dann noch die "unteren" 3 Mosfets ein wenig umplatzierst (rot > nach blau), dann sparst du dir unnötige Knicke (gelb). Habe ich ursprünglich nicht gemacht weil ich die MOSFETs möglichst mittig auf dem Kühler wollte, das war aber glaub ne eher blöde Idee. > Sean G. schrieb: >> Strom: Die MOSFETs können 380A dauer > 1. Nur, wenn du dabei das Gehäuse auf Tc=25°C halten kannst. Wirst du > aber nicht schaffen, denn dabei fallen immerhin bis zu 380A*380A*1,5mOhm > = 216 Watt am Mosfet an. > 2. ist das der Wert aus den "Absoulte Maximum Ratings". Mit dem rechnet > man nicht, sondern man hält sicheren Abstand. Ja, das weiss ich. Deshalb auch die 100A Dauer, 200A kurzzeitig mit 2 Endstufen. So wie ich das verstanden habe fliessen pro MOSFET dann 50 bzw. 100A für 1/3 der Zeit. 50×50×1.5mOhm / 3 = 1.25 Watt 100×100×1.5mOhm / 3 = 5 Watt Damit sollte ich doch genug Spielraum für Schaltverluste haben (mit entsprechender Kühlung, siehe unten)? >> Mit 2 Endstufen parallel möchte ich 100A Dauer > Du hast aber vorher schon mal an deutlich kleineren BLDC-Ansteuerungen > "geübt" und gelernt? Oder willst du "aus dem Stand" gleich mal mit > dieser Leistung anfangen? Nein habe ich nicht. Natürlich werde ich nicht gerade mit der vollen Leistung loslegen, das Ziel ist aber schon mit diesem Design zu dem Ziel zu kommen (mit möglichst wenigen Iterationen natürlich :D ) Ich habe eine Anwendung wo ich bisher den Odrive 3.6 vorgesehen habe, dieser hat sich aber als anfällig sporadisch zu sterben erwiesen. Ob das daran liegt dass dort nur 60v MOSFETs drin sind, dass diese nur 2*150A absolute max abkönnen, ob schlecht gelayoutet wurde oder die Software schuld ist - I don't know. Nun habe ich halt die Hoffnung dass sich mein Problem mit einer Hardware-FOC-Lösung und einer Endstufe mit deutlich grösseren Sicherheitsfaktoren lösen lässt... Parallel dazu probier ich's noch mit ODrive Pro - mindestens eine der Varianten klappt dann hoffentlich. John P. schrieb: > Die 12V Leiterbahn für die Gate Treiber ist zu dünn. Diese sollte ruhig > so breit sein wie die Gate Leiterbahnen. Darauf wäre ich nicht gekommen, danke! > Dein Bootstrap Kondensator könnte mit 100nF zu klein sein. OK, hast du eine gute Quelle um das zu berechnen? Ich habe da leider eher wenig gefunden, und bin dann irgendwie auf die 100nF gekommen 😅 > Hier würde ich auch einen 0R in Reihe mit einplanen. Bei meinen letzten > Gate Treibern von TI sind mir öfters die internen Bootstrap Dioden > kaputt gegangen. Gemacht, aber hast du das wirklich dort gemeint wo er jetzt ist? Stört das den Treiber nicht wenn die Spannung am Kerko einbricht? > Eventuell sogar externe Dioden einplanen. (Hilft auch bei der > Bauteilbeschaffung mit Alternativ Typen) OK, gute Idee. > Sean G. schrieb: >> und 1-n gestapelten Endstufen > > Wie willst du die Endstufen kühlen? 40×40×10mm Kupferkühlkörperchen mit vieeeel luft (kleiner Serverlüfter) - oder aber Wasserkühlblock.
:
Bearbeitet durch User
Sean G. schrieb: > Fertiger ist JLCPCB. Ich kann die Vias also entweder Plugged machen > (tented geht ja nicht, soll ja lötbar sein), weniger Vias verwenden oder > beides. Mehr Paste geht nicht, denn der Footprint hat bereits auf der > ganzen Fläche Paste. Hat jemand hier Erfahrung sowas bei JLC zu machen? Wenn JLC was beanstandet, dann schicken sie dir ne mail. Ich würde es einfach drauf ankommen lassen. Aber Gestern hab ich doch was gesehen bei JLC.... Plated and filled Vias (Via in Pad) for free on 6 Layer Boards 6 Layer Boards for 20$ wäre eventuell eine alternative? Sean G. schrieb: > Ja, das weiss ich. Deshalb auch die 100A Dauer, 200A kurzzeitig mit 2 > Endstufen. > > So wie ich das verstanden habe fliessen pro MOSFET dann 50 bzw. 100A für > 1/3 der Zeit. > > 50×50×1.5mOhm / 3 = 1.25 Watt > > 100×100×1.5mOhm / 3 = 5 Watt > > Damit sollte ich doch genug Spielraum für Schaltverluste haben (mit > entsprechender Kühlung, siehe unten)? Ne, es fließen 100A bzw 200A für 1/3 der Zeit Sean G. schrieb: > Nein habe ich nicht. Natürlich werde ich nicht gerade mit der vollen > Leistung loslegen, das Ziel ist aber schon mit diesem Design zu dem Ziel > zu kommen (mit möglichst wenigen Iterationen natürlich :D ) > Ich habe eine Anwendung wo ich bisher den Odrive 3.6 vorgesehen habe, > dieser hat sich aber als anfällig sporadisch zu sterben erwiesen. Ob das > daran liegt dass dort nur 60v MOSFETs drin sind, dass diese nur 2*150A > absolute max abkönnen, ob schlecht gelayoutet wurde oder die Software > schuld ist - I don't know. Nun habe ich halt die Hoffnung dass sich mein > Problem mit einer Hardware-FOC-Lösung und einer Endstufe mit deutlich > grösseren Sicherheitsfaktoren lösen lässt... > > Parallel dazu probier ich's noch mit ODrive Pro - mindestens eine der > Varianten klappt dann hoffentlich. ODrive basiert doch auf der VESC Firmware, oder? Die VESC Firmware funktioniert und ist in vielen Designs von 500W bis 30kW vorhanden. Da würde ich den Fehler nicht unbedingt suchen. Du solltest dich auch fragen ob deine HW-FOC Programmierung besser wird als die VESC SW-FOC? Sonst lohnt der Aufwand nicht. Die Hardware kannst du trotzdem besser machen. Sean G. schrieb: > OK, hast du eine gute Quelle um das zu berechnen? Ich habe da leider > eher wenig gefunden, und bin dann irgendwie auf die 100nF gekommen 😅 Wir haben mal ein Excel Sheet dazu geschrieben mit allen möglichen Formeln. Wenn du willst kann ichs mal rechen lassen. (Leider kann ich das Sheet nicht rausgeben) Der Witz ist das einige App Notes darauf hinweisen den berechneten Wert mal 10 zu nehmen. Warum....weiß ich bis heute nicht. Wenn cih deine 100nF mal 10 nehme komme ich auf 1uF. Diesen wert hätte ich aus dem Bauch heraus auch genommen. hab bei mir 2.2uF aber auch deutlich mehr Gate Charge. Sean G. schrieb: > Gemacht, aber hast du das wirklich dort gemeint wo er jetzt ist? Stört > das den Treiber nicht wenn die Spannung am Kerko einbricht? Jup genau da. Die Spannung am Kerko soll ja möglichst nicht einbrechen. Deswegen muss er ausreichend groß sein. Aber wenn er geladen wird fließt eben auch viel strom und lange (alles relativ) Bei meinem letzten Design hatte ich auch die TI Gate Treiber mit interner Diode. Diese sind regelmäßig kaputt gegangen. Hier hätte ich mir einen R gewünscht um den Strom begrenzen zu können. Außerdem kann man an dem R auch mal den Strom messen. Ist dann auch ganz praktisch zum verstehen. Brauchst aber einen differentiellen Tastkopf Sean G. schrieb: > und 1-n gestapelten Endstufen noch ein Hinweis. Dein Treiber kann nur 3A. Die musst du aufteilen. Bei einer Endstufe kannst du die 3A voll ausnutzen. Bei 2 Endstufen kann jeder Mosfet nur noch 1,5A Bei 3 Enstuden nur noch 1A usw Daher solltest du dich schon vorher festlegen wie viele Endstufen du maximal haben möchtest. Dann kannst du die Gate Widerstände entprechend dimensionieren.
John P. schrieb: > Wenn du willst kann ichs mal rechen lassen. Also: Mein schlaues Excel Sheet kommt auf folgende Werte: 17W Verlustleistung bei 16kHz PWM und 100A (12W Leitverluste, 5W Schaltverluste) Als Bootstrap C sollen es 150nF sein mal Faktor 10 Deine Minimale Totzeit sind 215ns Alles gerechnet für eine Endstufe und ohne Garantie auf Richtigkeit
:
Bearbeitet durch User
John P. schrieb: > Wenn JLC was beanstandet, dann schicken sie dir ne mail. Ich würde es > einfach drauf ankommen lassen. Das ist auch meine aktuelle Strategie - bis jetzt hat mir JLC noch alles (sauber) gefertigt inkl. Bestückung. > Plated and filled Vias (Via in Pad) for free on 6 Layer Boards > 6 Layer Boards for 20$ > > wäre eventuell eine alternative? Das habe ich mir auch überlegt (die inneren Lagen könnten ja auch noch genutzt werden zur Verstärkung der Hochstrom-Pfade) - allerdings müsste ich dann 0.5mm statt 0.3mm Vias machen --> mehr Widerstand. > Ne, es fließen 100A bzw 200A für 1/3 der Zeit Ich meinte pro Endstufe. Bei 100A Motorstrom wären es doch 50A pro Endstufe, und diese 50A Fliessen im schnitt durch 2 von 6 MOSFETs? Oder habe ich da was falsch verstanden? > ODrive basiert doch auf der VESC Firmware, oder? Wusste ich nicht, wenn dann wahrscheinlich nur ein kleiner Teil (?) Den ODrive 3.6 finde ich ne ziemliche Katastrophe: - USB ist unzuverlässig, die haben soviel ich weiss irgend nen Hardware-Bug welcher ab und zu zu Datenverlust führt - Serielle Schnittstelle (Fibre) ist schlecht dokumentiert & allgemein ein ziemlich komisches Protokoll - Serielle Schnittstelle (ASCII) stürzt je nach Datenrate nach Minuten bis Stunden ab, Bug wurde im 2019 gemeldet & durch ODrive reproduziert - ist aber immernoch ungefixt. Um diese Probleme einigermassen zu umgehen konfiguriere ich den ODrive am Anfang einmal, und arbeite dann mit STEP/DIR. Telemetrie habe ich aber natürlich keine so (weil eben sonst crasht's nach ner gewissen Zeit) - und sowieso wäre die Telemetrie enorm langsam weil man immer nur einen Wert auf einmal abfragen kann. Da gefällt mir der TMC mit seiner SPI Schnittstelle deutlich besser. Auch wenn ich dort mehr selber programmieren muss. > Die VESC Firmware funktioniert und ist in vielen Designs von 500W bis > 30kW vorhanden. Da würde ich den Fehler nicht unbedingt suchen. Das einzige Problem bei VESC ist dass mir von mehreren Seiten gesagt wurde dass VESC nicht wirklich für Positionierung geeignet sei. Und STEP/DIR fehlt auch. > Du solltest dich auch fragen ob deine HW-FOC Programmierung besser wird > als die VESC SW-FOC? Sonst lohnt der Aufwand nicht. Das ist eine gute Frage, die wohl nur Trinamic beantworten kann :P Mein erster Eindruck mit einem Eval-Board (kann aber leider nur 10A) ist aber sehr gut. Und per SPI die Register korrekt zu befüllen werde ich wohl hin bekommen... Notfalls kann ich die Kalibrierung sogar per Eval-Software machen und die Parameter hardcoden. > Daher solltest du dich schon vorher festlegen wie viele Endstufen du > maximal haben möchtest. Dann kannst du die Gate Widerstände entprechend > dimensionieren. Jede Endstufe hat ja einen eigenen Treiber/Gate Widerstand. Deshalb auch Treiber mit kleinem Delay und gutem Delay Matching (in der Hoffnung dass die auch von Chip zu Chip genau sind innerhalb einer Charge). So muss ich statt 12 Potentiale mit bis zu 3A nur 6 TTL-Signale durch den Stapel führen. Und die stehen Orthogonal zu den hohen Strömen --> hoffentlich kaum Crosstalk. John P. schrieb: > Mein schlaues Excel Sheet kommt auf folgende Werte: > > 17W Verlustleistung bei 16kHz PWM und 100A (12W Leitverluste, 5W > Schaltverluste) > > Als Bootstrap C sollen es 150nF sein mal Faktor 10 > > Deine Minimale Totzeit sind 215ns > > Alles gerechnet für eine Endstufe und ohne Garantie auf Richtigkeit Danke für's rechnen. In dem Fall mache ich 1.5uF rein. Dann sollte ich aber von Anfang an einen Widerstand einbauen, oder? Weil im Datenblatt steht leider kein Maximalstrom für die Diode, aber der C wird mit typisch bis 100nF angegeben. Die Diode hat scheinbar ~1 Ohm, was ja einen worst case Ladestrom von 12A ergibt. Ah und Entkopplung am Treiber habe ich gelesen soll 10x CBoot sein. Da muss ich in dem Fall vielleicht sogar 2 einbauen oder ein grösseres Package. Aber krass dass VESC bei ihrem 300A Regler scheinbar mit 100nF durch kommt: https://vesc-project.com/sites/default/files/Benjamin%20Posts/vesc_75_300.pdf
:
Bearbeitet durch User
Sean G. schrieb: > Ich meinte pro Endstufe. Bei 100A Motorstrom wären es doch 50A pro > Endstufe, und diese 50A Fliessen im schnitt durch 2 von 6 MOSFETs? Oder > habe ich da was falsch verstanden? Nein alles gut. Bei 2 Endstufen und 100A Motorstrom hast du 50A pro Mosfet Sean G. schrieb: > Das ist eine gute Frage, die wohl nur Trinamic beantworten kann :P Ohhhhh....mein Fehler. ALs du Hardware FOC geschrieben hast hatte ich direkt an die TI Mikrocontroller gedacht mit Hardware Park-Clark transformation. Ich hatte überhaupt nicht mehr auf dein TMC Chip geguckt. Ja das sollte sich sehr einfach machen lassen. Sean G. schrieb: > Jede Endstufe hat ja einen eigenen Treiber/Gate Widerstand. Deshalb auch > Treiber mit kleinem Delay und gutem Delay Matching (in der Hoffnung dass > die auch von Chip zu Chip genau sind innerhalb einer Charge). > So muss ich statt 12 Potentiale mit bis zu 3A nur 6 TTL-Signale durch > den Stapel führen. Und die stehen Orthogonal zu den hohen Strömen --> > hoffentlich kaum Crosstalk. Stimmt. Das passt dann. Sean G. schrieb: > Danke für's rechnen. In dem Fall mache ich 1.5uF rein. Dann sollte ich > aber von Anfang an einen Widerstand einbauen, oder? > Weil im Datenblatt steht leider kein Maximalstrom für die Diode, aber > der C wird mit typisch bis 100nF angegeben. Die Diode hat scheinbar ~1 > Ohm, was ja einen worst case Ladestrom von 12A ergibt. > > Ah und Entkopplung am Treiber habe ich gelesen soll 10x CBoot sein. Da > muss ich in dem Fall vielleicht sogar 2 einbauen oder ein grösseres > Package. > > Aber krass dass VESC bei ihrem 300A Regler scheinbar mit 100nF durch > kommt: > https://vesc-project.com/sites/default/files/Benjamin%20Posts/vesc_75_300.pdf Bau ruhig einen Widerstand mit rein. Vielleicht ein paar Ohm Dann kannst du auch den Strom mal messen. Es kann auch mit 100nF funktionieren. Aber du kannst es nur messen wenn du ein Oszi und einen differentiellen Tastkopf hast (oder mit 2 Kanälen geths auch). So habe ich mich rangetastet. Bis die Bootstrap Spannung mit 1µF stabil war. Zur Sicherheit verbaue ich 2,2uF. Eventuell übertreibe ich auch. Wenn du mit 1u startet passt das. Dann kannst du dem Treiber 100nF und 10uF spendieren.
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.