Forum: Analoge Elektronik und Schaltungstechnik BLCD motor PNP MOSFET werden extrem Heiss.


von AndiIsl (Gast)


Lesenswert?

Hallo liebe Mikrocontroller Gemeinschaft,

ich bin gerade an einem Projekt und bin auf ein Problem gestoßen.

Aus dem Netz habe ich mir diese Platine bestellt:

http://makeatronics.blogspot.de/2014/08/smart-bldc-commutator-hardware.html

diese läuft nachdem ich den Code umgeschrieben habe der für den 
Rückwärtsgang des Motors zuständig ist einwandfrei!

doch leider werden die PNP MOSFETS IRF4905STRLPBF MOSFET P-CH 55V 42A

bei sehr langsamer Drehzahl in wenigen sekunden auf über 100 grad heiss.

Die NPN hingegen bleiben auf ca. 30 grad.

Das ganze wird mit 36 volt betrieben.

Bei der langsamen Drehzahl nimmt er ca. 500 mah Strom auf.

als PWM Signal habe ich ein Arduino Mega der mit 16khz von 0-500 
geregelt werden kann.

Weiß jemand eine Lösung?

MfG Andreas Isel

: Verschoben durch User
von Flip B. (frickelfreak)


Lesenswert?

Die Lösung ist, den Fehler im Programm zu suchen und Nachzumessen, ob 
die Ansteuerung der P Fets in ordnung ist.

von Flip B. (frickelfreak)


Lesenswert?

Die Lösung ist, den Fehler im Programm zu suchen und Nachzumessen, ob 
die Ansteuerung der P Fets in ordnung ist. Beides kann dir niemand 
wirklich abnehmen
P fets sind schlechter als n Fets und die Ansteuerung ist grottig 
dimensioniert..

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Okey danke für die schnelle Antwort.

was ist in Ordnung und was nicht?

Leider kann ich hierfür keine NPN Mosfets hernehmen soweit ich das 
erkennen kann.

von Sascha (Gast)


Lesenswert?

Ja, die Gatetreiberschaltung ist wirklich grausam.

Ein Spannungsteiler aus 10k Widerständen, wie kommt man darauf.

Normal ist die Gateansteuerung per Pull-Up nur beim Ausschalten 
schnarchlangsam.

Hier ist sie beim Ein- und beim Aussschalten schnarchlangsam und zudem 
ist noch der Rdson viel schlechter als er sein müsste.

Du kannst R4 und R6 getrost durch Drahtbrücken ersetzen, der BSS123 kann 
den Strom ab.

von Sascha (Gast)


Lesenswert?

Nachtrag: Also genau so, wie es bei den n-Channel FETS auch gemacht 
wurde.

Was sollte das, shoot-through Vermeidung? Lässt sich doch bestimmt auch 
in Software machen.

von Achim S. (Gast)


Lesenswert?

Sascha schrieb:
> Du kannst R4 und R6 getrost durch Drahtbrücken ersetzen, der BSS123 kann
> den Strom ab.

Der Spannungsteiler als Gatetreiber ist tatsächlich keine tolle Idee. 
Aber R4, R6 und R8 durch Drahtbrücken zu ersetzen führt einfach nur 
dazu, dass die Gates der pFETs beim ersten Anschalten durchschlagen 
(denn Andilsl betreibt die Schaltung mit 36V).

von AndiIsl (Gast)


Lesenswert?

Das hört sich alles nicht so rosig an..

Leider löst das nicht mein aktuelles Problem.

Dachte eher das die Platine etwas ordentliches ist...

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> Dachte eher das die Platine etwas ordentliches ist...

FlipB hat es schon angedeutet: wenn die pFETs so schnell so heiß werden, 
dann muss das nicht unbedingt an der Schaltung liegen, sondern es kann 
(nicht ganz unwahrscheinlich) sein, dass du die Schaltung falsch 
ansteuerst. Wenn du ein Oszi hast, wären Messungen an den Transistoren 
extrem hilfreich. Wenn nicht, wäre ein kritischer Blick auf den Code, 
mit dem du die FETs ansteuerst, die nächst beste Option.

von AndiIsl (Gast)


Lesenswert?

Ich habe ein Oszi.

welchen code dazu braucht ihr denn? der code von dem atmega328 ist ja 
auf github: 
https://github.com/fugalster/Smart-BLDC-Commutator/blob/master/Smart-BLDC-Commutator/Smart-BLDC-Commutator.ino

Und diesen habe ich auf dem MEGA laufen:

int pwm = 11;
int pot = A0;
int dir = 5;

void setup() {
    Serial.begin(9600);

DDRB |= _BV(PB5);
TCCR1A=0;
TCCR1B=0;
TCCR1A |= _BV(WGM11);
TCCR1B |= _BV(WGM13)|_BV(CS10);
OCR1A = 16;
ICR1=500;
TCCR1A |= _BV(COM1A1);

 pinMode(pwm, OUTPUT);
 pinMode(dir, OUTPUT);
 pinMode(pot, INPUT);
 analogWrite(pwm,1);


}

void loop() {

   int pot_val = analogRead(pot);
    int set = map(pot_val, 0, 1023, -498, 498);
    control(set);
      Serial.println(set);
}

void control(int _pwm_val) {

    if (_pwm_val < 0) {
        digitalWrite(dir, LOW);
    } else {
        digitalWrite(dir, HIGH);
    }

 // analogWrite(pwm, abs(_pwm_val));
int val = abs(_pwm_val);
OCR1A = val;

}

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> welchen code dazu braucht ihr denn? der code von dem atmega328 ist ja
> auf github:
> 
https://github.com/fugalster/Smart-BLDC-Commutator/blob/master/Smart-BLDC-Commutator/Smart-BLDC-Commutator.ino

Ich sehe da nichts von Totzeiten. Das der Motor überhaupt läuft, halte 
ich für reine Glücksache. Schau dir doch bitte mal die Application Notes 
AVR447 und AVR444 an, in denen eine vernünftige Ansteuerung beschrieben 
wird.

Die Ansteuerung beider Halbbrückenteile muss auch deutlich niederohmiger 
werden, damit die MOSFet nicht so lange im linearen Bereich arbeiten.
Kurz, die Schaltung ist Mist.

von AndiIsl (Gast)


Lesenswert?

Gibt es denn eine fertige Schaltung zu kaufen die besser ist?

das mit dem avr447 hab ich soweit verstanden das die Dead-Time dafür da 
ist das nicht beide Mosfets gleichzeitig an sind. soweit richtig?

von AndiIsl (Gast)


Lesenswert?

hab hier etwas gefunden: http://willfj.com/bldc-controller-v01/

von qwerty (Gast)


Lesenswert?

Wie schon erwähnt ist die Gate-Ansteuerung etwas unterdimensioniert,
d. h. die Gates werden mit zu wenig Strom angesteuert und der FET geht 
möglicherweise in den Linearbetrieb. Prinzipiell funktioniert das mit 
dem Spannungsteiler, der ist aber zu hochohmig dimensioniert.
10K bedeuten selbst bei 36V gerade einmal 3,6 mA. :) Wenn man die 
Schaltung retten will, sollte man also R3/R4, R5/R6 etc. durch z.B. 
jeweils 1K oder 680 Ohm Widerstände ersetzen, wodurch der Strom in das 
Gate fast 10x so groß wird.

Maximale Verlustleistungen von SMD-Widerständen beachten:
0805   0,125W
1206   0,25W

Dass der IRF4905 wärmer wird, ist aber unvermeidlich, da er wie viele 
P-Channel FETs einen hohen Rdson von ca. 20mOhm hat. 20 mOhm bedeuten 
bei 10A ca. 2W Verlust.

Auch die erwähnten Totzeiten etc. in der Software sollten vorhanden 
sein.

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> welchen code dazu braucht ihr denn? der code von dem atmega328 ist ja
> auf github:

aber du schreibst im ersten Beitrag, dass du den Code umgeschrieben 
hast.

AndiIsl schrieb:
> Ich habe ein Oszi.

Na dann los: nach 10min Messen weißt du, warum genau der pFET so heiß 
wird und ob du mit der aktuellen Schaltung weitermachen willst oder 
nicht.

Nutze 10x Tastteiler, um die Messung nicht zu sehr zu verfälschen.

Dann würde ich an deiner Stelle

zuerst die Gatespannung des pFET mit Bezug auf seine Source messen: wie 
schnell (bzw. langsam) ist die Flanke? Wie gut ist der pFET aufgesteuert 
(sieht er wirklich 18V U_GS?). Wie sieht U_DS dabei aus?

dann die Ansteuerungen eines nFET-pFET Pärchens vergleichen (beide mit 
Bezug auf Masse). Wie groß ist die Überschneidung? Auf welche Spannung 
stellt sich während der Überschneidung das gemeinsame Drainpotential 
ein?

Und zu guter letzt schau dir noch auf größerer Zeitskala ein 
Übersichtsbild an. Hat die PWM tatsächlich die gewünschten 16kHz, kommt 
sie gleichmäßig oder gibts "Aussetzer".

AndiIsl schrieb:
> das mit dem avr447 hab ich soweit verstanden das die Dead-Time dafür da
> ist das nicht beide Mosfets gleichzeitig an sind. soweit richtig?

ja

AndiIsl schrieb:
> Gibt es denn eine fertige Schaltung zu kaufen die besser ist?

Höchstwahrscheinlich schon, sonst gäbe es nicht so viele kommerzielle 
Anwendungen von BLDC-Motoren. Aber wenn du selbst erst mal konkret 
verstanden hast, warum deine FETs so heiß werden, kannst du ggf. selbst 
die notwendigen Änderungen (an Software und/oder Schaltung) anbringen, 
um mit der Platine weiter zu arbeiten. Die benötigten 500mA wirst du 
dann schon treiben können.

von AndiIsl (Gast)


Lesenswert?

Perfekt das werde ich alles gleich am Montag ausprobieren und hier 
berichten.

Die widerstände werde ich dann gleich tauschen. angenommen ich setze 
FETs mit zb 18mohm ein wäre die Verlustleistung doch etwas geringer?!.

zu den Oszi kann ich sagen das mein Mega nur bei hoher pwm zahl (mehr 
als 200 von 500) eine konstante von 16khz raus spuckt. Alles was 
darunter ist schwankt ziemlich.

Hier das was ich an dem Code von github geändert habe:

static uint8_t phase_lookup[] = {0, 2, 4, 3, 6, 1, 5, 2, 4, 3};

das zu:

 static uint8_t phase_lookupUZS[] = {0, 2, 4, 3, 6, 1, 5, 0};
 static uint8_t phase_lookupGUZS[] = {0, 5, 1, 6, 3, 4, 2, 0};

und das:

  if (dir == 0) {
        phase = phase_lookup[(hall & 0x07)];     // determine next phase 
to fire on the motor
    } else {
        phase = phase_lookup[(hall & 0x07) + 3]; // adding 3 to lookup 
index has the effect of reversing the motor (MAGIC!)
    }

zu:

  if (dir == 0) {
        phase = phase_lookupUZS[(hall & 0x07)];     // determine next 
phase to fire on the motor
    } else {
        phase = phase_lookupGUZS[(hall & 0x07)]; // adding 3 to lookup 
index has the effect of reversing the motor (MAGIC!)
    }



