Hallo alle zusammen! Ich bastle momentan für meine Bachelorarbeit an einem BLDC Regler... Ich studiere allerdings Informatik und habe daher nicht so viel Ahnung von ETechnik :( Im moment klappt alles noch nicht so gut, daher wollte ich erstmal eine synchrone Ansteuerung versuchen, bei denen ich die Hall Sensoren aussen vor lasse. Im Anhang findet ihr den Schaltplan als PDF (da kann man gescheit vergrößern); die Chip nummern sollten soweit stimmen... Ich habe einen ATmega 168 der das ganze steuert. Die Leistungsstufe sind 6 IRF3710Z MOSFETs. Diese werden von jeweils einem Optokoppler angesteuert. Ich habe mir gedacht, da habe ich eine Trennung und Treiber in einem. Der Motor ist ein 48V 200W BLDC Motor. Nun habe ich 2 Spannungsversorgungen, einmal 5V für die Logik und einmal 48V für den Motor. Aus den 48V mache ich mit einem Schaltregler 20v zur Gateansteuerung. Die Optokoppler werden dann mit den 5V direkt aus dem AVR angesteuert und schalten die 20V für die MOSFETs. Diese schalten dann die 48V für den Motor. Wie im Schaltplan ersichtlich habe ich einen typischen aufbau verwendet. Nach meinen Messungen heute mit dem Oszi, scheinen die Phasen auch alle wie gewünscht zu Schalten: Ich schalte Low(GMD) immer statisch, und High (48V) mit PMW (momentan ca 50%). Nach jedem Schaltvorgang lasse ich den MOSFETs 3µs Zeit (Deadtime). Die Schaltreihenfolge (exakt wie im Programmablauf): (H = 48V, L = GND, D = Tod) Phase Potenzial A L B L C L A D B D C D B L Begin einer Schleife A H 200ms warten B D C L 200ms warten A D B H 200ms warten C D A L 200ms warten B D C H 200ms warten A D B L 200ms warten C D Ende der Schleife Die Schleife kann dann beliebig lange wiederholt werden. Erwarten würde ich jetzt, dass der mortor etwas holperig seine Runden dreht. Aber das tut er nicht.. kommen wir also zum PROBLEM: Meine erste Beobachtung mit dem Oszi heute war, dass an den Phasen nur 20V anliegen... Die Mosfets werden aber mit 19,7V angesteuert, was ja knapp unter der MAX Vgs ist. Also sollten sie ja komplett durchschalten und nicht nur 50%. Es könnte auffallen, dass ich die PMW auf ca 50% habe, aber auf dem Oszi war der Puls sichtbar von wunderschönen 20V Pulsen was ja dann ein arritmetisches Mittel von 10V gibt. Der Motor braucht ja aber 48V ... Ok hab ich mal ignoriert und den Motor dran gehängt. Zu beobachten war das er immer einen Step macht, und dann einen Step zurück, dann wieder den Step vor und wieder zurück. Die Phase A wird dabei Handwarm, alle anderen bleiben kalt. Wenn ich dann alles abschlate und die MOSFETs auf durchgängigkeit teste (bei Vgs 0V, also alles aus) fällt auf das die High MOSFETs alle dauerschalten. Ich habe das mal als "durchgebrannt" interpretiert. Das passiert bei JEDEM lauf. Also 3 Probleme: 1. Bei komplett neuen MOSFETs wird nur 20V geliefert. 2. Der Motor macht nur einen vorstep, dann einen Rückwärtsstef und keine Kreisbewegung. 3. Die MOSFETs sterben wie die Fliegen, auch wenn sie locker doppelt so viel Strom und Spannung aushalten sollten. Ich habe gelesen, dass Freilaufdioden die MOSFETs schützen sollen, allerdings haben die irf3710 Interne Dioden ... Zur Sicherheit habe ich jetzt ein Paar Schotkey Dioden drangebastelt, allerdings haben die keine Änderung im Verhalten bewirkt. Ich hoffe, dass jemand den ganzen Text liest und mir helfen kann! Gruß
hmm... schade um die FETs... ;-(( du kannst die high side FETs nicht so einfach per optokoppler schalten. die dinger brauchen ihre gate-spannung zwischen (G)ate und (S)ource. was passiert nun wenn du am gate 20V anlegst? richtig, die dinger öffnen. was passiert nun wenn am (S)ource die spannung auf 20V gestiegen ist? richtig, die G-S spannung ist weg und deswegen können die FETs nicht weiter öffnen. damit ist auch klar wieso die FETs sterben, 20V gehen in den motor (mit verdammt hohem strom weil dieser sich ja nicht dreht) und die restlichen 28V heizen die FETs. aber dein schaltplan ist murks. die optokoppler dürften in dieser beschaltung die FETs gar nicht öffnen können. was ist eigentlich mit so tollen halbbrückentreibern wie z.b. dem IR2110? mit genügend großem bootstrap-kondensator sollte es damit selbst bei so geringen drehzahlen funktionieren. bei 48V ist auch klar, daß da schnell was raucht. zum test würde ich den ganzen kram mit 12V und einer guten strombegrenzung betreiben. die gate-spannung von 20V erscheint mir ebenfalls grenzwertig, geh auf 15V runter. 48V für 200ms an eine wicklung eines stehenden motors find ich auch zu lange. da dürften ströme jenseits von gut und böse fließen. nimm innerhalb der 200ms eine geringere pulsbreite für die high side, so daß der motor gerade genug kraft zum drehen hat. wenn dann alles funktioniert kannst du immer noch die leistung erhöhen. die korrekte schaltreihenfolge der phasen bzw. transistoren findest du mit sicherheit im netz. schon irgendwo krass... informatik studieren (ich wiederhole: STUDIEREN!!) und dann in ein gebiet reingehen wovon man keine ahnung hat. das versteh ich mal grundsätzlich nicht. ich studiere doch auch nicht botanik und mache danach herztransplantationen. und wenn die überaus anspruchsvolle arbeit, ein programm zum steuern eines BLDC-motors in einen AVR zu kriegen für den bachelor ausreicht na dann gute nacht! sowas erledigt ein BLDC-interessierter hobbybastler in 20 minuten, der braucht dafür noch nicht mal ein abitur geschweige denn ein studium.
Zumal ein Informatiker (unterstelle ich jetzt mal) wissen sollte, dass man auf solchen kleinen Systemen ohne Betriebssytem/Scheduler/OderSowas Warteschleifen eher vermeidet ;-)
timer und interrupts kommen erst im nächsten semester... aber für so mal zum ausprobieren ist das schon okay.
Ben _ schrieb: > hmm... schade um die FETs... ;-(( > > du kannst die high side FETs nicht so einfach per optokoppler schalten. > die dinger brauchen ihre gate-spannung zwischen (G)ate und (S)ource. was > passiert nun wenn du am gate 20V anlegst? richtig, die dinger öffnen. > was passiert nun wenn am (S)ource die spannung auf 20V gestiegen ist? > richtig, die G-S spannung ist weg und deswegen können die FETs nicht > weiter öffnen. PMOS für die Highsides nehmen oder einen passenden Treiberbaustein, sonst wird das ohne Charge Pump oder extra Spannungsversorgung > 48V nichts. > 48V für 200ms an eine wicklung eines stehenden motors find ich auch zu > lange. da dürften ströme jenseits von gut und böse fließen. nimm > innerhalb der 200ms eine geringere pulsbreite für die high side, so daß > der motor gerade genug kraft zum drehen hat. wenn dann alles > funktioniert kannst du immer noch die leistung erhöhen. Ich würd´s ja erst mal mit 12V als Versorgung und drei zusammengelöteten 100 Ohm/1W-Widerständen als Motorersatz probieren und mit dem Oszi schauen, ob die Spannungen passend geschaltet werden. Wenn das klappt, kann man immer noch mit höheren Spannungen und dem echten Motor rumspielen. > schon irgendwo krass... informatik studieren (ich wiederhole: > STUDIEREN!!) und dann in ein gebiet reingehen wovon man keine ahnung > hat. Fachidioten haben wir schon genug, und sein Schaltplan ist nicht völlig katastrophal. Und er hat nicht darum gebeten, dass wir seine Aufgabe lösen, sondern ist erst mal selber auf die Nase gefallen. Das ist doch prinzipiell ok.
Wow .. das sind ja harte Worte... Mir ist klar, dass das nicht zu meinem Fachgebiet gehört, aber ich würde gerne Erfahrungen in breiteren Gebieten sammeln... Und NEIN, es reicht natürlich nicht aus ein BLDC Regler zu bauen für eine Bachelor Arbeit ... das ist nur ein Zahnrad in einem System das mir im moment Probleme bereitet... Und Ja warteschreifen sind unschön, aber sie tuns für einen Test völlig. Danke an l0wside dass er ein wenig in dei Bresche gesprungen ist und versucht mir weiter zu Helfen :) Max G. schrieb: > Ich würd´s ja erst mal mit 12V als Versorgung und drei zusammengelöteten > 100 Ohm/1W-Widerständen als Motorersatz probieren und mit dem Oszi > schauen, ob die Spannungen passend geschaltet werden. Wenn das klappt, > kann man immer noch mit höheren Spannungen und dem echten Motor > rumspielen. Super Idee ... das mach ich heute direkt mal ... Danke für die Tipps Gruß
So da bin ich wieder. Leider weiterhin erfolglos... Also was ich gemacht habe: Mir kam es am einfachsten vor, einen P-MOSFET zu verwenden. Wollte dann die Hiegh Side mit 30V aktivieren (da dann am Gate - 18V anliegt) und mit 48V deaktivieren. Das Ganze sollte über eine Optokoppler passieren. Deshalb habe ich mir ein Schaltregler für 30V besorgt und an dem Optokoppler als Vcc 48V und als Vee 30V angeschlosse. Allerdings ist bei dem Schaltregler dann die Spannung angestiegen auf 47V... mir ist nicht klar warum er sich so verhält .. Ich hab dann einen Spannungsteiler verwendet, der mir die 30V liefert. Dann habe ich das ganze mit dem OSZI durchgemessen und festgestellt, dass der Optokoppler nur noch 30V ausgibt und niemals schaltet (unabhängig vom Eingang) Ich kann mir auch hier das Verhalten nicht erklären ... (Soweit im Schaltplan sichtbar) Dann bin ich dazu über gegangen, dass ich es erstmal mit 12V versuche und die Gate Versurgung erstmal hinten anstelle. Bei 12V muss ich bei dem P-MOSFET ja nur auf Masse schalten um es zu aktivieren und auf 12V um es zu deaktivieren. Bei dem N-MOSFET schalte ich auf 12V zum aktivieren und auf Masse um zu deaktivieren. Ich kann allerdings nicht ganz nachvollziehen ob es Funktioniert, da an der Phase seltsamer weise immer GND anliegt (auch wenn das MOSFET deaktiviert ist). Ich hab das mal so interprätiert, dass aus irgendeinem Grund immer durchgeschlaten wird ... ich weiss allerdings nicht warum (die MOSFETs sind neu)... Die High Side hat auch eine seltsamen Nebeneffect. Eine Phase funktioniert wie erwartet: Wenn ich (gepulste) Masse am Gate anlege habe ich am 12V auf der Phase. Allerdings habe ich die vollen 12V trots PWM ... ich denke aber dass sich das unter Last noch verändert. Die anderen Beiden Phasen Schalten zwar auch aber es liegen ein Paar Volt (ca 5V) an wenn die funktionierende Phase geschalten wird. Ich habe mal ein paar Bilder vom Oszi gemacht. Man sieht darauf immer die Phase (hohe Kurve) und die Gateschaltung (niedrige kurve). Die unterschiedlichen höhen liegen an der Einstellung und sind nur zur besseren lesbarkeit ... die Spannung ist in wirklichkeit gleich groß. Ich bin ein wenig am Verzweifeln ... das frisst eigentlich auch alles zu viel Zeit. Hat jemand eine Idee? Bzw. weiss jemand ob man den Treiberteil kaufen kann ? Denn eigentlich ist für mich nur die Software interessant.. Gruß
Frage zum Nachdenken: Welches Potential sollen die Gates haben, wenn du die Optokoppler nicht ansteuerst?
Eben, du brauchst Pullups. Allerdings will man den MOSFET möglichst schnell öffnen/schließen, weshalb der Pullup relativ klein sein sollte, was wiederum einen hohen Querstrom (durch die Optokoppler Ausgänge) zur Ursache hat. Einfacher als mit einem integrierten Half-Side Chip wirds ziemlich schwer.
hi, wie die Vorredner schon sagten. Es gibt für diesen Zweck fertige ICs (IR2101 oder Ähnliches) --> Ich würde auf jeden Fall drauf zurückgreifen. BLDC Ansteuerung ist nicht trivial. Habe mir selbst beim Bau so einige Mosfets zerschossen. Greife also besser auf erprobte Schaltungen zurück. Aber auch hier kommt es noch maßgeblich auf das Layout an, da Leistungselektronik unschöne Eigenschaften zeigen kann (EMV, Ripple usw usw) Mit dem Steckbrett kann man sowas nicht machen ;)) EDIT: Ich sehe grade das du auf P-Kanal umgestiegen bist (High Side). Was mir noch einfällt: Bist du dir ganz sicher nicht versehentlich einen Überlapp zu haben und zu gewissen Zeiten beide Transistoren durchzuschalten? Bei sowas sind die sofort hinüber. Auch sollten die Totzeiten bedacht werden.
**würg** pullups zur FET-ansteuerung sind in so einer anwendung obermüll. das geht bestenfalls wenn man die FETs mit 100-300Hz fahren will und selbst dann ist ein echter gate-treiber immer noch besser. ich nehm sowas nur noch wenn ich etwas einfach und vor allem statisch schalten will, wo mir die schaltzeit einigermaßen egal ist und ich ggf. mit etwas verlustleistung im umschaltmoment leben kann. bitte nimm irgendeinen gate-treiber-IC. davon gibt es doch heute genug. IR2110 fällt mir da ganz spontan ein. die haben den nachteil, daß man die high side nur mit umwegen statisch schalten kann, aber das will man beim BLDC ja nicht.
Ben _ schrieb: > IR2110 fällt mir da ganz spontan ein. den würde ich auch gerne verwenden ... ich hab auch noch eine Stange hier rum liegen ... allerdings hat es mit dem nich so geklappt (auch die low side nicht) ... kannst du mir den erklären ? Also: - Wie anschließen (wenn anders als im Datenblatt) - Welche kondensatoren bei meinen Spannungen und Strömen - Welche Schaltfrequenz der High Side - Muss die Lowside dann auch gepulst werden - Kann ich den P weiterhin verwenden für High - Was sonst noch zu beachten ist... Jonny Obivan schrieb: > Was mir noch einfällt: Bist du dir ganz sicher nicht versehentlich einen > Überlapp zu haben und zu gewissen Zeiten beide Transistoren > durchzuschalten? Bei sowas sind die sofort hinüber. Auch sollten die > Totzeiten bedacht werden. Ich habe die einzeln gemesse .. also erst nur die High dann nur die Low angesteuert Jonny Obivan schrieb: > Mit dem Steckbrett kann man sowas nicht machen ;)) das sehe ich nun leider auch ... das Geld ist ja nicht das Problem, sondern das es mich einfach aufhält. Deswegen ja die frage, ob man die Leistungselektronik nicht einfach komplett zukaufen kann. habe immer Platinen gefertigt Jonny Obivan schrieb: > BLDC Ansteuerung ist nicht trivial. Habe mir selbst beim > Bau so einige Mosfets zerschossen. Floh schrieb: > Frage zum Nachdenken: > Welches Potential sollen die Gates haben, wenn du die Optokoppler nicht > ansteuerst? Ja darüber habe ich nachgedacht ;) und laut meinen Messungen schaltet der Optokoppler im nicht angesteuerten Zustand auf Vee ... also in meinem Fall auf GND Gruß
> Ja darüber habe ich nachgedacht ;) und laut meinen Messungen schaltet > der Optokoppler im nicht angesteuerten Zustand auf Vee ... also in > meinem Fall auf GND Bist du dir auch ganz sicher, dass er nicht floated? Wenn man da mit dem Messgerät hingeht, kann es ja durchaus sein, dass es 0V anzeigt, was aber nicht bedeutet, dass eine aktive Verbindung nach Masse besteht. Durch die hohe Impedanz eines Gates, können eingestreute Störungen, statische Aufladungen etc. den Mosfet wild rumschalten lassen. Dann fällt mir noch auf, dass der Transistor im Optokoppler nicht gescheit durchschalten kann, wenn kein Strom fließt, was auch der Fall sein wird, da das Gate extrem hochohmig ist (vorausgesetzt das Innenleben des Optokopplers wird im Schaltbild richtig angegeben). --> Du brauchst unbedingt Pull-Ups.
gegen pull-ups oder pull-downs spricht schon die miller-charge bei FETs. bei 48V wird da schon ordentlich was aufs gate eingekoppelt und sollte durch einen aktiven treiber abgeleitet werden. IR2110................... > - Wie anschließen (wenn anders als im Datenblatt) datenblatt, anders nur wenn du ihn grillen willst. dann könnte man ihn verpolen oder so... wär aber schade drum. > - Welche kondensatoren bei meinen Spannungen und Strömen die dioden sollten gute sein, meine empfehlung wären MUR120. die machen 200V 1A und sind auf jeden fall nicht zu langsam. kondensatoren die üblichen abblockkondensatoren halt. Cboot dient zur versorgung des high-side-treibers und FETs, der sollte groß genug sein damit die spannung während der leitend-phase der high side nicht zu weit absinkt. ich würd da ruhig 220µF oder so dranklatschen, parallel dazu einen 0,1µF folienkondensator. die gate-widerstände der FETs nicht zu gering wählen, sonst kann das ganze zum schwingen neigen. vielleicht 10-22 ohm probieren. > - Welche Schaltfrequenz der High Side wenn du willst sind 200 kHz kein problem. auf jeden fall für deinen zweck ausreichend. du solltest aber so wenig wie möglich nehmen, jeder schaltvorgang sind verluste und wenn du pulse draufschickst ohne die low-side durchzusteuern muß Cboot sehr viel strom liefern weil das gate des FETs dauernd umgeladen wird. ich würd keine pulse verwenden, sondern einmal einschalten und bei wenig leistungsbedarf (verhältnismäßig) lange vor dem einschalten der low side wieder abschalten. also nur einen einzigen puls mit der benötigten pulsbreite. > - Muss die Lowside dann auch gepulst werden sie muß regelmäßig durchgeschaltet werden um Cboot nachzuladen. passiert im normalen betrieb automatisch, beim testen mußt du vielleicht darauf rücksicht nehmen. > - Kann ich den P weiterhin verwenden für High nein. der IR2110 ist extra dafür da, daß man den geringen Rds(on) von N-FETs auch für die high side nutzen kann. > - Was sonst noch zu beachten ist... niemals high und low side gleichzeitig einschalten!! und ggf. zwischen dem abschalten eines FETs noch ganz kurz bis zum einschalten des anderen warten damit der abschaltende zeit zum sicheren sperren hat (siehe shoot through current). praktisch ist auch der shutdown-eingang des IR2110. damit kannst du im fehlerfall (z.b. erkannte überlastung oder überhitzung) die komplette endstufe abschalten. falls du einen permanent erregten motor verwendest kannst du durch gleichzeitiges einschalten aller low-sides auch eine sehr effektive motorbremse realisieren. wenn du richtig fit bist kann man damit sogar eine rückspeisung der bremsenergie erreichen (die low-side kann problemlos gepulst betrieben werden weil sie dauerhaft mit spannung versorgt ist).
ich schon wieder ;) Ben _ schrieb: > die dioden sollten gute sein, meine empfehlung wären MUR120. die machen > 200V 1A und sind auf jeden fall nicht zu langsam. die bekomme ich leider nicht bei Conrad ... ich habe hier noch ein paar P6KE440A rum liegen. Kann ich die denn nicht nehmen? Ansonsten würde ich die MUR820 holen ... Ben _ schrieb: > kondensatoren die üblichen abblockkondensatoren halt. Ich weiss leider nicht was üblich ist :D würde jetzt spontan zu nem normalen ELKO greifen ... hätte auch noch ein paar low ESR da wenn das nötig ist. Kann es schaden wenn die Kapazität noch größer ist ? Ben _ schrieb: > die gate-widerstände der FETs nicht zu gering wählen, sonst kann das > ganze zum schwingen neigen. vielleicht 10-22 ohm probieren. Ich habe momentan 4,7k ohm dran ... kann ich die weiter verwenden, oder ist das zu viel ? Ben _ schrieb: > wenn du willst sind 200 kHz kein problem würde ein paar hundert herz nehmen... Ben _ schrieb: > damit kannst du im > fehlerfall (z.b. erkannte überlastung oder überhitzung) die komplette > endstufe abschalten. Wie kann ich das erkennen? normalerweise brauche ich doch dann eine Menge zusätzlicher Sensoren, oder? Ben _ schrieb: > wenn du richtig fit bist kann man damit sogar > eine rückspeisung der bremsenergie erreichen das klingt interessant, aber alle auf low schalten sollte da doch nicht reichen oder? ich brauch doch 2 Pole ... wie muss ich das dann schalten? Habe das ganze noch in einen Schaltplan gepackt, könntest du einen Blick darauf werfen, bevor ich den nächsten Satz Bauteile schrotte? Der eine Kondensator auf der Logikseite scheint ja nur zur spannungsglättung zu sein, da reicht ja ein kleiner Tantal oder sowas, oder? Danke für deine Ausführungen! Gruß
Jens Heuschkel schrieb: > ich schon wieder ;) > > Ben _ schrieb: >> die dioden sollten gute sein, meine empfehlung wären MUR120. die machen >> 200V 1A und sind auf jeden fall nicht zu langsam. > > die bekomme ich leider nicht bei Conrad ... ich habe hier noch ein paar > P6KE440A rum liegen. Kann ich die denn nicht nehmen? Ansonsten würde ich > die MUR820 holen ... Die P6KE440A ist natürlich nicht geeignet. Das ist eine Überspannungsschutzdiode. Das sieht man sofort, wenn man sich das Datenblatt anschaut, was du offensichtlich nicht getan hast. Eine UF4003...UF4007 statt MUR120 geht auch, falls Conrad die hat. Eine MUR820 ist jedenfalls Overkill > Ben _ schrieb: >> kondensatoren die üblichen abblockkondensatoren halt. > > Ich weiss leider nicht was üblich ist :D würde jetzt spontan zu nem > normalen ELKO greifen ... hätte auch noch ein paar low ESR da wenn das > nötig ist. > Kann es schaden wenn die Kapazität noch größer ist ? Wo jetzt genau? An die Stromversorgung des MOSFET Treibers auf der Hochstromseite würde ich 100nF keramisch + 10u ELKO hängen. Oder einen 1µF...10µF Keramisch, falls vorhanden. Da hast du 220µF + 100n. Sollte auch gehen. > Ben _ schrieb: >> die gate-widerstände der FETs nicht zu gering wählen, sonst kann das >> ganze zum schwingen neigen. vielleicht 10-22 ohm probieren. > > Ich habe momentan 4,7k ohm dran ... kann ich die weiter verwenden, oder > ist das zu viel ? Du hast nicht wirklich 4,7kOhm dran, oder? Warum liest du dir nicht wenigstens ein paar Grundlagen AppNotes bei IRF (und sonstige) mal durch? Da steht alles nötige drin. Ben hat doch schon (mMn. einwandfreie) Bauteilvorschläge gegeben. > Ben _ schrieb: >> wenn du willst sind 200 kHz kein problem > > würde ein paar hundert herz nehmen... Wichtig ist auch, dass du nicht zu langsam wirst. Da der obere Transistor immer nur eine begrenzte Zeit eingeschaltet sein kann und der untere Transistor eine bestimmte Mindestzeit eingeschaltet sein MUSS. > Ben _ schrieb: >> damit kannst du im >> fehlerfall (z.b. erkannte überlastung oder überhitzung) die komplette >> endstufe abschalten. > > Wie kann ich das erkennen? normalerweise brauche ich doch dann eine > Menge zusätzlicher Sensoren, oder? Ja, Temperatursensor, Stromsensor, o.ä. Ist aber erstmal zweitrangig. > Ben _ schrieb: >> wenn du richtig fit bist kann man damit sogar >> eine rückspeisung der bremsenergie erreichen > > das klingt interessant, aber alle auf low schalten sollte da doch nicht > reichen oder? ich brauch doch 2 Pole ... wie muss ich das dann schalten? Nein, das reicht nicht. Das wird allerdings zu kompliziert, da hab ich mich auch noch nie rangemacht. > Habe das ganze noch in einen Schaltplan gepackt, könntest du einen Blick > darauf werfen, bevor ich den nächsten Satz Bauteile schrotte? > Der eine Kondensator auf der Logikseite scheint ja nur zur > spannungsglättung zu sein, da reicht ja ein kleiner Tantal oder sowas, Tantal solltest du dir aus dem Kopf schlagen. Das war mal früher. Auf der Logikseite brauchst du 100nF keramisch, das sollte reichen. Bei dir fehlt noch ein dicker Kondensator an den 48V, der unter andere die Induktivität der Zuleitung verringert. Hängt von dem Nennstrom des Motors ab. Liegt vermutlich irgendwo zwischen 470µF und 4700µF. Was aber viel wichtiger als die richtigen Bauteile ist, ist das Layout. Wenn du einige wenige Regeln nicht beachtest, schrottest du dir die Treiber oder MOSFETs auf jeden Fall! Leitungen mit hohen Strom oder Spannungsänderungen brauchen hier besondere Aufmerksamkeit. Aufbau auf einem Steckbrett oder als Luftverdrahtung solltest du lassen. Tipps hierfür kriegst du auch aus diversen Hersteller-Appnotes.
> die bekomme ich leider nicht bei KOTZrad ... wenn das deine einzige bezugsquelle ist na dann gute nacht! > ich habe hier noch ein paar P6KE440A rum liegen. > Kann ich die denn nicht nehmen? vielleicht funktionierts, ich würds lassen. das sind schutzdioden gegen spannungsspitzen und keine schnellen gleichrichter. > Ansonsten würde ich die MUR820 holen ... du wirst schon irgendeine diode finden die deine 48V (bitte mit etwas sicherheitsspielraum!) sperren kann und schnell genug für deine schaltfrequenz ist. > Ich weiss leider nicht was üblich ist :D das wußte ich früher auch nicht, mach dich halt schlau... > würde jetzt spontan zu nem normalen ELKO greifen ... > hätte auch noch ein paar low ESR da wenn das nötig ist. > Kann es schaden wenn die Kapazität noch größer ist ? sieht im prinzip erstmal nicht schlecht aus, außer daß die low side keinen Cboot braucht. schaden kann der 220µF dort aber auch nicht. low ESR ist immer gut finde ich. > Ich habe momentan 4,7k ohm dran ... wo hast du denn diesen wert her? > kann ich die weiter verwenden, NEIN!! > oder ist das zu viel ? viel zu viel! bei 48V sollte man schon ziemlich schnell schalten weil im ziehbereich eine hohe verlustleistung entsteht. geh keinesfalls über 100 ohm, ich persönlich würde wie gesagt 10 oder 22 ohm probieren. das ist nochmal deutlich weniger als 100. > würde ein paar hundert herz nehmen... vernünftig. 300..500 vielleicht, so ab 800 Hz hört man die schaltfrequenz halt als ziemlich ekliges und vor allem lautes pfeifen aus dem motor. wenn du das ding später mal im griff hast ist die schaltfrequenz von der drehzahl abhängig - da kannst du gegen das pfeifen dann nicht mehr viel machen. zum testen "ob was dreht" bzw. um den BLDC erstmal anzuschmeißen (dafür brauchst du später eine anfahrrampe auch wenn du hallsensoren verwendest) würde ich halt mit sehr kleinen werten rangehen. vielleicht reichen sogar 50-100Hz schon. > Wie kann ich das erkennen? normalerweise brauche ich doch dann eine > Menge zusätzlicher Sensoren, oder? na mindestens einen stromsensor und einen temperaturfühler mit entsprechender signalauswertung. > das klingt interessant, aber alle auf low schalten sollte da doch nicht > reichen oder? ich brauch doch 2 Pole ... wie muss ich das dann schalten? vergiss das erstmal. rekuperativ bremsen kann man erst wenn sich was dreht... > Der eine Kondensator auf der Logikseite scheint ja nur zur > spannungsglättung zu sein, da reicht ja ein kleiner Tantal oder sowas, > oder? das ist einer der besagten üblichen abblockkondensatoren... > Danke für deine Ausführungen! bitte. ich weiß nur noch nicht obs dir was nutzt. ich würd vorschlagen als erstes probierst du es nicht gleich mit volldampf aus vier dicken autobatterien oder so, sondern erstmal etwas sanfter mit 12V statt 48 und vielleicht einer H1 oder H4 auto-glühlampe in reihe. die dient dann der strombegrenzung (auf 4-5A) und sollte ohne angeschlossenen motor nicht leuchten. wenn sie doch leuchtet rettet sie gerade deine FETs weil in mindestens einer halbbrücke beide gleichzeitig leitend sind. sowas bei 48V und ordentlich power knallt sonst die FETs mitsamt den beinchen weg. besser wäre noch ein labornetzgerät mit einstellbarer strombegrenzung, 12V mit autolampe ist auch nur eine hilfskrücke... die idee mit den drei widerständen (oder lampen) anstelle der motorwicklung ist auch gut, dann kannst du mit dem oszilloskop messen ob deine steuerungssequenz stimmt - sie schützt aber nicht vor dem shoot through current in den halbbrücken.
Simon K. schrieb: > Die P6KE440A ist natürlich nicht geeignet. Das ist eine > Überspannungsschutzdiode. Das sieht man sofort, wenn man sich das > Datenblatt anschaut, was du offensichtlich nicht getan hast. Nun gut, für mich ist eine Diode eine Diode ... ichdachte die sind für den angepriesenen Zweck optimiert aber können auch "zweckentfremdet" werden. Gut das ist dann offenbar falsch ... hast du einen Quellen-Tipp für "Diodenkunde"? Simon K. schrieb: > Wo jetzt genau? An die Stromversorgung des MOSFET Treibers auf der > Hochstromseite würde ich 100nF keramisch + 10u ELKO hängen. Oder einen > 1µF...10µF Keramisch, falls vorhanden. Da hast du 220µF + 100n. Sollte > auch gehen. Ben meinte was von Folienkondensatoren ... soll ich jetzt Folie oder Keramik nehmen? Simon K. schrieb: > Wichtig ist auch, dass du nicht zu langsam wirst. Da der obere > Transistor immer nur eine begrenzte Zeit eingeschaltet sein kann und der > untere Transistor eine bestimmte Mindestzeit eingeschaltet sein MUSS. Ja das hab ich verstanden, wird doch aber eh dauernd aktiviert (bei der Drehfelderzeugung) Simon K. schrieb: > Tantal solltest du dir aus dem Kopf schlagen. Das war mal früher. Auf > der Logikseite brauchst du 100nF keramisch, das sollte reichen. Ok also gedanklich von Tantal komplett auf Keramik umsteigen ? Simon K. schrieb: > Bei dir fehlt noch ein dicker Kondensator an den 48V, der unter andere > die Induktivität der Zuleitung verringert. Hängt von dem Nennstrom des > Motors ab. Liegt vermutlich irgendwo zwischen 470µF und 4700µF. Das ist bei dem Motor irgendwas um die 5A. Aber es kann ja nicht schaden wenn der größer ist oder? Hier auch ein normaler ELKO? Simon K. schrieb: > Was aber viel wichtiger als die richtigen Bauteile ist, ist das Layout. > Wenn du einige wenige Regeln nicht beachtest, schrottest du dir die > Treiber oder MOSFETs auf jeden Fall! Leitungen mit hohen Strom oder > Spannungsänderungen brauchen hier besondere Aufmerksamkeit. Aufbau auf > einem Steckbrett oder als Luftverdrahtung solltest du lassen. Da ich offenbar nich so in der Materie drin stecke wär ich für jeden Tipp dankbar. Ich benutze schon immer selbst erstellte Platinen .. also kein Steckbrett. Mein letztes Layout hab ich mal angehängt (rote Leitungen sind Drahtbrücken, Brauteilnamen bitte ignorieren). Ich kenne zum Layouten auch nur eine handvoll Regeln die sich aber alle auf Logikplatinen beziehen .. mit Leistungselektronik habe ich eben null Erfahrung. Gruß
> würde ein paar hundert herz nehmen...
scheint mir ein bischen zu wenig zu sein. Welche Drehzahlen erwartest du
denn? Wenn der Motor im Leerlauf richtig flott dreht, kommt deine
Kommutierfrequenz in die Nähe der PWM-Frequenz.
Achso nochwas: Die PWM Frequenz sollte über 16Khz betragen, wenn du sie
nicht hören willst. So ein Pfeifton kann jeh nach Mechanik ziemlich laut
und nervig sein. Durch die Kommutierfrequenz ergibt das dann nicht
selten ein lautes moduliertes Kreischen. Habe da schon selber
Erfahrungen gesammelt und die Frequenz deshalb hochgesetzt ;))
Jens Heuschkel schrieb: > hast du einen Quellen-Tipp > für "Diodenkunde"? Leider nein. > Simon K. schrieb: >> Wo jetzt genau? An die Stromversorgung des MOSFET Treibers auf der >> Hochstromseite würde ich 100nF keramisch + 10u ELKO hängen. Oder einen >> 1µF...10µF Keramisch, falls vorhanden. Da hast du 220µF + 100n. Sollte >> auch gehen. > > Ben meinte was von Folienkondensatoren ... soll ich jetzt Folie oder > Keramik nehmen? An der Stelle kannst du natürlich auch Folienkondensatoren benutzen, die sind noch "edler" (haben weniger Verluste und sind vom Kapazitätswert nicht so stark von der Spannung abhängig), aber das ist bei dem Anwendungsfall völligst egal. Keramik ist billiger. > Simon K. schrieb: >> Tantal solltest du dir aus dem Kopf schlagen. Das war mal früher. Auf >> der Logikseite brauchst du 100nF keramisch, das sollte reichen. > > Ok also gedanklich von Tantal komplett auf Keramik umsteigen ? Im niederkapazitiven Bereich (so bis 10µ, auch schon mehr) kann man problemlos auf Keramik umsteigen. Darüber ist dann eine fließende Grenze. Ab ca. 100µF muss man nach Super-Low-ESR Kondensatoren umsichtig machen. Nur als grobe Peilwerte. Die verfügbaren Kapazitätswerte hängen auch immer von Gehäusegröße und Spannung ab. > Simon K. schrieb: >> Bei dir fehlt noch ein dicker Kondensator an den 48V, der unter andere >> die Induktivität der Zuleitung verringert. Hängt von dem Nennstrom des >> Motors ab. Liegt vermutlich irgendwo zwischen 470µF und 4700µF. > > Das ist bei dem Motor irgendwas um die 5A. Aber es kann ja nicht schaden > wenn der größer ist oder? > Hier auch ein normaler ELKO? Ein 1000µF an 48V sollte schon genug sein, würde ich sagen. ELKO. Low-ESR schadet nichts, außer einem eventuell höheren Einschaltstrom, wenn du das Netzteil einschaltest. Dass du wenigstens schon mal selbsterstellte Platinen für sowas nutzt beruhigt mich etwas. Die Diode die du im Moment drin hast ist eine Z-Diode (Überspannungsschutzdiode). Die keramischen Caps an der Bootstrap und VCC Seite fehlen. Der untere MOSFET ist ein P-Kanal Typ. Liegende ELKOs haben afaik immer eine etwas höhere ESL (Serieninduktivität), wegen den langen Anschlussbeinchen, da würde ich einen stehenden nehmen. Die Leiterbahnen würde ich noch etwas dicker machen. Die Drahtbrücken solltest du solide auswählen. Vielleicht so 0,8mm - 1mm Draht. Ich nehm für sowas auch schon mal gerne 1,5mm² von der Hausinstallation. Die Stromversorgungsleitung zum IR2110 sind zu dünn. Und das allerwichtigste: Das ganze Layout ist VIEL zu sehr auseinandergezogen. Das muss viel enger aneinander gepackt werden. Erhöhe auch die Restringe in den Design Rules. Ich nutze für so sachen wie R10 und R9 sehr gerne 1206 SMD Widerstände. Die kann man auch als Grobmotoriker noch löten und haben gleichzeitig eine sehr niedrige Seriendinduktivität (keine Anschlussbeine), was an der Stelle NUR gut sein kann.
Hallo zusammen! Habe mich nochmal en Abend dran gesetzt und einen kompletten Schaltplan und Board gezeichnet. Habe sie als PDF in den Anhang gepackt, dass man sie auch ausreichend vergrößern kann. Ich habe mich bemüht alle Tipps soweit umzusetzen. Die Leitungsdicken sollten für die Ströme ausreichen. Könnt ihr nochmal einen kritischen Blick darauf werfen? Ich will auf jeden Fall vermeiden die nächste Platine samt den Mosfets in den Müll werfen zu müssen! Gruß EDIT: Rote Kabel sind Drahtbrücken die natürlich entsprechend dimensioneirt werden.
. Wo werden die +12V für die HB-Treiber eingespeist? . Den Gateanschlüssen der Low-Side Treiber fehlt eine gemeinsame Masse. . Das Layout der Leistungssektion ist eher unterirdisch... -> Versuche die aufgespannte Leiterfläche im Leistungskreis zu minimieren. -> Nutze Polygone für den Leistungssektion. -> setze Gate-Ansteuerung (Source- UND Gateanschlüsse) möglichst nah an den MOSFET. . Überlege, ob Du nicht noch Pullup/Down Widerstände an dne HIN LIN SD Anschlüsse setzen möchtest. Wenn der uC unprogrammiert ist dann sind die Gatetreibereingänge undefiniert -> Kurzschlussgefahr.
Michael O. schrieb: > . Wo werden die +12V für die HB-Treiber eingespeist? Aus dem StepUp Regler auf der Platine > . Den Gateanschlüssen der Low-Side Treiber fehlt eine gemeinsame Masse. Meinst du "COM" und "48V Motor-" ? Die sind "Global" gesehen die selbe Masse. > . Das Layout der Leistungssektion ist eher unterirdisch... > -> Versuche die aufgespannte Leiterfläche im Leistungskreis zu > minimieren. Bsp? > -> setze Gate-Ansteuerung (Source- UND Gateanschlüsse) möglichst nah > an Habe ich versucht, jedoch sehen ich nicht dir Möglichkeit noch enger zu Setzen... > . Überlege, ob Du nicht noch Pullup/Down Widerstände an dne HIN / LIN / > SD > Anschlüsse setzen möchtest. Wenn der uC unprogrammiert ist dann sind > die > Gatetreibereingänge undefiniert -> Kurzschlussgefahr. SD hat einen Pullup. Damit ist der Leistungsteil vor ungewolltem Schalten geschützt
Aktuell ist der Massepin 2 (COM) auf Signal "GND" nicht mit der Masse des 48V Kreises "48V Motor -" verbunden. So floaten die LOW Side Gateanschlüsse. Wenn die HighSide geschaltet wird, kannst Du einen fetten Kurzschluss bekommen. Hast Du das Application note gesehen? http://www.irf.com/technical-info/appnotes/an-978.pdf Ansonsten immer gerne die Seite vom Lothar zitiert: http://www.lothar-miller.de/s9y/categories/40-Layout-Schaltregler Versuche Deine Strompfade mal selbst zu lokalisieren und zu minimieren. Jens Heuschkel schrieb: > SD hat einen Pullup. Damit ist der Leistungsteil vor ungewolltem > Schalten geschützt 100k ist sicher etwas hochohmig, da der uC < 50kOhm als pull ups hat. Für SD ist das OK, die HIN und LIN könntest Du mit 10k nach Masse beschalten. Jens Heuschkel schrieb: > Aus dem StepUp Regler auf der Platine Das ist kein StepUp Converter, sondern ein 30mA Charge Pump Converter. Ich habe starke Bedenken, dass die 30mA für die drei Gatetreiber plus gate-Ströme reichen werden!!! Rechne doch mal durch, wieviel Strom für jedes Gate benötigt wird.
Hi Michael O. schrieb: > Aktuell ist der Massepin 2 (COM) auf Signal "GND" nicht mit der Masse > des 48V Kreises "48V Motor -" verbunden. So floaten die LOW Side > Gateanschlüsse. Wenn die HighSide geschaltet wird, kannst Du einen > fetten Kurzschluss bekommen. Naja die beiden Spannungen kommen aus dem selben Netzteil... das meinte ich mit "global" identischer Masse. Wenn es das Verhalten aber Maßgeblich beeinflussen sollte, kann ich noch ein Stück Leiterbahn einfügen. Ok das mit den Strompfeden habe ich nun verstanden (glaub ich) nur sehe ich bei einer einseitigen Platine nicht viel Potential das zu verbessern :( Michael O. schrieb: > 100k ist sicher etwas hochohmig, da der uC < 50kOhm als pull ups hat. > Für SD ist das OK, die HIN und LIN könntest Du mit 10k nach Masse > beschalten. Ich kann auch ein 10k nehmen. Den sinn der HIN und LIN Pulldowns versteh ich aber nicht ganz ... sobald ich den SD aktiviere habe ich doch einen definierten zustand an H / L und davor ist der gesamte Treiber doch eh deaktiviert. Also ich streube mich nicht die 6 Wiederstände mehr da rein zu löten .. ich würds nur gerne vollständig verstehen. Michael O. schrieb: > Das ist kein StepUp Converter, sondern ein 30mA Charge Pump Converter. > Ich habe starke Bedenken, dass die 30mA für die drei Gatetreiber plus > gate-Ströme reichen werden!!! Rechne doch mal durch, wieviel Strom für > jedes Gate benötigt wird. Ok dann erzeuge ich die 12V mit einem Schaltregler aus den 48V. Der schafft 1A das sollte reichen.
Jens Heuschkel schrieb: > Naja die beiden Spannungen kommen aus dem selben Netzteil... das meinte > ich mit "global" identischer Masse. Wenn es das Verhalten aber > Maßgeblich beeinflussen sollte, kann ich noch ein Stück Leiterbahn > einfügen. Das hatte ich mir schon gedacht, ist aber mords gefährlich! Grund sind die parasitären Induktivitäten der Zuleitungen sowie die Eigenschaft der MOSFETs, dass sie quasi leistungslos angesteuert werden. Beim Schalten der Halbbrücke hast Du es mit springenden Potentialen und transienten Verschiebungsströmen zu tun. Eine lange Leistungsmasse hat eine nennenswerte Induktivität, so dass ein dI/dt zu einem deutlichen dU/dt führt. Das Bezugspotential für das Gate des FET ist immer der Source des Bauteils. Über eine lange Kabelführung überlagerst Du aber dein Ansteuersignal mit dem Spannungsabfall (sowohl ohmsche als auch induktive Anteile)über der Leistungsmasse. So kann es passieren, dass beim Abschalten dein MOSFET möglicherweise wieder eingeschaltet wird (halbbrückenkurzschluss möglich) oder schnell mal Gatespannungen >20V auftreten, die das Gate zerstören. Jens Heuschkel schrieb: > Ich kann auch ein 10k nehmen. Den sinn der HIN und LIN Pulldowns versteh > ich aber nicht ganz ... sobald ich den SD aktiviere habe ich doch einen > definierten zustand an H / L und davor ist der gesamte Treiber doch eh > deaktiviert. > Also ich streube mich nicht die 6 Wiederstände mehr da rein zu löten .. > ich würds nur gerne vollständig verstehen. Es könnte noch passieren, dass Du SD korrekt einschaltest aber die Ausgänge für die Halbbrücke als Eingänge mit PullUp beschaltest. Naja, alle Softwareeventualitäten kann man eh nicht abfangen.
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.