当前位置: 首页 > news >正文

基于STM32F103ZET6实现PI调节PWM开关电源

一、系统架构设计

1. 主电路拓扑(Buck-Boost混合结构)

输入滤波 → 前级Buck(降压) → 后级Boost(升压) → 输出滤波
  • 输入电压范围:9-15V DC(适配锂电池/USB供电)

  • 输出规格:5V/3A(可调至12V/2A)

  • 开关频率:200kHz(兼顾效率与纹波)

2. 关键器件选型

器件 参数要求 推荐型号
主控芯片 STM32F103ZET6 内置12位ADC
高端MOSFET Vds≥30V, Id≥5A Si2302DS-T1-GE3
低端MOSFET Vds≥30V, Id≥8A Si3406DP-T1-GE3
电感 22μH(Buck), 47μH(Boost) Wurth WE-LQS
续流二极管 反向恢复时间<35ns SS34 Schottky
PI控制器 数字闭环控制 STM32内置PID模块

二、硬件实现方案

1. 电路原理图要点

[输入] → [保险丝] → [共模电感] → [输入滤波电容]↓
[STM32 PWM] → [MOSFET驱动电路] → [Buck电感] → [续流二极管]↓
[Buck输出] → [Boost电感] → [输出滤波电容] → [负载]
  • 驱动电路:采用IR2104半桥驱动器,死区时间自动插入

  • 保护电路:过压/欠压保护(电压监控芯片DW8331)

  • 采样电路:电阻分压+运放缓冲(INA128P)

2. PCB布局技巧

  • 功率回路:MOSFET与电感形成最短路径(<10mm)

  • 滤波电容:输入/输出端并联多个低ESR电容(10μF+100nF)

  • 热管理:MOSFET下方铺铜+添加散热片


三、软件核心算法

1. 定时器配置(TIM1高级定时器)

// PWM参数配置(200kHz频率)
TIM_HandleTypeDef htim1;
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;        // 72MHz / 1 = 72MHz
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 359;         // 72MHz/360=200kHz
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
HAL_TIM_PWM_Init(&htim1);// 通道配置(互补输出)
TIM_OC_InitTypeDef sConfigOC = {0};
sConfigOC.OCMode = TIM_OCMODE_PWM1;
sConfigOC.Pulse = 179;           // 50%占空比
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
HAL_TIM_PWM_ConfigChannel(&htim1, TIM_CHANNEL_1, &sConfigOC);
HAL_TIMEx_PWMN_Start(&htim1, TIM_CHANNEL_1);

2. PI控制器实现

typedef struct {float Kp;float Ki;float integral;float prev_error;
} PI_Controller;float PI_Compute(PI_Controller *pi, float setpoint, float feedback) {float error = setpoint - feedback;pi->integral += error;float output = pi->Kp * error + pi->Ki * pi->integral;pi->prev_error = error;return output;
}// 初始化参数(Ziegler-Nichols法整定)
PI_Controller buck_pi = {0.8, 0.2, 0, 0};
PI_Controller boost_pi = {0.6, 0.15, 0, 0};

3. 闭环控制流程

while(1) {// 采样输出电压(12位ADC)float Vout = ReadADC() * 3.3f / 4095 * 5.0f;// 前馈补偿(输入电压变化)float V_in = ReadVin();float duty_buck = PI_Compute(&buck_pi, 0.8*V_in, Vout);// 电流环补偿(电感电流采样)float I_load = ReadCurrent();float duty_boost = PI_Compute(&boost_pi, I_load, target_current);// 更新PWM占空比__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, duty_buck);__HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, duty_boost);
}

四、调试与优化

1. 关键参数调试

参数 调试方法 目标值
交叉频率 示波器观察MOSFET驱动波形 200kHz±10%
纹波电压 探头带宽≥20MHz测量 <50mVpp
效率 输入/输出功率计算 >92%
动态响应 阶跃负载测试 <100μs恢复

2. 常见问题解决

  • 现象1:输出电压振荡

    • 原因:PI参数过整定

    • 解决:降低Ki值或增加微分项

  • 现象2:MOSFET过热

    • 原因:死区时间不足

    • 解决:IR2104设置100ns死区

  • 现象3:EMI超标

    • 原因:开关节点振铃

    • 解决:添加RC缓冲电路(10Ω+100pF)


五、扩展功能实现

1. 数字交互接口

// 通过USART接收控制指令
void USART1_IRQHandler() {if (USART_GetITStatus(USART1, USART_IT_RXNE)) {char cmd = USART_ReceiveData(USART1);switch(cmd) {case 'V': SetVoltage(ReadADC()); break;case 'I': SetCurrent(ReadADC()); break;case 'P': ToggleProtection(); break;}}
}

