MSP430F149单片机PWM控制的DC-DC电源
[复制链接]
本系统以双H桥降压电路为核心,以MSP430F149单片机控制PWM信号的发生,单片机根据反馈信号对PWM信号做出调整,进行可靠的闭环控制,从而实现稳压输出。 系统主要由主控制器、锂电池电源、Boost升压模块、双H桥降压模块、键盘及显示模块构成。其中Boost电路将锂电池提供的12V升压为24V,为双H桥提供电源。主控制器根据输出端采集的反馈信号调整输出的PWM信号,以控制双H桥的输出达到设定的电压。 通过测试,系统能够正常工作,输出电压3~20V,产生的绝对误差均在0~0.1V范围内,能够达到较高精度。 关键词: 数控电源DC-DC MSP430F149 双H桥 1. 引言在实验室中,我们会用到各种不同电压大小的电源,如较为常见的5V、12V、3.3V电源。这些电源在实验室中我们用一些“直流稳压电源”(如江苏扬中华高仪器设备有限公司生产的HG63303直流稳压电源)就可容易得到,但当我们在实验室外,假设我们无法利用220V的交流电,或者很难携带一个体积稍大的“直流稳压电源”,因此我们也就很难利用这些“直流稳压电源”来产生我们所需要的电压,而因为一些可充电电池(如大容量锂离子可充电池)的体积比较小,我们比较容易携带,所以我们可以利用可充电电池来提供我们所需要的各种电压大小的电源。 本系统设计的目的是充分利用可充电池的便携性,通过设计一定的硬件电路,从而利用其为我们提供电压大小在3~20V的电源。 在设计过程中,有待解决的问题主要是: ① 如何让输出12V的锂电池提供3~20V的电源,即如何设计既能实现升压也能实现降压的硬件电路; ② 如何让硬件电路工作在稳定的状态; ③ 如何实现人机交互,即我们通过键盘输入所需电压大小,系统即输出该大小的电压。 2. 系统方案 系统方案的总体框图如下: ![]()
下面详细说明以上框图各部分: ① Boost升压模块:为双H桥降压模块提供电压,且需该电压大于20V(考虑到我们预想输出的电压最大为20V),因此,同时为便于程序设计,将锂电池输出的12V升压为24V; ② 双H桥降压模块:受主控制器MSP430F149控制,输出键盘设定输出的电压; ③ 输出滤波:减小输出电压的纹波; ④ 负载:一个反馈输出电压回主控制器的电阻; ⑤ 键盘:设定系统输出电压; ⑥ 显示模块:显示设定电压,为LCD1602; ⑦ 主控制器MSP430F149:接受键盘输入、控制显示电路、控制降压模块并采样反馈回来的信号。 PS:因为我们所利用的可充电池有限流作用,因此我们并没有设计限流保护电路。 下面介绍系统工作流程: 第一步:升压模块将锂电池输出的12V升压为24V; 第二步:通过键盘设定输出电压,并将设定值显示在LCD1602上; 第三步:主控制器输出PWM去控制双H桥降压模块输出; 第四步:降压模块输出电压并经滤波,最后经负载反馈电压信号回主控制器; 第五步:主控制器采样反馈信号并将其与设定的电压值相比较,当反馈电压值在设定电压值±0.1V范围内时,主控制器输出占空比恒定的PWM;否则,主控制器输出的PWM的占空比自动加1%或减1%,并重复第三步。 3. 系统硬件设计系统硬件主要构成部分见下框图: ![]()
下面将详细说明以上框图中各部分电路: ① 主控制器MSP430F149电路 这部分电路我们直接利用了MSP430开发板。 ② 主控制器MSP430F149供电电路 这部分的电路是为MSP430F149提供其能正常工作的电压3.3V,由两部分组成: ![]()
其中5V电源是为3.3V电源提供输入电压。 A.5V电源 之所以选用5V电源,原因主要是:第一,5V电源较为常用,在用于此系统外还可作其他用途;第二,5V电源电路易为搭建,有丰富的资料可以参考。实际电路如下: ![]()
图1. 5V电源 电路中使用7805稳压芯片,使电路稳定且简化。 B.3.3V电源 3.3V电源的搭建主要是利用了稳压芯片ET1117来搭建。具体的电路图(芯片的参考手册)如下: ![]()
图2. 3.3V电源 ③ Boost升压模块 这部分电路我们直接利用了现成的Boost升压模块。 ④ 双H桥降压模块 这部分电路我们直接利用了现在的双H桥降压模块。 ⑤ 反馈电路 反馈电路我们利用电阻分压来反馈信号回主控制器。如下图3所示: ![]()
图3. 反馈电路 图中,OUT表示系统输出电压,P6.0表示主控制器MSP430F149的一个引脚。反馈电压从P6.0反馈回主控制器。因为系统的最大输出为24V(升压模块将锂电池输出的12V升压为24V,因此双H桥降压模块所能输出的最大电压即为24V),大于MSP430F149的工作电压,因此我们需要将输出电压按比例反馈回主控制器。根据电阻分压,我们可得得到: ![]()
求解得:![]() 我们根据实际情况,选择 。 ⑥ 键盘接入和显示模块 A. 键盘接入电路如下: ![]()
图4. 键盘接入电路 其中P1.0所接的按钮改变设定电压值的步长为1V,P1.1的为0.1V。 B. 显示模块:LCD1602接在MSP430开发板上。 4. 系统软件设计 算法设计: 1. 初始化: 1)关闭看门狗,晶振启震 2)充分利用MSP430F149的定时器A能自动生成PWM波形输出,通过修改CCR1的值设置占空比,通过CCR0的值设置PWM周期。 3)初始化ADC,利用MSP430自身的12bitADC采集输入反馈。 4)以及初始化按键的开中断以及初始化1602等。 运行: 1)让MSP430通过P60采集输出端的电压反馈,通过P22智能输出PWM控制信号调节输出端电压,当电压过大则降低PWM的占空比,当电压过小时则增加PWM的占空比,使输出电压达到设定值。 2)设定值可以通过独立按键调节,独立键盘通过中断触发。 3)通过LCD1602显示设定电压以及PWM占空比. 4)利用调试时运用MATLAB计算出的拟合曲线(输出值与设置值的2次曲线方程),将设置的电压代入方程再与反馈电压比较,从而达到微调输出电压,使输出结果更加准确。 2. 算法流程图:
![]()
① 输出电压与设定电压的关系 ![]()
图5. 输出电压——设定电压关系 由上图可以看出,输出电压与设定电压基本保持一致,故该系统能达到较高的精度。
|