Translate

30 Juli 2012

IGBT-Controller an 320V getestet


Vorhin war ich ein bisschen frech und habe mal höhere Spannung angelegt.
Ein regelbarer Trenntrafo kam hierbei zum Einsatz, weil ich ja noch keinen
Precharger dran habe und so nicht einfach am Netz anstecken kann,
und mit einem Brückengleichrichter will ich das auch gar nicht erst versuchen,
das tut nicht gut, weil ja der Nullleiter auf  GND liegt, und dann meine Masse
auf 220V Wechselspannung durch die Sphären schwebt!
Das müsste man dann per Einweg-Gleichrichtung gegen Null betreiben
eventuell gleich drei mal an Drehstrom oder so.
Aber das soll man ja nicht machen, wegen der Störungen und überhaupt.........

Das ist Wechselspannung, nach dem Gleichrichter kommen dann 320V raus
Auch mit 320V Versorgung ließ sich der kleine 20V-Motor wunderbar bis zum Stillstand
herunterregeln. Hier spürte man dann schon die Stufen der PWM (8 Bit, 0 - 255 )
das macht ja da doch schon 1,25V-Schritte aus


Da hat mein armer 20V 5A @ 1000 U/min -Testmotor ganz schön was aushalten müssen.........
als ich ihn auf gefühlte 10A bei 25V abbremste stieg der Strom auf der Eingangsseite
auf 1A, was auch so zu erwarten war. Hierbei wurde der nach wie vor ungekühlte IGBT
erstmals gut handwarm nach etwa einer Minute.


Das sieht schon richtig gut aus!!! Hier schalten immerhin 200V per PWM!!! ca 10A am Ausgang
alles ohne "Snubber"  (ein Kondensator über Kollektor und Emitter) deshalb auch der kleine Peak
beim Ausschalten des IGBT (der schaltet nach GND!)
dieser kleine Piekser ist die hauptsächliche Quelle der EMV-Probleme bei IGBT-Schaltungen!!!
Das war übrigens mit dem 3 Ohm Gate-Widerstand... leider gibts bisher kein Bild vom
Signal mit 47 Ohm, aber das sah auch gar nicht schön aus, so dass ich sofort den Widerstand änderte

Mit etwas anderer Beschaltung schaut das gleich noch viel besser aus!!!!!! (nächstes Bild)
In diesem Fall nur ein etwas größerer Gate-Widerstand  (8,2 Ohm), und immer noch ohne "Snubber"!
bei den ca 10A am Controller-Ausgang passiert hier auch noch nicht allzuviel, aber größere Ströme
sind am Trenntrafo mit max 3A am 220V-Ausgang noch nicht möglich.
Da muss erst mal eine "ordentliche" Last her, wo man mal ein paar hundert Ampere
durchschicken kann und natürlich auch eine entsprechende Stromquelle.
Mal sehen, was mir da einfällt....ein paar Autobatterien wären das Naheliegendste.

Snubber-Kondensatoren habe ich mittlerweile bekommen,  2,7 µF 850V Folienkondensatoren
mit passenden Blechfahnen, die sowohl direkt auf den IGBT als auch auf die Elkos passen.
Ich habe die Dinger noch nicht drangeschraubt. das bringt jetzt auch noch nichts
solange die Stromschienen von den Elkos zum IGBT auch noch nicht fertig sind.
Da muss ich noch einiges basteln und dann auch dokumentieren....vorher--nachher etc.
Jetzt braucht der 11" Still-Motor erst mal ein vorderes Lagerschild, damit der mal laufen kann.


Mehr kann man von  DIESEM  "Controller " doch wohl nicht erwarten.........oder????


