Morgen allerseits!
Ich bin dabei einen Regler für Brushless Motoren zu entwickeln (für den
Breich des Modellbaus). Als Controller verwende ich den AT90PWM3.
Vorerst habe ich mal ein Programm um den Motor zu starten und auf eine
gewisse Geschwindikeit zu beschleunigen geschrieben; dabei messe ich
die Rotor Position noch nicht, sondern gebe einfach das Signal am uC
aus. das Funktioniert auch, alle Ausgänge werden richtig gesetzt etc.,
wenn ich aber nun die Spannung an einer Phase des Motors mit dem
Osziloskop messe, tut sich etwas sehr komisches:
1: die Akku / Netzteilspannung bricht drastisch ein, auf etwa die
Hälfte! Das liegt wohl daran das enorm hoe ströme fliessen, die Kabel
werden seeeehhhhr heiss und fangen an zu schmoren wenn ich den Motor
nich nach 10 sek ausschalte. Die P-Kanal Mosfets (IRF 4905) werden auch
heiss, die N-Fets (IRLR 3103) jedoch praktisch nicht.
2: Während einer Phase (im Bild rot schraffiert) wo eigentlich beise
Mosfets sperren müssten aufgrund der Spannung am Gate, tritt eine grosse
Spannungsspitze auf, ebenso eine grosse spannungsspitze bei den
folgenden 2 Phasen, wo doch die P Mosfets durchschalten und die N
sperren, wodurch as ganze auf höhe der Betriebspannung liegen sollte.
Messe ich das Signal der Versorgungsspannung (LiPo akku, kann ohne
weiteres 10 A liefern! oder auch ein Netztgerät) dann sehe ich dort auch
diese Spannungspitzen. (Bild unten)
Wenn ich das Signal an meinem Gekauften Regler messe, dann bricht die
Spannung nicht ein, und alles verhält sich wie im Bilderbuch. (Bild
rechts)
Dachte zuerst an einen Fehler im Aufbau der Leistungsstufe (siehe
Schaltplan), habe das ganze dann nochmals neu mit etwas anderen
Bauteilen zusammengelöted, gleiches Resultat.
Für die die es interessiert habe ich noch das Programm angehängt, aber
dort läuft eigentlich alles einwandfrei.
Hat irgendjemand eine Idee wodurch meine Probleme asgelöst werden? Bzw
wie ich sie lösen kann? Danke im vorraus für eure Hilfe!
Grüsse
ChristianF
PS: Sorry für die Handzeichnungen, mache wenn ich Zeit habe Fotos direkt
vom Oszi.
>Hat irgendjemand eine Idee wodurch meine Probleme asgelöst werden?
An der Endstufe ist nichts besonderes zu sehen.
Es kann sich eigentlich nur um einen Softwarefehler handeln:
Die falschen P- und N-MosFets überlappen sich.
Aus Deiner Zeichnung geht ja nicht hervor, welcher P- und welcher
N-Mosfet gerade eingeschaltet ist.
>Wie sieht's denn mit Freilaufdiode aus??
Die sind direkt am Motor angebracht.
Nim Dir ein gate Treiber IC für low und high side und ca 10-50 Ohm gate
Widerstände. Jetzt sind die gate wiederstande viel zu hoch und dadurch
hast du wahrscheinlich shut through
>Nim Dich ein gate Treiber IC für low und high side und ca 10-50 Ohm gate>Widerstände.
Nicht nötig. 100 bis 200 Ohm sind i.O.
Eventuell könnte man dem npn-Transistor noch eine Basiswiderstand nach
Masse spendieren.
So wie im Anhang sind die BL-Regler aufgebaut.
Hallo!
So wie ich das sehe bricht die Spannung aufgrund eines zu hohen Stromes
zusammen. Vielleicht ist dein Akku zu schwach für diese Ströme. Mal mit
ein paar Kondensatoren puffern.
Bezüglich der Spannungsspitzen. Offenbar hast du ziemlich hohe
Induktivitäten in deiner Brücke. Die Spitzen schauen genau nach
Induktionsspannungen aus, da sie immer nur auftreten wenn ein Transistor
zu macht. Wenn du wirklich Schutzdioden verbaut hast, dann sind sie
entweder zu langsam oder du hast ziemlich lange Leitungen bis zum Motor.
Ein Kondensator und ein Widerstand oder eine Z-Diode mit Widerstand bei
den Transistoren könnte das wohl wirksam abfangen.
Das der P-Kanal heißer wird als der N-Kanal wird wohl an seinem höheren
Rdson liegen. Ausserdem sind in meinen Augen die Gatewiderstände zu hoch
(wie schon Elvin anmerkte). Dadurch fährst du zu langsam durch den
linearen Bereich was eine übermäßige Erwärmung erklären würde.
Grüße
fasti
Das Problem wird auch an der Gate-Drain Kapazität des P Kanal Fets
liegen. Wenn der N Kanal die PWM macht, bekommt der P Kanal natürlich
auch die Spannungen mit. Die koppeln via Drain-Gate Kapazität auf das
Gate über, und lassen den P Kanal Fet leitend werden. Mit einem
kleineren Pullup am P Kanal und einer zusätzlichen Gatekapazität kann
man das Problem aber lösen.
Hallo!
Vielen vielen Dank erstmal für die zahlreichen Antworten!!
Ein Softwarefehler ist es nicht, die Signale an den Gates der Fets habe
ich mitem dem Osziloskop überprüft.
Das PWM Signal liegt an den P-Kanal Fets. Im moment (und auf der
Zeichnung) ist das PWM Signal allerdings noch ständig high, also keine
Pause zwischen den Pulsen.
Der Akku sollte die erforderlichen Ströme schon liefern können,
zumindest tut er das beim gekauften Regler, was heissen muss dass bei
meinem Regler die Ströme viel grösser sind(?).
An Freilaufdioden habe ich tatsächlich noch nicht gedacht! Sind das die
gleichen "Schutzdioden" die Fasti erwähnt? Und die Leitung zum Motor ist
in der Tat etwas lang, werde ich kürzen.
Werde jetzt Freilaufdioden verbauen (Woran erkenne ich (Datenblatt) dass
die Dioden genug schnell sind?) und kleinerer Gatewiderstände
einsetzten.
Dann werde ich wieder Messen, und schauen ob das Problem gelöst ist!
@Fasti
>Ein Kondensator und ein Widerstand oder eine Z-Diode mit Widerstand bei>den Transistoren könnte das wohl wirksam abfangen.
Ich verstehe nicht ganz wo ich der Widerstand und de Kondesator bzw.
Z-Diode am Transistor anbringen soll.
@Benedikt K.
zusätzliche Gatekapazität: Einfach ein Kondensator zwischen dem Gate des
Fets und Masse?
Grüsse
ChristianF
ChristianF wrote:
> @Benedikt K.> zusätzliche Gatekapazität: Einfach ein Kondensator zwischen dem Gate des> Fets und Masse?
Ja.
Mess aber erst mal nach ob das notwendig ist. Bei mir hat man deutlich
Peaks am Gate gesehen, wenn der andere Mosfet geschaltet hat.
>Das PWM Signal liegt an den P-Kanal Fets. Im moment (und auf der>Zeichnung) ist das PWM Signal allerdings noch ständig high, also keine>Pause zwischen den Pulsen.
Der PWM wird mit dem P gemacht ? Und der N ? Der ist statische ? Gibt es
eine Totzeit zwischen dem N & P ?
Ja, der N ist ohne PWM.
Sollte das PWM Signal denn besser auf dem N sein? oder ist das im
Prinzip egal?
Eine Totzeit zwischen einem N & P verschiedener Phasen gibt es nicht,
die Gefahr eines Kurzschlusses besteht ja innerhalb einer Halbbrücke
ohnehin nicht, da es eine ganze Phase hat in der N & P Fet beide
sperren, und nicht direkt von N auf P gewechselt wird.
Bräuchte es denn eine Totzeit zwischen jeder Phase? Demnach auch beim
Übergang von einem N Fet zum nächsten N Fet?
Ein 3 phasen Antrieb muss in 4 quadranten arbeiten, und das geht nur
wenn der N und der P beim PWM mitmachen. Dh es werden alle 6 Fet am PWM
beteiligt.
hm, ich muess zugeben da komm ich nicht mehr mit ;-).
Aber ich glaube es gibt diverse selbstbau Regler die nicht bei beiden
PWM anwenden?
Es gibt doch einie die als Cotroller den Mega8 einsetzen und es wäre
doch mit einem Mega8 sehr schwer realisierbar alle 6 Fets an PWM zu
haben, denke ich.
Wenn alle Fets mit PWM betrieben werden, gibt es da nicht Probleme weil
Strom und Spannung aufgrund der Spulen im Motor Phasenverschoben sind?
Ich kenne mich da nicht wirklich aus, also mögen mir abstruse Gedanken
verziehen sein...
PWM in einem Zweig ist besser. Ich habs bisher
in den N-Zweigen gemacht, weil die N-Fets meist
schneller schalten können als P-Fets. Die Phasen
müssen halt umgeschaltet werden, wenn die PWM
aus ist.
guido
Kein Wunder, dass der P-Channel warm wird. 5,6kOhm Gatewiderstand sind
viel zu viel!
Selbst 200 Ohm sind bei hoher Frequenz tödlich für die FETs, da diese
nicht sofort durchschalten, sondern dadurch, dass das Gate über einen
Widerstand aufgeladen wird, erst nach einiger Zeit langsam
durchschalten.
10-50 Ohm halte ich für angebrachter, als 200 Ohm
Aber baue erstmal die Schutzdioden ein.
Danke für die vielen Tipps!
Habe schon einige Teile umgelötet, und werde hoffentlich morgen mit dem
Osziloskop messen können. Ich werde dann wieder berichten!
Grüsse
ChristianF
moin moin,
unter
Beitrag "5Phasen-Schrittmotoransteuerung"
habe ich mal meine 5Phasensteuerung eingestellt.
Für 3Phasen nehme ich einen SI9979 + 3 DoppelFETs.
Bei Dir muss wegen PWM der P-FET (mach ich auch so) mit einem richtigen
Treiber angesteuert werden. Wenn die Motorspannung <20V ist, reicht
eventuell schon eine komplementär Endstufe.
Machst Du die Strom-PWM nur über den MC? Das dürfte zeitlich mehr als
knapp werden. Bei mir macht das der GAL mit und die Steuerungen laufen
stundenlang und da wirds nur handwarm.
Mit Gruß
Pieter
So, es gibt Neuigkeiten:
Konnte heute mit dem Osziloskop die angepasste Schaltung (Bild) testen,
allerdings hat sich nicht gross etwas geändert.
Oben auf dem Bild sieht man das Signal an einer Phase, unten das Signal
am Gate des P Kanal Fets.
Der P schaltet also zu einem Zeitpunkt an dem er gar nicht dürfte, sehr
mysteriös...
PWM ist beim maximalwert, also ständig ein. Pulse ich die Spannung gibt
es ein ebenfalls komisches Bild, poste das ev noch.
Was mich sehr stutzig macht sind die hohen Ströme die zu fliessen
scheinen; Der Motor wird sehr heiss, genau wie die P Fets, ich wage es
nicht den Motor über mehr als 10 sekunden eingeschaltet zu lassen ! Kann
natürlich damit zusammenhängen das die P Fets falsch schalten.
Beim gekauften Regler wird der Motor und die Kabel praktisch nicht warm,
auch bei voller Leistung, woraus ich schliesse dass die Ströme viel
geringer sind.
Irgendetwas mache ich wohl falsch...
Sind die Werte für die Widerstände etc i.O.?
Danke für eure Mithilfe!!
Grüsse
ChristianF
...und noch das Signal an einer Phase wenn die PWM auf 75% ist.
(Achtung, hier sind 2Volt pro Häuschen eingestellt!) Unten wieder die
Spannung am Gate des P Fets.
moin moin,
die RC-Kombi am npn (B-C) ist doch ein Witz. Die macht den npn zu einem
langsamen Schalter mit flachen Flanken.
Da Du nur die Spannung schaltest, es wird ein Strom fliessen, der nur
durch den Widerstand der Motorspulen begrenzt wird. Das die Teile heiss
werden ist also richtig.
mfg
Pieter
Vorsicht, du grillst Motor und Schaltung. Bei
stehendem Rotor darf die PWM nicht 1 sein.
Anlauf geht bei ca. 20 % Einschaltdauer.
Sonst geht der Stator in die Sättigung, es
gibt dann praktisch keine Strombegrenzung mehr.
Mit zunehmender Drehzahl sinkt die
Statorspannung durch Induktion, wenn die
Regelung greift, wird zum Ausgleich die
Einschaltdauer erhöht.
guido
Nun ja, schon möglich das ein Softwarfehler mitwirkt.
Was die Software tut:
Es erzeugt die Signale an den Ausgängen, allerdings ohne auf die
tatsächiche geschwindikeit des Motors einzugehen natürlich. Das erklärt
allerdings immer noch nicht warum der Mosfet schaltet obwohl er aufgrund
der Gatespannung nicht sollte.
Danke für den Tipp wegen der PWM, wusste nicht dass es so dramatische
Folgen haben kann (Hitze...)
Habe nun mal ein PWM Signal mit 1/6 Pulsbreite erzeugt, mal das Bild vom
Oszi. Den Kondensator am Gate habe ich wieder rausgenommen.
Hat jemand eine Idee wie ich weiter vorgehen soll?
Wenn das Signal, welches ich für eine zeitlich richtige Kommutierung
messen muss, überhaupt nicht dem entspricht was es soll, kann das doch
nie funktionieren?
Bin ziemlich ratlos für weitere Schritte.
Danke und noch einen Schönen Abend!
ChristianF
moin moin,
anbei eine Schaltung wie ich einen P-FET ansteuern würde, die BEs sind
für 1A Impuls ausgelegt. Vor das Gate vom P-Fet könnte man eventuell
noch einen 12Ohm (Begrenzung bei 12V auf 1A) legen.
mfg
Pieter
Einen letzten Versuch gebe ich mir noch:
Pwm muß laufen, Kommutierung wenn die
Pwm aus ist (d.h. =0). Ein Meßsignal gibt es
erst,
wenn der Motor mit genügender Drehzahl
läuft. Vorher muß die Steuerung im Blindflug
erfolgen.
guido
Hallo,
Danke für eure Antworten!
Der Motor läuft schon mit einer recht ordentlichen Geschwindikeit, etwa
6900 U/min (auch auf dem Bild vom Oszi!) also müsste man doch ein
geeignetes Signal sehen können.
Ist aber nicht der Fall; d.h. wenn ich jez die "echte, geregelte"
Steuerung einschalten würde, würde gar nichts passieren (sprich der
Motor hält an) weil das Signal zur Kommutierung nicht wirklich lesbar
ist.
Hat jemand von euch vielleicht ein Code in C zur Hand für den
anfänglichen "Blindflug"?
Grüsse in der Hoffnung das ich das ganze doch noch hinkriege...
ChristianF