Somit konnte der Motor dann einwandfrei vorwärts und rückwärts fahren.

Sicher keine Perfekte Lösung aber eine die funktioniert.


Nochmal Danke an alle!

von Michael B. (laberkopp)


Lesenswert?

AndiIsl schrieb:
> Aus dem Netz habe ich mir diese Platine bestellt:

Krasse Murksschaltung von jemandem, der offensichtlich nicht mal die 
allergrundlegendsten der BLDC Ansteuerung kennt.

> Das ganze wird mit 36 volt betrieben.

...und die Gate-Spannung der MOSFETs mit 10k Spannungsteiler gewonnen. 
Das ist einerseits langsam, andererseits sind 18V so knapp unter der 20V 
Grenze daß eine Bschädigung der Gaste nicht ausgeschlossen werden kann. 
Einen Schutz (Z-Dioden oder so) davon gibt es auch nicht.

Warum man das ganze auch noch mit einen CD4011 ausbremsen muss, ist 
schleierhaft.

AndiIsl schrieb:
> Gibt es denn eine fertige Schaltung zu kaufen die besser ist?

Haufenweise. Damit der Motor auch unter Last anlaufen kann, ist ein 
Hallsensor sinnvoll, die hat ja auch deine Schaltung. eBikes haben die, 
viele für 230V~, hier ist eine für 36V:

http://celerisdrive.com/

von AndiIsl (Gast)


Lesenswert?

Also der Motor den ich betreiben möchte hat auch 3 Hall Sensoren und 
eine leistung von 350watt auf 36 volt.

was ich aber nicht ganz vestehe ist das wenn ich die mosfets mit 20 volt 
betreibe sie überhaupt nicht Heiss werden. die widerstände sind ja die 
selben.. weshalb doch noch weniger Strom ankommt oder täusch ich mich 
da?

von Jens G. (jensig)


Lesenswert?

@ Michael Bertrandt (laberkopp)

>Krasse Murksschaltung von jemandem, der offensichtlich nicht mal die
>allergrundlegendsten der BLDC Ansteuerung kennt.

Ja, und die 56Ohm vor jedem Gate sind auch ein Witz. Wozu braucht man 
die, wenn sowieso schon 2x10k|| davor sind. Hier hat also jemand nicht 
wirklich verstanden, wozu die eigentlich gedacht sind.
Frei nach dem Motte: man macht das eben so ...

von qwerty (Gast)


Lesenswert?

AndiIsl schrieb:
> was ich aber nicht ganz vestehe ist das wenn ich die mosfets mit 20 volt
> betreibe sie überhaupt nicht Heiss werden. die widerstände sind ja die
> selben.. weshalb doch noch weniger Strom ankommt oder täusch ich mich
> da?

Bei niedrigeren Spannungen dürften die Schaltverluste durch den FET
eher kleiner sein.

Für 5-10A ist der IRF4905 gut.

Ansonsten kann ich nur empfehlen Hardware zu verwenden, auf der die
Software von Simon K./B. Konze lauffähig ist, welche eher dem Stand der 
Technik entspricht. Die Software läßt sich auch beliebig anpassen. 
Empfehlenswert ist wahrscheinlich auch noch die Hard u. Software von 
MikroKopter.de.

Dass die highside, also der IRF4905, ständig im PWM-Takt geschaltet 
wird,
ist auch nicht nötig. Normalerweise liegt die PWM nur auf der lowside.

von Jens G. (jensig)


Lesenswert?

@ qwerty
Ich glaube nicht, daß es hier um Modellbau geht ...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

qwerty schrieb:
> Dass die highside, also der IRF4905, ständig im PWM-Takt geschaltet
> wird,
> ist auch nicht nötig. Normalerweise liegt die PWM nur auf der lowside.

Das ist, wenn man mal auf Sinuskommutierung umsteigt, aber eine unnötige 
Beschränkung. Gerade bei E-Mobilität will man irgendwann auf den 
Komfort, den FOR (SpaceVector) bietet, nicht mehr verzichten. Da ruckelt 
nix und es spart sogar Energie.

Für einen 250W/36V Motor lohnt sich m.E. schon die Verwendung echter 
Treiberbausteine, die auch in der Highside einen N-Kanal erlauben - 
einfach deswegen, weil die N-Kanaler nun mal fortgeschrittener sind.
Mit MOSFet wie dem IRFB3207 wird dann nichts mehr warm und auch die 
Totzeiten sind in High- und Lowside gleich und leicht mit einem MC zu 
erzeugen.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Danke für die Info!

Kann ich den IRFB3207 ohne größere Probleme für diese Platine verwenden 
oder ist das nicht möglich?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Kann ich den IRFB3207 ohne größere Probleme für diese Platine verwenden
> oder ist das nicht möglich?

Nö. Der IRFB3207 ist ein klasse N-Kanal MOSFet. Was du aber bräuchtest 
wäre eine neue Schaltung für deine 'P-Kanal in der Highside' Ausführung. 
Die ist im momentanen Zustand, wie sich die meisten hier einig sind, 
Mist.

N-Kanal in der Highside hat viele Vorteile, braucht aber eine spezielle 
Treiberschaltung, um die Gatespannung für den Highside Schalter zu 
erzeugen.

Solche Treiber sind z.B. der IR2104, der IR2110 und etliche andere.

von AndiIsl (Gast)


Lesenswert?

Von den IR2104 habe ich zufällig 12 stück da. gibt es da Pläne dafür?

von AndiIsl (Gast)


Lesenswert?

Und was währe denn mit diesem STP80PF55 ? Der hat doch recht gute Werte

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Und was währe denn mit diesem STP80PF55 ? Der hat doch recht gute Werte

Auch der IRF4905 ist ja kein schlechter Typ, aber eben die Ansteuerung 
in der derzeitigen Ausführung. Man könnte evtl. mit einer Zenerdiode 
(ZD18-ZD20) statt R4, R6 und R8 und einem viel niederohmigeren Pullup 
(R3,R5 und R7) von Gate zu VM das verbessern.
So würde man die Ugs Max. des P-Kanals nicht verletzen und trotzdem 
recht schnell ansteuern.

von Axel R. (Gast)


Lesenswert?

Matthias S. schrieb:
> So würde man die Ugs Max. des P-Kanals nicht verletzen und trotzdem
> recht schnell ansteuern.

... und ordentlich Treiberleistung generieren. ;)

Aber die Verwendung einer Z-Diode DIREKT am FET halte ich auch für 
zwingend nötig. Unabhängig davon, das der niedrigere Pull-Up ordentlich 
Strom fliessen lässt. Nur so schaltet der 4905 schnell genug. Allerdings 
wird einer schon im statisch betriebenen Zustand (H7-Halogenlampe hier) 
bei ca.4,5A schon gut warm, obwohl 4,5 x 4,5 x 0,06 hier nur 1,2 Watt 
bedeuten sollten, sind es in reallife wohl doch immer etwas mehr.

Aber es ist schon erstaunlich, mit welchem Selbstbewusstsein 
http://makeatronics.blogspot.de/ ihre Schaltungen ins Netz stellen und 
diese dann auch noch unter der Hand anbieten.
Der interessierte Laie wundert sich dann. Sind die Betreiber der Site 
sich zu fein, den Schaltungsentwurf zum Review zu veröffentlichen? Hatte 
ich mit meiner BLDC-Micro-Regler für Simon bzw. Bernhard doch auch 
gemacht...
Einerseits gehen 15USD für die Platine. Aber was nützt es denn, wenn man 
nicht weiterkommt. Unwissenheit hin oder her. Interesse ist ja beim TE 
durchaus erkennbar. Aber wenn ich mir bei einem Anbieter im Netz was 
bestelle, muss das doch wasserdicht sein und nicht so ein Murks, oder?

von AndiIsl (Gast)


Lesenswert?

Da hast du völlig recht. Die Interesse besteht nur leider habe ich sehr 
wenig Erfahrung auf diesem Gebiet. Kann mir jemand nochmal genauer 
erklären was ich tun soll damit die FETs schneller angesteuert werden?

Soweit ich das verstanden habe muss ich für jeden P-FET (und N?) die 
Widerstände R3 und R4 von 10k auf ca. 1k oder geringer austauschen damit 
genug Strom zum ansteuern geliefert wird. Des Weiteren kann der 
Widerstand mit den 56ohm ausgelötet und überbrückt werden da dieser 
sowieso nicht nötig ist.

eine Z-Diode soll ich wo einfügen? Zwischen den Ausgang von den bs123 
und dem Signaleingang (Gate??) damit die Spannung limitiert wird? Die 
Z-Diode auch nur mit vorgeschalteten widerstand betreiben?

Sehe ich das richtig?

Und wenn die Schaltung dann so aufgebaut ist, sollten die FETs etwas 
kühler laufen?

Mir geht es jetzt in diesem Moment garnicht darum das die Schaltung 
"Kalt" ist, nur möchte ich eben nicht nach 10 Sekunden langsamen Motor 
laufen die FETs grillen.

Ich habe auch 2 4mm Aluminium Bleche gefräst damit die Wärme etwas 
abgeleitet werden kann.

Nochmal Danke für die tatkräftige Hilfe!!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Die
> Z-Diode auch nur mit vorgeschalteten widerstand betreiben?

Die Z-Diode würde statt R4, R6 und R8 mit der Kathode am Gate des 4905 
und mit der Anode (Pfeil) am Drain des BSS sein. Die Pullups R3, R5 und 
R7 so reduzieren das noch ein spürbarer Strom fliesst (was verträgt der 
BSS?). Für z.B. 20mA wären das bei +36V VM und 20V Z-Diode etwa 800 Ohm. 
Dann bleiben als Ugs für den 4905 etwa 16V übrig, die ihn zügig 
durchsteuern.
Ob du die 56 Ohm Widerstände brückst oder nicht, ist im Moment noch 
nicht so wichtig. Da die Z-Diode bei 20mA etwa 400mW verbrät, ist ein 
1,3W Typ keine dumme Idee.

Bei der Lowside ähnlich, wobei ich hier die direkte Ansteuerung mit 
Logiklevel N-Kanal für viel praktischer halten würde. Ich weiss nicht, 
was du für Typen verbaut hast. Im Zweifel wieder in die vorhandene 
Schaltung Z-Diode mit 15-16V statt R2, um VGL zu erzeugen. Parallel zur 
Z-Diode sollte unbedingt noch ein Speicherelko mit z.B. 100µF, damit die 
Spannung einigermassen stabil bleibt. Und natürlich auch hier alle 
Pullups (R9,R10,R11) reduzieren auf etwa 1k. Um VGL stabil zu halten, 
könntest du evtl. auch noch R1 etwas kleiner machen, ist aber auch noch 
nicht so wichtig.

Es wäre auch eine Alternative, VGL gleich mit einem 15V Regler zu 
erzeugen, statt mit Widerstand/Z-Diode.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Okey Danke. kann ich morgen die Schaltung schonmal ohne z Dioden 
betreiben?  oder wär das keine kluge Idee? Solang die Eingangsspannung 
nicht über 20 volt geht natürlich.

