找回密码
 立即注册
查看: 8|回复: 1

STC32G-HSPWM做数控开关电源充电器(升降压)-PID控制

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:106
  • 最近打卡:2025-06-28 00:08:16

75

主题

6163

回帖

1万

积分

超级版主

积分
12930
发表于 6 小时前 | 显示全部楼层 |阅读模式
数控开关电源-恒压恒流充电验证电路@STC32G12K128

我有一堆各种各样的可充电电池,或者好多设备都是可充电电池的,各种电压都有,

一直想做一个数控开关电源升降压型的充电器,终于验证了这个想法。

我使用STC32G做的无刷电机驱动板来改装的电路来验证,这样不需要打板。
航模锂电池的内阻非常小,一般是5~20mR,调恒流模式的PID会比较困难,

花了不少时间。

参数:
输入电压:10~24V,有输入电压低压停充功能,用户设置低压电压。
输出电压:0~26.00V,分辨率0.01V。根据电池充满电的电压设置充电电压。
输出电流:0~3.000A,分辨率1mA。  限流设定步进0.100A,设定范围0.100A~3.000A。

PID处理频率:4000Hz。
接入负载瞬间输出电压会跌落一下然后恢复设定电压输出(没有进入限流时),

电流到达设定限流则恒流充电。
拔除负载瞬间输出电压会过冲一下然后恢复设定电压,过冲电压跟拔除负载时的电流正相关。

通过按键调整输入电压低压保护电压、输出电压、电流限流值、清零容量mAH。

本程序设置的参数不保存,用户自己可以添加EEPROM保存程序。
当输入电压低于输入电压低压保护电压时,停止充电,指示灯1Hz闪烁(0.5秒亮0.5秒灭),

直至输入电压恢复至高于设定电压0.5V后恢复充电。
当充电电流小于设定恒流值的10%时,充电完成,指示灯0.5秒快闪一次提示。
当充电电流大于设定恒流值的10%时,正在充电,指示灯常亮提示。
K1--SW   第一次短按释放选择调整输出电压,反显设定输出电压值,

              再短按释放切换调整输出电流限流值、输入电压低压保护电压值,
              再短按释放循环前述功能。
              10秒未操作则自动退出设定,恢复正常显示。 长按1秒回清除充电量mAH。
反显设定项时:
K2--DOWN  短按一次,设定电压-0.01V或设定电流-0.100A。长按超过1秒则每秒16个repeat key。
K3--UP        短按一次,设定电压+0.01V或设定电流+0.100A。长按超过1秒则每秒16个repeat key。

实测12V输入,给12.6V锂电池充电,充电电流1A,效率为88%,

                     主要损耗为开关管的开关损耗和输出二极管的损耗,
大电流发热严重,需要加散热片或散热风扇(5cm风扇即可)。

本方案不检测多节电池串联是否均衡,因为均衡有专门的均衡电路,强烈建议使用主动均衡电路,

推荐并联电容式主动均衡(固态电容2200uF) 或 电感耦合主动均衡(铁硅铝磁环多线圈带抽头电感),
这种均衡电路可以得到mV级别的误差,并且在放电时能提供较大的均衡电流(

特别是电感耦合主动均衡在压差0.1V可以提供1A以上的均衡电流)。


验证功能的升降压电路拓扑:

截图202506281655162530.jpg

实际做板子可以改为下面的电路:
截图202506281655526086.jpg

验证板子和操作按键:
截图202506281656553892.jpg

调整参数时,被选中的项目反显效果:
截图202506281658039175.jpg

测试照片:
截图202506281659117214.jpg

验证时用4节15AH磷酸铁锂电池做输入,当前容量为10114mAH。输入电压为13.08V。低压设定10.20V。
设定输出电压12.60V,设定恒流1.000A,当前输出电流1.000A,电压12.36V,给一节3700mAH、3S的锂电池充电。
当前PWM值为1052(周期2000),已充容量25mAH。

截图202506281703524452.jpg

PID曲线:插入电池时的响应:
PID曲线-串口绘图.PNG

工程源码、电路原理图:
数控开关电源-恒压恒流充电验证电路.rar (1.13 MB, 下载次数: 0)




回复

使用道具 举报 送花

3

主题

534

回帖

-221

积分

等待验证会员

积分
-221
发表于 6 小时前 | 显示全部楼层
STC32G-HSPWM用于数控开关电源充电器(升降压)的PID控制设计是一项具有实际应用价值的技术实践。该系统基于STC32G微控制器,结合HSPWM模块实现高效、精确的电压与电流控制,适用于多种可充电电池的充放电管理。以下从系统架构、控制逻辑、关键参数及功能实现等方面进行专业分析。

首先,系统输入电压范围为10~24V,具备低压保护功能,用户可自定义低压保护阈值。此设计有效避免了因输入电压不足导致的系统异常或设备损坏。当输入电压低于设定值时,系统进入停充状态,并通过指示灯以1Hz频率闪烁提示用户,确保操作安全。

输出电压范围为0~26.00V,分辨率为0.01V,支持高精度电压调节。这一特性使得系统能够适配多种电池类型,包括锂离子电池、铅酸电池等,满足不同应用场景下的充电需求。同时,输出电流范围为0~3.000A,分辨率1mA,限流设定步进为0.100A,覆盖广泛的电流调节范围,适用于大容量电池的快速充电。

在控制策略上,系统采用PID控制算法,采样频率为4000Hz,确保响应速度与稳定性。PID控制通过调节比例、积分和微分系数,实现对输出电压和电流的精准控制。对于内阻极低的航模锂电池,恒流模式下的PID调节尤为关键,需合理设置参数以避免过冲或振荡,提升充电效率与安全性。

系统在负载接入或移除时表现出良好的动态响应能力。接入负载时,输出电压短暂跌落随后恢复至设定值,未触发限流保护;拔除负载时,电压出现过冲现象,其幅度与当前电流成正比。这种特性表明系统具备良好的瞬态响应能力,但需进一步优化PID参数以减少过冲影响。

用户交互方面,系统通过按键实现参数调整与状态监控。K1键用于切换调整项(输出电压、电流限流值、低压保护电压),并支持10秒无操作自动退出。长按1秒可清零充电量mAH,便于用户记录与管理充电数据。K2键用于向下调整数值,提供直观的操作体验。

状态指示灯根据充电状态提供视觉反馈:常亮表示正在充电,快闪表示充电完成,闪烁表示停充状态。此类设计增强了系统的易用性与可靠性。

此外,系统参数未保存于Flash中,用户可通过添加EEPROM模块实现数据持久化存储,提高系统实用性。未来可考虑增加更多功能,如电池类型识别、温度补偿、充电曲线自适应等,进一步提升系统智能化水平。

综上所述,STC32G-HSPWM数控开关电源充电器设计充分体现了嵌入式系统在电源管理领域的应用潜力。通过合理配置硬件资源与优化控制算法,系统实现了高精度、高稳定性的充放电管理,为多类型可充电电池提供了可靠的解决方案。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-6-28 23:50 , Processed in 1.246767 second(s), 58 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表