Forum: Mikrocontroller und Digitale Elektronik BLDC - aktiver Freilauf


von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Hi,
wie der Betreff schon sagt beschäftige ich mich gerade mit dem aktiven 
Freilauf von BLDC´s.

Ich habe zwei Screenshots angehängt:

"Ohne_Freilauf":
Dargestellt sind die Steuersignale der 6 FETs:
- Ux, Vx, Wx sind die drei Motorphasen
- H steht für High Side FET
- L steht für Low Side FET
- Spare 0 ist ein Debugsignal

Die Abschnitte A bis F kennzeichnen den Beginn der BLDC typischen 6 
Phasen Ansteuerung. D.h.:
Abschnitt A-B: UH = VCC, WL = GND mit überlagerter PWM
Abschnitt B-C: VL = GND, UH = VCC mit überlagerter PWM
usw.

Mit dieser Ansteuerung läuft der Motor einwandfrei.

"Aktiver_Freilauf":
Entspricht im wesentlichen dem vorherigen Screenshot nur mit dem 
Unterschied das in den PWM Off Phasen der korrespondierende FET 
eingeschaltet wird um die FET interne Diode zu brücken. Damit kein 
Kurzschluss zwischen den yH un yL FETs auftreten kann liegt jeweils eine 
Totzeit von 5[us] zwischen den Umschaltzeitpunkten.

Problem:
Wenn der Motor mit dem "aktiven Freilauf" Muster zwangskommutiert wird 
(um BEMF Sensing Probleme auszuschliessen) bleibt der Motor schlagartig 
mit hoher Stromaufnahme stehen.

Frage:
- Ist dies die korrekte Ansteuerung für "aktiven Freilauf" ?
- Wenn ja hat jemand eine Idee wo das Problem zu suchen ist ?

von Markus (Gast)


Lesenswert?

Niemand eine Idee ?

von Eddy (Gast)


Lesenswert?

Überlege mal genau was hier bei deinem konzept passiert.
In dem moment in dem Deine Freilaufansteuerung kommt,
liegt an beiden Motorphasen das gleiche Potential desshalb
bleibt dein Motor hängen.

von Carsten M. (ccp1con)


Lesenswert?

Veruch doch mal die Ansteuerung für High und Low zu vertauschen.
Soll heißen High side mit PWM und Low immer an.
Dann sind wärend dem Freilauf beide Phasen auf GND.

Nur sone Idee.
Gruß Carsten

(Ich bin auch gerade an dem Thema dran, muss nur gerade eine Zwangspause 
einlegen, weil mein Oszi tot ist)

von Eddy (Gast)


Lesenswert?

Dein Screen Shot ist ziemlich verwirrend, ich habe mal versucht
damit klar zu kommen,sehr schwer, weil man nicht durchgängig
von jeden Signal sicher den Pegel identifizieren kann.
Ich habe mir die Sache noch mal in Ruhe angeschaut.
Wenn ich Dein Diagramm richtig interpretiere hast Du auf der
Low-Side Deine PWM und schaltest die entsprechend der Drehrichtung
gehörende High-Side dazu, ohne PWM.
Nun passiert bei Dir hier folgendes: nehmen wir an an WL = PWM
ab der ansteigenden Flanke des Ansteuerimpulses liegt an diesem
Motoranschluss GND, im gleichen Moment hast du die UH = Motorspannung
anliegen, es kann ein Strom fießen von UH über Motorspule über WL,
soweit alles in Ordnung.
Gehst Du nun aber hin und schaltest die PWM von WL ab und gleichzeitig
nach einer kleinen Verzögerung WH ein, hast Du wegen UH das ja in dem 
Moment noch aufgesteuert ist, folgenden Effect, WH legt an den einen 
Motoranschluss High Pegel (Motorspannung) im selben zeitlichen Moment 
wird aber an UH überhaupt nicht reagiert was bedeutet hier liegt auch 
High Pegel an dem Motoranschluss.
Genau das ist der Zustand mit dem ein BLDC Motor gebremst wird.
Beim Bremsen wird eine Highside des Motoranschlusses durchgeschaltet
und eine andere Highside mit PWM beaufschlagt. Eleganter und auch 
weicher
ist natürlich beide HighSide mit PWM anzusteuern.
Du gehst also hin versuchst mit deinem PWM Impuls den Motor zu 
beschleunigen
um Ihn kurz nach diesem Impuls sofort wieder zu bremsen.
Das Ergebniss ist Dir bekannt, viel Strom, Endstuffe sehr heiß.
Wie tief hast Du dich mit dieser Materie befasst sind Dir die
Zusammenhänge klar?