Der BSS123 hält 0.17 A aus also 170mA.

https://www.fairchildsemi.com/datasheets/BS/BSS123.pdf

Demnach ein 100 Ohm widerstand?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Demnach ein 100 Ohm widerstand?

Übertreibs lieber nicht. Ein 470 - 680 Ohm Widerstand ist auch schon 
eine deutliche Verbesserung. Wenn du so viel Strom in den Treiber 
steckst, kostet das schon ganz schön Effizienz des ganzen Reglers.
170mA pro H-Brücke und durchschnittlich zwei von drei Brücken aktiv sind 
bei 20V ja schon um die 6,8 Watt.

: Bearbeitet durch User
von Axel R. (Gast)


Lesenswert?

R3, R5 und R7 raus. Z-Diode 10Volt 500mW
https://www.reichelt.de/Z-Dioden-0-5W/ZF-10/3/index.html?ACTION=3&GROUPID=2993&ARTICLE=23112&OFFSET=16&;
https://www.reichelt.de/SMD-Z-Dioden-Mini-Melf/SMD-ZF-10/3/index.html?ACTION=3&GROUPID=2995&ARTICLE=18928&OFFSET=16&;

(36V-10V=26V -> 26V/1K=26mA ergibt i²xR 260mW für die Z-Diode)

dort rein mitm Balken "nach oben" gegen VM.
R4, R6 und R8 mit 1K bestücken.
R12, R13 und R14 mit 3R3 bestücken.

So würde ICH das machen...

von Achim S. (Gast)


Lesenswert?

Axel R. schrieb:
> R3, R5 und R7 raus. Z-Diode 10Volt 500mW
> dort rein mitm Balken "nach oben" gegen VM.
> R4, R6 und R8 mit 1K bestücken.
> R12, R13 und R14 mit 3R3 bestücken.
>
> So würde ICH das machen...

Und wer soll den pFET dann jemals ausschalten? Der Leckstrom der 
Zenerdioden?

@Andilsl: planst du noch die Messungen zu machen? Die grundsätzlichen 
Schwächen der Schaltung wurden ja schon mehrfach durchgekaut (vor allem, 
wenn mal wirklich 10A fließen werden).

Aber ich verstehe deinen Eröffnungspost so, dass alle 3 pFETs bereits 
bei einer Gesamtstromaufnahme von 500mA kochen (korrigiere mich, wenn 
ich da was falsch interpretiere). Wenn dem wirklich so ist, dann klingt 
das für mich nach mehr als "ungeschicktem" Gate-Treiber: dann verheizt 
du wahrscheinlich fast die gesamte Leistungsaufnahme an den pFETs. Und 
nur um ganz sicher zu gehen, dass nicht doch ein fataler Bug in deiner 
Software für dieses Verhalten sorgt, wären die Messungen nicht schlecht.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Axel R. schrieb:
> R3, R5 und R7 raus. Z-Diode 10Volt 500mW
> 
https://www.reichelt.de/Z-Dioden-0-5W/ZF-10/3/index.html?ACTION=3&GROUPID=2993&ARTICLE=23112&OFFSET=16&;
> 
https://www.reichelt.de/SMD-Z-Dioden-Mini-Melf/SMD-ZF-10/3/index.html?ACTION=3&GROUPID=2995&ARTICLE=18928&OFFSET=16&;
>
> (36V-10V=26V -> 26V/1K=26mA ergibt i²xR 260mW für die Z-Diode)
>
> dort rein mitm Balken "nach oben" gegen VM.

Das ist keine gute Idee - so sperrt der P-Kanal nicht. Meine Variante 
nochmal durchlesen. Ich habs mal kurz zusammen geklickert. Nicht an den 
Bezeichnungen stören, die MOSFet sind nicht die originalen, sondern das, 
was mir in der Library gerade über den Weg lief.
Wie ich schon schrieb, kann man VGL auch mit einem Regler erzeugen.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Matthias S. schrieb:
> H-Bridge.png

Deine Schaltung mag zwar günstig sein wenn man mit der vorhandenen 
Platine auskommen will, aber die 20V an einer Z-Diode zu verbraten, wenn 
man sowieso schon eine Hilfsspannung von 16V elko-stabilisiert hat ist 
ungeschickt. Besser nach dort hin schalten, und besser nicht mit 1k pull 
ups sondern auch aktiv push pull schalten.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Michael B. schrieb:
> Besser nach dort hin schalten, und besser nicht mit 1k pull
> ups sondern auch aktiv push pull schalten.

Mal das bitte mal auf. Im Moment ist mir nicht klar, wie das realisiert 
werden sollte. Der P-Kanal sperrt nur dann sauber, wenn sein Ug nahe an 
VM ist.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Achim S. schrieb:

> @Andilsl: planst du noch die Messungen zu machen? Die grundsätzlichen
> Schwächen der Schaltung wurden ja schon mehrfach durchgekaut (vor allem,
> wenn mal wirklich 10A fließen werden).
>
> Aber ich verstehe deinen Eröffnungspost so, dass alle 3 pFETs bereits
> bei einer Gesamtstromaufnahme von 500mA kochen (korrigiere mich, wenn
> ich da was falsch interpretiere). Wenn dem wirklich so ist, dann klingt
> das für mich nach mehr als "ungeschicktem" Gate-Treiber: dann verheizt
> du wahrscheinlich fast die gesamte Leistungsaufnahme an den pFETs. Und
> nur um ganz sicher zu gehen, dass nicht doch ein fataler Bug in deiner
> Software für dieses Verhalten sorgt, wären die Messungen nicht schlecht.

Hallo Achim,

ich kann gerne jetzt die Messung durchführen. Nur weiß ich nicht an 
welchen Punkten ich messen soll.

Und das hast du richtig verstanden. Ich habe einen Motor der bei 36 volt 
250 watt ziehen kann.

die Schaltung sollte den Motor auch mit last betreiben können ohne 
durchzubrennen.

wenn ich den motor bei 36volt mit 16khz pwm betreibe, werden die P-Fets 
bei sehr langsamer Drehzahl ohne last bei ca. 500ma verbrauch unfassbar 
heiss in wenigen sekunden.

Das 16khz Signal ist ganz stabil.

Mit diesem Code habe ich das realisiert: TCCR1B = (TCCR2B & 0b11111000) 
| 0x02;

Wenn das PWM signal auf 120Hz läuft, werden die P-Fets bei 36 volt nicht 
heiss. nichtmal warm! Auch bei Last.

also je weniger Hz desto kühler bleiben die P-Fets bei dieser Schaltung. 
doch leider hört sich 120Hz schrecklich an.

Hoffe ich habe alle Fragen beantwortet.

von Blubblubb (Gast)


Lesenswert?

AndiIsl schrieb:
> Wenn das PWM signal auf 120Hz läuft, werden die P-Fets bei 36 volt nicht
> heiss. nichtmal warm! Auch bei Last.

Das klingt nach Schaltverlusten, als ob der Treiber die Gates nicht 
schnell genug einschalten kann.. Mess mal die Gate- und die 
Sourcespannung in einem Oszibild.

von Michael B. (laberkopp)


Lesenswert?

Matthias S. schrieb:
> Mal das bitte mal auf.

Kaskode
1
   +36V
2
    |
3
   1k
4
    |
5
    +--12R-- P-MOSFET
6
    |
7
NPN >|----------+----+--1k-- +36V
8
   E|           |    |
9
    |          ZD18 100u
10
 --|I BSS101    |    |
11
    |S         GND  GND
12
   GND

push pull
1
  +36V   +36V
2
    |      |
3
   10k +--|< BC338
4
    |  |   |E
5
    +--+   +-- P-MOSFET
6
    |  |   |E
7
   15k +--|< BC328
8
    |      |
9
    |      +-----+---+--1k-- +36V
10
 --|I BSS101     |   |
11
    |S         ZD16 100u
12
   GND           |   |
13
                GND GND

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Blubblubb schrieb:
> AndiIsl schrieb:
>> Wenn das PWM signal auf 120Hz läuft, werden die P-Fets bei 36 volt nicht
>> heiss. nichtmal warm! Auch bei Last.
>
> Das klingt nach Schaltverlusten, als ob der Treiber die Gates nicht
> schnell genug einschalten kann.. Mess mal die Gate- und die
> Sourcespannung in einem Oszibild.


Also vom Oszi GND auf dem GND pin von den 36v und mit dem Pin vom oszi 
auf die große Metallfläche vom P-Fet?

von Blubblubb (Gast)


Lesenswert?

AndiIsl schrieb:
> Blubblubb schrieb:
>> AndiIsl schrieb:
>>> Wenn das PWM signal auf 120Hz läuft, werden die P-Fets bei 36 volt nicht
>>> heiss. nichtmal warm! Auch bei Last.
>>
>> Das klingt nach Schaltverlusten, als ob der Treiber die Gates nicht
>> schnell genug einschalten kann.. Mess mal die Gate- und die
>> Sourcespannung in einem Oszibild.
>
> Also vom Oszi GND auf dem GND pin von den 36v und mit dem Pin vom oszi
> auf die große Metallfläche vom P-Fet?

GND ist in der Messung nicht kritisch, weil die Differenz interessant 
ist und der Strom überschaubar. Der 36V GND reicht, aber an der Platine 
und nicht am Netzteil!

Dann den Knoten "A" im Schaltplan und zwischen R12 und "G"ate vom 
MosFET. Ideal wäre bei einem mehrkanal Oszi noch die Versorgungsspannung 
aufzunehmen. Falls möglich wäre auch der Motorstrom toll. Interessant 
ist ein Schaltzyklus, also einmal ein und einmal ausschalten.

von AndiIsl (Gast)


Lesenswert?

Ich habe ein relativ "billiges" Digital Oszi. Mit 2 Kanälen.

Ganz hab ichs immernoch nicht verstanden.

ich soll also zwischen GND und A (Der Draht der zum Motor führt) Messen.

Und Zweite Messung zwischen GND und R12 (Also der Gate Fuß vom MosFET?).

Da ich 2 Kanäle habe beides gleichzeitig?

von AndiIsl (Gast)


Angehängte Dateien:

Lesenswert?

Hier einmal CH1 GND zu GND von Quelle und Oszi Pin zu A (Ausgang der zum 
Motor geht)

CH2 GND zu GND von Quelle und Oszi Pin zu Gate von P-Fet (A).

Hoffe das passt so!

Läuft jetzt alles auf 12 Volt. Leider kann mein Oszi nur bis 35 Volt.

von AndiIsl (Gast)


Lesenswert?

Leider kann ich nun nichtsmehr testen.. Gerade eben haben sich alle NPN 
MosFets verabschiedet.

von AndiIsl (Gast)


Lesenswert?

http://www.st.com/web/en/resource/technical/document/datasheet/CD00276203.pdf

Davon habe ich etwa 20 stk. Kann ich die defekten NPN dadurch ersetzen?

von Sascha (Gast)


Lesenswert?

n-Channel! NPN sind Bipolartransistoren, was man allein schon an der 
Tatsache erkennt dass da sowohl N als auch P im Namen sind.

