Falls es jemanden interessiert.........
Mein Controller-Programm habe ich in Bascom geschrieben.
So wie es jetzt ist läuft es schon ganz brauchbar, obwohl es noch nicht
fertig ist. Es fehlen noch ein paar Dinge, die aber für erste Tests entbehrlich
sind. z.B. Temperaturmessung am Kühlkörper, Störmeldeausgang,
Plausibilitätsprüfung beim Stromwandler etc........
Das sind aber alles leicht zu programmierende Funktionen, die ich so
nach und nach hinzufügen möchte.
Schwieriger wird da noch die Drehzahlerfassung und Begrenzung,
da muss ich auch noch die Hardware ändern, weil ich dafür
einen Interrupt brauche, und beide Interrupt-Kanäle momentan noch am
Drehencoder hängen. Es wird aber nur einer benötigt,
das sollte also auch machbar sein.
Für einen funktionieenden Controller sind vor allem so Dinge
wie die Parameter des Strompedals wichtig, die Stromanzeige,
und eine Strombegrenzung, und das funktioniert hervorragend.
Die Leerlauf-Funktion "IDLE" ist ein kleines Extra, da ich ja die
Servopumpe und die Lichtmaschine per Riemen antreiben will wie schon beim
Verbrennungsmotor. hier gibt es auch eine Start-Stop-Funktion.
die minimale PWM Rate ist einstellbar, ebenso der maximale Strom.
wenn man den Knopf kurz antippt wird der Motor angehalten,
und fängt erst bei Betätigen des Potis an, wieder zu laufen.
Erst ab einer gewissen Gasstellung wird die Leerlauffunktion wieder aktiviert.
Hier müssen aber erst noch Praxistests die Brauchbarkeit beweisen.
Das ist bei Autos mit Verbrennungsmotor auch noch mit der Kupplung gekoppelt.
Das ist der momentane Zwischenstand des Controller-Programms
mit folgenden Features:
LCD-Display mit Anzeige aller wichtigen Parameter,
Strombegrenzung und Strommessung per LEM HASS200-S
Parametrierbares Poti (Nulllage ; Voll betätigt ; Warngrenzen für Fehlermeldung )
Nullstellungsüberwachung beim Start
Plausibilitätsprüfung beim Poti
Pausibilitätsprüfung des LEM-Wandlers fehlt noch,
aber Prüfung ob kleiner 25 bzw größer 1000 sollte reichen, da diese Werte
nie erreicht werden können ausser bei Kurzschluss oder Drahtbruch
Parametrierung per Menue
Drehencoder mit Taste als Eingabeinstrument
Start-Stop-Funktion mit eigens parametrierbaren Strom und PWM-Werten
Viel Spass beim Nachvollziehen der Abläufe
Da kann man sicher noch einiges besser lösen, aber es entsteht ja erst.....
Ab hier beginnt das Programm
$regfile = "m168def.dat"
$crystal = 4000000
$baud = 1200 ' unnötig, kein RS232 verwendet ev.Option?
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4
Config Lcdbus = 4
Config Lcd = 20 * 4a , Chipset = Ks077 'für EA DIP204-4
Cursor Off
Cls
Dim A As Word
Dim A1 As Integer
Dim B As Integer
Dim B0 As Word
Dim B1 As Word
Dim Null As Word
Dim Nullee As Eram Word
Dim Amp As Long
Dim Ampmax As Word
Dim Ampmaxee As Eram Word
Dim Menzahl As Word
Dim Limithi As Word
Dim Limitlo As Word
Dim Disp As Byte
Dim Error As Bit
Dim Idlebit As Bit
Dim Errorhi As Word
Dim Errorhiee As Eram Word
Dim Errorlo As Word
Dim Errorloee As Eram Word
Dim Pothi As Word
Dim Pothiee As Eram Word
Dim Potlo As Word
Dim Potloee As Eram Word
Dim Idlepot As Word
Dim Idlepotee As Eram Word
Dim Idleamp As Word
Dim Idleampee As Eram Word
Dim Potdiff As Word
Dim Potout As Word
Dim Setupexit As Bit
Dim Adc1 As Word
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.4 = Input
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Config Portd.6 = Output 'PWM-Ausgang
Config Int0 = Change 'für den Drehencoder
Enable Interrupts
Enable Int0
On Int0 Updn:
Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Prescale = 1
Disp = 0
B1 = 0
Null = Nullee
Ampmax = Ampmaxee
Error = 1
Errorhi = Errorhiee
Errorlo = Errorloee
Pothi = Pothiee
Potlo = Potloee
Idlepot = Idlepotee
Idleamp = Idleampee
Idlebit = 0
If Null > 65000 Then 'Standardwerte beim ersten Einschalten
Nullee = 512
Null = Nullee
Ampmaxee = 10
Ampmax = Ampmaxee
Errorhiee = 1023
Errorhi = Errorhiee
Errorloee = 0
Errorlo = Errorloee
Pothiee = 1000
Pothi = Pothiee
Potloee = 100
Potlo = Potloee
Idlepotee = 0
Idlepot = Idlepotee
Idleampee = 30
Idleamp = Idleampee
Goto Setup
End If
Press: ' Menue aufrufen
If Pind.4 = 1 Then Goto Run
Error = 1
Idlebit = 0
B1 = 0
Ocr0a = 0
Cls
Waitms 200
If Pind.4 = 1 Then Goto Run
Locate 1 , 1
Lcd "Taste gedrueckt "
Waitms 200
If Pind.4 = 1 Then Goto Run
Locate 1 , 1
Lcd "Setup in 4 Sek "
Wait 1
If Pind.4 = 1 Then Goto Run
If Pind.4 = 0 Then
Cls
Locate 1 , 1
Lcd "Setup in 3 Sek "
Wait 1
End If
If Pind.4 = 1 Then Goto Run
If Pind.4 = 0 Then
Cls
Locate 1 , 1
Lcd "Setup in 2 Sek "
Wait 1
End If
If Pind.4 = 1 Then Goto Run
If Pind.4 = 0 Then
Cls
Locate 1 , 1
Lcd "Setup in 1 Sek "
Wait 1
End If
If Pind.4 = 1 Then Goto Run
Taste:
If Pind.4 = 0 Then
Locate 1 , 1
Lcd "Setup wird gestartet"
Locate 2 , 1
Lcd "Taste loslassen!"
Wait 1
End If
If Pind.4 = 0 Then Goto Taste
Goto Setup
Cls
Run:
Cls
Potdiff = Pothi - Potlo 'Umrechnungsfaktor fürs Poti berechnen
Potdiff = Potdiff * 10
Potdiff = Potdiff / 256
Do
Debounce Pind.4 , 0 , Press
A = Getadc(0) 'Input LEM-Wandler
B = Getadc(1) 'Input Poti
A1 = A - Null 'Nullabgleich LEM
'If A1 < 0 Then A1 = 0
Amp = A1 * 1565
Amp = Amp / 1000
If B > Errorhi Then
Error = 1
Locate 4 , 1
Lcd " Error Poti high"
End If
If B > Errorlo And B < Errorhi And Error = 1 Then
Locate 4 , 1
Lcd " Check Throttle "
End If
If B < Errorlo Then
Error = 1
Locate 4 , 1
Lcd " Error Poti low "
End If
' Fehler zurücksetzen
If B < Potlo And B > Errorlo And B > Idlepot And Error = 1 Then
Error = 0
Locate 4 , 1
Lcd " "
End If
B = B - Potlo
If B < 0 Then B = 0
B = B * 10
B = B / Potdiff
'B = Poti umgerechnet
If B > 255 Then B = 255
If B > Idlepot Then Idlebit = 1
'Poti
If B > B1 And Amp < Ampmax Then Incr B1
If B1 < Idlepot And Amp < Idleamp And Idlebit = 1 Then Incr B1
If B < B1 And B1 > Idlepot Then Decr B1
If B1 > 0 And Amp > Ampmax Then Decr B1
If B1 > 0 And B1 > B And Idlebit = 0 Then Decr B1
If B < Idlepot And Amp > Idleamp Then Decr B1
If Error = 1 Then 'bei Fehler STOPP
B1 = 0
End If
Ocr0a = B1 'PWM Wert setzen
Gosub Displ 'Werte anzeigen
Loop
Updn: 'Subroutine fürs Menue
If Menzahl < Limithi And Pind.2 = Pind.3 Then Incr Menzahl
If Menzahl > Limitlo And Pind.2 <> Pind.3 Then Decr Menzahl
'Licht = Lichtan
'Setuptime = 500
Return
Displ: ' Display langsam schreiben
If Disp = 10 Then
Locate 1 , 1
Lcd "Pot" ; B ; " " ;
End If
If Disp = 20 Then
Locate 1 , 8
Lcd "LEM" ; A1 ; " " ;
End If
If Disp = 30 Then
Locate 1 , 15
Lcd "PWM" ; B1 ; " " ;
End If
If Disp = 40 Then
Locate 2 , 1
Lcd "Amp" ; Amp ; " " ;
End If
If Disp = 50 Then
Locate 2 , 8
Lcd "max" ; Ampmax ; " " ;
End If
If Disp = 60 Then
B0 = Getadc(1)
Locate 3 , 1
Lcd "ADC" ; B0 ; " " ;
End If
If Disp = 70 Then
Locate 3 , 9
Lcd "lo" ; Potlo ; " " ;
End If
If Disp = 80 Then
Locate 3 , 15
Lcd "hi" ; Pothi ; " " ;
End If
If Disp = 90 And B < Idlepot And Error <> 1 And Idlebit = 1 Then
Locate 4 , 1
Lcd " IDLE "
End If
If Disp = 90 And B > Idlepot And Error <> 1 Then
Locate 4 , 1
Lcd " "
End If
Incr Disp
If Disp > 110 Then Disp = 0
Return
Setup:
Menzahl = Null
Setup1:
A = Getadc(0)
Locate 1 , 1
Lcd "Setup Nullpunkt Amp."
Locate 2 , 1
Lcd Null ; " (Istwert:" ; A ; ") "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 600
Limitlo = 400
Debounce Pind.4 , 0 , Setup1x
Null = Menzahl
Goto Setup1
Setup1x:
Nullee = Null
Cls
'Exit
Menzahl = 0
Setupexit1:
Locate 1 , 1
Lcd "exit Setup? "
Locate 2 , 1
If Menzahl = 0 Then Lcd " extended Setup "
If Menzahl = 1 Then Lcd "=> extended Setup "
Locate 3 , 1
If Menzahl = 0 Then Lcd "=> Exit Setup "
If Menzahl = 1 Then Lcd " Exit Setup "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 1
Limitlo = 0
Debounce Pind.4 , 0 , Setupexit1x
Goto Setupexit1
Setupexit1x:
If Menzahl = 0 Then Goto Run
Cls
Menzahl = Ampmax
Setupampmax:
Locate 1 , 1
Lcd "Setup Max.Ampere "
Locate 2 , 1
Lcd Ampmax ; "A maximal "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 600
Limitlo = 5
Debounce Pind.4 , 0 , Setupampmaxx
Ampmax = Menzahl
Goto Setupampmax
Setupampmaxx:
Ampmaxee = Ampmax
Cls
Menzahl = Idlepot
Setupidlepot:
Locate 1 , 1
Lcd "Setup Idlepot "
Locate 2 , 1
Lcd Idlepot ; " PWM max at Idle "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 30
Limitlo = 0
Debounce Pind.4 , 0 , Setupidlepotx
Idlepot = Menzahl
Goto Setupidlepot
Setupidlepotx:
Idlepotee = Idlepot
Cls
Menzahl = Idleamp
Setupidleamp:
Locate 1 , 1
Lcd "Setup Idleamp "
Locate 2 , 1
Lcd Idleamp ; "A max at Idle "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 50
Limitlo = 25
Debounce Pind.4 , 0 , Setupidleampx
Idleamp = Menzahl
Goto Setupidleamp
Setupidleampx:
Idleampee = Idleamp
Cls
Menzahl = Potlo
Setup3:
B = Getadc(1)
Locate 1 , 1
Lcd "Setup Pot Null "
Locate 2 , 1
Lcd Potlo ; " ADC: " ; B ; " "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 255
Limitlo = 0
Debounce Pind.4 , 0 , Setup3x
Potlo = Menzahl
Goto Setup3
Setup3x:
Potloee = Potlo
Cls
Menzahl = Pothi
Setup4:
B = Getadc(1)
Locate 1 , 1
Lcd "Setup Pot High "
Locate 2 , 1
Lcd Pothi ; " ADC: " ; B ; " "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 1023
Limitlo = 512
Debounce Pind.4 , 0 , Setup4x
Pothi = Menzahl
Goto Setup4
Setup4x:
Pothiee = Pothi
Cls
Menzahl = Errorlo
Setup5:
B = Getadc(1)
Locate 1 , 1
Lcd "Setup Error low "
Locate 2 , 1
Lcd Errorlo ; " ADC: " ; B ; " "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = Potlo
Limitlo = 0
Debounce Pind.4 , 0 , Setup5x
Errorlo = Menzahl
Goto Setup5
Setup5x:
Errorloee = Errorlo
Cls
Menzahl = Errorhi
Setup6:
B = Getadc(1)
Locate 1 , 1
Lcd "Setup Error High "
Locate 2 , 1
Lcd Errorhi ; " ADC: " ; B ; " "
Locate 4 , 1
Lcd "weiter mit Enter >>"
Limithi = 1023
Limitlo = Pothi
Debounce Pind.4 , 0 , Setup6x
Errorhi = Menzahl
Goto Setup6
Setup6x:
Errorhiee = Errorhi
Cls
Goto Run
End
Ein paar Ideen und Basteleien im Zusammenhang mit Fahrzeugen oder Maschinen aller Art. Momentan etwas "Elektronik- bzw. Atmega-lastig" Und auch sehr auf das Thema Elektroauto ausgerichtet, ich habe aber auch schon lauffähige Modellmotoren oder hydraulische Widder gebaut oder Oldtimer restauriert Das alles ist mein ganz privates Vergnügen, Ich nehme also keinerlei Aufträge an, aber wenn mich ein Thema interessiert, dann versuche ich gerne, eine möglichst einfache Lösung zu finden.
Translate
21 September 2012
16 September 2012
Bad Boy Charger.....so richtig böse... ;-)
Am Wochenende durfte mein IGBT-Universal-Charger+Controller mal
ein bisschen zeigen, was man damit alles machen kann.......
Zur Erinnerung.... das ist ein 1200V 500A IGBT, der mit ein paar
Kupferschienen auf drei 2200µF 450V-Elkos montiert ist,
ein Kühlklotz der für Wasserkühlung vorbereitet ist und eine ziemlich einfache
PWM-Ansteuerschaltung auf Basis einer "Franzbox"-Platine mit einem Atmega168
als zentralem Baustein. Gewissermaßen ist das also ein 450V-500A-PWM-Controller,
aber ich werde damit keinen 225KW Antrieb betreiben.........
Apropos Steuerprogramm:
Das Steuerprogramm habe ich mittlerweile um einige Funktionen erweitert.
Es wäre im derzeitigen Zustand durchaus schon als Fahr-Controller einsetzbar
Inzwischen ist auch eine Strommessung/Begrenzung dazugekommen
und die durfte hier erstmals unter praxisnahen Bedingungen arbeiten.
Über ein kleines Menue kann man die wichtigsten Parameter einstellen.
Maximaler Strom , Poti-Spannung bei "Nullstellung" , Poti-Spannung
bei "Volle Leistung" (nötig bei Hallgeber-Pedalen) sowie
Schwellwerte für Drahtbruch/Kurzschluss-Erkennung. auch eine
Null-Überwachung beim Einschalten ist mittlerweile drin.
Man kann nur starten, wenn man bei null anfängt.
Ich habe das mit einem "Fehler-Bit" gelöst, das beim Einschalten einfach mal gesetzt
wird und nur bei Nullstellung zurückgesetzt wird.Das ist das gleiche Bit, das den
Ausgang auf Null setzt, wenn der Maximalwert überschritten wird.
Noch zu machen ist eine Plausibilitätsprüfung des Stromwandlersignals.
Ich will auch noch eine Start-Stop-Funktion hinzufügen,
um den E-Motor ggfs auch im Leerlauf betreiben zu können wenn man
so wie ich es vorhabe Lichtmaschine und Servopumpe weiterhin per
Riementrieb zu betreiben. Dazu müsste eine PWM-Untergrenze und eine
eigenständige Strombegrenzung bei Nullstellung einstellbar sein.
Das Abschalten könnte auch über das schon im Programm vorhandene
"Fehler-Bit" erfolgen. Beim Einschalten steht der Motor bis man aufs Pedal tritt.
Dann läuft er im Leerlauf weiter, bis man den Stop-Knopf betätigt.
zum Losfahren einfach wieder aufs Strompedal treten genügt.
Das Fehler-Bit braucht auch noch einen zugeordneten Schaltausgang
für eine Warnmeldung.und unbedingt muss eine Temperaturüberwachung
des Kühlkörpers eingebaut werden.
Das hat aber im Augenblick.noch keine Eile
Nachtrag 21.9.2012: Die Start-Stop-Funktion ist jetzt auch hinzugefügt.
Funktioniert schon mal wie gewünscht, aber die ganzen If...Then....
Verknüpfungen kann man sicher noch verbessern. Das ist noch etwas holprig
formuliert und die Statusmeldungen im Display fehlerfrei angezeigt zu bekommen
war gar nicht einfach.
Ich will damit eigentlich nur ein paar Ideen in die Praxis umsetzen und testen.
Insbesondere geht es mir darum, zu versuchen den Controller auch als
Ladegerät zu verwenden, was ja grundsätzlich funktioniert, aber leider wegen
der fehlenden Galvanischen Trennung nicht ganz Praxistauglich ist.
Mein Ziel ist eine integrierte Einheit aus Motor und Controller, wobei der Controller
sowohl als Motorsteuerung als auch als Ladegerät funktionieren soll.
Mir ist klar, dass das als kompletter Eigenbau schwer zulassungfähig sein wird, aber
darum geht es hier gar nicht. Hier geht es um den Funktionsbeweis, und ich will
meine Ideen mal in der Praxis testen, wobei Praxis mein Prüfstand ist und nicht ein
wild zusammengepfriemeltes E-Mobil.
Eine ganz andere Anwendungsmöglichkeit, und auch nicht praxisfremd wäre
aber die Verwendung als Ladegerät auf Basis einer "Mutterbatterie"
So könnte man gegebenenfalls Solarstrom zwischenspeichern und dann per
Schnelladung ins E-Mobil transferieren oder man könnte so eine Schnelladung
überhaupt erst ermöglichen, wenn das Stromnetz nicht so viel hergibt.
Nachdem der Aufbau schon als Controller am Still Elfzöller seine grundsätzliche
Funktion bewiesen hat, durfte er am Wochenende mal als Charger herhalten.
Das soll jetzt ganz gewiss keine Anleitung sein, wie man es machen soll !!!!!!
Das will ich hier ganz ausdrücklich betonen, und auch keine Aufforderung, es
so nachzumachen, sondern hier ging es um den Beweis, dass diese Schaltung das
so machen kann, wenngleich das wohl aufgrund fehlender "galvanischer Trennung"
so nicht praxistauglich ist.Und bei Versuchen am Stomnetz sind Spannungen
von 320V und mehr absolut Lebensgefährlich!!!!!
"Dont try this at home!!"
1.Versuch: Schnelladen per "Mutterbatterie" mit gut 100A
Wir haben von einem 24V Paket aus ein 12V Akkupaket geladen und dabei den Strom
bis auf über 100A gesteigert und dann auch ein paar Minuten fliessen lassen.
Der Versuch klappte nach mehreren Umbauten der "Speicherdrossel" sehr gut.
Selbst die Erwärmung des IGBT hielt sich in Grenzen. Da hätte ich mehr Abwärme
erwartet.Die vorbereitete Wassserkühlung kam hier noch gar nicht zum Einsatz
hier gibts ein Video zum Versuch:
2.Versuch:
Betrieb der PWM-Stufe am 220V-Netz
(Einweggleichrichtung, 320V DC an den Elkos)
da gibt es keine Bilder, und ich habs bei 15A Ladestrom gut sein lassen.
Das muss ich mal ganz in Ruhe und gut abgesichert mit großem Trenntrafo und mit
Amperemetern in allen Leitungen nochmal testen, aber so was darf man eh
nicht am Stromnetz betreiben, nicht zuletzt weil die Einweggleichrichtung mit den
großen Elkos das Netz sehr ungünstig belastet.
Das ist sowieso viel zu gefährlich um es zu zeigen.
Die Anregung zum all diesen Versuchen kam hauptsächlich von Damiens Blog
http://www.evbmw.com/ wo einiges davon schon mal im Prinzip vorgetestet wurde.
Bei meinen Versuchen habe ich allerdings eine eigene, nach meinen Ideen gestaltete
Ansteuerung für den IGBT verwendet, die sehr gut zu funktionieren scheint.
Dem Controller-Programm, das übrigens in Bascom geschrieben wurde werde
ich einen meiner nächsten Posts widmen, und da mal alles schön der Reihe nach
erklären.
Im diyelectriccar-Forum schreibt Damien als Jack Bauer, und dieser Thread ist
einer der interessantesten, die ich zu diesem Thema kenne.
http://www.diyelectriccar.com/forums/showthread.php/10kw-60a-diy-charger-open-source-59210.html
Aber nochmal: Der Umgang mit derartigen Spannungen ist sehr gefährlich!
Das kann man gar nicht oft genug betonen!!!!!!!!!!
demnächst kommt hier noch mehr zu dem Thema, ich werde diesen Post nacheditieren
wenn ich mal mehr Zeit dafür habe......stay tuned!
........aber die wahren bösen Buben gibts in Albanischen Bergwerken,
dort haben sie offenbar die manuelle PWM erfunden........
viel Spass beim Video... bei etwa 20 Sek wirds interessant!
ein bisschen zeigen, was man damit alles machen kann.......
Zur Erinnerung.... das ist ein 1200V 500A IGBT, der mit ein paar
Kupferschienen auf drei 2200µF 450V-Elkos montiert ist,
ein Kühlklotz der für Wasserkühlung vorbereitet ist und eine ziemlich einfache
PWM-Ansteuerschaltung auf Basis einer "Franzbox"-Platine mit einem Atmega168
als zentralem Baustein. Gewissermaßen ist das also ein 450V-500A-PWM-Controller,
aber ich werde damit keinen 225KW Antrieb betreiben.........
Apropos Steuerprogramm:
Das Steuerprogramm habe ich mittlerweile um einige Funktionen erweitert.
Es wäre im derzeitigen Zustand durchaus schon als Fahr-Controller einsetzbar
Inzwischen ist auch eine Strommessung/Begrenzung dazugekommen
und die durfte hier erstmals unter praxisnahen Bedingungen arbeiten.
Über ein kleines Menue kann man die wichtigsten Parameter einstellen.
Maximaler Strom , Poti-Spannung bei "Nullstellung" , Poti-Spannung
bei "Volle Leistung" (nötig bei Hallgeber-Pedalen) sowie
Schwellwerte für Drahtbruch/Kurzschluss-Erkennung. auch eine
Null-Überwachung beim Einschalten ist mittlerweile drin.
Man kann nur starten, wenn man bei null anfängt.
Ich habe das mit einem "Fehler-Bit" gelöst, das beim Einschalten einfach mal gesetzt
wird und nur bei Nullstellung zurückgesetzt wird.Das ist das gleiche Bit, das den
Ausgang auf Null setzt, wenn der Maximalwert überschritten wird.
Noch zu machen ist eine Plausibilitätsprüfung des Stromwandlersignals.
Ich will auch noch eine Start-Stop-Funktion hinzufügen,
um den E-Motor ggfs auch im Leerlauf betreiben zu können wenn man
so wie ich es vorhabe Lichtmaschine und Servopumpe weiterhin per
Riementrieb zu betreiben. Dazu müsste eine PWM-Untergrenze und eine
eigenständige Strombegrenzung bei Nullstellung einstellbar sein.
Das Abschalten könnte auch über das schon im Programm vorhandene
"Fehler-Bit" erfolgen. Beim Einschalten steht der Motor bis man aufs Pedal tritt.
Dann läuft er im Leerlauf weiter, bis man den Stop-Knopf betätigt.
zum Losfahren einfach wieder aufs Strompedal treten genügt.
Das Fehler-Bit braucht auch noch einen zugeordneten Schaltausgang
für eine Warnmeldung.und unbedingt muss eine Temperaturüberwachung
des Kühlkörpers eingebaut werden.
Das hat aber im Augenblick.noch keine Eile
Nachtrag 21.9.2012: Die Start-Stop-Funktion ist jetzt auch hinzugefügt.
Funktioniert schon mal wie gewünscht, aber die ganzen If...Then....
Verknüpfungen kann man sicher noch verbessern. Das ist noch etwas holprig
formuliert und die Statusmeldungen im Display fehlerfrei angezeigt zu bekommen
war gar nicht einfach.
Ich will damit eigentlich nur ein paar Ideen in die Praxis umsetzen und testen.
Insbesondere geht es mir darum, zu versuchen den Controller auch als
Ladegerät zu verwenden, was ja grundsätzlich funktioniert, aber leider wegen
der fehlenden Galvanischen Trennung nicht ganz Praxistauglich ist.
Mein Ziel ist eine integrierte Einheit aus Motor und Controller, wobei der Controller
sowohl als Motorsteuerung als auch als Ladegerät funktionieren soll.
Mir ist klar, dass das als kompletter Eigenbau schwer zulassungfähig sein wird, aber
darum geht es hier gar nicht. Hier geht es um den Funktionsbeweis, und ich will
meine Ideen mal in der Praxis testen, wobei Praxis mein Prüfstand ist und nicht ein
wild zusammengepfriemeltes E-Mobil.
Eine ganz andere Anwendungsmöglichkeit, und auch nicht praxisfremd wäre
aber die Verwendung als Ladegerät auf Basis einer "Mutterbatterie"
So könnte man gegebenenfalls Solarstrom zwischenspeichern und dann per
Schnelladung ins E-Mobil transferieren oder man könnte so eine Schnelladung
überhaupt erst ermöglichen, wenn das Stromnetz nicht so viel hergibt.
Nachdem der Aufbau schon als Controller am Still Elfzöller seine grundsätzliche
Funktion bewiesen hat, durfte er am Wochenende mal als Charger herhalten.
Das soll jetzt ganz gewiss keine Anleitung sein, wie man es machen soll !!!!!!
Das will ich hier ganz ausdrücklich betonen, und auch keine Aufforderung, es
so nachzumachen, sondern hier ging es um den Beweis, dass diese Schaltung das
so machen kann, wenngleich das wohl aufgrund fehlender "galvanischer Trennung"
so nicht praxistauglich ist.Und bei Versuchen am Stomnetz sind Spannungen
von 320V und mehr absolut Lebensgefährlich!!!!!
"Dont try this at home!!"
1.Versuch: Schnelladen per "Mutterbatterie" mit gut 100A
Wir haben von einem 24V Paket aus ein 12V Akkupaket geladen und dabei den Strom
bis auf über 100A gesteigert und dann auch ein paar Minuten fliessen lassen.
Der Versuch klappte nach mehreren Umbauten der "Speicherdrossel" sehr gut.
Selbst die Erwärmung des IGBT hielt sich in Grenzen. Da hätte ich mehr Abwärme
erwartet.Die vorbereitete Wassserkühlung kam hier noch gar nicht zum Einsatz
hier gibts ein Video zum Versuch:
2.Versuch:
Betrieb der PWM-Stufe am 220V-Netz
(Einweggleichrichtung, 320V DC an den Elkos)
da gibt es keine Bilder, und ich habs bei 15A Ladestrom gut sein lassen.
Das muss ich mal ganz in Ruhe und gut abgesichert mit großem Trenntrafo und mit
Amperemetern in allen Leitungen nochmal testen, aber so was darf man eh
nicht am Stromnetz betreiben, nicht zuletzt weil die Einweggleichrichtung mit den
großen Elkos das Netz sehr ungünstig belastet.
Das ist sowieso viel zu gefährlich um es zu zeigen.
Die Anregung zum all diesen Versuchen kam hauptsächlich von Damiens Blog
http://www.evbmw.com/ wo einiges davon schon mal im Prinzip vorgetestet wurde.
Bei meinen Versuchen habe ich allerdings eine eigene, nach meinen Ideen gestaltete
Ansteuerung für den IGBT verwendet, die sehr gut zu funktionieren scheint.
Dem Controller-Programm, das übrigens in Bascom geschrieben wurde werde
ich einen meiner nächsten Posts widmen, und da mal alles schön der Reihe nach
erklären.
Im diyelectriccar-Forum schreibt Damien als Jack Bauer, und dieser Thread ist
einer der interessantesten, die ich zu diesem Thema kenne.
http://www.diyelectriccar.com/forums/showthread.php/10kw-60a-diy-charger-open-source-59210.html
Aber nochmal: Der Umgang mit derartigen Spannungen ist sehr gefährlich!
Das kann man gar nicht oft genug betonen!!!!!!!!!!
demnächst kommt hier noch mehr zu dem Thema, ich werde diesen Post nacheditieren
wenn ich mal mehr Zeit dafür habe......stay tuned!
........aber die wahren bösen Buben gibts in Albanischen Bergwerken,
dort haben sie offenbar die manuelle PWM erfunden........
viel Spass beim Video... bei etwa 20 Sek wirds interessant!
02 September 2012
Erste Testläufe mit Still-Motor und IGBT-Controller
....wie das immer so sein muss, hat man gerade dann wenns eigentlich drauf an kommt
die Kamera nicht zur Hand...... ich werde also den Videobeweis nachliefern!
Am Wochenende lief der Still Elfzöller erstmals mit dem Do it Yourself-IGBT-Controller,
und ich kann dazu nur sagen, es lief alles perfekt! Auch wenn ich noch kein Signal mit dem
Oszilloskop angeschaut habe, so ist zumindest schon mal die Funktion geradezu großartig.
Ich habe einfach drei Autobatterien als Stromquelle benutzt, und mit 36V tut sich doch schon
einiges.Die Wärmeentwicklung hält sich in Grenzen, auch ohne Wasserdurchfluss!
Der Motor und der provisorische Adapter zum modifizierten Entengetriebe laufen
ganz hervorragend, und selbst das Getriebe hört sich sehr gut an. Das war wohl eines der
wenigen leisen Entengetriebe, also eher die positive Ausnahme.
Das Drehmoment des Motors ist enorm, bis etwa PWM-Stufe 25 von 255 an 36V
kann ich den Lüfterflügel gerade noch halten dabei sind das nur 3,5V effektiv am Motor,
und da dreht der im Leerlauf noch nicht sehr hoch.
Bei vollen 36V ist das was Anderes, da dürfte die Drehzahl geschätzt irgendwo
zwischen 4000 und 5000 U/min liegen, und noch höher will ich den Motor nicht drehen lassen,
weil er dafür einfach nicht gebaut wurde.
Das Prüfstand-Getriebe ist noch längst nicht fertig (hinterer Deckel, Bremsen, Aufhängung)
aber ich war heute in meinem Enten-Teilelager und habe da die wichtigsten Teile zusammengesucht.
Kein Problem, fast alles ist da,was ich so brauche, von den Motorhaltern bis zum
Hauptbremszylinder, Tachoantrieb, Tacho, Getriebedeckel, fehlt eigentlich nur
noch eine Tachowelle und eine hintere Getriebeaufhängung, und ich bin mir sichher, dass
das auch noch zu finden ist.
Eine höhere Spannung als 36V habe ich am Controller noch nicht angelegt, seit der
"große" Motor dran hängt.Hier fehlt noch ein passender Gleichrichter,
aber das könnte mit einem 3-phasen-IGBT klappen, wenn ich den nur passiv als
Diodenarray benutze.Ich habe da einen mit 1200V 3 x 25A
Hier das Video zum Versuch:
Alles ist noch sehr provisorisch zusammengesteckt, aber es funktioniert!
die Kamera nicht zur Hand...... ich werde also den Videobeweis nachliefern!
Am Wochenende lief der Still Elfzöller erstmals mit dem Do it Yourself-IGBT-Controller,
und ich kann dazu nur sagen, es lief alles perfekt! Auch wenn ich noch kein Signal mit dem
Oszilloskop angeschaut habe, so ist zumindest schon mal die Funktion geradezu großartig.
Ich habe einfach drei Autobatterien als Stromquelle benutzt, und mit 36V tut sich doch schon
einiges.Die Wärmeentwicklung hält sich in Grenzen, auch ohne Wasserdurchfluss!
Der Motor und der provisorische Adapter zum modifizierten Entengetriebe laufen
ganz hervorragend, und selbst das Getriebe hört sich sehr gut an. Das war wohl eines der
wenigen leisen Entengetriebe, also eher die positive Ausnahme.
Das Drehmoment des Motors ist enorm, bis etwa PWM-Stufe 25 von 255 an 36V
kann ich den Lüfterflügel gerade noch halten dabei sind das nur 3,5V effektiv am Motor,
und da dreht der im Leerlauf noch nicht sehr hoch.
Bei vollen 36V ist das was Anderes, da dürfte die Drehzahl geschätzt irgendwo
zwischen 4000 und 5000 U/min liegen, und noch höher will ich den Motor nicht drehen lassen,
weil er dafür einfach nicht gebaut wurde.
Das Prüfstand-Getriebe ist noch längst nicht fertig (hinterer Deckel, Bremsen, Aufhängung)
aber ich war heute in meinem Enten-Teilelager und habe da die wichtigsten Teile zusammengesucht.
Kein Problem, fast alles ist da,was ich so brauche, von den Motorhaltern bis zum
Hauptbremszylinder, Tachoantrieb, Tacho, Getriebedeckel, fehlt eigentlich nur
noch eine Tachowelle und eine hintere Getriebeaufhängung, und ich bin mir sichher, dass
das auch noch zu finden ist.
Eine höhere Spannung als 36V habe ich am Controller noch nicht angelegt, seit der
"große" Motor dran hängt.Hier fehlt noch ein passender Gleichrichter,
aber das könnte mit einem 3-phasen-IGBT klappen, wenn ich den nur passiv als
Diodenarray benutze.Ich habe da einen mit 1200V 3 x 25A
Hier das Video zum Versuch:
Alles ist noch sehr provisorisch zusammengesteckt, aber es funktioniert!
26 August 2012
Still Elfzöller und Entengetriebe sind vereint!
Geschafft!
Der Still-Motor sitzt am Entengetriebe!
Alles läuft mechanisch hervorragend, fast vibrationsfrei,
nur scheint das vordere Lager des Elektromotors ein bisschen laut zu sein.
Das soll jetzt erst mal nicht weiter stören, das wollte ich sowieso irgendwann
nocht austauschen. Aber halt erst später, wenn mal klar ist wie alles zusammenkommt.
kleiner Update 30.08.12:
Ich habe das Lager jetzt doch gewechselt,und jetzt läuft der Motor so wunderbar
ruhig, wie ich das gar nie erwartet hätte! So macht das Spass!Das war gar nicht so einfach
auseinander zu pressen, und letztlich ganz schön teuer, weil ich auch erst noch einen passenden
Abzieher brauchte, und aus zeitlichen Gründen das Lager beim "örtlichen Händler" holen musste,
und nicht z.B beim Kugellager-Express bestellen konnte.......
Was ich jetzt vor allem brauche, ist ein Prüfstand für meine Controller-Versuche.
Dafür ist dieses Ding gedacht, eine kurze Probefahrt wird es wohl auch irgendwann geben,
aber dafür fehlt mir jetzt die nötige Zeit, und so weit bin ich noch lange nicht.
Frühestens dann könnte mal der Startschuss für eine Elektroente fallen, aber das ist nach wie vor
noch eher unwahrscheinlich, weil ich da dann wohl keinen derart schweren Gleichstrommotor
reinsetzen werde, sondern ganz gewiss was leichteres und in AC-Ausführung.
Aber ich will unbedingt wissen, wie das Ding abzieht, und alleine was ich jetzt mit 24V
schon beobachten konnte verspricht einiges, und das Drehmoment reicht ganz gewiss auch mit dem
einen Gang den ich da noch zur Verfügung habe.
Apropos Gewicht, ich habe versucht, das Ding zu wiegen, aber das hat nicht ganz so geklappt,
wie gewünscht, weil ich dazu leider nur eine (1) Badezimmerwaage habe, die alt genug ist.....
Es geht gar nicht gut, die beiden Enden zu wiegen, wenn einem dabei keiner hilft.
Die Motor-Getriebe-Einheit (Entengetriebe) hat zusammen etwa 120Kg, das ist sogar weniger
als erwartet! Na ja, ich hab da weder Schwung noch Kupplung etc drin und ein
paar Zahnräder sind auch wegrationalisiert, aber trotzdem hätte ich mehr erwartet.
Der Motor dürfte also bei knapp 100Kg liegen, das kommt meinen Schätzungen durchaus nahe,
ist aber weniger als vermutet.
Ich wiederhole mich jetzt zwar, aber das gehört trotzdem hier nochmal her:
Dieser Motor ist angegeben mit ca 180A bei 80V und 1400 U/min als 60min Dauerleistung.
Diese Werte sind als Momentaufnahme zu sehen für einen möglichen Betriebszustand
von wo aus man dann hochrechnen kann. es ist ein 11"-Motor, also kann man die Kurven des Warp11
als weitere Grundlage nehmen für das Drehzahlverhalten.Allerdings entsprechend weniger Leistung
Ganz klar ist, dass diese Motor keine hohen Drehzahlen mag und selbst mit 144V
nicht nennenswert über 3000 U/min betrieben werden will.Aber Leistung ist allemal genügend da,
und so wie der schon mit 24V hochdreht sollte das locker reichen um ein
Auto der Golf-Klasse auf 120Km/h zu beschleunigen, und zusammen mit dem
modifizierten Entengetriebe müssten auch locker etwa 100 Km/h drin sein, (@3500U/min)
weil eine Ente dafür ca 16PS braucht. aber bei ca 40-50Km/h hätte diese Ente locker mal
kurzzeitig etwa 40?? PS oder noch mehr zur Verfügung, und das will ich schon irgendwann mal
ausprobieren..... da freue ich mich schon drauf! Die Übersetzung passt vermutlich recht gut zum Motor,
auch wenns zunächst etwas zu kurz zu sein scheint,aber ein bisschen Reserve oben raus ist
sicher da, und soweit ich das jetzt mit 24V beurteilen kann hat dieser monströse Motor
ein derartiges Drehmoment, dass ein kleinerer Gang zum Anfahren überhaupt keinen Sinn
machen würde, weil der ungünstige Bereich bis ca 30Km/h schon auf den ersten 15m
überwunden ist.(wenn das Getriebe überhaupt so viel aushält...)
Da ist noch einiges zu tun......erst mal müssen Bremsen ans Getriebe,
und dafür muss aber auch ein Hauptbremszylinder her.......und Öl kann ich auch noch keins
einfüllen, weil ich erst noch einen hinteren Getriebedeckel brauche.
Der zu dem Getriebe gehörende hat ein Loch, weil das Getriebe irgendwann mal sehr unsanft
aus einer Schrottente rausgeschnitten wurde....
Dann muss da noch irgend ein Gestell drunter, am besten mit den exakten Abmessungen
eines Entenrahmens, damit ich auch gleich eine passende vordere Motorhalterung bauen kann.
Eventuell gleich auf Rädern???? so was wünsche ich mir schon lange!
Mit Ölauffangwanne und sonstigem Luxus!
Auch als Montage-Gestell für Entenmotoren und Getriebetests.
Das tut den Motorgehäusen nämlich gar nicht gut, wenn man die Motoren auf dem Boden stehend
laufen lässt.
Es wird wieder mal ganz gewiss nicht so schnell langweilig
...........und noch ein Video... aber diesmal nicht von mir....
das hab ich nur rein zufällig entdeckt, aber ich finde es einfach herrlich......
viel Spass dabei!
Der Still-Motor sitzt am Entengetriebe!
Alles läuft mechanisch hervorragend, fast vibrationsfrei,
nur scheint das vordere Lager des Elektromotors ein bisschen laut zu sein.
Das soll jetzt erst mal nicht weiter stören, das wollte ich sowieso irgendwann
nocht austauschen. Aber halt erst später, wenn mal klar ist wie alles zusammenkommt.
kleiner Update 30.08.12:
Ich habe das Lager jetzt doch gewechselt,und jetzt läuft der Motor so wunderbar
ruhig, wie ich das gar nie erwartet hätte! So macht das Spass!Das war gar nicht so einfach
auseinander zu pressen, und letztlich ganz schön teuer, weil ich auch erst noch einen passenden
Abzieher brauchte, und aus zeitlichen Gründen das Lager beim "örtlichen Händler" holen musste,
und nicht z.B beim Kugellager-Express bestellen konnte.......
Was ich jetzt vor allem brauche, ist ein Prüfstand für meine Controller-Versuche.
Dafür ist dieses Ding gedacht, eine kurze Probefahrt wird es wohl auch irgendwann geben,
aber dafür fehlt mir jetzt die nötige Zeit, und so weit bin ich noch lange nicht.
Frühestens dann könnte mal der Startschuss für eine Elektroente fallen, aber das ist nach wie vor
noch eher unwahrscheinlich, weil ich da dann wohl keinen derart schweren Gleichstrommotor
reinsetzen werde, sondern ganz gewiss was leichteres und in AC-Ausführung.
Aber ich will unbedingt wissen, wie das Ding abzieht, und alleine was ich jetzt mit 24V
schon beobachten konnte verspricht einiges, und das Drehmoment reicht ganz gewiss auch mit dem
einen Gang den ich da noch zur Verfügung habe.
Apropos Gewicht, ich habe versucht, das Ding zu wiegen, aber das hat nicht ganz so geklappt,
wie gewünscht, weil ich dazu leider nur eine (1) Badezimmerwaage habe, die alt genug ist.....
Es geht gar nicht gut, die beiden Enden zu wiegen, wenn einem dabei keiner hilft.
Die Motor-Getriebe-Einheit (Entengetriebe) hat zusammen etwa 120Kg, das ist sogar weniger
als erwartet! Na ja, ich hab da weder Schwung noch Kupplung etc drin und ein
paar Zahnräder sind auch wegrationalisiert, aber trotzdem hätte ich mehr erwartet.
Der Motor dürfte also bei knapp 100Kg liegen, das kommt meinen Schätzungen durchaus nahe,
ist aber weniger als vermutet.
Ich wiederhole mich jetzt zwar, aber das gehört trotzdem hier nochmal her:
Dieser Motor ist angegeben mit ca 180A bei 80V und 1400 U/min als 60min Dauerleistung.
Diese Werte sind als Momentaufnahme zu sehen für einen möglichen Betriebszustand
von wo aus man dann hochrechnen kann. es ist ein 11"-Motor, also kann man die Kurven des Warp11
als weitere Grundlage nehmen für das Drehzahlverhalten.Allerdings entsprechend weniger Leistung
Ganz klar ist, dass diese Motor keine hohen Drehzahlen mag und selbst mit 144V
nicht nennenswert über 3000 U/min betrieben werden will.Aber Leistung ist allemal genügend da,
und so wie der schon mit 24V hochdreht sollte das locker reichen um ein
Auto der Golf-Klasse auf 120Km/h zu beschleunigen, und zusammen mit dem
modifizierten Entengetriebe müssten auch locker etwa 100 Km/h drin sein, (@3500U/min)
weil eine Ente dafür ca 16PS braucht. aber bei ca 40-50Km/h hätte diese Ente locker mal
kurzzeitig etwa 40?? PS oder noch mehr zur Verfügung, und das will ich schon irgendwann mal
ausprobieren..... da freue ich mich schon drauf! Die Übersetzung passt vermutlich recht gut zum Motor,
auch wenns zunächst etwas zu kurz zu sein scheint,aber ein bisschen Reserve oben raus ist
sicher da, und soweit ich das jetzt mit 24V beurteilen kann hat dieser monströse Motor
ein derartiges Drehmoment, dass ein kleinerer Gang zum Anfahren überhaupt keinen Sinn
machen würde, weil der ungünstige Bereich bis ca 30Km/h schon auf den ersten 15m
überwunden ist.(wenn das Getriebe überhaupt so viel aushält...)
Da ist noch einiges zu tun......erst mal müssen Bremsen ans Getriebe,
und dafür muss aber auch ein Hauptbremszylinder her.......und Öl kann ich auch noch keins
einfüllen, weil ich erst noch einen hinteren Getriebedeckel brauche.
Der zu dem Getriebe gehörende hat ein Loch, weil das Getriebe irgendwann mal sehr unsanft
aus einer Schrottente rausgeschnitten wurde....
Dann muss da noch irgend ein Gestell drunter, am besten mit den exakten Abmessungen
eines Entenrahmens, damit ich auch gleich eine passende vordere Motorhalterung bauen kann.
Eventuell gleich auf Rädern???? so was wünsche ich mir schon lange!
Mit Ölauffangwanne und sonstigem Luxus!
Auch als Montage-Gestell für Entenmotoren und Getriebetests.
Das tut den Motorgehäusen nämlich gar nicht gut, wenn man die Motoren auf dem Boden stehend
laufen lässt.
Es wird wieder mal ganz gewiss nicht so schnell langweilig
Hier ein kleines Video:
...........und noch ein Video... aber diesmal nicht von mir....
das hab ich nur rein zufällig entdeckt, aber ich finde es einfach herrlich......
viel Spass dabei!
21 August 2012
Noch ein paar Versuche mit dem IGBT
Das Sommerloch hat offenbar seinen Höhepunkt erreicht, und die Hitze macht auch unseren
Politikern zu schaffen.......und auch mir.....aber ein bisschen was geht bekanntlich immer!
Zwischen meinem PWM-Gererator und dem IGBT steckt jetzt eine "galvanische Trennung"
per Optokoppler, aber ich bin damit nicht zufrieden, weil der derzeitige Optokoppler (CNY17-3)
einfach zu langsam ist und es deshalb beim Sanftanlauf ein bisschen hapert weil die ersten kurzen
Signale gar nicht durchkommen, aber ansonsten geht das so.
Ein paar der Elkos sind nun über dicke Stomschienen mit dem IGBT verbunden
und das reicht für ein paar neue Versuche.Ich habe einfach mal mit ein paar "Snubber"
Kondensatoren herumprobiert, aber das brachte mich nicht wirklich weiter,
weil die auf die vorhandene Last abgestimmt sein müssen, und in diesem Fall
mit der noch viel zu hohen Frequenz meiner PWM und meinem kleinen Motor
waren 10nF schon zu viel.Trotzdem war die Wirkung überdeutlich sichtbar.
Die Flanken wurden richtig schräg, was natürlich nicht der gewünschte Effekt ist,
da nur das Überschwingen an den "Ecken" der Rechteckspannung gedämpft
werden muss. Wenn da est mal die Spannung passt und der große Motor dranhängt
kann man den richtigen Wert ermitteln, und mal grob über den Daumen geschätzt ergibt sich
folgende Vermutung :jetzt bei rund 30Vam Ausgang und ca 3A hätten wohl 1nF oder kleiner gepasst
also werden bei halber Frequenz und 400A so ca 100nF nicht ganz verkehrt sein.
Die gekauften 2,7µF Kondensatoren sind hier auf alle Fälle viel zu groß, aber die passen
dafür perfekt auf die Elkos bzw auf den Eingang des IGBT.
Da gibts noch viel zu basteln.........
Für die Anpassung des Still-Motors an das modifizierte Entengetriebe habe ich gerade vorhin
einen Flansch gebaut, mit dem ich von der VW-Verschraubung auf der Motorwelle
(Der Motor soll auch samt VW-Kupplung an ein Golf-Getriebe)
auf die Verzahnung der 2CV-Eingangswelle komme.
In diesem Fall der Einfachheit halber ohne Kupplung, weil bei einem Eingang-Getriebe
sowieso nicht geschaltet werden muss, und weil das erst mal nur für Versuchszwecke als
Prüfstand gedacht ist. (Bei der Ente sind die Bremsen am Getriebe dran, so kann ich belasten)
Die Verzahnung ist auf den Bildern nur eingepresst, aber noch nicht verschweisst, das soll sich
erst noch ein wenig ausrichten, dann passt das nachher besser.
........und weil ich schon mal dabei war, habe ich auch noch ein kleines PWM-Programm
für einen Atmega168 in der "alten" Franzbox-Platine in Angriff genommen.
Das ist zunächst auch nicht viel anders als das ATTiny13-Programm, aber für die Zukunft
habe ich so viel mehr Möglichkeiten um noch zusätzliche Features einzubauen.
Da habe ich dann genügend Ein- und Ausgänge, ein Display und einen Drehencoder für
Eingaben zur Verfügung um dann die zukünftigen Erweiterungen mit dazuzuehmen.
(Strom, Spannungs und Temperaturüberwachung des Controllers,Drehzahlmesser, Parametrierung
per Menue, serielle Schnittstelle für ???????? etc........)
....ach ja, die Drehzahlüberwachung.....da brauche ich auf alle Fälle einen Interrupt-Eingang zum
Zählen der Impulse. Den muss ich vom Drehencoder abzweigen, für den reicht einer statt
wie bisher zwei.Die Timer für die Zeitmessung und für die Frequenzerzeugung (DZM)
brauche ich beim Controller nicht, also kann ich die nutzen um die Impulse zu zählen.
"Norm" sind zwei Impulse pro Umdrehung, dann wäre ich wieder kompatibel zu
einem Vierzylinder-Drehzahlmesser und könnte das umschaltbar machen
und wahlweise Drehzahl oder Ampere (am DZM per Franzbox)anzeigen.
3000 U/min wären dann 6000Impulse pro Minute bzw 100 pro Sekunde.
1/3 Sekunde zählen und dann mit 100 Multiplizieren gibt die Drehzahl in 100U/min Auflösung.
das sollte reichen, weil das ohnehin nur zum Begrenzen der Drehzahl vorgesehen ist.
Ansonsten bräuchte ich mehr Impulse, wenns schneller und genauer werden soll.
Eine andere Möglichkeit wäre, die Zeit zwischen den Impulsen zu messen, aber dann nur
bei jedem zweiten, damit es immer "der selbe" ist. Das wäre noch ein bisschen schneller!
aber das ist auch ein bisschen mehr Programmaufwand, aber kein Problem.
Vorerst ist aber die geänderte Taktfrequenz das Wichtigste, weil ein 4MHz Quarz
etwa 8 kHz PWM-Takt ergibt, und da will ich erst mal hin! Das geht nicht mit dem ATTINY13
(ATTINY25 könnte das zwar, aber das wäre wieder mal eine technische Sackgasse)
Von den Platinen liegen noch ein paar rum, und die kann ich direkt umprogrammieren und
testen ohne auch nur den Programmer abzustecken, das erleichtert auch die Arbeit!
Vorerst reicht das für meine Versuche, und der PWM-Takt muss erst mal korrekt beim IGBT ankommen
und auch "hinten" wieder raus und dafür brauche ich noch keine Regelschleifen und Begrenzungen
da will ich bestenfalls mal das Impuls-Pausen-Verhältnis wissen und einstellen können.
Der Rest ist ein völlig anderes Kapitel und darum kümmere ich mich, wenn die Ansteuerung
des IGBT passt.Vorher macht das wenig Sinn.
So läuft das schon mal...... Da sind noch ein paar "Altlasten" drin,
weil ich da natürlich ein anderes Programm als "Grundgerüst" genommen habe.
Die drei Eingänge brauche ich später für den Drehencoder, aber einen davon D.2 oder D.3
muss ich schon mal abzweigen für die Drehzahlmessung.
$regfile = "m168def.dat"
$crystal = 4000000
$baud = 1200 ' unnötig, kein RS232 verwendet ev.Option?
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
'Config Portd.6 = Output 'OC0A
'Config Timer2 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1
'Config Timer0 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1
'Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Prescale = 64
'Config Timer1 = Pwm , Compare A Pwm = Clear Up , Prescale = 1
'Merken!!!! so funktionieren die Timer zumindest schon mal
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4
Config Lcdbus = 4
Config Lcd = 20 * 4a , Chipset = Ks077 'für EA DIP204-4
Cursor Off
Cls
Dim A As Word
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.4 = Input
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Config Portd.6 = Output
Enable Interrupts
Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Prescale = 1
Do
A = Getadc(0)
A = A / 4
Locate 1 , 1
Lcd A ; " " ;
Ocr0a = A
Loop
Das ist einfach die bessere Basis,
und nach ein paar Widerstandsänderungen etc passt das jetzt ganz gut!
Da werden dann die ganzen Extras so der Reihe nach dazuprogrammiert.
Hier noch eine kleine Funktionsdemo, wo ich am Schluss auch noch die Wirkung des
"Snubber" zeige, was aber hier viel zu extrem ausfällt, aber dafür sieht man den Effekt besser
Mal sehen was die nächsten Tage so passiert...ich habe jetzt dann eigentlich jetzt ein
paar Tage "Urlaub", aber den werde ich daheim verbringen, da ist einfach viel zu viel
liegengeblieben, und ein bisschen schrauben zur Entspannung will ich natürlich auch......
den Controller mal echt belasten, den Still-Motor ans Entengetriebe flanschen,
und die Werkstatt aufräumen, das Haus neu streichen, mit der Ente zum Tüv,
beim Golf den Motor wechseln (Ölt überall, viele Km, ist einfach zu alt um den neu abzudichten)
und den Boden + Schweller schweissen, ....ja, jetzt wird der gute Golf so richtig alt....
mit der Familie will ich auch noch was unternehmen und und und........
Mal sehen zu was ich so komme, alles geht sowieso nicht!
bis demnächst!
Franz
Politikern zu schaffen.......und auch mir.....aber ein bisschen was geht bekanntlich immer!
Zwischen meinem PWM-Gererator und dem IGBT steckt jetzt eine "galvanische Trennung"
per Optokoppler, aber ich bin damit nicht zufrieden, weil der derzeitige Optokoppler (CNY17-3)
einfach zu langsam ist und es deshalb beim Sanftanlauf ein bisschen hapert weil die ersten kurzen
Signale gar nicht durchkommen, aber ansonsten geht das so.
Ein paar der Elkos sind nun über dicke Stomschienen mit dem IGBT verbunden
und das reicht für ein paar neue Versuche.Ich habe einfach mal mit ein paar "Snubber"
Kondensatoren herumprobiert, aber das brachte mich nicht wirklich weiter,
weil die auf die vorhandene Last abgestimmt sein müssen, und in diesem Fall
mit der noch viel zu hohen Frequenz meiner PWM und meinem kleinen Motor
waren 10nF schon zu viel.Trotzdem war die Wirkung überdeutlich sichtbar.
Die Flanken wurden richtig schräg, was natürlich nicht der gewünschte Effekt ist,
da nur das Überschwingen an den "Ecken" der Rechteckspannung gedämpft
werden muss. Wenn da est mal die Spannung passt und der große Motor dranhängt
kann man den richtigen Wert ermitteln, und mal grob über den Daumen geschätzt ergibt sich
folgende Vermutung :jetzt bei rund 30Vam Ausgang und ca 3A hätten wohl 1nF oder kleiner gepasst
also werden bei halber Frequenz und 400A so ca 100nF nicht ganz verkehrt sein.
Die gekauften 2,7µF Kondensatoren sind hier auf alle Fälle viel zu groß, aber die passen
dafür perfekt auf die Elkos bzw auf den Eingang des IGBT.
Da gibts noch viel zu basteln.........
Für die Anpassung des Still-Motors an das modifizierte Entengetriebe habe ich gerade vorhin
einen Flansch gebaut, mit dem ich von der VW-Verschraubung auf der Motorwelle
(Der Motor soll auch samt VW-Kupplung an ein Golf-Getriebe)
auf die Verzahnung der 2CV-Eingangswelle komme.
In diesem Fall der Einfachheit halber ohne Kupplung, weil bei einem Eingang-Getriebe
sowieso nicht geschaltet werden muss, und weil das erst mal nur für Versuchszwecke als
Prüfstand gedacht ist. (Bei der Ente sind die Bremsen am Getriebe dran, so kann ich belasten)
Die Verzahnung ist auf den Bildern nur eingepresst, aber noch nicht verschweisst, das soll sich
erst noch ein wenig ausrichten, dann passt das nachher besser.
........und weil ich schon mal dabei war, habe ich auch noch ein kleines PWM-Programm
für einen Atmega168 in der "alten" Franzbox-Platine in Angriff genommen.
Das ist zunächst auch nicht viel anders als das ATTiny13-Programm, aber für die Zukunft
habe ich so viel mehr Möglichkeiten um noch zusätzliche Features einzubauen.
Da habe ich dann genügend Ein- und Ausgänge, ein Display und einen Drehencoder für
Eingaben zur Verfügung um dann die zukünftigen Erweiterungen mit dazuzuehmen.
(Strom, Spannungs und Temperaturüberwachung des Controllers,Drehzahlmesser, Parametrierung
per Menue, serielle Schnittstelle für ???????? etc........)
....ach ja, die Drehzahlüberwachung.....da brauche ich auf alle Fälle einen Interrupt-Eingang zum
Zählen der Impulse. Den muss ich vom Drehencoder abzweigen, für den reicht einer statt
wie bisher zwei.Die Timer für die Zeitmessung und für die Frequenzerzeugung (DZM)
brauche ich beim Controller nicht, also kann ich die nutzen um die Impulse zu zählen.
"Norm" sind zwei Impulse pro Umdrehung, dann wäre ich wieder kompatibel zu
einem Vierzylinder-Drehzahlmesser und könnte das umschaltbar machen
und wahlweise Drehzahl oder Ampere (am DZM per Franzbox)anzeigen.
3000 U/min wären dann 6000Impulse pro Minute bzw 100 pro Sekunde.
1/3 Sekunde zählen und dann mit 100 Multiplizieren gibt die Drehzahl in 100U/min Auflösung.
das sollte reichen, weil das ohnehin nur zum Begrenzen der Drehzahl vorgesehen ist.
Ansonsten bräuchte ich mehr Impulse, wenns schneller und genauer werden soll.
Eine andere Möglichkeit wäre, die Zeit zwischen den Impulsen zu messen, aber dann nur
bei jedem zweiten, damit es immer "der selbe" ist. Das wäre noch ein bisschen schneller!
aber das ist auch ein bisschen mehr Programmaufwand, aber kein Problem.
Vorerst ist aber die geänderte Taktfrequenz das Wichtigste, weil ein 4MHz Quarz
etwa 8 kHz PWM-Takt ergibt, und da will ich erst mal hin! Das geht nicht mit dem ATTINY13
(ATTINY25 könnte das zwar, aber das wäre wieder mal eine technische Sackgasse)
Von den Platinen liegen noch ein paar rum, und die kann ich direkt umprogrammieren und
testen ohne auch nur den Programmer abzustecken, das erleichtert auch die Arbeit!
Vorerst reicht das für meine Versuche, und der PWM-Takt muss erst mal korrekt beim IGBT ankommen
und auch "hinten" wieder raus und dafür brauche ich noch keine Regelschleifen und Begrenzungen
da will ich bestenfalls mal das Impuls-Pausen-Verhältnis wissen und einstellen können.
Der Rest ist ein völlig anderes Kapitel und darum kümmere ich mich, wenn die Ansteuerung
des IGBT passt.Vorher macht das wenig Sinn.
So läuft das schon mal...... Da sind noch ein paar "Altlasten" drin,
weil ich da natürlich ein anderes Programm als "Grundgerüst" genommen habe.
Die drei Eingänge brauche ich später für den Drehencoder, aber einen davon D.2 oder D.3
muss ich schon mal abzweigen für die Drehzahlmessung.
$regfile = "m168def.dat"
$crystal = 4000000
$baud = 1200 ' unnötig, kein RS232 verwendet ev.Option?
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
'Config Portd.6 = Output 'OC0A
'Config Timer2 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1
'Config Timer0 = Pwm , Pwm = On , Compare A = Clear , Prescale = 1
'Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Prescale = 64
'Config Timer1 = Pwm , Compare A Pwm = Clear Up , Prescale = 1
'Merken!!!! so funktionieren die Timer zumindest schon mal
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4
Config Lcdbus = 4
Config Lcd = 20 * 4a , Chipset = Ks077 'für EA DIP204-4
Cursor Off
Cls
Dim A As Word
Config Pind.2 = Input
Config Pind.3 = Input
Config Pind.4 = Input
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
Config Portd.6 = Output
Enable Interrupts
Config Timer0 = Pwm , Pwm = On , Compare A Pwm = Clear Down , Prescale = 1
Do
A = Getadc(0)
A = A / 4
Locate 1 , 1
Lcd A ; " " ;
Ocr0a = A
Loop
Das ist einfach die bessere Basis,
und nach ein paar Widerstandsänderungen etc passt das jetzt ganz gut!
Da werden dann die ganzen Extras so der Reihe nach dazuprogrammiert.
Hier noch eine kleine Funktionsdemo, wo ich am Schluss auch noch die Wirkung des
"Snubber" zeige, was aber hier viel zu extrem ausfällt, aber dafür sieht man den Effekt besser
Mal sehen was die nächsten Tage so passiert...ich habe jetzt dann eigentlich jetzt ein
paar Tage "Urlaub", aber den werde ich daheim verbringen, da ist einfach viel zu viel
liegengeblieben, und ein bisschen schrauben zur Entspannung will ich natürlich auch......
den Controller mal echt belasten, den Still-Motor ans Entengetriebe flanschen,
und die Werkstatt aufräumen, das Haus neu streichen, mit der Ente zum Tüv,
beim Golf den Motor wechseln (Ölt überall, viele Km, ist einfach zu alt um den neu abzudichten)
und den Boden + Schweller schweissen, ....ja, jetzt wird der gute Golf so richtig alt....
mit der Familie will ich auch noch was unternehmen und und und........
Mal sehen zu was ich so komme, alles geht sowieso nicht!
bis demnächst!
Franz
Abonnieren
Posts (Atom)