Carsten schau Dir mal die Diagramme an, die PWM nach oben
bringt auch nichts das Ansteuerschema ändert sich dadurch ja
nicht also wird der Motor dann auch nicht drehen.

von Carsten M. (ccp1con)


Lesenswert?

Ohne die Bilder genauer studiert zu haben: wenn er aber sagt, dass es 
ohne komplementäres PWM geht, sollte/kann es nicht an der 
Kommutationsreihenfolge liegen!?

von Martin K. (mkmannheim) Benutzerseite


Lesenswert?

Was ist denn ein "aktiver Freilauf"?

von Markus (Gast)


Lesenswert?

Sorry habe erst jetzt gesehen das auf meinen Beitrag geantwortet wurde.

Was ist "aktiver Freilauf":
In dem von Eddy genannten Fall gilt:
UH = VCC
WL = PWM
Bei jedem Abschalten der PWM liegt an den Spulen die 
Selbstinduktionsspannung an.
Da die Selbstinduktionsspannung eine umgekehrte Polarität besitzt liegt 
nun ein Spannungsabfall
von ~0.7[V] an der Freilaufdiode von WH an. Dadurch entsteht an dem FET 
eine Verlustleistung.
Da sich die FETs dadurch unnötig erwärmen versucht man das Problem zu 
umgehen indem man im
Augenblick der PWM Abschaltung den WH FET schliesst und damit die 
interne Diode "kurzschliesst"
Da RDS_ON sehr klein ist, ist auch der Spannungsabfall wesentlich 
kleiner in der Folge entsteht
weniger Verlustleistung.
Wie man sieht wird die gespeicherte Energie der Spule mit und ohne 
aktiven Freilauf zwischen
den FETs kurzgeschlossen. Der dabei entstehende hohe Strom bleibt somit 
auch innerhalb der Endstufe
und wird nicht in die Versorgungsleitung rückgekoppelt (Somit erklärt 
dies nicht den von mir gemessenen
hohen Strom). Ich bin der Meinung das diese Ansteuerung, entgegen der 
Auführung von Eddy, nichts
mit "aktiven Bremsen" zu tun hat.

von Dingolfinger (Gast)


Lesenswert?

Dieser Freilauf soll bewirken, dass der Motor in einer Richtung 
weiterdrehenn kann, wenner angeschubst wurde, oder?

von Axel R. (Gast)


Lesenswert?

Die jeweiligen Fets dürfen nur solange durchgesteuert werden, wie auch 
Strom durch die Freilaufdioden fliesst. Also solange wie die Spannung am 
Motorterminal U, V oder W größer als die Betriebsspanung ist. Sinn ist 
ja, die internen Dioden, die bei diesem Strom gut 1Volt verbraten 
müssen, durch die Fets mit der Absicht zu ersetzen, eben diesen 
Spannungsabfall auf ein mimum zu reduzieren. Bleiben die Teile nun aber 
über diese Zeit hinaus eingeschaltet, bremst der Motor, da 
kurzgeschlossen.

