STM32下主函数设计与双向DC-DC变换器控制详解

需积分: 41 138 下载量 70 浏览量 更新于2024-08-08 收藏 1.83MB PDF 举报
在本文档中,主要讨论的是主函数程序设计应用于一个基于STM32的双向DC-DC变换器的控制系统。该系统的设计目的是提高航天器电源分系统的效能,通过采用双向DC-DC变换器来替代传统的电池充放电模块,以实现高功率密度和更好的能源管理。 首先,软件设计方法被阐述,强调了中断控制的多线程模式,其中包括以下几个关键部分: 1. **主函数**:作为程序的起点,主函数负责初始化所有外围器件,并在while循环中执行IDLE线程。IDLE线程执行低实时性的任务,如屏幕显示和测量值的数据处理。 2. **ADC中断**:当ADC采样完成后,这个中断会被触发,用于读取并处理ADC数据,确保数据的实时性和准确性。 3. **PWM定时器中断**:这是系统的核心,负责PID计算、PWM输出控制和ADC采样触发设置,因为其具有最高优先级,对系统的实时性能至关重要。 4. **按键中断**:负责响应按键输入,允许用户进行设置操作,增强系统的交互性。 针对双向DC-DC变换器,具体技术实现上,系统由多个模块组成: - **BUCK降压模块**:使用波形互补的可编程芯片IR2104驱动,提供稳定的电压转换。 - **BOOST升压模块**:同样采用IR2104,确保升压功能的高效执行。 - **测控模块**:利用低功耗单片机STM32进行闭环PI控制,监控和调整输出电压和电流,实现精确控制。 - **辅助电源模块**:确保系统的稳定运行。 在工作模式方面,双向DC-DC变换器表现出色: - 在充电模式下,系统具有精细的电流控制,支持1~2A范围内的步进调节,精度达到1.30%,同时具有0.87%的电流变换率和高达97.11%的充电效率,具备过充保护功能。 - 放电模式下,系统展现出高效率,可达96.54%,并且能保持输出电压在30V左右。 关键词:双向DC-DC变换器、BUCK电路、BOOST电路、PI闭环控制。本文的重点在于结合STM32平台实现高性能和高效的电源管理系统,适用于航天器和其他需要大功率电源的设备。