Ja, kannst du nehmen. Aber besser wird dadurch gar nichts, solange die 
Gateansteuerung so ranzig ist.

Klar klappt das mit 120Hz. Dann sind ja auch die Schaltverluste minimal. 
Aber so ne Schaltung ist erst dann gut, wenn sie auch bei 50kHz nur 
lauwarm wird.

Normal nimmt man high und low side n-channel FETs und macht da ein Gate 
Treiber IC davor. IR2110 oder sowas.

von AndiIsl (Gast)


Lesenswert?

Klar mach ich damit nichts besser das ist mir bewusst.. Leider finde ich 
keine Fertige Schaltung mit einem IR2110 und 6 N-channel FETS. Sonst 
hätte ich diese gerne schon gekauft. Da ich eben nur diese Platine habe, 
wollte ich eben auch damit den Motor betreiben.

Ich habe noch http://willfj.com/bldc-controller-v01/ diese Platine 
gefunden. Falls die besser ist würde ich diese nachbauen.

Die Gateansteuerung werde ich morgen falls alle bauteile von Reichelt 
geliefert sind in Angriff nehmen und wie beschrieben wurde ändern.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Michael B. schrieb:
> Kaskode
> push pull

Ah, verstehe. Sieht ja gut aus, vor allem der PP Treiber. Aber auf die 
Platine passt das nicht.

von AndiIsl (Gast)


Lesenswert?

Matthias, kann ich für deine Idee auch 10v Z-dioden hernehmen?

Ich würde jetzt schonmal die 10k widerstände austauschen zu 1k. Kann ich 
damit die Schaltung testweiße auf 20v betreiben bis Morgen die z-Dioden 
da sind?

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> wenn ich den motor bei 36volt mit 16khz pwm betreibe, werden die P-Fets
> bei sehr langsamer Drehzahl ohne last bei ca. 500ma verbrauch unfassbar
> heiss in wenigen sekunden.

Ohne Last bedeutet, dass der Strom rein durch die Überschneidung fließt 
(also pFET und darunterliegender nFET leiten gleichzeitig). Die 
schnellere Gateansteuerung wird auch das Problem ein Stück weit beheben, 
aber du solltest trotzdem in der Software eine Totzeit einstellen. Das 
ist auch deswegen wichtig, weil du mit den geplanten 
Schaltungsänderungen asymmetrische Schaltzeiten bekommen wirst (das 
Anschalten über die Zenerdiode läuft schneller als das Ausschalten über 
dne Pullup).

AndiIsl schrieb:
> Matthias, kann ich für deine Idee auch 10v Z-dioden hernehmen?
>
> Ich würde jetzt schonmal die 10k widerstände austauschen zu 1k. Kann ich
> damit die Schaltung testweiße auf 20v betreiben bis Morgen die z-Dioden
> da sind?

Du musst in jedem Fall dafür sorgen, dass im angeschalteten Fall die 
Gate-Source Spannung des pFET über 10V liegt, aber auf keinen Fall an 
20V rankommt. Ein Spannungsteiler aus 2x1kOhm wäre also für den 20V 
Betrieb in Ordnung. Eine 10V Zenerdiode gemäß Schaltungsvorschlag von 
Matthias wäre für 20V Motorspannung ebenfalls in Ordnung.

Aber wenn du die 10V Zenerdiode mit 36V Versorgung einsetzen würdest, 
wäre die Gate-Source Spannung für den pFET zu groß(36V-10V=26V, aber 
U_GS darf nie größer als 20V werden).

Der Betrieb bei 12V mit Spannugnsteiler war leider ebenfalls nicht in 
Ordnung, weil der pFET damit nur eine Gate-Source Spannung von 6V 
gesehen hat: damit leitet er zwar, aber es fällt noch so viel Spannung 
an ihm ab, dass er verheizt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Achim S. schrieb:
> Die
> schnellere Gateansteuerung wird auch das Problem ein Stück weit beheben,
> aber du solltest trotzdem in der Software eine Totzeit einstellen.

AVR447 beschreibt dir dann, wie man das bequem mit einem Mega88/168 
lösen kann.

AndiIsl schrieb:
> Matthias, kann ich für deine Idee auch 10v Z-dioden hernehmen?

Achim hats gesagt. Ugs darf nicht über 20V sein:

Achim S. schrieb:
> Aber wenn du die 10V Zenerdiode mit 36V Versorgung einsetzen würdest,
> wäre die Gate-Source Spannung für den pFET zu groß(36V-10V=26V, aber
> U_GS darf nie größer als 20V werden).

von Achim S. (Gast)


Lesenswert?

noch eine Anmerkung zu deiner Oszi-Messung: man sieht in der Messung 
einen Zeitbereich, in dem der pFET ständig aus sein sollte. Der nFET 
wird gepulst (mit 4kHz) und zieht periodisch den Ausgang nach unten.

Das Gate des pFET sollte also eigentlich die ganze Zeit auf Vm liegen. 
Dass es trotzdem hin und her wackelt liegt daran, dass die Änderung der 
Drainspannung kapazitiv aufs Gate durchschlägt. Der hochohmige 
Gate-Treiber (10kOhm) sorgt dafür, dass sich das Gate so stark 
mitbewegt.

Die Messung wurde mit Vm=12V aufgenommen. Wäre Vm größer, dann wäre die 
kapazitive Kopplung noch deutlich größer. Ab einer gewissen 
Versorgungsspannung wird das Gate des pFET bei jedem Einschalten so weit 
aufgesteuert, dass der pFET kurzzeitig aufmacht. Du bekommst also bei 
jedem PWM-Puls des nFET eine kurzzeitige Überschneidung, obwohl der pFET 
eigentlich die ganze Zeit sperren sollte. Das ist wahrscheinlich ein 
Grund dafür, dass der pFET bei Vm=20V überhaupt nicht warm werden (da 
reicht die kapazitive Kopplung noch nicht, um ihn aufzusteuern), aber 
bei 36V sofort sehr heiß wird (da bringt ihn die kapazitive Kopplung 
deutlich über die Schwelle).

Dieser Form der Überschneidung kommst du mit einer Softwareänderung 
nicht bei. Aber der deutlich niederohmigere Pullup in Matthias 
Schaltungsvorschlag wird dafür sorgen, dass die kapazitive Kopplung 
einen Faktor 10 kleiner ausfällt und das parasitäre Anschalten des pFET 
weitestgehend unterbleibt.

von Axel R. (Gast)


Lesenswert?

Ihr habt Recht!
Ich habe nicht zu Ende gedacht, sorry ... der P-FET kann garnicht 
ausschalten, wir haben ja keine push-pull Stufe vornweg.

Kann es sein, das die FETs ständig im Avalanche-Betrieb laufen ?!?
Ich vermisse einen schnellen Kondensator im VM-Zweig gegen GND.
Da wird wohl die Spannung hoch laufen.

Axelr.
DG1RTO

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Axel R. schrieb:
> Ich vermisse einen schnellen Kondensator im VM-Zweig gegen GND.
> Da wird wohl die Spannung hoch laufen.

Naja, auf der Platine ist ein lächerlich kleiner 470µF Elko vorgesehen 
(zwischen den Anschlüssen für VM und GND), der wohl das gröbste abfangen 
soll, aber der ist selbst bei einem 1A/36V Motor bereits ein Witz.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Gut ich habe nun alle 10k Widerstände schonmal getauscht wie Matthias es 
beschrieben hat. heute sollten die 10 v z-dioden kommen. kann ich 
einfach 2 in reihe schalten für 20v? oder ist das nicht möglich?

Den Kondensator mit 100µF setz ich dann zwischen GND und VM. Muss das 
ein besonderer sein? Aktuell habe ich einen 100µF 63V von DTDZ.

von AndiIsl (Gast)


Lesenswert?

Ich habe mal die Schaltung mit 12 volt betrieben doch da tut sich 
überhaupt nichts mehr. Zieht auch kein Strom wenn ich das PWM Signal 
vergrößer. an UGS liegt derzeit 12,49V und Eingang ist 12,49V.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> heute sollten die 10 v z-dioden kommen

Wieso 10V? Die hattest du doch schon gestern?

AndiIsl schrieb:
> Ich habe mal die Schaltung mit 12 volt betrieben doch da tut sich
> überhaupt nichts mehr.

Was hast du denn jetzt gebaut? Wenn du 10V Z-Dioden nimmst und mit 12V 
VM betreibst, passiert da wirklich nichts, das ist richtig. Und hattest 
du nicht alle N-Kanaler zu den Engelein geschickt?

Also, mit 10V Z-Dioden und VM = 20V sollte da etwas passieren. Dazu 
misst du am besten auch mal VGL (Soll ist bei 10V). Hast du denn die 
Funktion der Z-Dioden begriffen oder ist dir was rätselhaft?

AndiIsl schrieb:
> kann ich
> einfach 2 in reihe schalten für 20v?

Gehen tut das, aber 20V kannst du nirgends brauchen. Das ist zu viel für 
die Gates der MOSFet.

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Axel R. schrieb:
> Kann es sein, das die FETs ständig im Avalanche-Betrieb laufen ?!?

Nö, das wird durch die Body-Diode des jeweils zugehörigen nFETs 
ausgeschlossen. Wie weiter oben beschrieben 
(Beitrag "Re: BLCD motor PNP MOSFET werden extrem Heiss.") glaube ich 
inzwischen dass der pFET bei jedem PWM-Puls des nFET durch kapazitive 
Kopplung kurzzeitig über die Schwelle aufgesteuert wird, und dass das 
der Hauptgrund fürs Verheizen der pFET bei hohen Versorgungsspannungen 
ist. Draufgebracht hat mich die die Oszi-Messung: dort wackelt bei einer 
Versorgung von 12V die Gatespannung des pFET um ca. 2V hin und her. Bei 
36V Versorgung treibt man den pFET damit halt leider über die Schwelle, 
so dass Querstorm fließt und die vollen 36V am pFET abfallen.

Imho erklärt es alle Beobachtungen, von denen uns AndiIsl bisher 
geschrieben hat (z.B. auch, wieso der nFET, der sehr viel öfter schaltet 
als der pFET, keine Wärmeprobleme hat: beim Ausschalten ist der n zwar 
schneller, aber beim Einschalten ggf. noch lahmer als der pFET, und er 
schaltet im PWM-Takt, nicht im Kommutierungstakt).

Der Betrieb mit 12V hat die FETs in einem anderen Modus gekillt (mit 6V 
UGS wurden sie einfach nur unzureichend aufgesteuert).

AndiIsl schrieb:
> kann ich
> einfach 2 in reihe schalten für 20v?

Ja, das geht. Aber denke dran, dass deine Kombination von 
Versorgungsspannung und Treiberschaltung immer folgendes sicherstellen 
muss: im eingschalteten Zustand sollte UGS möglichst größer sein als 
10V, aber es darf auf keinen Fall größer werden als 20V. Wie Matthias 
erklärt hat passen 10V Zenerdioden und eine Versorgung von 12V deshalb 
nicht zusammen.

von AndiIsl (Gast)


Lesenswert?