BTW. die Abstraktion einer Motordrehung aus den Diagrammen ist wirklich 
sehr "anspruchsvoll". Mir fiele auf Anhieb aber auch keine bessere Art 
der Visualisierung ein, als dem Logikanalysator zu bemühen.

Axelr.

von Alex R. (Gast)


Lesenswert?

> "aktiver Freilauf"?

Na bei diesem Thema hast du mit deiner PWM Ansteuerung so ziemlich 
daneben gegriffen. Um das, was du hier vorhast sinnvoll umzusetzen, 
bedarf es schon ein wenig mehr an Regelelektronik.
Ich sasge nur Vektorsteuerung im Mehrphasensystem, so wie es die großen 
Industrieservomotoren auch machen. Mit deiner aktuellen Trapezsteuerunge 
kommst du eh nicht weit, außer dass der Motor halt nur ordentlich dreht.

von Markus (Gast)


Lesenswert?

@Axel Rühl
Der Witz ist aber doch das auch OHNE aktiven Freilauf d.h. im "normalen" 
Betrieb die Spule über die Diode entladen wird. Durch Brücken mittels 
Fet wird dieser Zustand nur optimiert. Mir ist der Unterschied unklar.

@Alex R.
So ziemlich jeder bessere Modellbau BLDC unterstützt mittlerweile dieses 
Feature. Ob die dort eine komplexe Vektorsteuerung eingesetzt wird wage 
ich zu bezweifeln.

von Axelr. (Gast)


Lesenswert?

Markus schrieb:
> @Axel Rühl
> Der Witz ist aber doch das auch OHNE aktiven Freilauf d.h. im "normalen"
> Betrieb die Spule über die Diode entladen wird. Durch Brücken mittels
> Fet wird dieser Zustand nur optimiert. Mir ist der Unterschied unklar.

naja, mehr solls doch auch nicht sein, die 0.7-1Volt Spannungsabfall 
über der Bodydiode sollen durch den Rds_on des Fets ersetzt werden.
Wenn 10 Ampere fliessen, müssen (in diesem Moment) 10A x 0.7V = 7Watt 
über die Diode, jedoch nur 10A x 10A x 0.01R = 1Watt über dem Fet in 
Wärme umgesetzt und abgeführt werden.

Sollte noch mehr hinter "aktiver Freilauf" stecken, so will ich das 
wissen ;)) Bisher ging ich davon aus, das das alles sei.


Viele Grüße
Axelr.

von Carsten M. (ccp1con)


Lesenswert?

So habe ich dass bisher auch verstanden.
Trotzten noch zwei Fragen dazu:

1. Wo wird denn dann die Energie verbraten und wo entsteht die Wärme?
2. Man erreicht also nach meinem Versändnis auch keine höhere 
Akkulaufzeit, weil es ja keine Energie aus dem Akku ist sondern 
induzierte aus dem Motor?

Danke und Gruß
Carsten

von Klaus (Gast)


Lesenswert?

Carsten H. schrieb:
> 2. Man erreicht also nach meinem Versändnis auch keine höhere
> Akkulaufzeit, weil es ja keine Energie aus dem Akku ist sondern
> induzierte aus dem Motor?

Irgendwo muß die Energie herkommen. Die einzige Energiequelle ist der 
Akku. Solange sich im System kein Perpetuum Mobile versteckt, heizt der 
Akku die Bodydioden.

MfG Klaus

von Carsten M. (ccp1con)


Lesenswert?

Ja aber wenn man die beiden Versionen untereinander vergleicht, ist es 
in Beszug auf den Akku das Gleiche - die Energie ist weg!

Ohne aktiven Freilauf in Wärme umgewandelt
Mit aktiven Freilauf auch irgendwie weg (aber FETs geschont)

oder?

von Klaus (Gast)


Lesenswert?

Carsten H. schrieb:
> Ohne aktiven Freilauf in Wärme umgewandelt
> Mit aktiven Freilauf auch irgendwie weg (aber FETs geschont)
>
> oder?

