200 lines
2.7 KiB
C
200 lines
2.7 KiB
C
|
|
||
|
#include "bl_chargControl.h"
|
||
|
#include "parameter.h"
|
||
|
#include "comm_types.h"
|
||
|
|
||
|
static void stopChargWork(void);
|
||
|
static int stopChargConditions(void);
|
||
|
static int floatChargConditions(void);
|
||
|
static int mpptChargConditions(void);
|
||
|
static int constantVChargConditions(void);
|
||
|
static void mpptCharge(void);
|
||
|
static void constantVoltageCharge(void);
|
||
|
static void floatCharge(void);
|
||
|
|
||
|
/**
|
||
|
* @brief 停止充电
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void stopChargWork(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断达到停止充电的条件
|
||
|
* @param
|
||
|
* @retval TRUE 达到停止充电
|
||
|
* FALSE 未达到
|
||
|
*
|
||
|
*/
|
||
|
BOOL stopChargConditions(void)
|
||
|
{
|
||
|
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断达到浮充充电的条件
|
||
|
* @param
|
||
|
* @retval TRUE 达到
|
||
|
* FALSE 未达到
|
||
|
*
|
||
|
*/
|
||
|
BOOL floatChargConditions(void)
|
||
|
{
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断达到最大功率充电的条件
|
||
|
* @param
|
||
|
* @retval TRUE 达到
|
||
|
* FALSE 未达到
|
||
|
*
|
||
|
*/
|
||
|
BOOL mpptChargConditions(void)
|
||
|
{
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断达到恒压充电的条件
|
||
|
* @param
|
||
|
* @retval TRUE 达到
|
||
|
* FALSE 未达到
|
||
|
*
|
||
|
*/
|
||
|
BOOL constantVChargConditions(void)
|
||
|
{
|
||
|
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断充电控制的模式
|
||
|
* @param
|
||
|
* @retval 返回充电控制器的模式
|
||
|
*
|
||
|
*/
|
||
|
int chargControlMode(void)
|
||
|
{
|
||
|
if (stopChargConditions()) {
|
||
|
stopChargWork();
|
||
|
return noWork;
|
||
|
}
|
||
|
|
||
|
if (floatChargConditions()) {
|
||
|
return floatCharg;
|
||
|
}
|
||
|
|
||
|
if (mpptChargConditions()) {
|
||
|
return MPPT;
|
||
|
}
|
||
|
|
||
|
if (constantVChargConditions()) {
|
||
|
return constantVoltage;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 得到充电控制器控制所需的电流电压
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void getCVData(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 判断有无电池
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void judgeYNBattery(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 无电池时控制
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void noBatteryChargControl(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 最大功率充电
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void mpptCharge(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 恒压充电
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void constantVoltageCharge(void)
|
||
|
{
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 浮充充电
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void floatCharge(void)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @brief 有电池时控制
|
||
|
* @param
|
||
|
* @retval
|
||
|
*
|
||
|
*/
|
||
|
void BatteryChargControl(void)
|
||
|
{
|
||
|
switch(g_otherParameter.MPPT_Mode) {
|
||
|
|
||
|
case CONSTANTCURRENT:
|
||
|
mpptCharge();
|
||
|
break;
|
||
|
|
||
|
case CONSTANTVOLTAGE:
|
||
|
constantVoltageCharge();
|
||
|
break;
|
||
|
|
||
|
case FLOAT:
|
||
|
floatCharge();
|
||
|
break;
|
||
|
|
||
|
default:
|
||
|
stopChargWork();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|