Also ich habe gestern die 10v Z-Dioden bei Reichelt bestellt. Heute 
sollte die Lieferung ankommen. Deshalb war meine frage ob man 2 dafür 
hernehmen kann.

Zur Funktion von Z-dioden: Angenommen es ist eine 10v Z-Diode und man 
hat VM Zb. 26V dann ist in diesem Fall nach der Z-Diode noch 16V 
verfügbar (26-10V=16V). Das habe ich soweit verstanden denke ich. die 
Z-Diode brauch ich deshalb da das Gate (ugs) nicht über 20V befeuert 
werden darf. Deshalb empfiehlt sich auch eine 20V Z-Diode. Denn 
(36-20=16V). Leider habe ich gestern auf die schnelle 10V Z-Dioden 
bestellt.

An dem Bild was ich mitgesendet habe, kann man herausnehmen was ich 
gemacht habe.

Rot ist was ich schon ausgetauscht habe.
Und Grün ist was ich noch austauschen werde.

von AndiIsl (Gast)


Angehängte Dateien:

Lesenswert?

Sorry hier das Bild.

von AndiIsl (Gast)


Lesenswert?

Ach ja die NFets waren zum Glück doch nicht Alle kaputt. Da ich 2 
Platinen von der Sorte habe, habe ich 1 zum Ausschlachten hergenommen 
wie man erkennen kann. Somit ist 1e Platine mit den originalen P und N 
Fets bestückt und lief bevor ich die 10K zu 1k umgetauscht habe noch.

von AndiIsl (Gast)


Lesenswert?

Auf dem Bild soll natürlich ein 63V 100µF sein. Zahlendreher.

von Bernd K. (bmk)


Lesenswert?

Hier mal eine elegante Schaltung, um einen P-MOSFET niederohmig und 
schnell anzusteuern bei gleichzeitiger Begrenzung von Ugs:

Beitrag "Re: Wie Ugs (p-FET) sinnvoll begrenzen?"

Einen P-MOSFET mit gutem Rdson aus meiner Merkliste:
http://www.onsemi.com/pub_link/Collateral/BBS3002-D.PDF

Leider nicht leicht zu beschaffen. Am besten mal hier im Forum 'Markt' 
nachschauen, da läuft immer eine Sammelbestellung bei Mouser.

von AndiIsl (Gast)


Lesenswert?

Der ist tatsächlich von den werten her sehr gut. Danke dafür!

Leider muss ich auf die schnelle noch diese Schaltung zum laufen 
bringen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Leider muss ich auf die schnelle noch diese Schaltung zum laufen
> bringen.

Das ist Unsinn. Und auf die Schnelle schon gar nicht. Die Software 
alleine braucht noch einiges an Arbeit und von der bescheuerten Endstufe 
mit Rettungsversuchen reden wir lieber gar nicht mehr.

AndiIsl schrieb:
> Also ich habe gestern die 10v Z-Dioden bei Reichelt bestellt.

Aber warum denn um Himmels Willen 10V? Davon hat doch hier nun gar 
keiner geredet.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Axel R. schrieb:
> R3, R5 und R7 raus. Z-Diode 10Volt 500mW
> https://www.reichelt.de/Z-Dioden-0-5W/ZF-10/3/inde...
> https://www.reichelt.de/SMD-Z-Dioden-Mini-Melf/SMD...
>
> (36V-10V=26V -> 26V/1K=26mA ergibt i²xR 260mW für die Z-Diode)
>
> dort rein mitm Balken "nach oben" gegen VM.
> R4, R6 und R8 mit 1K bestücken.
> R12, R13 und R14 mit 3R3 bestücken.
>
> So würde ICH das machen...



Da wurde von 10v Dioden geredet. habe nun auch 6v 7v 10v 24v 30v 
z-dioden hier.

leider auch damit kein erfolg. da tut sich garnichts mehr. was mich 
verwundert ist das die spannung auch vom netzteil und vom ugs die selben 
sind. sollte das nicht viel weniger sein?

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> leider auch damit kein erfolg. da tut sich garnichts mehr. was mich
> verwundert ist das die spannung auch vom netzteil und vom ugs die selben
> sind. sollte das nicht viel weniger sein?

Versuch mal die aktuelle Situation für uns nachvollziehbar zu 
beschreiben: wie sieht jetzt die Schaltung aus? Wie hoch ist aktuell 
deine Versorgung? Welche Spannung misst du jetzt an welcher Stelle?

von AndiIsl (Gast)


Angehängte Dateien:

Lesenswert?

SO Update! Auf 36 volt läuft alles einwandfrei. Doch leider komm ich 
nicht zum Messen. nach wenigen Sekunden riecht es nach verbranntem Gummi 
was definitiv von der Platine kommt. Danach hab ich sofort wieder 
ausgeschaltet. Nachdem ich sie wieder einschalte läuft sie einwandfrei 
und auch da nach wenigen Sekunden verbranntes Gummi. das spiel hab ich 
jetzt ca. 5 mal gemacht alles läuft weiterhin. Hab dann versucht mit dem 
finger zu ertasten ob etwas heiss wird. Fehlanzeige.

Die Schaltung sieht wie auf dem Bild aus:

Falls erwünscht auch gerne ein Foto von dem Aufbau.

Ich habe nochmal alle stellen mit dem Multimeter überprüft. Alles Passt 
soweit.

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> auch da nach wenigen Sekunden verbranntes Gummi. das spiel hab ich
> jetzt ca. 5 mal gemacht alles läuft weiterhin.

dann versuch wenigstens mal nach dem Ausschalten zu "ertasten", welches 
Bauteil den Geruch verursacht. Immer noch der pFET?

AndiIsl schrieb:
> Die Schaltung sieht wie auf dem Bild aus:
>
> Falls erwünscht auch gerne ein Foto von dem Aufbau.

Ein Schaltplan (oder wenigstens eine Skizze) fände ich besser

von AndiIsl (Gast)


Lesenswert?

Also leider kann ich den Geruch nicht identifizieren. Die Platine ist 
einfach so klein.

nein die pFets die sind nun EISKALT genau wie die NFets :) das hat 
schonmal prima geklappt. ich glaube es kommt aus der Richtung vom 
Kondensator.

Ich zeichne gleich mal in Eagle den Schaltplan von Makeatronics um und 
poste ihn hier.

von AndiIsl (Gast)


Angehängte Dateien:

Lesenswert?

Genau wie auf dem Bild habe ich die Schaltung gebaut.

von Bernd K. (bmk)


Lesenswert?

Das 'riecht' nach dem linken Schaltungsteil. Der wird mit 0,68W 
belastet.

Davon entfallen auf:
R1 = 0,36W
D1 = 0,13W
D2 = 0,19W

Bitte mal Fingerprobe (besser Thermofühler) auf R1.

von AndiIsl (Gast)


Lesenswert?

DANKE Bernd. Du hast natürlich recht! Wird in wenigen Sekunden sehr 
heiss.

Wie kann ich denn das Problem lösen?

von Sascha (Gast)


Lesenswert?

Quick n Dirty: 1W Widerstand einlöten

Richtig: VGL per Linearregler bereitstellen (mit Kühlkörper falls 
nötig).

von AndiIsl (Gast)


Lesenswert?

Okey als Linearregler meinst du einen der 16volt bereitstellt? zb 
https://www.reichelt.de/?ARTICLE=39453&PROVID=2788&wt_mc=amc141526782519998&gclid=Cj0KEQiAu9q2BRDq3MDbvOL1yaYBEiQAD6qoBi1zuEz0Go_ljfspzH9Jwr9Lx_lTZnBfTfTp8NnYSLAaAjgQ8P8HAQ

Nur für 16volt? Oder kann das auch 12 volt sein?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Nur für 16volt? Oder kann das auch 12 volt sein?

Oder 15V, das ist ein Standardwert. Der verbrät aber auch etwa 600mW. 
Schaltregler wäre wirklich besser - im simpelsten Fall ein MC34063.

AndiIsl schrieb:
> Zeichnung.tiff

TIFF ist übrigens ein ganz blödes Format und fürs Internet nicht 
wirklich geeignet. Bitte PNG oder JPG.

: Bearbeitet durch User
von Bernd K. (bmk)


Lesenswert?

Matthias S. schrieb:
> Schaltregler wäre wirklich besser - im simpelsten Fall ein MC34063.
>
Full ACK

Und im Fall des geringsten Aufwandes:

https://www.conrad.de/de/Search.html?search=+676153+-+62

von AndiIsl (Gast)


Lesenswert?

Ah verstehe. Der MC34063 ist mir nicht ganz klar was der für eine 
Aufgabe hat. Wie komm ich damit auf 15V oder 16V? und ist er dann 
durchgehend an oder wird der auch gepulst?

Beim nächsten mal PNG oder JPG danke!!

von Sascha (Gast)


Lesenswert?

Wegen der Verlustleistung ist da mehr Spannung besser.

Wenn die FETs ein Ugs von 20V aushalten, könnte man auch 18V nehmen, 
also ein 7818.

Aber irgendwie ist das alles ranziger Mist. Typischer Fall von: "Am 
Anfang richtig gemacht hätte Zeit und Geld gespart".

von Michael B. (laberkopp)


Lesenswert?

AndiIsl schrieb:
> Die Schaltung sieht wie auf dem Bild aus:

Oh Mann, da steht 8-36V am Versorgungsanschluss.

Wie soll die Originalschaltung jemals mit 8V funktioniert haben, 4V an 
den Gates der MOSFETs.

Da du die Originalplatine erhalten willst, aber sowieso einen Motor 
anschliesst der einiges an Leistung braucht, bau sie so um:
1
       ZD10
2
    +--|>|---+-- +8..36V
3
    |    ´   |
4
    +--2k2---+
5
    |        |S
6
    +--56R--|I PMOSFET
7
    |        |
8
  220R       +-- Ausgang
9
    | 
10
---|I BSS123
11
    |S
12
   GND
13
         +8..36V
14
             |
15
           220R
16
     VGL     |  ZD10
17
    +--------+--|<|-- GND