Wie kommt die Energie aus dem System? Entweder als Wärme, egal wo sie 
entsteht: in den Halbleitern, den Drähten, durch Ummagnetisierung, durch 
Lagerreibung etc. Oder als mechanische Energie, das ist das was ein 
Motor leisten soll. Wenn man also die Erwärmung vermindert, erhöht man 
den Wirkungsgrad.

MfG Klaus

von Carsten M. (ccp1con)


Lesenswert?

Dann würde ich gern wissen, wie das, was sonst in den Dioden der FETs in 
Wärme umgewandelt wird und verloren geht, im Falle von aktivem Freilauf 
dem Motor zugute kommt?

von Klaus (Gast)


Lesenswert?

Carsten H. schrieb:
> Dann würde ich gern wissen, wie das, was sonst in den Dioden der FETs in
> Wärme umgewandelt wird und verloren geht, im Falle von aktivem Freilauf
> dem Motor zugute kommt?

Kann ich dir nicht sagen. Der Motor könnte schneller drehen oder weniger 
Strom brauchen. Was ich aber sicher weiß, ein Motor wird nicht den 
Energieerhaltungssatz verletzen.

MfG Klaus

von Markus (Gast)


Lesenswert?

Carsten H. schrieb:
> Dann würde ich gern wissen, wie das, was sonst in den Dioden der FETs in
> Wärme umgewandelt wird und verloren geht, im Falle von aktivem Freilauf
> dem Motor zugute kommt?

Dem Motor kommt das nicht zugute. Der Sinn des aktiven Freilaufs ist 
einzig und allein die Verlustleistung an den FETs zu senken. So bleiben 
sie auch im Teillastbereich kühler.
Man kann aber auch "aktiv bremsen" d.h. die gespeicherte Energie aus den 
Spulen wieder zurück in den Accu leiten. In diesem Fall wird der Motor 
quasi als Generator missbraucht.

von Carsten M. (ccp1con)


Lesenswert?

> Dem Motor kommt das nicht zugute. Der Sinn des aktiven Freilaufs ist
> einzig und allein die Verlustleistung an den FETs zu senken. So bleiben
> sie auch im Teillastbereich kühler.

Na endlich einer der mich versteht. Das sehe ich genauso.

Aber nochmal zu meiner Frage von oben: Wo wird die Energie nun 
verbraten?

von Markus (Gast)


Lesenswert?

Carsten H. schrieb:
> Aber nochmal zu meiner Frage von oben: Wo wird die Energie nun
> verbraten?

Die komplette Kurzschlussstrecke d.h. Motorwicklung, Anschlussleitung, 
FETs, Leiterplatte d.h. jedes Bauteil an dem ein Spannungsabfall 
vorhanden ist erwärmt sich.

von Carsten M. (ccp1con)


Lesenswert?

Ok klar. Danke Markus.

von Hagen R. (hagen)


Lesenswert?

Markus schrieb:
> Carsten H. schrieb:
>> Aber nochmal zu meiner Frage von oben: Wo wird die Energie nun
>> verbraten?
>
> Die komplette Kurzschlussstrecke d.h. Motorwicklung, Anschlussleitung,
> FETs, Leiterplatte d.h. jedes Bauteil an dem ein Spannungsabfall
> vorhanden ist erwärmt sich.

Und wenn man nun diese Verlustleistung veringern kann so bleibt sie im 
Akku = höhere Effizienz der Gesamtanlage.

von Carsten M. (ccp1con)


Lesenswert?

Ja! Aber die kannst du nicht mit "Aktivem Freilauf" verringern!
Aber darum ging es hier.

von Klaus (Gast)


Lesenswert?

Markus schrieb:
> Dem Motor kommt das nicht zugute. Der Sinn des aktiven Freilaufs ist
> einzig und allein die Verlustleistung an den FETs zu senken. So bleiben
> sie auch im Teillastbereich kühler.

