diff --git a/eagle/README b/eagle/README index 50d1166..00acea8 100644 --- a/eagle/README +++ b/eagle/README @@ -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) diff --git a/eagle/lipocharger.png b/eagle/lipocharger.png index 551577b..7951a3b 100644 Binary files a/eagle/lipocharger.png and b/eagle/lipocharger.png differ diff --git a/eagle/lipocharger.sch b/eagle/lipocharger.sch index 298b2ea..b5adb86 100644 Binary files a/eagle/lipocharger.sch and b/eagle/lipocharger.sch differ diff --git a/lipo-charger.c b/lipo-charger.c index fc1c013..2aec7bb 100644 --- a/lipo-charger.c +++ b/lipo-charger.c @@ -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))