Explodiert ist bis jetzt noch fast nichts,das ist schon mal gut so!  ;-) (weil ich weiss ,warum es passierte)
Erste Tests mit dem Oszilloskop brachten das Ergebnis, dass der Vorwiderstand von 47Ohm
viel zu groß war. Dieser IGBT ist ein gewaltiger Ziegel und noch dazu schon ein paar
Jahre alt.......der hat gewaltige Eingangskapazitäten.
Mit einem TC4451 (viel stärker als TC4431) und nur 3Ohm!!!! Vorwiderstand (viel zu gering)
sieht das Signal gleich viel schöner aus, (Die 3 ohm waren das passendste das ich gerade hatte )
aber der TC4451 hält nur knapp 20V aus, da hats gleich mal geraucht als ich auf über 20V
Steuerspannung hoch  ging... aber der TC4431 (30V) bringt den nötigen Strom wohl doch nicht her
An dieser Stelle herrscht wie schon vermutet noch Handlungsbedarf. Vom TC4451 sind mir mittlerweile
schon mehrere "gestorben" sobald es hier zu Überspannungen kam. Der Strom wars sicher nicht!
Die TC44XX sind zwar allesamt nicht Kurzschlussfest, aber das ist nicht deren Problem.
Die sind allesamt sehr empfindlich gegen Überspannungen, insbesondere dann wenn
die induktive Last an der selben Spannungsquelle hängt wie der Treiber.
Mein Netzteil schaltet bei knapp 10A ab und dabei passieren ganz seltsame Dinge...........
Diese "Schutzschaltung" schadet mehr als sie nützt, weil sie offenbar an der falschen Stelle
eingebaut ist und dann beim wiedereinschalten, immer nach ca 1Sekunde Spannungsspitzen auftreten
Ich muss hier unbedingt auf Versuche am 20V-Netzteil verzichten, das ist für die Schaltung
gefährlicher, als an 220V betrieben zu werden, weil eben die Ansteuerung des IGBT dabei
an der selben Spannung hängt. Das ist beim Betrieb über den Trenntrafo nicht der Fall.
Aber das schaut schon sehr gut aus, was ich da so messe! vor allem wird das Rechteck am Ausgang
mit zunehmender Last schöner statt schlechter! vor allem die Ausschaltflanke "braucht" einfach
ein paar Ampere und bekommt dann aber einen kleinen Überschwinger, der auf eine
zu steile !!!! Flanke beim Abschalten hindeutet, weil dann die Freilaufdiode zu langsam ist
Damit war zu rechnen, andere hatten schon genau die gleichen
Problemchen. Das kriegt man hin, wenn man langsamer ausschaltet als einschaltet.
also Diode und ein paar Widerstände etc, Steuerschaltung direkt am IGBT etc.
Auch der bis jetzt fehlende "Snubber" verbessert später diese Erscheinung.
Die üblichen Maßnahmen sollten hier wohl reichen. Aber das muss alles angepasst werden,
wenn der Aufbau irgendwann seine endgültige Form hat.
Die gut 12cm Kabel zwischen Treiber und IGBT sind schon zuviel!
Da sieht das Signal auf beiden Seiten verschieden aus. Wers nicht gesehen hat glaubts nicht.
So frei verdrahtet klappt das halt nicht besser. Ist schon gut so, das passt fürs Erste!
3 Ohm Vorwiderstand sind allerdings viel zu gering, irgendwo bei 10 Ohm sollte
die ideale Größe liegen,  da muss ich noch ein bisschen spielen, (Der letzte Stand sind derzeit 8,2 Ohm,
und damit sind die Signale wunderschön bis auf ein paar kleine Peaks die noch weg müssen. )
ebenso mit kleinen Kondensatoren auf der Steuerleitung. wenn man da 10 oder 100 nF
dranhält dann werden die Signale am Ausgang etwas besser. (sollte eigentlich nicht sein,
aber dann schaltets halt langsamer, und die Diode hat genug Zeit um die Spitze zu schlucken)
Für heute bin ich erst mal zufrieden. Der IGBT wird jetzt auch unter geringer Last (ca 10A)
nicht mehr sehr warm!

Jetzt muss das erst mal mechanisch und elektrisch sinnvoll aufgebaut werden, damit da
mal ordentlich Strom fliessen kann! Dann ist wohl erst mal ein Autoanlasser an 24V dran.

Ich werde einen kleinen flüssig gekühlten Kühlkörper dran basteln, aber der muss auch erst
noch gebaut werden. ........man müsste da doch auch den Rücklauf der Servolenkung
durchleiten können, und dann durch einen Ölkühler.....nur so eine Idee, dann wäre die
Umwälzpumpe auch noch eingespart......
Für die Heizung wirds so wohl nicht reichen! das wird sich noch zeigen! aber 110V-Heizkörper
sind nichts ungewöhnliches, und man könnte da durchaus noch ein Heizelement am Auslauf
dransetzen, und aus einer alten Waschmaschine hätte ich noch einen Durchlauf-Erhitzer
also ein beheiztes Rohr mit 220V / 2000W, inclusive Übertemperaturfühler,
das drängt sich regelrecht auf.......
da lasse ich mir zu gegebener Zeit mal was einfallen!