Wenn nicht dem Motor, dann dem Akku. Es gilt der Energieerhaltungssatz

Markus schrieb:
> Man kann aber auch "aktiv bremsen" d.h. die gespeicherte Energie aus den
> Spulen wieder zurück in den Accu leiten. In diesem Fall wird der Motor
> quasi als Generator missbraucht.

Was heißt missbraucht? Ein Motor ist immer auch ein Generator. Wenn ich 
die Rotationsenergie abbauen will (also bremsen), muß ich sie in eine 
andere Energieform transformieren. Entweder in Wärme und die 
Bremsscheiben zum glühen bringen, oder in elektrische Energie und zurück 
in den Akku oder wie früher bei der Bahn in die Wagonheizung.

MfG Klaus

von Klaus (Gast)


Lesenswert?

Carsten H. schrieb:
> Ja! Aber die kannst du nicht mit "Aktivem Freilauf" verringern!
> Aber darum ging es hier.

Dann erklär mir mal, wo die Energie, die die FETs geheizt hat jetzt 
hingeht, wenn aus dem Akku die gleiche Energie entnommen wird und der 
Motor nicht mehr leistet.

MfG Klaus

von Markus (Gast)


Lesenswert?

Klaus schrieb:
> Wenn nicht dem Motor, dann dem Akku. Es gilt der Energieerhaltungssatz

Nö die Spannung der Spulen wird zwischen den Spulen durch die FETs 
kurzgeschlossen. Der Accu wird dadurch nicht geladen. Die Energie der 
Spule wird nur in Wärme gewandelt.

> Was heißt missbraucht? Ein Motor ist immer auch ein Generator. Wenn ich
> die Rotationsenergie abbauen will (also bremsen), muß ich sie in eine
> andere Energieform transformieren. Entweder in Wärme und die
> Bremsscheiben zum glühen bringen, oder in elektrische Energie und zurück
> in den Akku oder wie früher bei der Bahn in die Wagonheizung.

Korrekt aber das geht nicht indem du die H-Brücken nach dem obigen 
Schema ansteuerst. Das hat nichts mit "aktiven Freilauf" zu tun.

von Markus (Gast)


Lesenswert?

Klaus schrieb:
> Dann erklär mir mal, wo die Energie, die die FETs geheizt hat jetzt
> hingeht, wenn aus dem Akku die gleiche Energie entnommen wird und der
> Motor nicht mehr leistet.

Die Energie teilt sich in Form von Verlustleitung über alle übrigen 
Komponenten auf. Nur am FET bleibt halt weniger über.

von Klaus (Gast)


Lesenswert?

Markus schrieb:
> Nö die Spannung der Spulen wird zwischen den Spulen durch die FETs
> kurzgeschlossen. Der Accu wird dadurch nicht geladen. Die Energie der
> Spule wird nur in Wärme gewandelt.

Und je geringer der Widerstand des Stromkreise, desto weniger Wärme und 
desto länger bleibt der Strom hoch. Und desto weniger muß nachgeliefert 
werden, wenn die Brücke wieder eingeschaltet wird. Das lädt den Akku 
nicht auf, entlastet ihn aber.


Markus schrieb:
> Korrekt aber das geht nicht indem du die H-Brücken nach dem obigen
> Schema ansteuerst. Das hat nichts mit "aktiven Freilauf" zu tun.

Hab ich das behauptet? Wer hat "aktiv bremsen" hier eingeführt?

MfG Klaus

von Carsten M. (ccp1con)


Angehängte Dateien:

Lesenswert?

Markus, um auf deine eigentliche Frage nach dem PWM Schema 
zurückzukommen, meine Ansteuerung sieht so aus ...

(mit kleinen Macken, wie ich gerade sehe, das kann aber auch der Logic 
Analsyser sein)

> Totzeit von 5[us] zwischen den Umschaltzeitpunkten

