Forum: Analoge Elektronik und Schaltungstechnik Brushless Regler: Mysteriöse Spannungsspitzen


von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

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.

von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

noch der Schaltplan....

von The D. (devil_86)


Lesenswert?

http://www.mikrocontroller.net/articles/Bildformate

Wie sieht's denn mit Freilaufdiode aus??

von jack (Gast)


Lesenswert?

>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.

von The D. (devil_86)


Lesenswert?

jack wrote:
>>Wie sieht's denn mit Freilaufdiode aus??
>
> Die sind direkt am Motor angebracht.

Na hoffentlich...

von Elwin V. (redtiger)


Lesenswert?

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

von jack (Gast)


Angehängte Dateien:

Lesenswert?

>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.

von Fasti (Gast)


Lesenswert?

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

von Benedikt K. (benedikt)


Lesenswert?

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.

von ChristianF (Gast)


Lesenswert?

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

von Benedikt K. (benedikt)


Lesenswert?

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.

von ChristianF (Gast)


Lesenswert?

In welcher Grössenordnung müssten die Kapazitäten sein, wenn ich sie 
denn brauche?
Danke,
ChristianF

von sechsnullfuenf (Gast)


Lesenswert?

>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 ?

von ChristianF (Gast)


Lesenswert?

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?

von sechsnullfuenf (Gast)


Lesenswert?

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.

von ChristianF (Gast)


Lesenswert?

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...

von guido (Gast)


Lesenswert?

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

von Simon K. (simon) Benutzerseite


Lesenswert?

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.

von Tom (Gast)


Lesenswert?

damit ich auch noch was gesagt habe: Verriegelungszeiten 
berücksichtigen!

von ChristianF (Gast)


Lesenswert?

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

von Pieter (Gast)


Lesenswert?

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

von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

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

von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

hier der Schaltplan...

von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

...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.

von Pieter (Gast)


Lesenswert?

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

von guido (Gast)


Lesenswert?

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

von jack (Gast)


Lesenswert?

GottseiDank einmal eine richtige Antwort.
Es ist ein SOFTWAREFEHLER.
Die Endstufe ist überhaupt nicht das Problem.

von ChristianF (Gast)


Angehängte Dateien:

Lesenswert?

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

von Pieter (Gast)


Angehängte Dateien:

Lesenswert?

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

von guido (Gast)


Lesenswert?

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

von ChristianF (Gast)


Lesenswert?

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

von guido (Gast)


Lesenswert?

>Hat jemand von euch vielleicht ein Code in C zur Hand für den
>anfänglichen "Blindflug"?

Naja, AVR444, aber das wirst du kennen?

guido

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
Noch kein Account? Hier anmelden.