2. 保护功能设计

  • 过压保护:DW8331触发后关闭PWM

  • 欠压锁定:输入电压<4.5V时禁止启动

  • 过流保护:INA219检测>3A时降频

参考代码 STM32F103ZET6 PI调节的PWM 开关电源 www.youwenfan.com/contentcnr/103339.html

六、性能测试数据

测试条件 输入电压 输出电压 效率 纹波
空载 12V 5.02V 93.2% 15mV
满载(3A) 12V 4.98V 91.8% 32mV
瞬间负载突变 12V→9V 5.01V - 45mV

七、工程文件结构

Project/
├── Core/
│   ├── Inc/               # 头文件
│   │   ├── main.h
│   │   └── hw_config.h
│   └── Src/               # 源文件
│       ├── main.c
│       └── tim.c
├── Drivers/
│   ├── CMSIS/
│   └── STM32F1xx_HAL_Driver/
├── Middlewares/
│   └── USB_Device/
└── Utilities/└── GUI/               # 可选触摸屏驱动

八、参考设计资源

  1. 参考文献

    • 电火花电源控制设计(主电路拓扑)

    • 双向DC-DC变换器设计

    • 逆变焊机数字控制方案

  2. 开发工具

    • STM32CubeMX(硬件初始化)

    • Keil MDK(代码开发)

    • LTspice(电路仿真)

测试仪器

  • Keysight DSOX3014T示波器

  • Chroma 63205A电子负载

  • Fluke 45万用表

http://www.jsqmd.com/news/361496/

相关文章:

  • 上饶商业活动服务团队选择全攻略:2026年市场趋势与实力公司推荐 - 2026年企业推荐榜
  • mysql共享表空间与独立表空间,哪种更适用于大数据量和高并发实用的系统
  • 论文写作“超进化”:书匠策AI如何重塑课程论文的创作生态
  • 2026最新卤味代加工推荐!国内优质卤味代加工服务商权威榜单发布,适配多场景需求 - 品牌推荐2026
  • G-Sensor赋能GNSS:破解静态漂移与节能控制新范式
  • 警惕!CAIE证书是不是智商税?这取决于你的期待和用途
  • 2026年江苏地区史密斯机选购指南与优质供应商推荐 - 2026年企业推荐榜
  • 2026年评价高的FPC热压机/成型热压机怎么选实力厂家推荐 - 行业平台推荐
  • 2026年比较好的多工况变风量阀/一体式电动变风量阀实力工厂参考哪家靠谱(高评价) - 行业平台推荐
  • Java面试难度好像越来越离谱了!
  • 永辉超市卡回收时需警惕的三大核心问题 - 京顺回收
  • 【深度解析】PMP培训:从认证逻辑到实战价值的完整指南 - 速递信息
  • 2026年初至今成都给水管平台优秀厂商综合评估报告 - 2026年企业推荐榜
  • 2026年知名的不锈钢阳台柜/不锈钢哪家靠谱公司口碑推荐(畅销) - 行业平台推荐
  • 高一成绩差的学生,学习机怎么选?精准补弱破“困境” - 海淀教育研究小组
  • 2026年口碑好的FVDH-280度防火阀/圆形FVD防火阀实力厂家口碑参考口碑排行 - 行业平台推荐
  • 必收藏|大模型退潮,AI Agent崛起!2026年AI四大变革,小白程序员必看
  • 2026年评价高的数控圆锯机/圆锯机直销厂家采购指南如何选 - 行业平台推荐
  • 摆脱论文困扰!千笔AI,实力封神的降AI率软件
  • 用过才敢说,更贴合本科生的AI论文网站,千笔·专业论文写作工具 VS 知文AI
  • 基于C#实现的专业级DXF文件显示控件
  • 意义的双重性:偶然显化与必然回响
  • 2026年口碑好的燃气蒸汽锅炉/蒸汽锅炉哪家质量好厂家实力参考 - 行业平台推荐
  • 意义与心经:行动的具体性与心的超越性
  • [NOIP 2005 提高组] 篝火晚会 题解
  • 2026年热门的倒角复合锯切专机/型钢在线跟切锯切专机实力工厂参考哪家靠谱(高评价) - 行业平台推荐
  • 收藏备用|程序员转型AI大模型:8大热门岗位+转行全攻略(小白必看)
  • 收藏!新人转行大模型赛道全攻略|小白/程序员必看,少走1年弯路
  • 收藏!小白程序员必看:大模型核心能力“记忆”全解析与实战指南
  • 意义的本质:解决真实问题,创造真实价值