Das scheint mir ziemlich viel, im Datenblatt meiner FETs steht was von 
30-60 ns!?

von Markus (Gast)


Lesenswert?

@Klaus
Das sind wir uns ja weitesgehend einig.

@Carsten
Die Ansteuerung deckt sich ja quasi mit meinem ersten Bild :) Erzeugst 
du das invertierte PWM Signal per SW oder HW ?
Je kürzer ich die Totzeit wähle desto höher wird in meiner Schaltung 
auch die Stromaufnahme. Mit 5[us] hat es "einigermaßen" funktioniert. 
Aber ich gebe dir Recht die 5[us] sind eigentlich viel zu viel. Da die 
FETs in meiner Schaltung direkt vom AVR angesteuert werden ist 
möglicherweise der benötigte Strom zu hoch um den FET schnell genug 
umzuschalten ?

von Carsten M. (ccp1con)


Lesenswert?

Geplant war die Hardware zu nutzen. Dazu habe ich mir einen dafür gut 
geeigneten (wie ich glaubte) Controller ausgesucht (dsPIC30F2020), der 
dazu auch noch bei Reich… für gutes Geld zu haben war. Hätte auch soweit 
funktioniert. Aber um das PWM Modul zu benutzen muss der PLL aktiviert 
werden.

Allerdings dann wird das Teil heiß ohne Ende und zieht zwischen 200 und 
300 mA. Wie ich jetzt weiß ist es „alte“ oder nicht die neueste 
Technologie, wie Microchip bestätigt.
Kurzum ich mache nun alles in Software und fühle mich dabei nicht 
schlecht. Glaube sogar eine höhere Flexibilität zu haben.

> Da die FETs in meiner Schaltung direkt vom AVR angesteuert werden ist
> möglicherweise der benötigte Strom zu hoch um den FET schnell genug umzuschalten

Das solltest du überprüfen. Ich kann mir schwer vorstellen, dass der 
Ausgang das direkt kann. Vielleicht sind die FETs ja nicht völlig 
durchgeschaltet? Werden die Teile denn sehr warm? Mit welcher Spannung 
läuft dein AVR?


Mir ist noch aufgefallen, dass in deinem obigen Bild „Aktiver Freilauf“ 
die duty cylce der Phasen z.B. WH und WL in den Bereichen A-B und D-E 
genau invertiert sind. Soll das so sein? Wenn ja was macht das für ein 
Sinn?

von Markus (Gast)


Lesenswert?

Carsten H. schrieb:
> Das solltest du überprüfen. Ich kann mir schwer vorstellen, dass der
> Ausgang das direkt kann. Vielleicht sind die FETs ja nicht völlig
> durchgeschaltet? Werden die Teile denn sehr warm? Mit welcher Spannung
> läuft dein AVR?

Ja das kann durchaus sein wobei die FETs nur handwarm werden. Es sind 
übrigends FDS6679 (über eine Transistor Vorstufe geschaltet) und IRF7832 
(über 33R direkt am AVR). Der AVR läuft mit 5[V].

> Mir ist noch aufgefallen, dass in deinem obigen Bild „Aktiver Freilauf“
> die duty cylce der Phasen z.B. WH und WL in den Bereichen A-B und D-E
> genau invertiert sind. Soll das so sein? Wenn ja was macht das für ein
> Sinn?

Ja das sollte so sein. Die Idee dahinter war das die Verlustleistung 
ohne "aktiven Freilauf" gleichmäßig über alle Dioden verteilt wird. 
Durch den "aktiven Freilauf" ist das eigentlich hinfällig aber ich habe 
die Ansteuerung nicht mehr verändert. Siehst du da irgendwelche Problem 
?

von Carsten M. (ccp1con)


Lesenswert?

> Es sind übrigends FDS6679 (über eine Transistor Vorstufe geschaltet) und IRF7832
> (über 33R direkt am AVR). Der AVR läuft mit 5[V].

