Other Parts Discussed in Thread: BQ25858-Q1, , BQ25758
Tool/software:
Hello,
I use 2 BQ25756 chargers in parallel. From time to time, I experience losses of energy and sometimes power peaks that are generated on the output.
the measurements are made by a current sensor for the load current. it globalises the 2 chargers. the capture is sampled every 5s
I have 2 times in this capture where the current of charge are low and I have a current peak.
the mos that separates the battery chargers is open and a 30V protection triggers from time to time. it indicates that at no load, the chargers generate a voltage peak exceeding 30V.
The schematic of the charger is : chargeur.pdf. I have 2 times this schematic
After the charger, I have a mos in serie with a battery.
the CTN are placed close to the mos and the BQ25756.
I want to Have 15A of charge.
I periodically send data to the 2 chargers every 1s.
The code gererate every 1s is
/* desactive la charge */
u8_Data[0] = 0x00u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_MPPT_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
/* configure le control de temps */
/* configure le nombre de cellule en serie (bit 6-7) 0 = 1s .. 3 = 4s */
/* bit 4-5 à 2 pour deglitch à 1024ms*/
/* bit0 à 3 threslhold pour reactivation charge 50mV- 800mV offset 50mV step 50mV*/
/* confiugration pour 2S 200mV de threshold */
u8_Data[0] = 0x004u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_TIMER_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
/* configure la detection de fin de charge : pas de détection fin de charge et précharge desactivé */
u8_Data[0] = 0x00u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_TERMINATION_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
u8_Data[0] = 0x80u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_PIN_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
u8_Data[0] = 0x00u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_POWER_PATH_REVERSE_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
u8_Data[0] = 0xC0u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_REVERSE_MODE_BATTERIE_DISCHARGE_CURRENT,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
desactive la charge */
u8_Data[0] = 0x21u;
e_I2CStatus = e_drv_bq25756_WrData(U8_REG_CHARGER_CONTROL,&u8_Data[0],1u);
if(e_I2CStatus != HAL_OK)
{
vd_drv_bq25756_ErrorHandler();
}
HAL_Delay(2ul);
Best Regards,
Ludovic Micou
