Hardwaredokumentation
Aus OpenchargeWiki
(Unterschied) ← Nächstältere Version | Aktuelle Version | Nächstjüngere Version → (Unterschied)
Hardwarebeschreibung (upd. 22.10.06 Danke an Malte)
Grunsätzliches, was im Schaltplan nicht ersichtlich ist:
Die Tasten + und - wurden durch einen Drehimpulsgeber ( Prellfrei ) ersetzt. Eingang INT0 und INT1.
Die LCD Anzeige ist ein 2x24
Ein 40x40mm Lüfter sitz oben rechts im Gehäuse. Die Elkos bilden einen Kanal, so daß die Luft hierbei geführt an diesen vorbeistreicht. In dem Gehäuse ist ein Aluwinkel, etwa 60x35mm als Kühlkörper, Schenkel nach innen auf dem die MOSFET montiert sind. Hier streich die Luft des Lüfters in voller Länge rüber.
Stromregelung und Stepupwandler
Die Stromregelung und der Einsatz des Stepupwandlers erfolgt aus Softwaresicht sehr einfach. Der PWM Ausgang ( 10Bit=10mA ) OC1A gibt den Strom vor, welcher durch die OpAmps und den PWM-Regler (Stepup) dann eingeregelt wird .
Der Shuntwiederstand beträgt 0,01 Ohm. Die Spannung wird über IC4b auf 2.5V bei 10A verstärkt.
Die beiden OpAmp Regeln über T7 -> T3 ( Längsfet) regeln den Strom automatisch, so daß am Ausgang vom OpAmp IC4b die gleiche Spannung wie am Ausgang OC1A zu messen ist ( Strommessung=AD1 des MAX110). Wird die Stromstärke ohne den Stepupwandler nicht erreicht, so steigt die Ausgangsspannung vom OP IC4a über 1,4Volt. Die Schwellspannung von D8 wird überwunden, so daß der Fehlverstärkeringang des PWM Reglers des TL494 eine Spannung ansteht und der Stepupregler in Betrieb genommen wird. Regelschleife über OpAmp ec....
Der OpAmp wird vom MAX232 mit einer negativen Versogungsspannung versorgt, um um die Nullage sauber zu funktionieren.
UPDATET 6.11.06 Stepdownwandler
Beim Software optimieren des StepDown Wandlers sind mir 2 Fet-Paare (T8+T9) den Wärmetod gestorben. Der Grund hierfür, ist leider ein Designfehler der Schaltung. Der PWM Augang OC1b kann im 10Bit FastPWM Modus nur mit 7,8KHz die Fet's ansteuern. Das ist zu wenig, bei der verwendeten Speicherspule. Aus diesem Grunde, muss der 8Bit Timer OC0 für den Stepdown verwendet werden. Dieser kann im Fast PWM Modus die Fet's mit 31KHz ansteuern. Leider ist am OC0 Ausgang der Taster für die OK Taste geplant gewesen. Aus diesem Grunde müssen fertige Platinen umgepatcht werden, so das die Pin's 4 und 18 ihre Beschaltung tauschen (Taster OK an 18 und PIN2 des ICL7667 an Pin 4 des Atmel). Ausserdem sollten die beiden Transistoren zur Wärmeableitung elektrisch isolierten Kontakt, zu dem darüber liegenden Kühlblech bekommen (Aluwinkel 60x25x12mm). Es hat sich gezeigt, das bei der Softwareregelung des Stepdown Wandlers es vorkommen kann, das zeitgleich der Stepupwandler aktiv wird. Da sich beide um die selbe Speichespule "streiten", ist dieses Verhalten sehr unproduktiv. Um eine klare Trennung zwischen StepUp und Stepdown Betreib zu erreichen, wurde der bsiher unbenutzte Pin A6 nun dafür verwendet, den StepUp Wandler im Stepdown Betrieb zu verriegeln. Das Verhalten des Pins A6 ist negiert:
PinA6 =1 => Stepup Wandler gesperrt
PinA6 =0 => Stepup Wandler aktiv
Dieser ist in Software realisiert worden. PWM Ausgang ist OC0. Der Ladestrom wird auch weiterhin über OpAmp und T3 ( Längsfet) geregelt, es geht also nur darum die Sourcespannung am T3 möglichst passend zu halten, um die Wärme zu minimieren. VSS (ADC4) sollte etwa Vakku(AD0 des MAX110) + 1,2V bis 2V Regelreserve für T3 betragen.
Patchung Platine: Kreis=Leiterbahn durchtrennen Orangene Linie=Litzenpatchung
Achtung bitte kontrolliert eure Platinen ob an dem umrandeten Punkt ein falsche Verbindung zwischen den Leiterbahnen besteht. Bei einigen der ausgelieferten Paltinen ist hier eine Berührung vorhanden.:
Diese Bohloch, welches zur Befestigung der LCD ANzeige vorhanden ist, wurde als Duko ausgeliefert. Am besten mit einem 2 mm Bohrer nochmals nachbohren, damit die untere Fläche nicht mit der oberen verbunden wird:
Laden entladen Umschaltung
Nix Spannung an T7, nix Ladestrom. Über D7, wird die Basis und der Eingang des Fehlverstärkers auf quasi 0 Volt gezogen, wenn der Eingang PB0 logisch 0 ist.
Das gleiche passiert mit den Gates von T6 und T5 beim entladen, nur über den Eingang PB1. PB0 und PB1 dürfen nie gleichzeitig logisch 1 sein!!!!! Das Idee ist zum größten Teil von der sehr guten Seite von Sprut übernommen worden.
AD Abfrage und Kalibrierung MAX110
Auf die interne Kalibrierfunktion des MAX110, wurde verzichtet. Nach jedem Kanalwechsle muss erneut (langwierig) kalibriert werden. Die Kalibrierergebnisse haben nach jeder erneuten Kalibrierung um 4-5 Bit gestreut. Der Rest ist in der Software ersichtlich.
Verpolungsschutz Akku
Wenn eine sinnvolle positive Spannung am AD0 des MAX110 erkannt wird, so ist PA2 auf 1 zu schalten. T10 schaltet dann durch...
D10 sichert den Entladezweig
Verpolungsschutz Autoakku
T2 (T99), wird nur bei richtig angelegter Spannung durchgesteuert.
Balancer Signalleitung (3,5mm Klinkenbuchse, Pin2 auf PB2)
Gnd an PB2 heisst Ladestrom reduzieren.Orbit Balancer kompatiebel...
Pinbelegung Atmega32
Das Datenblatt hierfür ist hier zu finden: Atmega32
LCD
liegen auf PC0 bis PC5
PC0 LCD En PC1 LCD RS PC2 LCD dB4 PC3 LCD dB5 PC4 LCD dB6 PC5 CD dB7
ISP und SPI für externen ADC
PB5 MOSI
PB6 MISO
PB7 SCK
reset (ist klar)
VCC +5V
GND GND
XTAL2 kein Quarz, intern 8MHz Takt.
XTAL1 kein Quarz, intern 8MHz Takt.
PD0 RXD TTL Uart
PD1 TXD TTL Uart
PD2 INT 0 Eingang für Drehimpulsgeber 1Bit
PD3 INT 1 Eingang für Drehimpulsgeber 2Bit
PD4 Taste auf Drehimplulsgeber ( OK )
PD5 Timer1 PWM Ausgang für Stromeinstellen 10A=10Bit = 10mA Auflösung +Kalibrierungsreserve
PD6 Piezobeep Ausgang
PD7 Ausgang Lüftersteuerung (timer2 = Sekundentick, daher kein Pwm direkt möglich. SoftwarePWM??)
PB0 Muss 0 wenn Entladung 1= Ladung
PB1 Muss 0 wenn Ladung 1= Entladung nie beide logisch 1, PB0 PB1 00 = beides aus
PB2 input Balancer 0= Ladestrom reduzieren
PB3 OC0 Stepdown PWM
PB4 Taste ESC
PC6 Uhrenquarz für Timer2
PC7 Uhrenquarz für Timer2
AVCC Spannungsversorgung für AD
GND GND für AD
AREF 2,5V externe Spannungsreferenz für AD's
PA7 A/D externer Thermosensor
PA6 Verriegelung Stepupwandler 0=StepUp aktiv , 1=Stepup nicht aktiv
PA5 A/D Autobatterie 30V
PA4 A/D Wandlerspannung=VSS für Regelung Softwarestepdown notwendig VSS=Uakku+0,5VUds von T3
PA3 Ausgang, Verpolung, schaltet T10 (TTL Mosfet) wenn Spannung an Akkuklemme IO
PA2 Output CS (Conversation Start ) für MAX110 A/D
PA1 Input MAX110 BUSY 1=Cohnverstion fertig 0= Converstion läuft ( loop until PA1=0 )
PA0 A/D interner Thermosensor Kühlblech