Ich habe FDD6637 als low side FETs und IRLR7843 für die high side.
Das gleiche Prinzip bei mir. Low sid direkt angesteuert und die high 
side über einen Transistor.
Ich frage mich, warum man das so macht (die Hardware ist nicht von mir 
entwickelt)?
Ist das nur um die Schaltlogik der high side FETs anzupassen oder gibt 
es dafür Spannungs- Stromtechnische Gründe?
Wenn es nämlich nur wegen der Logik ist, könnte ich es demnächst 
weglassen, denn das kann ich locker mit der Software realisieren.

> Siehst du da irgendwelche Problem?

Ich hatte erst gedacht, dass du so in den einzelnen Phasen mit 
unterschiedlichen duty cylces fährst. Da du aber dann auch den Gegenpol 
von low auf high änderst sollte das so funzen.

@all
Ander Frage: Was habt ihr für eine Anfahrstrategie? Ich frage, weil ich 
den Motor zwar jedesmal relativ sicher anfahren kann, aber scheinbar die 
Kommutierung nicht zum Drehfeld passt und der Controller dann auch keine 
zero crossings sieht. Wenn ich den Motor leicht abbremse werden die 
Signale besser. Aber ich kann natürlich nicht jedesmal manuell 
eingreifen :-)
Wie kann ich verhindern, dass der Motor in einen solchen falschen Takt 
gerät?
Zuerst spanne ich den Motor ein, indem ich zwei Phasen bestrome (z.B. UH 
und VH high – WL auf Massse). Dann eine Phase ausschalten (hier UH).
Somit sollte der Rotor auf VH-WL stehen. Dann setzt die 
Zwangskommutierung mit schneller werdende Intervallen ein, bis eine 
mechanische Umdrehung getan ist. In der Zeit sollte, so hoffe ich, der 
Controller dann die ersten ZC sehen.

Gruß

von axelr. (HTC mobil) (Gast)


Lesenswert?

Carsten H. schrieb:
> könnte ich es demnächst
> weglassen,

wenn Motor und µC aus der gleichen Spannungsquelle gespeist werden - im 
Prinzip ja.

von Carsten M. (ccp1con)


Lesenswert?

> wenn Motor und µC aus der gleichen Spannungsquelle gespeist werden - im
> Prinzip ja.

Warum? Damit beide die gleiche Masse haben?
Wenn das der Grund ist, dann denke ich diese Voraussetzung ist bei mir 
gegeben. Der Motor hängt direkt am Akku und der µC über einen 
Spannungsregler auch.

von axelr. (HTC mobil) (Gast)


Lesenswert?

Ich wär fast dafür, das alle, die hier posten wollen, erstmal die 
Artikelsammlung auf der linken Seite mit den Grundlagen durcharbeiten.


Dein µC läuft mit 3.3Volt (gut, ja ok. mit 5V), dein Motor mit 12V 
(Beispielsweise).

Wann sperrt dein PMOS, wenn Du ihn direkt an den µC anschliessen 
würdest?
Wenn der µC HighPegel oder Low-Pegel "wirft"?


Axelr.

von Carsten M. (ccp1con)


Lesenswert?

Du scheinst ja ein Schlaumeier zu sein. Aber weißt du was, wenn du keine 
Lust hast jemanden was zu erklären, dann behalte deine Weisheiten doch 
für dich.
Danke und Gruß.

von ar(HTC) (Gast)


Lesenswert?

Beitrag "Re: BLDC Motoren Steuerung"

Ok. nochmal, lassen wir den ersten Satz weg und das andere stehen

Dein µC läuft mit 3.3Volt (gut, ja ok. mit 5V), dein Motor mit 12V
(Beispielsweise).

Wann sperrt dein PMOS, wenn Du ihn direkt an den µC anschliessen
würdest?
Wenn der µC HighPegel oder Low-Pegel "wirft"?

