简介:
本项目基于STM32L431RCT6开发,并且基于HAL库,控制算法为PID,实现了恒流恒压功能,并且配有一个OLED屏幕作为内容展示,内部各种保护都写有,并且代码逻辑清晰,可重复开发
应用场景:
学习STM32;学习数控电源;PID学习;
一、产品简介
- 本项目是一个基于STM32开发的纯数控数字电源,单片机为STM32L431RCT6开发,并且底层代码由STM32CubeMx生成,配有一个 OLED 屏幕显示系统内容,完成基本的保护功能,例如输入过欠压,输出过欠压,输出过流,内部温度保护等。
二、应用场景
- 开关电源
- 电源转换器
- 实验电源
- 学习BUCK拓扑
三、产品方案
- 主功率拓扑:同步BUCK
- 控制芯片:STM32L431RCT6 (可以用STM32F103RCT6 替代,移植代码工作量也不大)
- 电流采样方案:使用了一个 ACS711KLCTR-25AB-T 电流霍尔传感器 (可以用国产霍尔传感器替代,保留了5V和3.3V供电方式,可选用)
- 电压采样方案:EG8548 运放差分采样 (可以普通运放替代)
- 显示方案:硬件SPI 的 0.96寸OLED 屏幕
- 辅助电源:EG1198 作为一级降压,XL1509-5.0 作为二级降压,ASM1117-3.3 作为三级降压
- 驱动方案:一个基于EG2181D的半桥驱动
四、产品参数
- 输入电压范围:DC 18~80V
- 输出电压范围:DC 5~28V
- 输出电流范围:DC 0~20A
- 功率板PCB尺寸: 100x100mm
- 控制板PCB尺寸: 60x40mm
- PCB规格:双层板,单面布局
五、产品使用说明
- 功率MOS管可以替代,替代Vds电压要大于等于100V,Id电流要在100A左右,内阻越小越好
- 本模块需要配合单片机控制,需要提前给主控下载好程序
- PCB源文件也放在了附件当中,可以自己进行修改或者查看,在附件“PCB_PCB_数控BUCK学习功率板v2_2023-10-14.zip“中
- 此工程只是功率板,还有一张控制板在另一个项目里面,同样也可以下载一切信息
- 注意本工程为”基于SMT32的数控BUCK(二)控制板“的功率板,需配合控制板使用(详见我个人主页)
六、注意事项及备注
- 降压DC,请保证输入的功率足够。
- Layout 布局比较紧凑,所以在PCB上隐藏了位号信息,详细的位号信息,可以导入PCB源文件,也可以看”PCB_PCB_数控BUCK学习功率板v2-丝印位号_2023-10-14.zip“
- 附件里面有一个“L431RCT6_BUCK_HEX.zip”,如果不想编译源码,直接使用,可以先烧录这个hex,真正的源码放在控制板的项目里面
- BOM里面有一个位号 C10 的电容,在底层,可贴可不贴,不影响整体功能
- BOM里面未匹配的器件
- U9、U10:C286231 散热器
- L1:需要自己绕制,电感绕制参数在附件“电感设计文件.zip”中,包含所用磁环参数及绕制线径与匝数
七、开发环境展示及部分代码展示
- KEIL版本与SMT32CubeMx版本展示
- 内部部分代码展示,展示了PID部分计算代码,及相关参数定义代码
八、OLED屏幕显示内容展示
- 一共有3个页面的内容,分别是当前运行参数页面,设定参数页面,版本展示页面
九、按键功能描述展示
十、Git仓库展示
十一、测试图片
- 输入25V,输出12V,启动波形-2023-10-13-15-32-18(通道1为输出电压,通道2为输入电压)
- 输入35V,输出12V,带载8A输出电压波形-2023-10-13-15-36-09
- 带载中改变±10V输入电压,输出12V,带载8A输出电压波形-2023-10-13-15-49-27
- 输入25V,空载及带载纹波测试,及输入欠压后,输出关闭电压波形
- 输入25V,带载8A测试下管尖峰,通道1为下管驱动,通道2为下管DS尖峰波形,下管尖峰基本没有-2023-10-13-16-04-43
- 输入25V,带载8A测试上管尖峰,通道1为上管管驱动,通道2为上管DS尖峰波形,尖峰大概比输入电压高4V-2023-10-13-16-11-42
十二、测试视频
- 带载测试,并且带载过程中,调高输入电压,直至保护电压80V以上时,可以输出稳定,并且过压后关闭输出,过压报错消失后自动恢复
- 恒流恒压带载测试,电子负载设定为CR模式,目前恒流设定为3A,为了方便测试,可见在切换到恒流模式后,系统会以电流为目标值,根据电阻值切换输出电压
- 按键及OLED屏幕功能展示
点赞
描述
PCB
元件清单
原理图
附件
讨论