基于单片机的数控稳压电源设计.docx
《基于单片机的数控稳压电源设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的数控稳压电源设计.docx(23页珍藏版)》请在冰豆网上搜索。
基于单片机的数控稳压电源设计
【摘要】本次设计主要是以STC90C516RD+单片机为主控芯片,结合外围的矩阵键盘输入、LCD1602显示、稳压调压等电路模块,来完成一个基于单片机的数控稳压电源设计。
该设计可以实现以下功能:
通过键盘等输入方式,输出相应电压;液晶屏显示当前的输出电压、电流等信息;能够稳定输出10v以内电压。
【关键词】单片机;步进连续;可调;PCF8591
【abstract】thisdesignmainlySTC90C516RD+single-chipmicrocomputerasmaincontrolchip,thecombinationofperipheralmatrixkeyboardinput,LCD1602display,voltageregulatingcircuitmodule,tocompleteanumericalcontrolregulatedpowersupplybasedonsinglechipdesign.Thisdesigncanachievethefollowingfunctions:
throughthekeyboardinputmethods,suchastheoutputvoltageaccordingly;TheoutputoftheLCDscreendisplaysthecurrentinformationsuchasvoltage,current,Canstableoutputvoltagewithin10v.
【keywords】Singlechipmicrocomputer;Stepandcontinuous;Adjustable;PCF8591
目录
1前言1
1.1数控稳压电源的简介1
1.2研究背景及意义1
1.3稳压电源的发展前景1
2设计方案选择与确定1
2.1功能需求分析1
2.2基本原理1
2.3系统总体设计1
2.4模块的选择2
2.4.1主控模块的选择2
2.4.2显示模块2
2.4.3按键模块2
2.4.4稳压模块2
3单元电路设计4
3.1微处理器STC90C516RD+介绍4
3.1.1最小系统电路4
3.2电源电路4
3.3稳压电路5
3.4显示电路5
3.5特殊芯片介绍6
3.5.1转换芯片PCF85916
3.5.2LM324芯片7
4软件设计8
4.1主程序流程框图8
4.2PCF8591的D/A转换与A/D转换9
4.2.1片内可编程功能设置9
4.2.2PCF8591的D/A转换10
4.2.3A/D转换子程序11
4.3矩阵键盘软件设计12
5系统仿真及调试13
5.1仿真13
5.2系统调试15
6总结与展望16
7致谢16
8参考文献17
1前言
1.1数控稳压电源的简介
数控稳压电源是一种通过按键输入电压值来控制电路工作,完成电压调节然后稳定输出。
现在的数控稳压电源主要是通过芯片编程实现。
它的性能比传统的电源要好,其主要有以下几个特点:
1.体积小,携带方便;2.操作简单,一学就会;3.电压稳定度高等特点。
1.2研究背景及意义
80年代电力电子理论的建立为数控电源在日后提供了一个良好的理论基础,但是这门技术的产品还存在一定的缺陷如:
分辨率不高、可靠性较差、功率密度低等。
因此在数控电源的发展道路上不断针对这些缺陷在不断改善。
到了90年代,数控电源的精度已经可以达到0.05V,但如今的21世纪是电子科技高速发展的时代,各种各样为人类服务的电子产品越来越多,同时对于电源的要求也越来越高。
有数据表明:
我们电子设备的损坏有60%以上损坏是因为电源在使用过程中造成的不可估量的破坏,所以人们为了能够大大运用电源带来的便利也在不断追求其品质的提升。
1.3稳压电源的发展前景
目前数控稳压电源在编程方面得到快速发展,并能够在保证同等功能的前提下大大降低生产成本,但是相比于西方发达国家,我国的电源产品在可靠性、生产规模、先进检测设备、持续创新能力、智能化、网络化等方面还是有所欠缺,特别是智能化、网络化等方面专研。
因此,数控稳压电源的发展前景是非常大的,它将会往低成本,高性能、智能化、模块化、绿色化发展,越来越被大众采用。
2设计方案选择与确定
2.1功能需求分析
本系统的设计主要实现:
1.通过键盘等输入方式,输出相应电压;
2.液晶屏显示,能显示当前的输出电压、工作电流、工作时间等信息;
3.输出电压10V以下,精度为0.01,且能稳定可靠工作。
2.2基本原理
直流稳压电源通常由电源变压器、整流电路、滤波电路和稳压电路四部分组成[],其中原理框图如下图2-1所示。
图2-1直流稳压电源框图
2.3系统总体设计
选用STC90C516RD+单片机为中央处理器,通过矩阵键盘输入设定预定电压值,将此值传输给单片机,再由单片机控制LCD1602显示,并比较采集的电压与设定的电压是否一致,然后控制调整管进行调压,从而完成一个数控型的稳压电源输出,如下图2-2所示。
图2-2整体设计框图
2.4模块的选择
2.4.1主控模块的选择
方案1:
主要芯片使用AT89C51,它采用8051核的ISP,内部由CPU、4KB的ROM、128的RAM、4个8位I/O并行断口、一个串行口、两个16位定时器/计数器及中断系统组成[]。
方案2:
以STC12C5A32AD为主控芯片,它指令代码继承了传统8051单片机,而且速度最大频率达到35MHz。
它的内部有32KB的EEPROM和1280B的RAM数据存储器,还集成了8通道的10位ADC[]。
方案3:
采用STC90C516RD+芯片。
它与方案2一样也是兼容传统的8051单片机,内部自带有2KB的EEPROM,内部Flash可进行反复擦写十万次,并且有一个专门的看门狗定时器寄存器WatchDogTimer寄存器,只需要对其相应的特殊功能寄存器的设置就可以实现。
51系列单片机支持ISP在线编程,但是AT89C51不支持在线编程,就必须不断拔插芯片,容易缩短芯片寿命。
STC12C5A32AD和STC90C516RD+这两款芯片都可以兼容传统单片机,但考虑系统所需准确度、稳定性、以及系统对主控器的要求,尽量降低外围电路的设计,因此本次设计的主控模块是采用STC90C516RD+单片机作为主控芯片。
2.4.2显示模块
方案1:
采用数码管显示。
为了增加显示的内容就必须使用多个数码管进行显示,而一个八段数码管就要占用8个I/O口的数据线,多个就显得太浪费,且价格也相对较高,间接增加了系统成本。
所以此次设计不建议使用数码管。
方案2:
采用液晶屏LCD1602显示,画面质感强、可以显示两行,每行输出16个字符,字符包括ASCII码表中的数字、符号、字母等[]。
它的体积轻巧、功耗低,价格便宜,操作简单,且容易控制。
因此,非常适合本设计就此选用该显示模块。
2.4.3按键模块
方案1:
采用独立按键。
一个按键占用单独的一个I/O口,倘若要在本设计中使用后,只需要两个键一个设置为“+”,“-”,还有一个复位按键就可以了。
方案2:
采用矩阵键盘。
鉴于独立键盘暂用I/O口资源,因此矩阵键盘就是用多条水平线和垂直线排列成矩阵样子并在交叉处通过一个按键连接形成[]。
假设本设计使用此矩阵键盘,那就可以设置九个数字从0~9,还有两个键一个为确定一个为清除,这样可以直接输入准确到小数的预定电压。
通过两个方案对比,为了使人们能直观并且迅速的输入准确的数值,本次设计采用了方案2。
2.4.4稳压模块
方案1:
固定式集成稳压电路电路如下图2-3所示。
图2-3固定式稳压电路
这是一个经典的集成固定式稳压电路了,该电路采用了集成稳压器LM2596-12V,可以稳定输出12V,D2为稳压二极管,C2、C1分别为输入端和输出端滤波电容。
方案2:
三端可调式集成稳压器,如下图2-4所示:
图2-4三端可调式集成电路
CW317芯片在输入输出为固定,另一端为调整端。
它的输出电压Uo=1.2*(1+R2/R1)V,在1.2~37V是连续可调的。
电路中的C2是为了减小R2两端纹波电压而设置的,C3则是为了防止输出端负载呈现感性时卡可能出现的阻尼振荡而设置的。
C1为滤波电容,VD1、VD2是保整流二极管。
方案3:
基于单片机的串联型稳压电源,电路如下图2-5所示:
图2-5串联型稳压电路
三极管T在电路中起电压调整作用,故称调整管。
图中稳压二极管Dz与三极管的偏流电阻Rb组成硅稳压管稳压电路,给晶体管基极提供一个基准电压Uz,同时三极管与负载串联形成稳压回路。
该电路的稳压原理如下:
单片机控制输入电压Ui增加或负载电流IL减小,使输出电压UL增大时,则三极管的UBE减小,从而使IB、IC都减小,UCE增加,又使输出电压UL减小,结果UL基本不变[],如下所示:
Ui↑(或IL↓)→UL↑→UBE↓→IB↓→IC↓→UCE↑→UL↓
同理,Ui↓(或IL↑)→UL↓→UBE↑→IB↑→IC↑→UCE↓→UL↑,因此UL基本不变。
这三个方案都是可以实现稳压电源,方案1结构简单,使用常用的分立元器件,造价成本低,但是精度不是很高;方案2基本实现可调效果,但制作成本较高;方案3精度高,性能比传统的可调直流稳压电源更人性化和智能化,并且能使用在要求较高的场合。
综合考虑,采用方案3来实现。
3单元电路设计
3.1微处理器STC90C516RD+介绍
STC90C516RD+是宏晶科技推出的高速/低功耗的单片机,指令代码完全兼容传统8051单片机,工作的电压范围在3.8V~5.5V,工作频率是普通51单片机的0~80MHZ。
该单片机价格低廉,功能强大。
3.1.1最小系统电路
最小系统电路由STC90C516RD+构成的如图3-1所示。
为了防止系统死机,最小系统加上一个按键复位电路,系统的工作电压VCC为5.0V。
图3-1最小系统,复位电路和晶振电路
1.复位电路:
当单片机已在运行之中,人为的通过手动按下复位键RST端持续一段高电平时间,从而实现上电且开关复位的操作[]。
按键释放后,电容器经由内部下拉电阻放电,RST端恢复低电平。
2.时钟电路:
本电路由两个电容和一个晶振组成,用来配合外部晶体实现振荡的电路,这样可以为单片机提供运行时钟。
3.2电源电路
本次的电源部分,采用的是在2.4.4中提及的方案一。
首先将市电220v交流电通过变压器转为12v电压,然后通过整流桥整流,再用电容滤除杂波,最后将此输入到稳压电源芯片中转换得到最后需要的电源。
其中主要的稳压芯片采用的lm2596-12和lm2596-5v,分别稳出12v和5v,但在实际电路中得到的是11.96v和4.88v,基本满足芯片供电和电路调整的电压。
3.3稳压电路
图3-2稳压电源电路
图3-2中Q1、Q2构成调整管,单片机控制电压输入即为基准电压,R2、R5组成取样电路,LM324充当比较器。
单片机输出一个模拟量(即设置电压值)与电阻取样电路采集回来的电压值送到LM324比较,倘若采集来的电压大于设置电压,则输出一个低电平,三极管s9013的不导通,使得输出电压降低,然后在重复进行比较直至达到与设置值相等,稳定输出;同理,若是采集来的电压小于设置电压,则输出一个高电平,三极管s9013的导通,使得输出电压升高,同样进行重复比较直至达到与设置值相等,稳定输出。
3.4显示电路
P0口接上上拉电阻后与显示电路的数据端口相连接,显示如下图3-3。
图3-3显示电路
1602显示器的引脚功能,如下表3-1。
表3-11602显示器引脚功能
3.5特殊芯片介绍
3.5.1转换芯片PCF8591
1.它是一个集成的低功耗、8-bitCMOS集成芯片。
四个模拟数据采集设备输入和一个模拟输出,如下图3-4。
图3-4PCF8591引脚示意图
2.PCF8591引脚功能,如表3-2。
表3-2PCF8591引脚功能
引脚
符号
功能
1~4
AIN
模拟输入(A/D转换器)
5~7
A0~A2
硬件地址
8
VSS
模拟地
9
SDA
I2C总线数据输入/输出
10
SCL
I2C总线时钟输入
11
OSC
振荡器输入/输出
12
EXT
外部/内部开关
13
AGND
模拟地
14
VREF
参考电压输入
15
AOUT
模拟输出(D/A转换器)
16
VDD
电压电源
3.与单片机的接线电路,如下图3-5所示。
图3-5PCF8591与单片机的接口电路
PCF8591使用I2C总线进行通信,它只有两根信号线:
一根是双向的数据线SDA,另一根是时钟线SCL,这两根线都是双向的I/O总线,通过上拉电阻接正电源[]。
3.5.2LM324芯片
1.LM324是由四路功能形状并独立的运算放大器集成而来,它的功耗小,价格低,受广大爱好者青睐。
本次设计采用14脚双列直插塑料封装,如下图3-6所示。
这四组中每一组都是显示三个引脚,其中“+”“-”为两个信号输入端,一个输出端,“V+”“V-”为正、负电源端是公共端。
图3-6LM324芯片引脚图
2.应用实例,如下图3-7所示。
图3-7LM324作为比较器电路图
图中使用一组运放对采集的电压值与单片机提供的电压值进行比较然后控制调整管,电阻R1、R4组成分压电路,另用一组运放对负载RV1进行电流采样并转换为电压,利用单片机送去显示。
根据“虚短”和“虚断”的特点可知,U-=R4/(R4+R1)U0可以得到实际电压的一半[]。
4软件设计
4.1主程序流程框图
图4-1主程序流程图
程序启动后,首先对液晶及总线进行初始化,然后扫描键盘,传给单片机再由其控制显示设备,显示输入预定电压值,然后等待按下确定键,送给DA将反馈后的数值输出,最后通过硬件比较器比较电压,控制调整管的开关,如上图4-1所示。
4.2PCF8591的D/A转换与A/D转换
4.2.1片内可编程功能设置
PCF8591采用典型的I2C总线接口的寻址方法,如下图4-2所示:
图4-2地址选择字格式
D0:
转换器的读写控制位(0为写操作,1为读操作)。
D1、D2、D3:
有硬件电路决定,本设计硬件设置全部接地,因此为000。
D7、D6、D5、D4:
器件地址位固定为1001。
总线操作时为主控器发送的第二字节。
转换控制字的格式功能具体描述如下图4-3所示。
图4-3转换控制字格式
D0~D1:
通道选择位。
00:
通道0;01:
通道1;10:
通道2;11:
通道3。
D2:
通道的自动增加允许位(1为切换下一个通道,0为不切换)。
D3:
特征位,固定位0。
D4~D5:
模拟量输入方式选择位。
00:
输入方式0,四路单端输入;01:
输入方式1,三路差分输入;10:
输入方式2,二路单端输入,一路差分输入;11:
输入方式3,两路差分输入。
D6:
模拟输出允许位。
D/A转换时设置为1(地址选择字D0位此时设置为0),A/D转换时设置为0(地址选择字D0位此时设置为1)。
D7:
特征位,固定为0。
4.2.2PCF8591的D/A转换
D/A转换器是PCF8591的重要组成部分。
通过I2C总线的写入方式完成的转换,操作格式如下图4-4所示:
图4-4D/A转换数据操作格式
其中S位为I2C总线的启动信号位,SLAW为单片机发送的PCF8591地址选择字,CONBYT为单片机发送的PCF8591转换控制字节,data1~datan为待转换的二进制数字(可连续发送),P位为单片机发送的I2C总线停止信号位。
开始转换的时候,PCF8591给出一个允许输出信号,然后数据直接寄存在DAC数据寄存器中,最后输出。
在3.5.1章节中图3-5是利用PCF8591的内部D/A转换功能实现电压值输出。
在该硬件中A0A1A2地址全部接地,因此字节地址全部为0。
在信号启动后,首先将地址选择字90H写入PCF8591。
发送控制转换节则只需将转换控制字中的D6位设置成1即为40H即可。
程序设计流程如下图4-5所示。
图4-5D/A转换流程图
4.2.3A/D转换子程序
STC90C516RD+通过I2C总线的时钟线给出一个脉冲信号启动A/D转换后,PCF8591对接受到的模拟信号进行转换[],如图4-6:
图4-6A/D转换数据操作格式
其中data0~datan为A/D的转换结果,分别对应于前一个数据读取期间所采样的模拟电压。
灰底位由单片机发出,白底位是由PCF8591产生。
上电复位后控制字为0需重新设置,让其读操作之前进行控制字节的写入操作。
在通道AIN0中进行A/D转换,然后将转换好的数据送到单片机中。
首先将字节地址选择字90H写入PCF8591中;接下来写入转换控制字,因只对AIN0通道进行采样,所以转换控制字为00H;再写入地址选择字让D0设置成1,即选择字为91H。
程序流程框图如下图4-7所示。
图4-7A/D转换流程图
4.3矩阵键盘软件设计
本次设计按键有输入键、确定键、清除键,它们都有与之对应的功能程序。
0~9任意按下时为输入电压值设定,选择确定键进入调压程序然后输出电压或者选择清除键重新输入。
按键功能流程图如图4-8所示。
如图4-8按键功能流程图
5系统仿真及调试
5.1仿真
通过ISIS软件,进行仿真,其仿真过程如下:
首先运行软件仿真,接着按下矩阵键盘,设置电压值为7.89V,最后按下确定键,LCD显示屏显示为7.84V,电流值为0.77A,如下图5-1所示。
图5-1稳压仿真图
为了改变设置的电压值,可以按下清除键,重新设定数值。
假如重新设定的电压值为3.25V,同样按下确定键,那么LCD显示屏可以迅速显示出实际电压3.21V,电流0.31A,如下图5-2所示。
图5-2重新设定值稳压仿真图
为了更好的验证该方案的可行性,特进行模拟实验,随机输出10组电压值进行仿真,仿真结果如下表5-1所示。
由此可见,该方案的调节可以达到10V以内的调节,并且调节的步进为0.01V。
表5-1电压仿真数据表
设置电压(V)
显示电压(V)
电流(A)
0.33
0.31
0.02
1.11
1.09
0.11
2.1
2.07
0.2
3.42
3.41
0.33
4.83
4.82
0.47
5.22
5.13
0.51
6.77
6.7
0.66
7.45
7.37
0.72
8
7.96
0.79
9.99
9.92
0.98
5.2系统调试
将程序烧写到单片机中,进行实物操作。
通过矩阵键盘输入设定电压值5.22V,得到的实际电压为5.13V,如下图5-3所示:
图5-3实物整机测试
为了验证实际输出的电压值与LCD显示屏显示的电压值是否相同,将万用表设置在直流电压测量档,然后将两个探头接在电压输出端,设置电压为1V,显示屏显示为0.94V,实际测量到的电压值为0.9V。
有一定误差,但在可以接受的范围内,如下图5-4所示。
图5-4使用万用表测试
6总结与展望
本次设计主要是基于单片机的稳压电源设计。
在设计前我先是通过网络、图书馆进行收集资料,以及询问同学意见,再经过老师指导,结合实际生活中对稳压电源性能的要求,设计出了符合课题要求的稳压电源。
设计的软件部分主要是采用C语言进行编程,使用AltiumDesignerRelease及protues软件进行绘制原理图,然后我先是在实验板上进行验证,验证成功后再将其做成硬件实物。
由于是第一次设计,因此在设计的时候还是遇到不少问题的。
如:
设计PCB板规则不够了解,再加上焊接技术不够熟练,对器件的使用不够了解,使得加大了我的设计时间。
但是,我并没有被这些困难吓倒,而是虚心的请教那些有做过项目的同学,一步一步的解决问题,从一开始不懂得按钮要怎么放置到最后圆满的完成设计。
通过本次毕业设计,它不仅让我巩固了单片机知识、C语言的使用而且还让我学到了很多在书本上所没有学到过的知识,如焊接技术,使我了解到了更多有关稳压电源的设计思路,同时也使我明白了理论结合实践的重要性,只有充分的将理论知识与实践行动结合起来,才能进一步提高自己的动手能力和独立思考的能力,才能得到更大的收获。
7致谢
随着毕业设计的完成,标志着我大学生活即将告一段落。
借此机会我想感谢曾经帮助过我的同学和老师,特别是叶老师耐心地对我进行辅导,不断完善我的设计作品功能,这种认真负责、有条不紊、实事求是、严谨求实的工作态度值得我们学习,在此我谨向叶老师表示衷心的感谢和深深的敬意。
通过这次毕业设计使我认识到自己的动手实践能力有待提高,理论基础知识也需要进一步巩固,需要在以后的工作和学习中不断丰富,不断补充。
在未来的日子里,我不会辜负各位老师对我辛苦的栽培,我会不断拓展我的知识面,不断创新,回报社会。
8参考文献