数控步进直流稳压电源.docx
《数控步进直流稳压电源.docx》由会员分享,可在线阅读,更多相关《数控步进直流稳压电源.docx(24页珍藏版)》请在冰豆网上搜索。
数控步进直流稳压电源
2009年全国大学生电子设计竞赛模拟
设计与总结报告
课题:
数控步进直流稳压电源的设计与制作
参加学校:
参加学生:
参赛时间:
数控步进直流稳压电源
摘要:
本文重点介绍了采用STC12C5A60S2单片机为核心控制器件,用输出信号采集调理电路对输出的电压、电流进行实时采样,然后把采样的值送给内部自带AD转换的STC12C5A60S2进行处理,之后控制液晶来同时显示当前输出的的电压和电流值的系统设计和实现方法。
通过完整的软硬件设计,可实现竞赛课题的基本部分和提高部分的功能要求。
系统硬件主要由STC12C5A60S2核心控制电路,液晶显示电路,掉电保护电路,键盘电路,稳压电源输出电路,信号采集调理电路,DA转换电路,输出电压调理电路,声光报警电路和为系统供电的电源电路等组成;软件上重点实现了D/A和A/D转换,键盘及显示,系统保护等功能。
本系统在硬件设计及软件编程均具有创新和独特之处:
硬件上:
(1)主控模块,采用STC12C5A60S2单片机为核心控制器件,其有第二串口,有A/D转换和PWM/PCA功能,且有内部EEPROM,减少了外围电路的设计,实现起来更加方便灵活。
(2)D/A转换模块采用TLV5618的输出来满足要求。
系统简捷,灵活使用。
软件上:
在按键扫描子程序设计上,添加了电压的粗调(步进0.1V)和细调(步进0.01V),方便使用者的需求。
该系统经过调试,达到了系统各项指标要求,且稳定可靠。
具有输出电压可调范围0-+12V,步进幅度为0.1V和0.01V;输出电压电流值通过液晶显示设定,显示精度分别为0.01V和0.01A;并具有过流保护和报警提示功能和输出纹波电压小于10mV。
关键词:
数控稳压电源STC12C5A60S2液晶显示A/D,D/A转换
1.系统设计
1.1课题要求及任务
基本要求:
(1)交流输入电压范围:
220V±10%
(2)输出电压可调范围:
0~±12V
(3)输出电流范围:
0~1A
(4)电压电流精度分别是:
0.1V和0.01A
(5)输出纹波电压:
小于10mV(输出电压为10V,输出电流为500mA测得)
(6)过流保护动作电流:
1.1A
发挥部分
(1)电压精度:
0.01V
(2)掉电保护
(3)其它
说明
(1)交流输入电压范围:
220V±10%
(2)输出电压范围:
0~+12V,通过按键F1、F2、F3、F4来实现输出电压
的加减
(3)输出电流范围:
0~1A
(4)输出纹波电压:
<10mV(输出电压为10V,输出电流为500mA时测得)
(5)过流保护动作电流:
1.1A,通过硬件电路来实现,并伴有声光报警
(6)用液晶来同时显示当前的电压或电流值,显示精度电压为0.01V,电流为0.01A
1.2方案论证与比较
1.2.1主控芯片选择方案论证
根据课题要求,主控模块要完成对采集来的电压电流信号进行转换,并通过键盘操作进行调节,且要求的精度较高,在此我们对控制器的选择有以下三种方案。
方案一:
选用ATMEL单片机AT89S51作为核心控制器件,其内部有8KROM程序存储器,256RAM数据存储器,存储空间大,执行速度快。
但在本题中并不需要对信号的存储,并且单片机的晶振频率只有12MHz。
对实现信号精密的测量控制较为麻烦。
方案二:
选用MICROCHIP公司生产的单片机PIC16F877A芯片,是一种具有FLASH程序存储器的8位CMOS单片机,晶振频率达20M,内部集成了8通道10位的模数转换器(简称A/D),两路高达10位分辨率的脉宽调制器(简称PWM)。
这将为模拟信号的数据采集和数字量到模拟量后进行调节带来极大的方便。
但考虑到串口下载问题,我们这里并不选用。
方案三:
选用Xilinx公司生产的可编程逻辑器件XC95108芯片,CPLD芯片晶振频率高,可以达到20MHz。
这么高的频率足以满足其精度的要求。
另外其逻辑功能强,使用方便灵活,易于功能扩展,集成度高,能提高工作的稳定性,但是其需要增加许多外围电路,从而会造成额外的其他问题。
方案四:
选用宏晶科技公司生产的新一代8051单片机STC12C5A60S2作为核心控制器件,其具有EEPROM功能,速度快,内部集成MAX810专用复位电路,2路PWM,8路高速10为A/D转换,工作频率范围为:
0~35MHZ。
其支持串口下载和内部自带A/D转换为模拟信号的数据采集和数字量到模拟量后进行调节带来极大的方便。
使外部电路变得简单化了,而且足以满足精度要求。
并能较好的完成基本和发挥部分的各项指标。
本课题综合考虑,我们这里选用方案四,采用单片机STC12C5A60S2作为核心控制器件。
1.2.2电源解决方案论证
系统需要多个电源,STC12C5A60S2需要5V电压,运放需要+12V和-12V电压。
方案一:
使用开关电源:
开关电源体积小、重量轻,输入交流电压动态范围大(100~250V),输出电压稳定。
但是电路复杂、制作困难,纹波较多,高频干扰较大。
方案二:
采用三端集成稳压器电源。
该电路采用可控硅作为第一级调压元件,用稳压电源芯片LM7812,LM7805和LM7912可分别得到+12V和-12V的稳定电压,LM324作为第二级调压元件,通过STC12C5A60S2单片机控制,键盘操作,并加上软启动电路,获得要求的输出电压0~12V,0.1V步进,驱动能力可达1A,同时可以显示电源电压值和输出电流值的大小。
LM324价格便宜,应用广泛,用它作的+12V转为-6V电源驱动几个运放已是足够了。
从而达到了不增加变压器绕组的情况下得到-6V电压的要求。
这种电源电路简单,元器件少,购买方便,价格便宜,制作方便,其结构框图如图1.1所示:
图1.1电路结构框图
本课题综合考虑,由于需要稳定性好,精度高,需实现0~12V范围内可调等功能,因而此处我们根据课题要求选择方案二。
1.2.3电压、电流显示方案论证
电压电流的显示主要作用是完成对电压电流信号进行采集,以便通过计算得到所需参数并存储和送显示器显示。
本系统选用STC12C5A60S2单片机作为控制器。
显示模块主要完成显示电压、电流数据,并通过键盘选择粗细步进调节数据等,有两种显示方案可选择。
方案一:
采用数码管显示。
数码管具有低能耗、低损耗、低压、寿命长、耐老化、对外界环境要求低,易于维护。
同时精度比较高,称量快,精确可靠,编程容易,操作简单等优点。
缺点是显示汉字不易实现,多数据多行显示结构复杂。
方案二:
使用液晶显示屏显示电压电流值和汉字说明等。
液晶显示屏(LCD)具有轻薄短小,低耗电量,无辐射危险,平面直角显示以及影象稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强等特点。
可以显示汉字等各种符号。
但一般需要利用控制芯片创建字符库,编程工作量大。
本课题综合考虑,由于需要显示的数据内容量多且有汉字显示,选择方案二,用液晶JCM12232B来实现显示电压电流。
1.2.4系统保护方案论证
系统保护电路主要作用是具有过流保护(输出电流有效值达1.1A时动作)、声光报警、掉电保护保护功能,保护时有发光二极管和蜂鸣器发出声光报警,进而使人可以发觉来切断电源。
当电路有外界造成掉电时,保护电路可以自动存储数据。
方案一:
硬件保护方式
方案二:
软件保护方式
本课题综合考虑保护电路由软件方式设计会造成系统设计进一步复杂化,因此决定采用硬件为主即采用方案二,硬件上采用24C02、TLP521等集成块来实现。
1.3系统总体方案论证
经过方案比较和论证,最终确定的系统组成。
题目是要求设计一个数控直流电压源,其中单片机STC12C5A60S2构成主控模块,JCM12232B液晶显示作为显示模块,变压器、LM7812、LM7912做正负12伏电压输出、LM7805做5伏电压输出,以上三部分主要供应主控电路和运放电路用。
提供负载的大功率电源直接由变压器经整流滤波后得到。
康铜电阻丝做电流采样电阻。
滑线变阻器作为负载。
系统组成整体电路结构紧凑,思路清晰。
模块化的设计更易于电路操作。
2.单元电路设计
2.1系统工作原理图
系统工作原理图如图2.1所示:
图2.1:
系统工作原理
2.2各电路工作原理和技术参数
2.2.1STC12C5A60S2核心控制电路
电路如图2所示:
图2.2:
STC12C5A60S2核心控制电路
由于单片机对时钟的要求比较精确,在此采用12M晶振和两个30P的陶瓷电容,从而保证单片机的正常精确工作。
C401、R401和按键F7组成单片机的上电复位兼手动复位电路,发光二极管L401起一个指示作用。
当开始上电时,由于电容两端电压不能突变,单片机的9脚相当于接一个高电平,随着对C401的充电完成9脚电位会逐渐降低,上电复位完成。
在单片机运行中,当按下按键F7后,电源与R401串联分压使单片机的9脚获得足够时间的阀值以上电压,单片机即进行复位,同时指示二极管L401亮一下。
在单片机复位后,松开按键F7,单片机即可开始进行正常的运行程序。
单片机的P2.0、P2.1、P2.2、P2.3、P2.4、P2.5管脚是按键的输入端口,作用分别为电压值粗调减键、电压值粗调加键、电压值细调减键、电流值细调加键、过流保护清零键、液晶显示背光调节键。
单片机接收到不同的键值会做出相应的处理,同时通过液晶显示出来。
P1.0、P1.1分别接信号采集电路的AD0、AD1,分别为电流采样输入通道、电压采样输入通道。
单片机根据需要进行对不同通道的信号进行转换,从而可以得到液晶显示所需要的电压值和电流值。
P1.2为TLV5618的串行数据输入端,P1.3为TLV5618的串行接口时钟输入CLK,P1.4为TLV5618的片选信号CS,单片机根据需要进行转换使用,来完成任务。
P0为液晶显示的数据输入端口。
P3.0、P3.1、P3.2、P3.3分别是控制液晶显示的E1、E2、R/W、A0,P1.5是控制液晶显示的背光调节。
L401和R402组成通电显示电路。
2.2.2按键电路
电路如图2.3所示:
图2.3:
按键电路
F1、F2、F3、F4、F5、F6分别和P2.0、P2.1、P2.2、P2.3、P2.4、P2.5相连接
按键F1:
每次按下此键输出电压就减少0.1v
按键F2:
每次按下此键输出电压就增加0.1v
按键F3:
每次按下此键输出电压就减少0.01v
按键F4:
每次按下此键输出电压就增加0.01v
按键F5:
掉电保护清零调节
按键F6:
液晶显示背光调节
2.2.3稳压电源输出电路
电路如图2.4所示:
图2.4:
稳压电源输出电路
此模块原理我们可以从电路图图2.4可知,从变压器次级输出的15V交流电经过整流二极管D201、D202、D203、D204的整流、电容C201、C202的滤波后送给调整管TIP122,经过调整后,送给后一级的采样电路,然后输出。
在电路中有一个控制点A,两个采样点B、C。
A点受控制信号调理电路的控制,B、C分别是电流、电压的采样点。
下面分别对它们一一进行介绍。
2.2.4信号采集调理电路
电路如图2.5所示:
图2.5:
信号采集调理电路
由图2.4、图2.5可知B点的采样值是采样电阻R202分压所提供的,采样值送给由R301、R302、R303和U301B组成的同相加法器进行放大,uo=(1+R303/R301)ub,然后经过R304降压后同时送给STC12C5A60S29的AD0通道和比较器U301C,比较器的基准电压是12V电压经过10K电阻限流然后经过D302稳压管稳压和一个10k的电位器并联调节得到的,比较器的结果控制二极管D301的导通和关断,影响A点的电位变化,从而使调整管工作,使输出电压变化,同时也起到保护电路的作用。
由图2.4、图2.5可知C点的采样值是采样电阻R203、R204和电位器RP201分压得到的,采样值首先送给由U302A构成的电压跟随器,实现电流的放大,然后送给由电阻R308、R309和U302B构成的1:
1的反比例放大器,然后经过电阻R310后送给STC12C5A60S2的AD1通道进行转换。
2.2.5液晶显示电路
电路如图2.6所示:
图2.6:
液晶显示电路
在此电路中我们使用了JCM12232液晶,来显示当前输出的电压电流值。
电路中的E1、E2、R/W、A0分别与单片机的P3.0、P3.1、P3.2、P3.3相连接,液晶显示的数据输入与单片机的P0口相连接。
背光调节LED通过9013与单片机的P1.5相连接,通过按键F6来控制。
2.2.6掉电保护电路
电路如图2.7所示:
图2.7:
掉电保护电路
在掉电保护电路中我们采用24C02来设计电路,当由于某些情况掉电后保护系统中的数据存储单元的内容使数据不丢失,上电后仍可显示掉电前的电流电压值。
单片机与24C02的应用电路如图2.7所示,为了方便起见,将24C02的器件地址设定为1010000(即a0H),将A0、A1、A2接地,同时为了方便读写存储,将写保护端口WP接地(即未写保护)。
串行数据输入/输出端口SDA与单片机的P3.7相连接,串行时钟信号出入端SCL与单片机的P3.6相连接。
A0
(1):
地址输入;
A1
(2):
地址输入;
A2(3):
地址输入;
GND(4):
接地端;
SDA(5):
串行数据输入/输出端;
SCL(6):
串行时钟信号出入端;
WP(7):
写保护;
VCC(8):
供电电源;
2.2.7DA转换电路
电路如图2.8所示:
图2.8:
DA转换电路
在D/A转换电路中我们采用了D/A转换器TLV5618的输出来满足电路的要求。
TLV5618是12位D/A转换器,具有两个输出通道到(4脚和7脚),在此电路中我们选用的是4脚OUTA与下图2.9的控制信号调理电路线连接。
TLV5618的1脚DA_IN、2脚CLK、3脚CS分别与单片机的P1.2、P1.3、P1.4相连接。
DA_IN
(1):
数据输入端;
CLK
(2):
串行时钟输入端;
CS(3):
片选信号输入端,低电平有效;
OUTA(4):
DACA模拟输出;
AGND(5):
模拟地,在本电路中接GND;
REFIN(6):
基准电压输入,在本电路中由12V电压经过1K电阻限流然后经
过D701稳压管稳压和一个10k的电位器RP701和R702并联调节得到的,电容C701和C702在此起滤波作用;
OUTB(7):
DACB模拟输出;
VDD(8):
电源输入(+5V),在本电路中接VCC;
2.2.8控制信号调理电路
电路如图2.9所示:
图2.9:
控制信号调理电路
TLV5618的输出模拟电流量经过U302D转化为模拟电压量,然后再经过反相器U302C把输出电压送给图2.9中由U301A构成的比较器作为比较器的基准电压,从图2.4和图2.9可以看出采样电压UC与参考电压比较来使A点的点位变化,A点电位变化使调整管TIP122动作,从而使输出电压改变,输出电压变化进而使输出采样电压变化,这样就够成了一个闭环的自动调节电路,只需改变DA数值便可以改变输出电压值。
2.2.9声光报警电路
电路如图2.10所示:
图2.10:
声光报警模块
此模块电路图如图2.10所示,其原理是当输出电路过载时采样端送往由U301A构成的比较器的3脚,从而改变1脚的输出电压,当达到设定值时,L901导通,使TLP521工作,进而使三极管9013导通驱动蜂鸣器发出声音。
2.2.10系统供电的电源电路
首先输入的是15V的交流电,经过保险管后被整流二极管D101、D102、D103、D104整流过后,由电容C101、C102对其进行滤波,然后经过稳压块7812、7912稳压在输出端又经过电容C103、C104、C105、C106输出+12V和-12V供电,+12V又经过7805稳压在输出端经电容C107/C108滤波输出5v供电。
电路原理图如图11所示:
图2.11:
系统供电的电源电路
然后是比较器的基准电压供电,12V电压经过10K电阻限流然后经过D302稳压管稳压和一个10k的电位器来调节,从而为比较器提供一个标准的基准电平,电容C305在此起一个滤波作用。
电路原理如图2.12所示:
图2.12:
比较器的基准电压供电
3.程序设计
3.1程序设计思路:
我们的程序设计思路是:
当电源打开的时候,MCU进行复位,寄存器清零。
接着电源应该显示和输出上次关机前的电压大小,这时候MCU先读取EEPROM中保存的电压编号,根据电压编号读出对应电压,把该数据送到DA,进行转换送到显示部分。
这时候程序循环检测是否有按键信号,如果F1按下,当前电压数据减50,相对应输出电压(POWER—OUT引脚)减少0.1V,保存设置电压数据。
如果F2按下,电压数据加50,输出电压增加0.1V,保存设置电压数据。
如果F3按下,当前电压数据减5,相对应输出电压减少0.01,保存设置电压数据。
如果F4按下,当前电压数据增加5,相对输出电压增加0.01。
如果当电流为1.1A时,出现声光报警现象,这时按下F5键,输出电压变为0V。
如果液晶需要背光调节,则按下F6键来调节就可。
3.2程序流程图:
3.2.1主控程序流程图
流程图如图3.1所示:
图3.1:
主控程序流程图
3.2.2键盘控制程序流程图
流程图如图3.2所示:
图3.2:
键盘控制程序流程图
4.测试结果及分析
4.1测试仪器及设备
测试过程中,用到的主要测试仪器有:
表1:
序号
名称
型号
数量
备注
1
多功能数字万用表
DT9208
1
2
标准型数字万用表
UT50/UT101系列
1
3
数字示波器
扬中科泰CA1022
1
60MHZ
4
信号源
台湾固纬SFG2110
1
5
PC机
1
512M内存
4.2整体全面调试
4.2.1输出电压范围测试
测试条件:
空载
按“+”键电压应可调至+12V,按“-”键电压应可调至0.5V以下。
测试数据如表2所示:
表2:
粗调减
F1步进次数
10
30
50
70
90
110
120
电压值
11V
9V
7V
5V
3V
1V
0V
粗调加
F2步进次数
10
30
50
70
90
110
120
电压值
1V
3V
5V
7V
9V
11V
12V
细调减
F3步进次数
1
3
5
7
9
11
12
电压值
8.99V
8.97V
8.95V
8.93V
8.91V
7.99V
7.97V
细调加
F4步进次数
1
3
5
7
9
11
12
电压值
0.01V
0.03V
0.05V
0.07V
0.09V
0.11V
0.12V
测试数据分析:
由表2可以看出,按F2和F4即“+”键电压可从0V调至+12V,按F1和F3即“-”键电压可从12V调至0.5V以下,即输出电压范围可实现0~+12V的调节。
4.2.2电压显示准确性测试
测试条件:
空载
在输出电压分别为0.5V、1.0V、1.5V、2.0V、3.0V、4.0V、6.0V、8.0V、10.00V、12.00V时,测量电压显示值与实际值的差异。
测量数据如表3所示:
表3:
数据名称
预设电压(V)
电压显示值
电压实际值
误差值
0.5
0.50
0.49
+0.01
1.0
0.90
0.99
-0.09
1.5
1.50
1.49
+0.01
2.0
2.00
1.99
+0.01
3.0
3.00
3.00
+0.00
4.0
4.00
4.00
+0.00
6.0
6.00
6.01
-0.01
8.0
8.00
8.10
-0.10
10
10.00
10.01
-0.01
12
12.00
11.98
+0.02
测试数据分析:
由表3可以看出,电压的输出在3V和6V时比在其余时的实际值和显示值相对准确,但从总的测量数据计算来,平均值基本上为0。
中间存在的误差有待进一步提高。
4.2.3电流显示准确性测试
测试条件:
带载测试
在负载大小不同的情况下,分别测试输出电压、电流的显示值,测量电流显示值、电压显示值与实际值的差异。
测量数据如表4所示:
表4:
预设负载
电压显示值
电流显示值
电压实际值
电压误差值
10欧/12W
3.00V
0.44A
3.00
+0.00
6.00V
0.66A
6.11V
+0.11
9.9V
0.99A(报警)
9.9V
+0.00
11.43V
1.3A(报警)
8.03
-3.4V
20欧/16W
3.00V
0.24A
3.00V
-0.00
6.00V
0.43A
6.11V
+0.11
9.00V
0.59A
9.01V
+0.01
12.00
0.72
11.89
-0.11
4.2.4步进功能测试
在输出电压为5V、输出电流为100mA时,连续按“+”键10次,粗调电压应升至6V,细调电压应升至6.1V,再连续按“-”键10次,粗调电压应为5V,细条电压应为5.9V。
表5
次数
功能
1
2
3
4
5
6
7
8
9
10
步进加
粗调
5.1V
5.2V
5.3V
5.4V
5.5V
5.6V
5.7V
5.8V
5.9V
6.0V
细调
6.01V
6.02V
6.03V
6.04V
6.05V
6.06V
6.07V
6.08V
6.09V
6.10V
步进减
粗调
6.0V
5.9V
5.8V
5.7V
5.6V
5.5V
5.4V
5.3V
5.2V
5.1V
细调
5.09V
5.08V
5.07V
5.06V
5.05V
5.04V
5.03V
5.02V
5.01V
5.00V
测试数据分析:
由表4可以看出,粗条加减0.1V和自己发挥的细调加减0.01V的功能我们都已很好的实现。
4.2.5输出纹波电压测试
测试条件:
输出电压为10V,输出电流为500mA,用示波器测试负载两端交流信号的最大幅度。
表6
负载大小
纹波电压/mV
10欧/12W
4mV
6mV
20欧/16W
10mV
8mV
测试数据分析:
有测试数据可以看出,纹波电压最大为10mV,最小为4mV,可以满足要求的小于10mV。
4.2.6过流保护功能测试
在输出电压为5V的情况下,调节负载大小,输出电流达到1.1A时,LED2应点亮,蜂鸣器LS应发出报警声。
表7:
测试次数(次)
1
2
3
4
5
6
7
断路电流(I)
断路电流(A)
0.99
1.07
1.10
1.17
1.10
1.09
1.04
1.098±0.0258
测量数据分析:
由表7可以看出,但电路中的电流大于0.99A而小于1.1A时已可实现报警,过流保护的精确度可达到0.01