Das Schöne an so einem IGBT ist die Tatsache, dass die Kühlplatte des IGBT schon
von allen Anschlüssen isoliert ist. Man kann das Ding also direkt auf einen Kühlkörper schrauben.
Ich fange mal mit einem kleinen an, 60 x 105 x 20 , weil ich gerade passendes Material da habe,
und weil so der IGBT senkrecht stehend neben den Elkos montiert werden kann.
Der IGBT misst 60 x 106 mm und die Elkos haben 70mm Durchmesser und haben
ohne Anschlüsse und Befestigungen ebenfalls 105mm.
Ich werde es mir zunächst mal möglichst einfach machen und erst mal drei der
Elkos in einer Reihe montieren und mit Kupferschienen verbinden.
Das ist nicht ideal, aber vorerst solls ja nur mal funktionieren,
Obs irgenwelche Störungen aussendet ist erst später wirklich wichtig, aber selbst
beim frei verdrahteten Versuchsaufbau konnte ich noch problemlos
nebenbei Radio hören, ohne eine Störung zu bemerken.

Mit Blick auf Achims EMV-Probleme soll das Ding auch gar nicht sofort perfekt
laufen (wirds auch nicht tun ;-)  ) so dass ich da einfach mal ein paar Möglichkeiten der
Entstörung demonstrieren kann, soweit ich das mit meinen Möglichkeiten überhaupt
darstellen kann.

Der ATTINY13 läuft übrigens mit 9,6 MHz, damit läuft die PWM mit 19KHz,
das ist ziemlich schnell, und ich werde das noch anpassen, und dann wohl
irgendwo auf 12 - 16 KHz einstellen. Das geht dann beim Atmega über den Quarz,
aber beim ATTINY13 bin ich da halt festgelegt.

Hier das Programm des ATTINY13:
(das habe ich vor langer Zeit schon mal veröffentlicht, eins meiner Lieblingsprogramme,
weils so herrlich klein ist und trotzdem funktioniert, und ausserdem eines meiner allerersten
selber geschriebenen Bascom-Programme ist)

$regfile = "attiny13.dat"
'$crystal = 1200000

$crystal = 9600000
Config Portb.0 = Output            'Pin5 PWM0a
Config Portb.1 = Output            'Pin6 PWM0b

Config Timer0 = Pwm , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Dim M As Byte
Dim N As Byte
Dim Ad_2 As Integer
Dim Ad_3 As Integer

Do

Ad_2 = Getadc(2) 'Pin3 ADC2
Ad_2 = Ad_2 / 4

M = Ad_2

Ad_3 = Getadc(3) 'Pin2 ADC3
Ad_3 = Ad_3 / 4
N = Ad_3

Pwm0a = M
Pwm0b = N

Loop

End


.............das ist ALLES!!!!!!!  

Damit hat der kleine ATTINY13 sogar zwei !!! unabhängige spannungsgesteuerte PWM-Ausgänge.

Die PWM läuft damit zwar "verkehrt" rum weil der TC4431 bzw 51 das Signal invertiert,
aber das wäre problemlos zu ändern. "Clear up" statt "clear down"   in der 6.Zeile
und  bei Ad_2 und Ad_3 würden auch "Word" statt "Integer" reichen,
aber für die Tests ist das völlig egal, da dreht man halt das Poti anders rum...
Aus "historischen Gründen" nehme ich immer erst mal genau diese Version,
weils halt immer wieder schön ist, wenn dieses "fast Erstlingswerk"
zum Einsatz kommen darf

Nicht ganz egal ist es. welchen Treiber-Baustein man nimmt!
Die nicht invertierenden TC4432 etc. haben mit diesem einfachst-Programm einen kleinen
Einschalt-Ruck, der halt stört und der auch auftritt wenn man die PWM erst mal auf 0
bzw 255 setzt bevor überhaupt das Hauptprogramm startet.
Deshalb invertierende Treiber und den Rest im Programm anpassen.
Dann klappt das. Eine Schutzschaltung bei Stromausfall des Attiny wäre aber sinnvoll,
weil  0 dann den IGBT durchschaltet.

