钻石会员
主题
帖子
积分11939
阅读权限50
注册时间2012-3-2
最后登录1970-1-1
在线时间 小时
|
这是 M328V7数控电源 的 智能充电器模块 源代码,如果有需要做单片机充电器的TX可以参考,没有这个需求的就请绕路吧~
核心为一个大状态机,充电的各种状态切换都在这里:chargeStateMachine()
入口函数:chargerLoop()
编码器处理:chargerProcessKeys()
界面显示:chargerUi()
//充电状态机状态值
typedef enum {
CHARGE_STATE_WAIT_CONNECT, //等待电池连接
CHARGE_STATE_WAIT_START, //等待按下电流按键启动
CHARGE_STATE_RECOVERING_ZERO, //恢复电压为零的电池
CHARGE_STATE_PRE_CHARGING, //预充电
CHARGE_STATE_PRE_CHARGING_TIMEOUT, //预充电超过半个小时还没有充到预充电门限出错
CHARGE_STATE_CHARGING, //恒流充电中
CHARGE_STATE_CHARGING_TIMEOUT, //充电中超过设置的最长时间还未充满
CHARGE_STATE_CV_CHARGING, //恒压充电中
CHARGE_STATE_TRICKLE_CHARGING, //涓流充电中
CHARGE_STATE_HIGH_TEMP, //电池温度过高
CHARGE_STATE_FINISH, //结束充电
} CHARGE_STATE;
//充电模式
typedef enum {
CHARGE_MODE_NORMAL,
CHARGE_MODE_PULSE,
CHARGE_MODE_80PERCENT,
CHARGE_MODE_MAX = CHARGE_MODE_80PERCENT,
} CHARGE_MODE;
M328V7_charger.rar
(15.11 KB, 下载次数: 57)
|
|