NiCd laddare för 12V-pack

Planering och tankar kring eventuella framtida projekt.
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Måste ha en laddare till mitt 12V NiCd-pack.
Har kollat runt efter PIC/AVR-lösningar men inte hittat nåt som funkar för 12V.
Sprang på denna idag.
Vad tror ni, funkar den eller är den för medioker?
Den verkar ju ha nån form av automatisk avstängning. Är det underhållsladdning den går in i tro?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: NiCd laddare för 12V-pack

Inlägg av jesse »

Det finns väl dokumenterat vilka laddsekvenser man bör använda sig av.

Nu har jag bara laddat stora NiCD-packar - 100 ah vattenkylda med flytande lut i - dessa kunde laddas ganska enkelt (ingen noggrann temperaturkoll)

Så då är det väl bara att skaffa valfri AVR-processor och bygga en strömbegränsare som styrs av processorn, sen är det bara att programmera. Du behöver kunna läsa av spänningen och vara medveten om tiden, det är väl allt.
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Jo man kan bygga allt. Men jag ville hitta något färdigt för jag har inte tid att bygga en laddare från scratch.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: NiCd laddare för 12V-pack

Inlägg av jesse »

Den du länkar till har ju strömbegränsare - det är allt. Men ingen tidsbegränsning eller avstängning efter att en viss spänning uppnåtts, vilket är lämpligt att ha. Så den borde nog kompletteras med en sådan.

kanske det går att sätta dit något slags relä / transistor som slår ifrån vid en viss uppnådd spänning. Borde vara ganska enkelt.

(fast 2sc3622 som verkar vara en NPN-transistor sitter lite uppochner, tycker jag. Det hade fungerat bra med en PNP-transistor där istället.)
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Kanske ska leta ihjäl mig efter nån avr/pic historia som fixar 12v-accar.
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

Bild


Nått i den stilen kanske?
Det är en DeltaV laddare för NIMh som jag byggt till mina 12 acc.
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

En såndär vore ju perfekt. Funkar den till NiCd så vore det ju grymt om du ville dela med dig. Jag antar att det krävs lite modifiering av dV så det passar NiCd. Går den in i underhållsladdning sen?
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

Jo, deltaV får du höja rejält. Den har ingen underhållsladdning men ett lämpligt motstånd parallellt över mosfet löser det. Beroende på önskad laddström även justera R1.
Postar koden här ifall fler vill bygga.

Kod: Markera allt

/*************************************************/
/* Kompilator: B Knudsen Cc5x C-compiler         */
/* Program: nimh.c                               */
/* Funktion: DeltaV laddare för 10 st NIMH celler*/
/* datum: 2008-10-30                             */
/*************************************************/


#include "12F683.h"
#pragma config |= 0x00E4


#include "delays.c"


/******************************************/
#pragma bit Redled @ GPIO.4   //Röd lysdiod på port 4
#pragma bit Greenled @ GPIO.5 //Grön lysdiod på port 5
#pragma bit Power @ GPIO.2    //Mosfet på port 2
#pragma bit Button @ GPIO.1   //Tryckknapp på port 1
#define  ON 1                 //ON=1
#define OFF 0                 //OFF=0
uns16 Currentvoltage;         //Nuvarande spänning i realtid
uns16 Topvoltage;             //Högsta spänningen under laddningsförlopp
uns16 dV;                     //Nuvarande spännigsdifferans i realtid
uns16 DeltaV;                 //Spännigsdifferans när laddning avbrytes
/******************************************/



 
/********* Function declaration ***********/

void initpic(void)
{
OSCCON=0b01100001;		//INT OSC 4 MHz
CMCON0=0b00000111;		//Comparator OFF
ANSEL=0;				//Digital I/O
TRISIO =0b00001011; 		//GP0,GP1,GP3=Ingång  GP2,GP4,GP5=Utgång

/* Parameterinitialvärde */
Redled=OFF;				//Alla lysdioder OFF
Greenled=OFF;
Power=OFF;				//Mosfet=OFF
Currentvoltage=0;			//Nollar spänningsparametrar
Topvoltage=0;
dV=0;
DeltaV = 7; 			// DeltaV=>(5/1023)*7=34mV
}



void delay_sek( char s) 	//Tidsfördröjning s sekunder
{
   do {
       delay10(100);
      } while ( --s > 0);
}




