Compare commits

...

1 Commits

Author SHA1 Message Date
28838d6cc2 changed schematic & code for 5A charge current 2007-11-10 20:58:42 +01:00
4 changed files with 10 additions and 15 deletions

View File

@ -1,21 +1,16 @@
Der IRF9540 und die BD139/140 sollten auf einer (kleinen) Kühlfläche montiert werden.
Der IRF9540 und die BD139/140 müssen auf einer Kühlfläche montiert werden!
Die Hochlastwiderstände im Equalizer (R10/R11) begrenzen die Ausgleichströme
und sollten 9-11W abkönnen.
Beim Shunt (R21) reichen 2W (für max. 2A Ladestrom).
Die Hochlastwiderstände im Equalizer (R10/R11) und der Shunt (R21/R26)
sollten >= 5W abkönnen
LiPos reagieren *extrem* allegisch auf zu hohe Spannungen, daher die
Spannungsteiler für Ubat (R23/R24) und für den Equalizer (R5, R6, R7)
mit möglichst geringen Toleranzen (0.1%) aufbauen!
Wert für die Induktivität habe ich nicht berechnet. Ich habe "L-PISR 100u" (SMD)
von Reichelt verwendet. (keine Entstördrosseln nehmen!)
Wert für die Induktivität habe ich nicht berechnet.
"RS Bestellnummer 308-8823" sollte passen (100µH / 5A)
Die Referenzdiode LM336-2.5 wird mit dem Spindeltrimmer (kein Poti!)
auf 2.56V abgeglichen.
Als Versorgungsspannung 16-18V verwenden (z.B. Laptop Netzteil/KFZ-Adapter).
Das LCD und der MAX232 können eigentlich entfallen und durch LEDs ersetzt werden.
Hierzu natürlich die Software anpassen. (ggf. kleineren AVR -> Tiny24)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

View File

@ -44,8 +44,8 @@
/*
* power supply:
* - CH0 - voltage with 10:1 prescaler
* - CH1 - current with 10mA -> 1mA
* - CH0 - voltage with prescaler (12V -> 2000mV; 15mV -> 2.5mV/bit)
* - CH1 - current with (5A -> 2500mV; 5mA -> 2.5mV/bit)
* - PWM - high-active output to buckconverter
*/
#define CH0 PORTC0
@ -60,7 +60,7 @@
#define VOLTAGE_CONNECT 9000
#define VOLTAGE_CHARGE 12450
#define CURRENT_CHARGE 16000
#define CURRENT_CHARGE 49000
#define CURRENT_READY 2000
#define VOLTAGE_REMOVE 1000
@ -193,7 +193,7 @@ static uint16_t current;
ISR(ADC_vect)
{
if (ADMUX & 0x01) {
current = ADCW * 25;
current = ADCW * 50;
ADMUX = CH0;
} else {
@ -225,7 +225,7 @@ ISR(TIMER0_OVF_vect)
/*
* charge with constant voltage of 12.45V
* and a current limit of 1.6A
* and a current limit of 4.9A
*/
if (mode == MOD_CHARGING) {
if (voltage < (VOLTAGE_CHARGE -25) && current < (CURRENT_CHARGE -500))