基于单片机的开关电源设计
2018-10-15郭玉秀黄跃祖
郭玉秀,黄跃祖
(铜陵学院,安徽 铜陵 244000)
1 总体方案设计
要求设计的开关电源可以精确延时,还能够利用键盘预置输入电压,且要实现电压预置、输出等功能。
1.1 主体思路
选用的主控制器为AT89S51单片机,因为此单片机可以控制以PWM为基础的数字,从而使输出的直流电压可以进行设定和调节[1-3]。电流的输出上限是5 A,同时系统可以呈现输出的电压和电流。
就功率发生的变化而言,开关变压器需要选用的类型为隔离式[4-5]。这种变压器在频率高的状态下可以用来隔离,随后使用的斩断波形方法为PWM,且在MOSFET管的控制下作用于直流电压,从而使功率变化出现在高频类型的变压器中。
驱动电路部分。专门的驱动电路是MOSFET可以工作的必要条件,而IR2110电路恰好符合MODFET的工作要求。
输出电路。选用的型号为MUR3060PT的肖特基二极管。
PWM控制。根据控制芯片TL494,实现对PWM的输出控制。另外,TL494的改变和调宽电压具有相同特性。
信号给定部分。主要设计一个反馈系统来记录电路电压在功率电路中的数值。
1.2 方案确定
先完成硬件设计,再完成软件设计。两个方面达到要求后,根据软件和硬件的各个步骤,利用Keil uVision2软件写程序进行编译,直到最后一步有.HEX文件生成。编译结束后,利用proteus软件仿真得出仿真结果,并绘制电路图。
2 开关电源硬件电路设计
2.1 设计方案
此设计中,显示的数码管LED有8个。单片机的P0口控制段码是否输入、P2产生控制操控位码是否输入。接入键盘电路设计4个按键,可以完成改变时间和固定时间的步骤。具体地,按键定义如表1所示。
表1 按键功能表
设计时选用P1.6脚连接蜂鸣器,分配P1.7引脚控制JZC_23F电磁继电器(属于小型中功率)的断开或者接通,进而控制外部电源的接通或断开。
2.2 硬件设计电路框图
图1是设计好的硬件电路结构组成框图,分别由按键输入电路、LED显示器驱动电路、8位LED显示器、时钟电路、继电器电路、复位电路、蜂鸣器电路和时钟/日历电路组成。
图1 电路框图
2.3 整流滤波模块电路的设计
有些电子器件由于自身结构的特点具有单向导电性,如二极管。如果选择这些器件,可以将交流电变成直流电。设计的具体整流滤波电路如图2所示。
图2 滤波整流电路图
2.4 单片机控制电路的设计
2.4.1 时钟电路
时钟电路一般是将一只晶振和两个电容接在两个引脚XTAL0与XTAL1上,见图3。
图3 时钟电路
2.4.2 复位电路的设计
单片机中有RST复位引脚。完成单片机的复位,既可以用手动复位,也可以用上电复位,如图4所示。
图4 复位电路
2.4.3 LED显示电路设计与器件选择
本系统中,选择4位一体的LED显示器。LED段驱动芯片选用74LS48,能够满足需求。LED位驱动芯片选用ULN2003A。设计时,使P2口在芯片上与用来输入的端口1B至8B相连,同时可以实现位码引脚D1、D2、D3、D4连在用来输入的引脚1C至8C上。在单片机中产生的位码类型的输入信号会发送到UNL2803上,然后完成驱动和反向的功能。
2.4.4 按键电路设计与器件选择
按键数是4个,而在键盘中只有独立式类型的键盘符合要求。由图5可以看到,此电路中有4个阻值为1 kΩ的电阻,按键使用的开关是轻触型的。其中,P3口连接在键盘上。用P3.2、P3.3接入两个外部中断的请求信号INT0、INT1;P3.4、P3.5接入两个输入信号。
2.4.5 蜂鸣器电路的设计
一般情况下,10 mA的电流可以使压电式蜂鸣器正常工作。设计的蜂鸣器的驱动和控制电路,如图6所示。可以看到,三极管VT1负载的集电极中接有蜂鸣器,控制VT1的通和断,从而实现控制蜂鸣器的作用。
综上,设计的整体电路如图7所示。
图5 键盘与单片机口电路
图6 蜂鸣器电路和继电器电路
3 软件部分设计
3.1 开关电源的架构设计
要想实现程序的正常运行,要保证初始化发生在键盘和开关电源上,然后对定时器进行初始化。实现此部分功能的主程序流程图如图8所示,主程序流程图和程序如下:
3.2 PWM占空信号设计
如果存在干扰,就会导致由此开关电源产生的电压和电流发生改变。因此,若想实现稳压输出,就要使PWM类型的信号具有的占空比很快地接收控制[6],具体的算法流程如图9所示,程序如下:
图7 单片机硬件电路原理图
图8 主程序流程图
图9 算法流程图
3.3 按键软件设计
先用逐级行列键盘扫描法扫描键盘,然后使电阻与地相连接,保持无操作,则低电平呈现在每个线列上。但是,将电阻上提和电源接在一起时,继续不操作,会导致高电平呈现在每个线列上。设计的具体流程如图10所示,程序如下:
图10 键盘扫描子程序流程图
3.4 A/D采样模块的设计
A/D模块设计,采样集成电路PCF8591所具有的A/D模拟通道A0和A1,使电流和电压实现转变,具体实现的流程图如图11所示,程序如下:
3.5 数码管显示软件设计
数码管的作用是根据电流预输入的数值得到一个参考值,具体流程如图12所示,程序如下:
图11 转换模块流程图
图12 数码管显示流程图
4 系统软件的编译仿真
4.1 软件的编译
本次设计利用软件Keil uVision2,作用是编译。在此软件中,编译的基本步骤如下:
(1)开启Keil uVision2软件后,进入编辑单机“工程”选择“新建工程”,弹出下一个窗口,选择保存路径,另外选择一个新的项目,然后对这个新建工程命名为开关电源控制程序;
(2)重新创建一个文档文件,将其命名为基于单片机的开关电源控制器程序.C,然后进行单片机的选用;随后右击Source Group 1选择“增加文件组到Source Group 1”,把基于单片机的开关电源的程序控制器C加入Source Group 1的文件夹中;
(3)工程创建完毕后,要对工程进行下一步设置,右键单击Target,选择Options for Target“Target1”。
(4)上述步骤完毕后,左击快捷按钮“构造所有目标文件夹”,然后生成提示信息,即证明.hex文件已生成,完成对软件程序的编译,生成的.hex文件可导入Proteus中进行虚拟仿真。
4.2 软件仿真
选用proteus绘制电路图和各种流程图。随后,利用Keil uVision2以C51编译为基础进行软件的制作。设计完该控制器的硬件和软件后开始程序的编译,利用PZ-ISP V1.48软件将之前编译好的程序通过连接计算机与该控制器的USB串口电缆烧录到单片机内部的FlashRAM内,PZ-ISPV1.48烧录程序界面如图13所示。程序下载前,要进行以下步骤:
(1)选择与单片机对应的芯片类型,这里使用的是STC-89C5XX系列;
(2)选择正确的串口类型;
(3)打开已经编译且生成的HEX格式的文件;
(4)点击“下载程序”;
(5)若出现波特率调节超时提示,选择低速下载重新烧录。
图13 STC-ISP界面
4.3 仿真结果
通过如图14所示的开关电源的仿真结果,本设计可通过按键进行输出的直流电压设定和调节,并可以将输出的电压和电流在数码管上显示出来,满足设计要求。
5 结 论
本文采用51单片机实现对开关电源的设计及仿真,用键盘进行电压的预置,使用单片机进行脉冲宽度调制,使开关电源的输出电压在一定范围内可调。如果设计时选用工作频率更高、位数更高的单片机,就可以设计出工作频率更高、性能更好的开关电源。
图14 开关电源仿真结果