Für den P-Kanal MOSFET sind die (angenommenen) 12V Motorspannung sein 
Bezugspotenzial. Um diesen zu sperren, braucxhst Du U_gs < U_gs_th, also 
weniger als 2Volt oder sowas, am besten NUll Volt. ABER gegen Source 
des PMOSFET gemessen, nicht gegen GND. Es heisst ja im Datenblatt U_gs 
und nicht U_ggnd.
Du bekommst aber keine NUllVolt gegen 12V, wenn der Controller nur mit 
5V läuft. so bekommst Du -7 Volt, wenn der Controller HIGH Pegel ausgibt 
und (fast) -12V, wenn der Controller LOW Pegel ausgibt. Da sperrt kein 
PMOSFET!
Du brauchst 12Volt (bzw. Motorbetriebsspannung), um den P-CH zu perren 
und 12Volt minus 5V (bei Logiklevel FET) bzw. minus 10V, um den PFET 
durchzusteuern. Der Widerstand über Gate source sorgt im nicht 
angesteuerten Zustand des "kleinen" NPN Transistors dafür, das der PFET 
sicher sperrt. (source und Gate sind über diesen Widerstand quasi 
verbunden, Strom fliesst keiner, also fällt da auch keine Spannung ab 
--> U_gs == NUll Volt.

wird der steuertransistor mit Basistrom versorgt (high-Pegel am portpin, 
BVasisvorwiderstand usw.) leitet der npn steuertransistor und die 
Spannung am Gate des PFET fällt. Gegen 12Volt gemessen , unter die im 
Datenblatt garantierten Ugs_th, und der PFET fängt an zu leiten.

Man sieht, ohne Steuertransistor gehts nicht.

Schlauschiss Axelr.

von Carsten M. (ccp1con)


Lesenswert?

Ok got it! Denke ich.

Und da der N-Channel FET (hier IRLR7843) GND als Bezugspotential hat und 
U_gs_th laut Datenblatt max 2,3 V sein kann, könnte ich den FET locker 
auch mit einem 3,3V betriebenen µC steuern? Im Moment läuft der 
controller mit 5 Volt.

> Schlauschiss Axelr.
Kunststück, wenn man es studiert hat!

Danke.

von Markus (Gast)


Angehängte Dateien:

Lesenswert?

Auch wenn meine nachfolgende Frage nicht im Zusammenhang mit dem aktiven 
Freilauf steht so habe ich jetzt ein Phänomen was ich mir nicht erklären 
kann. Dazu wieder zwei Plots.

rot    = Drehzahl [RPS]
blau   = Aktueller PWM Duty Cycle
türkis = Spannung an einem Low Side FET. Dieser ist zu diesem Zeitpunkt 
durchgeschaltet. Die Messung erfolgt unmittelbar bevor die PWM den FET 
wieder deaktiviert. D.h. es wird die aktuelle Spannung über RDS_ON 
gemessen.

Bild 1: Hier beträgt die PWM Frequenz 8kHz
Frage : Wie ist der Peak zum Zeitpunkt 3.8 zu deuten ?

Bild 2: Hier beträgt die PWM Frequenz 12kHz
Frage : Warum ist hier zusätzlich ein Peak zum Zeitpunkt 2.8 erkennbar ?

Wenn ich RDS_ON als konstant annehme so entspricht der Wert "400" auf 
der Ordinatenachse einem Strom von ~100[A]. Die Stromaufnahme des 
kompletten Regler beträgt jedoch nur ~3[A].

Kann es evt sein das die Motorspule zu den genannten Zeitpunkten in 
Resonanz gerät ?

Meine ursprüngliche Idee war über den ermittelten Strom eine 
Überlastabschaltung zu implementieren. D.h. wenn Gesamtstrom > 5[A] -> 
Motor Stop. Aufgrund der riesigen Spikes erscheint das aber etas 
"schwierig" ?!

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.