void checkled(void) //Testar optiskt att PIC'en lever och lysdioderna hela
{
Redled = ON;			//Tänder Röd lysdiod
delay_sek(1);			//Paus 1 sekunder
Greenled = ON;			//Tänder Grön lysdiod
delay_sek(1);			//Paus 1 sekund
Greenled = OFF;			//Alla lysdioder OFF
Redled = OFF;			
}


uns16 ADC_read(void) //Läser in 10-bits ADC värdet på port0, VDD som Ref.
{
uns16 voltage = 0;
ANSEL = 0b01110001;		//FRC,ANS0
ADCON0 = 0b10000001;		//Right justified,VDD,AN0,Enable 
delay_us(22);			//Acquisiton delay
ADCON0.1=1;				//Start conversion
while(ADCON0.1 == 1) {nop();}	//Wait for conversion done
voltage.low8 = ADRESL;		//Read lower 8 bits
voltage.mid8 = ADRESH;		//Read upper 2 bits
ADCON0.0=0;			  	//ADC OFF
return voltage;
}


void ConnectionTest(void)
{
Power=ON;				//Starta Laddning
delay_sek(2);   			//Väntar 2 sekunder så spänningen stabiliseras
Currentvoltage =  ADC_read();	//Läser av spänningen
if (Currentvoltage > 800)	//Om spänningen > 15 volt
 {
  while(1)				//I all oändlighet
    {
     Power=OFF;			//Avbryt laddning
     Redled = ON; 		//Tänder Röd lysdiod 
    }
 }
Greenled = ON; 			//Allt ok, tänder Grön lysdiod
}

/******************************************/













void main( void)
{
initpic();				//Initiera Processorn
checkled();				//Kolla lysdioderna

while( Button == ON);		//Vänta på knapptryckning
delay(10);				//Paus 10 mSek
while( Button == OFF) ;		//Vänta på knappen släpps
delay(10);				//Paus 10 mSek

ConnectionTest();			//Kollar om Batteriet är inkopplad



//******** Laddningsövervakning*******
while ( dV < DeltaV)
{
   Currentvoltage =  ADC_read();	
   if (Currentvoltage > Topvoltage)
      Topvoltage=Currentvoltage;

   dV = (Topvoltage-Currentvoltage);
   delay_sek(1);
}
//************************************


Power=OFF;				//Fulladdad!! Avbryt laddning

while(1)				//I all oändlighet
{   
   Greenled =! Greenled;	//Blinka Grön lysdiod	
   delay_sek(1);
}


} //End
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Uh knudsen kod =) trevligt.
Funkar laddaren bra eller? Hur fungerar det parallella motståndet tänker du?
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

Jo laddaren fungerar bra förutsatt att rippel nivån på spänningskällan är hyffsat låg och det blir ju det mindre känsligt ju större DeltaV du har. Om du kopplar ett motstånd över Q1 så flyter underhållsladdningsströmmen
genom denna via batteriet när Q1 inte är aktiv så att säga, är du med?
Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Ah man underhållsladdar hela tiden fast inte när man laddar fullt. Då flyter det en ström så fort man slår igång laddaren mao.
Vet du vart man kan läsa om skillnaderna för -dV/dt mellan NiCd och NiMh? Har kikat på en AVR-note men inte hittat några data.
Det här tror jag blir perfekt för mig. Lagom avancerad laddare med säkerhet inbyggt. Man tackar och bugar.
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

Användarvisningsbild
jonnorberg
Inlägg: 850
Blev medlem: 19 mars 2008, 17:45:40
Ort: Årsta

Re: NiCd laddare för 12V-pack

Inlägg av jonnorberg »

Ska nog läsa lite mer men en snabb dum fråga.
DeltaV = 7; // DeltaV=>(5/1023)*7=34mV
Jag gissar att 34mV över 10 celler blir 3,4mV. Vilket är ditt deltaV när laddningen skall avbrytas.
Varför blir värdet på DeltaV 7? Jag förstår inte ekvationen men 1023 är väll upplösningen på adc:n gissar jag. Vart kommer 5 och 7 från?
Enligt länken du postade bör man ha 5-10mV för NiMh och 10-20 för NiCd. Så att dubbla DeltaV för NiCd borde göra susen för min applikation.
Nu ska jag läsa lite mer om detta.
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

5=Spänningsreferensen på ADC i volt och resten har du redan nämt :D
Niklas-k
Inlägg: 354
Blev medlem: 10 mars 2004, 15:59:21
Ort: Katrineholm

Re: NiCd laddare för 12V-pack

Inlägg av Niklas-k »

Jag gissar att 34mV över 10 celler blir 3,4mV
Precis!!!!
Skriv svar