Die Geschichte mit der galvanischen Trennung der PWM-Signale ist derzeit noch ncht
so wichtig. eigentlich trivial, möchte man meinen, aber wenns ausfall- und
störsicher sein soll, dann ist wohl ein simpler Optokoppler doch nicht das Richtige,
und wo kommt die Trennung hin? Wo die Steuerplatine? Ich möchte die "alte"
"Franzbox-Platine" als Basis nehmen, (da sind noch ein paar übrig)
 und ein Display für die Parametrierung am Controller mit unterbringen.
So sehr viel sollte da nicht einzugeben sein.
Maximaler Strom, Maximale Drehzahl, Minimaldrehzahl für Leerlauf,
Strombegrenzung im Leerlauf. Nullpunkt und Max-Wert des Gaspedals,
Dämpfung beim "Stromgeben"
Das ist so weit überschaubar,  eventuell noch ein Timer für die Precharge-Funktion.
(Messen per Komparator wäre die edlere Lösung, aber Timer ist einfacher,
weil da nicht galv.getrennt gemessen werden muss. Strommessung muss reichen,
und schon die Drehzahlmessung ist eigentlich Luxus, aber bei Reihenschlussmotoren
durchaus sinnvoll........

Die Drehzahlmessung könnte problematisch werden, da ist eventuell schon gar kein Timer
mehr verfügbar, und zum Messen brauche ich einen Timer und auch noch einen
Interrupt-Eingang, und da hängt an beiden vorhandenen Interrupt-Eingängen
derzeit der Drehencoder dran. (Der braucht aber nur einen Interrupt, das
kann ich also umverdrahten) Wie das dann mit de Timern ist kann ich jetzt noch nicht
aus dem Stegreif sagen. Wenn ich als Basis das Franzbox-Programm nehme,
dann könnte ich aber notfalls den Timer weiterlaufen lassen, mit dem ich derzeit die Zeit
erfasse und die Strommessungen auslöse, und einfach in der Zeit die Impulse zählen,
die am Interrupt-Eingang vom Motor her ankommen.
Das läuft etwa 15mal pro Sekunde durch, wenn also je 1000 U/min
2000 Impulse pro Minute ankommen dann sind das jeweils
nur 2,2 Impulse pro Durchlauf je 1000 U/min die da erfasst werden.
Das reicht aber in diesem Fall, weil das vor Allem sehr schnell
reagieren muss und nicht genau anzeigen.Genauer und schneller wäre die Messung natürlich,
wenn ich mit einem eigenständigen Timer die Zeit zwischen den Flanken messen könnte.
aber das müsste dann ein 16bit-Timer sein (na ja, nicht unbedingt) aber der ist
Hardwaremäßig schon für die PWM-Ausgänge belegt......
Aber da zerbreche ich mir später mal den Kopf.
Warum die Drehzahlerfassung? ganz einfach: damit der Motor nicht gleich durchgeht
wenn man nur mal kurz aufs Strompedal drückt. und wie ich schon mal erwähnte
möchte ich eigentlich den Ausgangsstrom regeln, und etwas weiter oben angesetzt
entsprechend der Strompedalstellung die maximale Drehzahl und auch das
maximale Tastverhältnis der PWM begrenzen, so dass man den Controller
auch ohne Strom und Drehzahlerfassung betreiben kann bzw bei Ausfall einer der
Messungen nichts passieren kann.

0-Stellung ist Null und aus..... hier gibt es höchstens eine Mindeststellung
für den Leerlauf, (IDLE)
wenn man langsam Strom gibt steigert sich zunächst das Tastverhältnis, Strom fliesst,
und der Motor läuft spätestens jetzt los.
Je nach Last sollte jetzt die Strommessung übernehmen und das Drehmoment regeln
und wenn eine zu hohe Drehzahl festgestellt wird, dann regelt die den
Ausgang zurück.

Im Program werden demzufolge jeweils drei Obergrenzen je nach Pedalstellung
errechnet und mit den Messungen verglichen,
und der PWM-Wert nachgeführt bis eine der Grenzen erreicht ist.
Das ist gar nicht so viel Aufwand, ich werds jedenfalls so versuchen.

Das ist jetzt nicht so primär wichtig, mir kommts jetzt erst mal darauf an, meinen
Still-Motor an ein paar Autobatterien laufen lassen zu können, um die Mechanik
zu testen. Kupplung und Adapter etc........

das geht bereits mit der derzeitigen Schaltung.......sollte zumindest..........


Franz







Keine Kommentare:

Kommentar veröffentlichen