尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

基于ARM的Buck-Boost拓扑级联式双向DC-DC电源变换器

基于ARM的Buck-Boost拓扑级联式双向DC-DC电源变换器 基于ARM的buck-boost拓扑双向DC-DC电源变换器 同步BUCK电路和同步BOOST电路进行级联采用高性能32位ARM 芯片构建数字电源能够根据输入电压和输出电压的大小关系实现自动切换工作模式将参数信息进行显示并且可以实现稳压输出。 a83搞电源设计的兄弟都知道双向DC-DC就是玩拓扑的艺术。今天咱们要聊的这个基于ARM的buck-boost系统绝对是把同步整流玩出了新花样——BUCK和BOOST两个电路直接级联加上Cortex-M内核的精准控制活生生把传统电源变成了智能设备。先上硬货整个系统的核心逻辑其实就一句话输入电压和输出电压比大小自动切换工作模式。但真要做到丝滑切换硬件上得下足功夫。比如这两个同步整流电路共用同一组电感的设计就得特别注意相位控制// 同步BUCK的MOS管驱动相位 TIM1-CCER | TIM_CCER_CC1E | TIM_CCER_CC1NE; // 上管互补输出 TIM1-BDTR | TIM_BDTR_MOE; // 主输出使能 // 同步BOOST的驱动配置 TIM8-CCER | TIM_CCER_CC3E | TIM_CCER_CC3NE; TIM8-BDTR | TIM_BDTR_MOE;这两段定时器配置代码看着简单实际上藏着玄机。用两个高级定时器分别控制BUCK和BOOST的上下管既能避免信号干扰又能保证死区时间精准控制。特别是TIM1和TIM8这两个定时器在STM32里可是带死区插入的狠角色实测能把开关损耗降低15%以上。基于ARM的buck-boost拓扑双向DC-DC电源变换器 同步BUCK电路和同步BOOST电路进行级联采用高性能32位ARM 芯片构建数字电源能够根据输入电压和输出电压的大小关系实现自动切换工作模式将参数信息进行显示并且可以实现稳压输出。 a83模式切换才是重头戏。用ARM芯片的ADC连续采样配合DMA搬运数据实时判断输入输出电压关系uint8_t check_work_mode(void) { float Vin get_ADC_value(ADC_CHANNEL_0) * 0.00488f; // 12位ADC换算 float Vout get_ADC_value(ADC_CHANNEL_1) * 0.00488f; if(Vin Vout 0.5f) return BUCK_MODE; else if(Vin Vout - 0.5f) return BOOST_MODE; else return BUCK_BOOST_MODE; // 特殊工况处理 }这里0.5V的滞回区间设计很关键实测能避免临界点震荡。有个坑得提醒ADC采样率别设太高否则高频干扰会让你怀疑人生。我们项目里用的是72MHz主频下配置1us采样时间配合二阶RC滤波波形稳如老狗。稳压闭环才是数字电源的灵魂。上PID算法的时候发现传统位置式PID在模式切换时容易翻车后来改成了增量式PIDtypedef struct { float Kp; float Ki; float Kd; float last_error; float prev_error; } PID_IncTypeDef; float pid_increment(PID_IncTypeDef *pid, float error) { float delta pid-Kp*(error - pid-last_error) pid-Ki*error pid-Kd*(error - 2*pid-last_error pid-prev_error); pid-prev_error pid-last_error; pid-last_error error; return delta; }这种算法最大的好处是切换模式时输出不会突变。实测从BUCK切到BOOST模式时输出电压波动控制在2%以内比某些商用模块还稳。最后说下显示部分的骚操作。用GPIO模拟8080总线驱动LCD省下的硬件资源全给PWM用了。显示刷新时记得关中断不然你会看到屏幕上的数字在蹦迪void refresh_display(void) { __disable_irq(); // 关闭全局中断 ILI9341_SetAddressWindow(0, 0, 240, 320); ILI9341_WriteData((uint8_t*)display_buffer, sizeof(display_buffer)); __enable_irq(); }这套系统实测下来12V-36V输入范围能稳在24V输出满载效率92.7%。最爽的是拿手机连上蓝牙模块直接在APP里调参数——数字电源就该这么玩下次有机会再聊聊怎么用ARM的TRACE功能抓动态响应波形那才是真·硬件调优的乐趣所在。
返回列表