1,pic初始化。
2.进入中断子程序后,首先将 PC 值堆栈,进行现场保护;之后检查 PWM脉宽寄存器,看是否允许 PWM 输出;重置定时器 1,为 PWM 设置合适的周期;从控制端口输出控制信号,向电池充电;输出 PWM 信号完成后,清中断标志位,为下一中断做好准备;最后回复现场,PC 出栈。
3.A/D 采样结束后,将结果赋值给 y(k),计算出 e(k),根据相应的 PID 参数计算 ,将结果赋值给寄存器,使寄存器值在原值的基础上加上增量。直到采样时刻到,进行下一次数字 PID 处理。
4.电池充电过程中,首先对电池电压和电池温度进行判断,如果采样电压超过了与设的电压U1,且电池温度高于 10℃,则跳过预充电阶段,直接开始快速充电,如果采样电压低于电压U1或电池温度低于 10℃,则进入预充电阶段。快速充电过程中,通过对电压的采样来判断是否出现了电压负增量,并同时判断是否超过了预设的电压值U2、电池温度超过了 45℃及电池温升是否达到 1 ℃ /min。当以上四个条件有任何一个满足时,则终止电池快速充电,进入涓流充电阶段。
|