18
    |           `
19
   2k2       +--- Ausgang
20
    |        |
21
    +--56R--|I NMOSFET
22
    |        |S
23
---|I BSS123 |
24
    |S       |
25
   GND      GND
Das geht mit deinen vorhandenen Bauteilen. ABER: Achte auf die 
Totzeiten, die MOSFETs werden schnell eingschaltet und langsamer 
ausgeschaltet.

von Sascha (Gast)


Lesenswert?

AndiIsl schrieb:
> Ah verstehe. Der MC34063 ist mir nicht ganz klar was der für eine
> Aufgabe hat. Wie komm ich damit auf 15V oder 16V? und ist er dann
> durchgehend an oder wird der auch gepulst?
>
> Beim nächsten mal PNG oder JPG danke!!

Step-Down Wandler aufbauen, steht im Datenblatt. Wikipedia Artikel 
"Abwärtswandler" ist auch geistreich, sowie
http://schmidt-walter-schaltnetzteile.de/smps/smps.html

von AndiIsl (Gast)


Lesenswert?

Okey so wie ich das verstanden habe ist VGL die Spannung die nFets?! die 
liegt aktuell bei der Aktuellen Schaltung bei 16volt?!

die pFets werden mit 20v beschaltet.

im Grunde kann ich aber auch dafür sorgen das die 16V und 20V mit 
Spannungsregler oder Step-Down Wandler erzeugt werden. das wäre dann 
eben effizienter und ordentlicher als mit Z-Dioden?

Hab jetzt mal 2 in reihe geschaltete 1k widerstände in Parallel 
geschaltet und nun kann ich wenigstens für 30 sekunden den Motor laufen 
lassen.

Bei Geringster Drehzahl was den Motor noch drehen lässt, habe ich ohne 
Kühlkörper bei den pFets gerade mal 40 Grad gemessen.

Klappt also wunderbar! Nochmals Danke dafür!!

Jetzt muss nur noch das Problem mit dem widerstand beseitigt werden.

Nachdem das geschehen ist werde ich die Totzeiten integrieren in dem 
Code.

Danach sollten ja die pFets Hoffentlich kein problem mehr mit Hitze 
haben.

von AndiIsl (Gast)


Lesenswert?

hab grade VGL gemessen.. Die liegt jetzt bei 9,39 Volt. Ist das nicht zu 
niedrig? Ich versteh noch nicht genau weshalb die NFets mit 10 volt und 
die pFets mit 20 volt angesteuert werden. Oder sollte das so sein?

von Sascha (Gast)


Lesenswert?

AndiIsl schrieb:
> hab grade VGL gemessen.. Die liegt jetzt bei 9,39 Volt. Ist das
> nicht zu
> niedrig? Ich versteh noch nicht genau weshalb die NFets mit 10 volt und
> die pFets mit 20 volt angesteuert werden. Oder sollte das so sein?

Das weiss vermutlich keiner so genau. Vielleicht halten die laut 
Datenblatt unterschiedliche Ugs aus? 20V ist allerdings ein relativ 
häufiger Wert.

9,39V ist nicht extrem viel, aber die Stabilisierung mit R1 und den 
beiden Z-Dioden gibt halt auch nicht viel mehr her.

Aber 9,39V reicht auf jeden Fall, um einen n-Fet einzuschalten. Der hat 
dann nicht den optimalen Rdson, den erreicht er erst bei 12-15V. Ergo 
wird der einen Tick wärmer als nötig.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Michael B. schrieb:
> Wie soll die Originalschaltung jemals mit 8V funktioniert haben, 4V an
> den Gates der MOSFETs.

Bloss nicht drüber nachdenken. Und wenn man sich mal die Software 
anguckt, wird einem nochmal ganz anders. Da legt der Bursche die 6 
Phasenausgänge, weil so schön einfach ist, auf einen Port, statt auf die 
OC Ausgänge der 3 Timer, die der Mega sowieso schon hat. Damit ist 
jegliche PWM und Sinusmodulation ein unnötiger Krampf und extrem 
rechenintensiv.
Echt 'ne Schande, das dafür überhaupt eine Platine gemacht wurde.

Sascha schrieb:
> 20V ist allerdings ein relativ
> häufiger Wert.

Das ist das absolute Maximum! Im Normalfall bleibt man deutlich 
darunter. 12V reichen für alle modernen MOSFet dicke.

: Bearbeitet durch User
von AndiIsl (Gast)


Lesenswert?

Ich würde heute bei Reichelt ein paar Spannungsregler kaufen.

Welchen kann man da empfehlen für diese schaltung? damit eben pFet und 
NFet über 2 Spannungsregler laufen. Ich finde nur welche die maximal 35V 
Eingangsspannung aushalten. Welche Bauteile brauch ich noch?

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> hab grade VGL gemessen.. Die liegt jetzt bei 9,39 Volt. Ist das nicht zu
> niedrig?

Doch: an zwei in Reihe geschalteten 1k-Widerständen (deiner aktuellen 
Bestückung) fällt halt nun mal mehr Spannung ab als an einem 
1k-Widerstand. Deswegen legen momentan nicht mehr die Zenerdioden VGL 
fest sondern der Spannungsteiler aus deinen 1k+1k und den Levelshiftern 
für die nFETS. Ein fetter 7815 (oder meinetwegen ein Schaltregler) 
sorgen für stabile 15V für deine nFET-Ansteuerung.

AndiIsl schrieb:
> Ich versteh noch nicht genau weshalb die NFets mit 10 volt und
> die pFets mit 20 volt angesteuert werden.

Das werden sie nicht! Ziel der modifizierten Schaltung für VGL waren 17V 
(festgelegt durch D1 und D2). Durch die Belastung und den von dir 
verdoppelten Vorwiderstand für die Zenerdioden ist das jetzt nur auf 10V 
eingebrochen.

Ziel der Schaltungsmodifikation für die pFETs waren 16V. Und zwar, indem 
du von den 36V Versorgungsspannung 20V durch Zenerdioden "abschneidest". 
Schau dir deine Schaltungsumbauten nochmal genau an.

von Sascha (Gast)


Lesenswert?

Matthias S. schrieb:

> Sascha schrieb:
>> 20V ist allerdings ein relativ
>> häufiger Wert.
>
> Das ist das absolute Maximum! Im Normalfall bleibt man deutlich
> darunter. 12V reichen für alle modernen MOSFet dicke.

Für Ugsmax meinte ich.

von Bernd K. (bmk)


Lesenswert?

AndiIsl schrieb:
> hab grade VGL gemessen.. Die liegt jetzt bei 9,39 Volt. Ist das nicht zu
> niedrig? Ich versteh noch nicht genau weshalb die NFets mit 10 volt und
> die pFets mit 20 volt angesteuert werden. Oder sollte das so sein?

Mir kommt gerade ein Gedanke. Bitte nicht hauen, wenn ich falsch liege:

Vielleicht hast du beim P-FET die Gatespannung gegen GND gemessen.
Das würde die 20V erklären. Gemessen wird aber gegen VM +36V das
entspricht nämlich Vgs. Dabei kommt dann -16V raus, was ok wäre.

Man sieht im Datenblatt des IRF4095, Fig. 1+2 tatsächlich ein etwas
besseres Leitverhalten bei Vgs=15V verglichen mit Vgs=10V. Daher ist
gegen 16V nichts einzuwenden.

Bei N-FETs hingegen bringt es meist keine nennenswerte Verbesserung,
mit der Vgs über 10V hinaus zu gehen. Daher sind 9,39V voll ok.

Mein Rat: Die derzeitige Schaltung ist ja nicht grundsätzlich falsch.
Es ist nur die Überlastung von R1 zu beseitigen. R3 / R9 sind ebenfalls
betroffen, je nach Einschaltdauer von Q1 und Q6. Ich würde da jeweils
einen Turm 4x 3,9k SMD parallel bauen, mit seitlichen Cu-Stützdrähten
und einem Abstand von 1-2mm zwischen den Widerständen, um die Oberfläche
zu vergrößern. Das senkt die Belastung auf 0,09W pro Widerstand und ist
damit voll im grünen Bereich.

: Bearbeitet durch User
von Achim S. (Gast)


Lesenswert?

Bernd K. schrieb:
> Vielleicht hast du beim P-FET die Gatespannung gegen GND gemessen.
> Das würde die 20V erklären.

genau so dürfte es sein.

Bernd K. schrieb:
> Bei N-FETs hingegen bringt es meist keine nennenswerte Verbesserung,
> mit der Vgs über 10V hinaus zu gehen. Daher sind 9,39V voll ok.

9,39V am Gate des nFET sind zwar ausreichen. Aber wenn die Versorgung 
für den Gatetreiber (VGL) auf 9,39V absinkt, dann bedeutet dass, dass 
die "Regelung" von VGL nicht funktioniert (weil sie einfach überlastet 
ist). Der tatsächliche für die Ansteuerung des Gatetreibers hängt dann 
vom Dutycycle der PWM ab. Für die aktuelle Einstellung ergeben sich 
9,39V (was reicht), wenn der Dutycycle erhöht wird, dann sinkt die 
Spannung weiter ab - und dann kann es zu wenig werden. Falls die 9,39V 
nicht bei maximalem Dutycycle gemessen wurde, muss AndiIsl an der Stelle 
noch nachbessern.

Außerdem hat die "Treiberstufe" des nFET (d.h. der 1kOhm Widerstand 
gegen VGL) die Eigenschaft, dass sie um so schneller anschaltet, je 
höher VGL ist. Auch wegen der lahmen Schaltzeiten wäre ein etwas 
größerer Wert als die 9V bei dieser Schaltung von Vorteil.

von AndiIsl (Gast)


Lesenswert?

Das heißt wenn ich jetzt R9 durch eine Brücke ersetze, sollte ja 16V 
anliegen oder nicht?

der 7815 ist für den nFet und pFet geeignet? Oder sollte ich für pFet 
einen 7818 nehmen?

Wie kann ich einen 7815 mit 36 Volt betreiben?

Ich werde heute eine Bestellung bei Reichelt machen.

von Thomas H. (akagisan)


Lesenswert?

Einen vernünftigen OpenSource BLDC-Controller findet ihr hier:

http://vedder.se/2015/01/vesc-open-source-esc/
(ESC - Electronic Speed Control)

Fertige Boards kann man auch bestellen bei:
http://www.enertionboards.com/electric-skateboard-parts/vesc-motor-controller/

Features (Auszug):
Voltage: 8V – 60V
Current: Up to 240A for a couple of seconds or about 50A continuous 
depending on the temperature and air circulation around the PCB.
PCB size: 40mm x 60mm.
Current and voltage measurement on all phases.
Regenerative braking.
Sensored or sensorless operation.
etc.

Position-Regelung wird wohl auch gerade implementiert.

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> Wie kann ich einen 7815 mit 36 Volt betreiben?

Äh, die Frage ist sehr berechtigt. War ein dummer Vorschlag von mir, 
entschuldige.

AndiIsl schrieb:
> der 7815 ist für den nFet und pFet geeignet? Oder sollte ich für pFet
> einen 7818 nehmen?

Die Spannungsvorregelung ist für den nFET. Für den pFET sehe ich 
momentan nicht, wie dein Levelshifter mit der vorgeregelten Spannung 
funktionieren sollte. Wenn die aktuelle Beschaltung von 2x10V Zenerdiode 
und 1kOhm Widerstand zufriedenstellend funktioniert, dann bleib einfach 
dabei.

Für die nFETs brauchst du eine "niederohmigere" Vorregelung von VGL 
(deine derzeitigen 2kOhm sind zu hoch). Du könntest auf die Schnelle die 
Impedanz auch nach unten kriegen, indem du R1 durch eine Serienschaltung 
10V Zenerdiode und z.B. 470 Ohm Widerstand ersetzen. Die Verlustleistung 
bleibt natürlich hoch, aber die Spannungskonstanz wird etwas besser. 
Allerdings schränkst du den Versorgungsspannungsbereich damit auch immer 
enger (auf 36V) ein.

Eine richtig vorgeregelte Spannung wäre natürlich noch besser. Aber wir 
sind ja schon zum Schluss gekommen, dass du mit der Schaltung sowieso 
keinen  Schönheitspreis gewinnen wirst ;-)

von AndiIsl (Gast)


Lesenswert?

Achim, kannst du mir das kurz aufzeichnen wie du das meinst?

Danke schon mal für die Hilfe!

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> Das heißt wenn ich jetzt R9 durch eine Brücke ersetze, sollte ja 16V
> anliegen oder nicht?

den Teil hatte ich ja noch gar nicht kommentiert: Nein, wenn du R9 
kurzschließt, dann geht VGL auf annähernd 0V runter (weil dann zwischen 
VGL und Masse nur noch der BSS123 liegt). Außerdem wird der BSS123 beim 
ersten Einschalten versuchen, den aufgeladenen 100µF-Kondensator zu 
entladen und wird dabei ggf. sterben - insgesamt also keine gute Idee...

von Achim S. (Gast)


Angehängte Dateien:

Lesenswert?

AndiIsl schrieb:
> Achim, kannst du mir das kurz aufzeichnen wie du das meinst?

ungefähr so - auch keine elegante Schaltung, aber sie lässt sich 
einigermaßen einfach auf deine Platine bringen.

von Bernd K. (bmk)


Lesenswert?

Wenn nun doch Add-on Verbesserungen angesagt sind, dann besser richtig.
Hatte ich weiter oben schon mal gepostet, aber besser nochmal:

http://www.mikrocontroller.net/attachment/34752/P_FET.png

Das ist dann eine richtige Push-Pull Stufe, die dem P-FET immer die
korrekte Vgs von 13V zuführt bei einer Versorgung VM von ca. 16-40V
Damit erübrigt sich das Spannungsregler-Gehampel automatisch.

Außerdem ist damit PWM von 100kHz und mehr problemlos möglich.

Für den N-FET ist das ähnlich machbar, es müsste noch eine pnp Stufe
hinzu gefügt werden.

von Achim S. (Gast)


Lesenswert?

klar wären diese komplementären Emitterfolger als Treiberstufe viel 
besser als der aktuelle faule Kompromiss. Aber der faule Kompromiss 
lässt sich einfach implementieren, indem jeweils ein bisher vorhandener 
Widerstand durch ein anderes Bauteil (oder zwei in Reihe) ersetzt wird.

Für deinen besseren Vorschlag müsste man imho Leitungen auftrennen, 
Transistoren fliegend verdrahten, den BS123 durch einen bipolaren mit 
unpassender Anschlussbelegung ersetzen, ...

von Bernd K. (bmk)


Lesenswert?

Achim S. schrieb:
> Aber der faule Kompromiss
> lässt sich einfach implementieren, indem jeweils ein bisher vorhandener
> Widerstand durch ein anderes Bauteil (oder zwei in Reihe) ersetzt wird.

Das ist wohl wahr.

Dann möge AndiIsl beachten, dass in deiner Schaltung bei vollem Akku
(wahrscheinlich 42V) R1 mit 0,5W belastet wird und die Z-Dioden mit
etwa 0,3W. Also passende Bauteile wählen und 'luftig' anordnen.

von AndiIsl (Gast)


Lesenswert?

Also ich werde in Zukunft eine Platine ätzen lassen und dann kann ich 
natürlich das was Bernd meint integrieren :)

Bei voll geladenem Akku beträgt die Spannung 37Volt.

Danke Achim für die Zeichnung. Werde ich morgen mal ausprobieren.

von AndiIsl (Gast)


Lesenswert?

Moment 36V hat der voll geladene Akku.

von Achim S. (Gast)


Angehängte Dateien:

Lesenswert?

AndiIsl schrieb:
> Danke Achim für die Zeichnung. Werde ich morgen mal ausprobieren.

Wenn die Versorgung stabil bei 36V liegt, dann kannst du beim 
Ausprobieren auch gleich auf diese Schaltung zur Erzeugung von VGL 
umsteigen: mit der werden nicht 17V gegenüber Masse erzeugt sondern 20V 
unterhalb von 36V (was bei stabilen 36V ziemlich aufs selbe rauskokmmt). 
Dafür ist sie viel niederohmiger und wenigstens bei geringer Belastung 
heizt sie weniger.

von Bernd K. (bmk)


Lesenswert?

Achim S. schrieb:
> Wenn die Versorgung stabil bei 36V liegt, dann kannst du ....

Ja, gute Idee bei stabilen 36V z.B. von einem geregelten Netzteil.


AndiIsl schrieb:
> Moment 36V hat der voll geladene Akku.

Sorry, ab er ich kenne keinen Akku, der immer die selbe Spannung hat.
Hier mal die typische Entladekurve einer LiIon Zelle:
http://666kb.com/i/cba60az9ebsrcy25t.gif

Wenn AndiIsl einen 10-zelligen Typ hat, dann beginnt die Spannung direkt
nach dem Volladen bei 40V und wird zum Entladeende bei 30-33V liegen,
je nach Abschaltpunkt der Elektronik.

Wenn das so ist, halte ich die obige Schaltung für wenig geeignet,
weil dann nämlich VGL von 20V .... 10V variiert.

Wollte ich nur mal gesagt haben.

von AndiIsl (Gast)


Lesenswert?

Guten Morgen, da ich mich nun etwas mit der Software beschäftigen möchte 
und gleich auf ein kleines Problem gestoßen bin wollte ich mal 
nachfragen ob mir einer helfen kann.

Leider habe ich nichts ordentliches gefunden das die Deadtime beschreibt 
wie die zu setzen ist.

Soweit ich das verstanden habe schaltet der original Code einfach nur 
die Ausgänge vom atmega328 HiGH oder LOW.

demnach müsste ich ja nur einen delay zwischen PFet und Nfet hinzufügen.

Hier ein kleines Beispiel (Angaben sind fiktiv):
1
digitalWrite(PFet,HIGH); 
2
digitalWrite(PFet,LOW);
3
delay(100); //Lässt sich errechnen denke ich.
4
digitalWrite(NFet,HIGH);
5
digitalWrite(NFet,LOW); 
6
delay(100); //Lässt sich errechnen denke ich.

Ist natürlich nicht schön gelöst aber zum Verständnis sehr gut.


Ich hoffe das ist soweit richtig und habe kein Denkfehler.

Wie immer ganz großes danke für die Hilfe!!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> digitalWrite(PFet,HIGH);
> digitalWrite(PFet,LOW);
> delay(100); //Lässt sich errechnen denke ich.
> digitalWrite(NFet,HIGH);
> digitalWrite(NFet,LOW);
> delay(100); //Lässt sich errechnen denke ich.

Du meinst vermutlich
1
digitalWrite(PFet,HIGH); // Highside an
2
digitalWrite(NFet,LOW);
3
delay(100); //Lässt sich errechnen denke ich.
4
digitalWrite(NFet,HIGH); // Lowside an
5
digitalWrite(PFet,LOW); 
6
delay(100); //Lässt sich errechnen denke ich.
sonst erzeugst du nur kurze Spitzen an den Gates. Ansonsten ist die 
Überlegung richtig. Dein Ziel muss es sein, die MOSFet zwar schnell zu 
schalten, aber so, das der Highside Fet erst durchschaltet, wenn der 
Lowside FET schon aus ist - und umgekehrt. Dabei die Delay Zeit so klein 
wie möglich halten.
Am einfachsten wird sich das mit einer Tabelle lösen lassen, in der du 
die einzelnen Portzustände durchklapperst, mit einem 'All-Off' Zustand, 
den du immer dazwischen einschiebst. Über die Länge des 'All-Off' kannst 
du dann auch die PWM Stärke regeln. Schön ist das nicht, aber die 
bekloppte Belegung des Mega auf dem Board lässt ja im Moment eine 
Nutzung der Timer nicht zu, bzw. es wird für dich sehr schwierig, die 
Timer zu benutzen und danach in etwa 6 Interruptroutinen die Pins zu 
setzen.

von AndiIsl (Gast)


Lesenswert?

Die kurzen Spitzen müsste ich anders weg bekommen. Denn wenn NFet erst 
low gesetzt wird wenn davor Pfet High gesetzt worden ist, überschneidet 
sich das doch.

Weshalb muss ich denn die Timer verwenden? das PWM Signal kommt ja von 
einem anderen Mega. Oder würde das PWM signal dann von dem auf dem Board 
Generiert inkl. Totzeiten?

Dann würde also vom anderen Mega oder zb von einem Poti nur ein Wert X 
kommen der dem Mega auf dem Board sagt wie Schnell der Motor sich drehen 
soll?!

von AndiIsl (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute, bevor ich an dem Code etwas verändern wollte, habe ich 
einfach mal mit dem Oszi geprüft wie die ausgänge aktuell von dem 
Controller sind.

Ich habe dann das Oszi an HA und LA gehangen und habe festgestellt das 
aktuell schon eine Dead Time läuft! Ein Bild habe ich hinzugefügt.

Leider gehen nun P und N Fet kaputt wenn ich mehrere Minuten unter Last 
fahre.

An einer Platine sind auch die Kleinen BSS123 durchgegrillt.

An was kann das liegen?

von Sascha (Gast)


Lesenswert?

Daran dass das alles Rotz ist und alle hier gezeigten Maßnahmen waren 
nur Schadensminimierung.

Es gab aber auch einen Post wo alternative und bessere BLDC Platinen 
empfohlen wurden. Das wäre der Ansatz wenns endlich funktionieren soll 
ohne noch mehr durchgebrannte Bauteile zu tauschen.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Leider gehen nun P und N Fet kaputt wenn ich mehrere Minuten unter Last
> fahre.

Dürfen wir jetzt auch erfahren, was das für eine Last ist? Sprich, 
wieviel Leistung hat denn der 36V Motor?
So langsam glaube ich, das du da ein E-Bike oder sowas antreiben willst, 
und dafür ist diese Platine völlig ungeeignet.

von AndiIsl (Gast)


Lesenswert?

Ich habe anfangs schon beschrieben welche angaben der Motor hat. Hier 
ein Link zu dem Motor:

http://www.alibaba.com/product-detail/350w-smart-self-balance-2-wheels_60358806273.html?spm=a2700.7724838.0.0.p9DSJ8&s=p

Weshalb ist diese Schaltung für solche Motoren nicht geeignet? Von den 
Leistungsangaben der Fets müsste das doch im Rahmen des möglichen sein.

von Sascha (Gast)


Lesenswert?

Ja, bei ordentlicher Ansteuerung. Wenn man FETs lahm schaltet, 
entwickeln die starke Umschaltverluste, werden zu warm und sterben dann. 
Dann ist egal was die für Leistungsangaben haben.

Wenn das hier noch aktuell ist: 
Beitrag "Re: BLCD motor PNP MOSFET werden extrem Heiss."

dann ziehst du die Gates der FETs mit einem Transistor zügig auf low, 
der p-fet oben schaltet also zügig ein und der n-fet unten schaltet 
zügig ab.
Der Teil ist gut.

Die andere Hälfte ist beschissen: Aufgeladen werden die Gates über einen 
Pull-Up Widerstand von 1kOhm. Ich weiss nicht welche FETs da verbaut 
sind, aber gehen wir mal von 500pF Gatekapazität aus.
Zeitkonstante tau = R*C = 500E-12F * 10E3Ohm = 5E-07s = 500ns.
Geladen ist nach 5 tau, sind 2,5µs.
Das ist langsam und führt zu starken Schaltverlusten. Zum Vergleich: Im 
Datenblatt eines IR2104 steht was von typisch 100ns Rise time. Fall time 
fast die Hälfte.
Und da kann man dann auch high side n-Fets nehmen was die Leitverluste 
nochmal senkt, denn die haben nen niedrigeren Rdson.

Und zu guter Letzt sollte man das in der Leistungsklasse mit TO220 
Gehäusen aufbauen die alle isoliert auf einen gemeinsamen Kühlkörper 
geschraubt werden. Soweit ich weiss hast du D-PAK ohne Kühlkörper auf 
Platine. Die beheizen sich da schön gegenseitig, da würde ich mehr als 
1W Dauerleistung pro FET schon als sportlich bezeichnen.

von AndiIsl (Gast)


Lesenswert?

Also gekühlt werden die Fets schon. Jeweils mit 2 4mm dicken Aluminum 
Blechen.

ich habe auch beide Komponenten als T=220 hier. Heiss werden die im 
übrigen absolut nichtmehr. Nachdem ich die Motoren ca. 30 Sekunden unter 
last fahren lasse, Gehen entweder Nfet und Pfet kaputt oder einer der 
beiden.

Wenn man die Gatespannung nun mit 7815 und 7818 realisieren würde, wäre 
das dann besser?. Ich habe auch einen Spannungswandler damit ich die 
7815 und 18 betreiben kann.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Ich habe auch einen Spannungswandler

Öh, warum nimmst du dann den Spannungswandler nicht gleich zur 
Versorgung? Modifiziere den doch, das er dir gleich die 15-18V 
produziert.

von AndiIsl (Gast)


Lesenswert?

Kann ich diese denn für nFet sowohl auch für pFet hernehmen? Aber das 
wäre natürlich möglich solang das besser wäre.

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> Ich habe anfangs schon beschrieben welche angaben der Motor hat.

hab ich zuvor nirgends wahrgenommen (aber der Thread war lang, kann sein 
dass ich es übersehen habe).

AndiIsl schrieb:
> Heiss werden die im
> übrigen absolut nichtmehr.

das ist doch mal erfreulich. Gilt das nur für die Leistungs-FETs oder 
inzwischen auch für die Ansteuerstufe (BSS123)? Es fällt aus der Ferne 
schwer, den Überblick über die Schaltungsmodifikationen und den 
aktuellen Zustand der Schaltung zu behalten.

Momentan ist mir z.B. nicht klar, ob die BSS123 kaputt gehen (und in 
Folge davon auch die Leistungs-FETs abrauchen). Oder ob es umgekehrt ist 
- möglich wäre immer noch beides. Kommt es vor, dass die Leistungs-FETs 
kaputt sind und der BSS123 geht noch? Oder ist bei jedem Defekt immer 
auch der BSS123 betroffen?

AndiIsl schrieb:
> Also gekühlt werden die Fets schon. Jeweils mit 2 4mm dicken Aluminum
> Blechen.

Ist mir jetzt auch wieder neu. Gibt doch bitte zwischendurch mal eine 
halbwegs vollständige Beschreibung des aktuellen Stands. Wenn wir immer 
nur von einzelnen Änderungen lesen und den ganzen Thread durchgehen 
müssen, um uns den aktuellen Stand zusammenzureimen, blickt doch kein 
Mensch durch.

AndiIsl schrieb:
> Kann ich diese denn für nFet sowohl auch für pFet hernehmen?

Der Spannungswandler für die Gateversorgung des nFET ist eine gute Idee. 
Wie du Spannungswandler einsetzen willst, um den pFET anzusteuern, ist 
mir aber nicht klar. Wie willst du das mit deiner Schaltung 
zusammenbringen?

AndiIsl schrieb:
> habe ich
> einfach mal mit dem Oszi geprüft wie die ausgänge aktuell von dem
> Controller sind.

sehr gut

AndiIsl schrieb:
> Ich habe dann das Oszi an HA und LA gehangen und habe festgestellt das
> aktuell schon eine Dead Time läuft!

wenn zwischen der Ansteuerung des pFET und des nFET tatsächlich immer 
~10ms liegen (und der µC nicht ab und zu mal hängt), ist das mehr als 
reichlich. Dann sollte Überschneidung tatsächlich nicht das größte 
Problem sein.

von AndiIsl (Gast)


Lesenswert?

:D Dann mal einige Infos hier:

Getauscht wurde grundsätzlich das was ich auf dem Bild gezeigt habe

https://www.mikrocontroller.net/attachment/285687/Zeichnung.tiff

funktioniertauch soweit ganz gut! Getauscht habe ich nur noch die Z 
dioden zu einzelnen also 2x 10 = 20 damit es eben ordentlicher aussieht.

Der widerstand R1 auf dem bild habe ich auch ausgetauscht zu einem 4watt 
widerstand da der ja ziemlich warm wurde. Somit dieses problem auch gut 
gelöst.

die BSS123 sind nur bei 1em Board kaputt gegangen. Weshalb kann ich 
leider nicht sagen aber es scheint so was wäre nur die Low Seite davon 
befallen.

Grundsätzlich brennen aber regelmäßig bei Last Nfet oder Pfet 1er 
beliebigen phase durch! mal A mal B mal C auch mal NFet und Pfet der 
selben phase! NIE sind 2 oder 3 Phasen betroffen!

Betrieben wird das Teil immer noch mit 16Khz und die Motoren laufen auch 
erstaunlich gut! Auch bei Last für wenige Sekunden eben.



das Board hat jeweils oben als auch unten eine angepasste Aluminumplatte 
die die selbe größe der Platine hat. 4mm Stark.

Angetrieben wird das immer noch mit einem Akku der Aktuell 36,7 Volt 
hat.

bei dem Betrieb mit last habe ich ein 4 Ampere Sicherungskasten 
hergenommen.

Hoffe ich habe alle Fragen beantwortet.

von Achim S. (Gast)


Lesenswert?

AndiIsl schrieb:
> Grundsätzlich brennen aber regelmäßig bei Last Nfet oder Pfet 1er
> beliebigen phase durch! mal A mal B mal C auch mal NFet und Pfet der
> selben phase! NIE sind 2 oder 3 Phasen betroffen!

Also:
- die Leistungs-FETs gehen (oft paarweise) durch
- die Treiberstufe ist dabei im Normalfall nicht betroffen
- und bis unmittelbar vor dem Durchbrennen blieben alle Leistungs-FETs 
kalt

Wenn im Normalbetrieb die Schaltung (trotz der bescheidenen Treiber) 
funktioniert und kalt bleibt, dann ist Software ein heißer Kandidat als 
Ursache für plötzlichen Transistortod.

Beim normalen Kommutieren hast du ja ewig lange Totzeiten zwischen dem 
Schalten von pFET und nFET. Aber vielleicht kann es ab und zu vorkommen, 
dass es doch mal zu einer satten Überschneidung kommt. (Wenn z.B. 
Richtungsumkehr und ein Umkommutieren grade blöd zusammentreffen - nur 
als Beispiel, mir fällt grade nichts besseres ein).

Vielleicht könntest du auch mal die Spannungen an den Drains und die 36V 
mit dem Oszi messen, ob es nicht zwischendurch (z.B. beim Bremsen) 
gefährliche Spannungsanstiege gibt.

von AndiIsl (Gast)


Lesenswert?

Leider geht mein Oszi nur bis 35 Volt.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

AndiIsl schrieb:
> Leider geht mein Oszi nur bis 35 Volt.

Du kannst dir ja mal einen 1:10 Tastkopf zulegen, der kann nie schaden 
und auch, wenn du mal ein richtiges Oszi hast, nützlich werden.

Dein Problem klingt mir, wie auch Achim schon sagte, schwer nach 
Software. Die ist ja nun wirklich mit der heissen Nadel gestrickt und 
tendiert möglicherweise zum Ausstieg, vor allem, wenn auf der 
Betriebsspannung für den MC auch noch Störungen sind.
Ich betreibe in unseren dicken Motorsteuerungen den MC grundsätzlich 
über eine geregelte, aus einem DC/DC Wandler bezogene Versorgung, wobei 
der DC/DC Wandler so ein Dings mit allen möglichen Zertifikaten ist (UL, 
CSA, VDE etc.) und jeden Mist, der auf der Batteriespannung ist, 
zuverlässig abfiltert.

Wichitg ist hier auch, das im Resetzustand des MC die gesamte Endstufe 
inaktiv ist, das muss notfalls mit Pullups oder -Downs erzwungen werden.

Sicher ist jedenfalls, das ein 350W Motor bei 36V Versorgung nicht immer 
nur 10A zieht, das können auch schnell mal 20A sein, wie z.B. beim 
Anfahren. Dafür ist das kleine Platinchen mit der Murkelansteuerung 
einfach nicht geeignet.

von AndiIsl (Gast)


Lesenswert?

Ich hab mir gestern von Vedder 
http://vedder.se/2015/01/vesc-open-source-esc/

2 Platinen bestellt. Die hören sich auch sehr gut an. Nur Möchte ich 
eben eine eigene Platine in Zukunft mit allen nötigen Komponenten haben. 
Zum Glück gibt es da auch Pläne davon.

Das Oszi hat 2 mit 1/10 tastköpfen.

von Sascha (Gast)


Lesenswert?

AndiIsl schrieb:
> Ich hab mir gestern von Vedder
> http://vedder.se/2015/01/vesc-open-source-esc/
>
> 2 Platinen bestellt. Die hören sich auch sehr gut an.

Die sehen auch gut aus. Allein schon die Gate-Ansteuerung ist dem 
Widerstands-Gefrickel von vorher um Jahrzehnte vorraus.

>Nur Möchte ich eben eine eigene Platine in Zukunft mit allen nötigen Komponenten 
haben.

Und warum, wenn es gutes Zeug fertig zu kaufen gibt? Damit noch mehr 
FETs im Müll landen?

> Zum Glück gibt es da auch Pläne davon.

Und wenn du die bis ins letzte Detail verstanden hast, kannst du das 
auch nachbauen. Aber bis dahin fließt noch viel Wasser den Rhein runter.


> Das Oszi hat 2 mit 1/10 tastköpfen.

Und das heisst entweder dass du eigentlich bis 360V messen könntest oder 
dass du die Köpfe schon benutzt und das "Oszi" nur bis 3,6V geht was auf 
son Soundkarten-Gedöns hindeutet.

Ich hab ein 60€ DDR Oszi bei Ebay geschossen vor vielen Jahren. 
Messtechnisch gesehen ein grobes Schätzeisen, aber das hat mit schon 
wertvolle Dienste geleistet, vor allem bei allen möglichen PWM Sachen 
(Spannungswandler, Halbbrücken etc). Und mit dem 1:10 Tastkopf geht das 
bis 600V.

Wenn du wirklich vorhast die vedder.se Platine nachzubauen: Hol dir 
wenigstens ein altes Hameg sonst stehst du noch hunderte Male wie der 
Ochs vorm Berg.

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.