高精度数控稳压电源设计报告
数控稳压电源14830

数控稳压电源南通职业大学数控稳压电源实验报告学院:电子信息工程学院班级:电子112姓名:张欣学号:110202227指导老师:陈卫兵目录一、摘要 (3)二、作品介绍 (3)三、芯片和部分模块介绍 (4)1.TLC1543简介及其应用 (4)2.TLC5615 器件的引脚图及各引脚功能 (4)3.功能框图 (5)四、作品功能 (7)五、作品结构 (9)六、原理图和pcb图的绘制 (11)七、心得体会 (12)一、摘要本系统由单片机控制模块、按键、液晶、LM324系列芯片、TLC1543,TLC5615,集成运放搭建构成,放大器、交流变压器来提供稳定电压输出;在以单片机为主控芯片、运算放大器及外围电路的部分,用按键控制步进可调电压输出,液晶显示输出电压值。
整个系统结构紧凑,电路简单。
二、作品介绍学校实验室使用的直流稳压电源,大多是通过电位器来调整输出电压,使用并不方便,并且步进幅度大难以精确调整。
而我们制作的这款数控稳压电源,可以实现步进调整电压,预设值快捷调整电压,使用更为方便、准确。
其次,在学生做实验的过程中,往往有人随意调整电压,稍不注意,就会造成实验失败、器件损毁。
为此,我们制作了“锁定输出电压”功能,“锁定输出电压”后需要按键解锁后才能改变输出电压,否则无法改变,以此来避免同学的误操作。
我们以单片机作为主控芯片,将数电、模电有效的结合起来运用,使用按键作为输入,用数码管和LED灯显示电源工作状态和模式,实现良好的人机界面效果。
技术指标:输出电压:3~12V。
电压调整方法:1.普通调整,步进=0.1V;2.快捷调整,按预设电压值快速切换。
限流:当输出过电流超过0.1秒后,切断输出,同时过流指示灯点亮。
开机模式:开机时调出预设电压,但不输出,需要按下输出键后才输出。
精度:输出与真实输出不高于5%。
锁定模式:在不锁定输出,可以自由调整输出电压;在锁定输出后,则输出电压不可调整,需要重修按下锁定键才可以重新调整电压。
数控稳压电源报告

数控直流稳压电源设计人员:鲍官牛马彪吴汉国指导老师:邱森友葛浩摘要:本数控直流稳压电源系统采用AT89S52单片机为主控模块,由DAC0832数模转换模块输出电压,经过由高精度运算放大器OP07组成的电压放大模块进行电压放大,引入由功率三极管TIP41C 组成的扩流模块进行电流扩大,采用7107进行电压测量式输出显示,能自动切换电源档位,提高本电源系统的效率。
基于可靠的硬件设计,和高效的软件设计,本系统具有电压输出稳定,负载能力好,精度高,人机界面友好,操作方便等特点。
关键词:数控数模转换扩流纹波电压AT89S52 DAC0832 OP07 7107Abstract:The direct voltage source of numerical control uses MCU AT89S52 as controller kernel,and DAC0832,the DA conversion module to outputVoltage,which enlarged by the voltage expansion module basing on accurateAmplifier OP07 Output display bases on IC 7107,with the method of voltage meauring.The system can automatically chooses appropriate power source supply ,which improves system’s efficiency,and has funtions of current overfloat selt-protecting,and saving the lastest settings.Base on reliable hardware and effectual software design, this system is qualified with quite high performs.Keyword: Numerical Control DA Conversion Current ExpansionCurrent Overfloat Selt-protectingVoltage Ripple AT89S52 DAC0832 OP07 7107目录第一章总论1.1设计任务和要求 (4)1.2 作品介绍 (4)1.3方案论证与比较 (6)1.3.1 微控制器的选择 (6)1.3.2 显示部分方案论证 (6)1.3.3 数据存储保存部分方案论证 (7)1.3.4 数模转换部分方案论证 (8)1.3.5 电压显示部分方案论证 (9)第二章电路原理分析和设计2.1 数模转换模块设计 (11)2.2 输出电压显示模块设计 (12)2.3 人机交互模块设计 (13)2.3.1 LED显示部分 (13)2.3.2 键盘输入部分 (13)2.3.3 按键输入数据处理设计 (14)2.4 提高电源效率和提压扩流模块.....................................................17第三章系统软件设计.. (20)3.1 系统设计总思路 (20)3.单片机资源优化处理 (20)3.2.1 单片即IO口安排 (20)3.2.2 提高CPU效率措施 (20)3.2.3 对于“+”“-“步进的处理 (20)3.2.4 对于抖动和干扰的处理 (20)3.3系统软件流程图 (21)第四章故障分析与系统测试 (22)4.1故障分析 (22)4.2系统测试与数据分析...............................................................23附录 (24)附1:整机电路图 (24)附2:程序源代码 (27)第1章总论1.1设计任务和要求:1.设计任务:设计一个数控稳压电源,可由按键直接输入电压值,还具有加、减调节的功能。
某测试台用高精度数控直流稳压电源的设计

c mp r u r n p e i t n e b y n h p e i t o h u f h o r o a h e e o e l a o ae c re tu p rl mi ,o c e o d t e u p r l mi n t e c t o f t e p we ,t c i v v ro d
c n b e ltme mo t rn hr u h a e r a — i nio i g t o gh t e PC,PC o mon t r t e v t g t io h ola e,c r e nd v la e s ti s,t u r nta o t g e tng o
Z HEN o y n NI Gu — o g, NG — iJA e g we Hewe ,I Ch n — i
( t n l y L b r t yo l t nc s T c n l y Not nv ri h n , ay a 3 0 ] C ia Nai a a oa o f E e r i Te e h o g , r U ies y o C ia T iu n 0 0 5 , h n ) o Ke r co t o h tf
p ot c i r e ton.
Ke od : C rg l e o rs p l , oain sn l c i,du tbec re t i t g yw r sD e ua dp we u py i lt ,ige hp a jsa l u rn min t s o — l i
Ab ta t I h sp p r n it lg n ige c i c o o u e st ec r ih p e ii n a jsa l sr c :n t i a e ,a n el e tsn l—h p mir c mp t ra h o e hg — rcso d u tb e i
高效率数控电源设计报告

高效数控恒流电源摘要随着低碳经济时代的到来,提高能源利用率对工业和社会发展起着重要的作用。
基于此本文描述了高效率数控恒流电源的设计原理和实现方法,本系统采用DC/DC变换器芯片TPS5430,它是一款高效的电源开关控制芯片,输入电压范围宽,输出电流高达3A。
以MSP430F247单片机为主控制器,通过键盘来设置电源的输出电流,设置步进等级为1mA,并可由液晶显示器显示实际输出电流值和负载功率。
本系统还具有开路检测和过压保护功能,可广泛应用于需要高效恒流源的领域。
关键词:MSP430F247单片机DC/DC变换器高效恒流源AbstractThispaper describesthedesign of high-power LEDpower supply princi ple and method toMSP430F247 microcontroller-based controller, DC power through thekeyboard toset theoutputcurrent, set the step levelas 1mA, andthe actualoutput current valueandloadpower can be displayed by theLCD. Thissystem uses DC /DC converter chipTPS5430,theoutput power MOStubecan expansionthe current.Single Chip Programmable output digitalsignal, through D/ Aconverter (TLV5618) output analog, through the operational amplifier isolation amplifier, andprecision voltage sampling resistorcollectionenlarged compared to control DC / DCconverter's feedbackside, toachieve the outputcurrent control.Output current throughthe current / voltagechanges,theadoption ofA / D converter chip,real-time into the analog data, and then analyzed bymicrocomputer processing, thefeedbackthrough the form of data links, sothat current ismore stable,it constitutes a stable voltage-controlled current source.Actual testresult sshow thatthe systemoutputcurrent stability, with theloadand a mbient temperature changes and highJingDu,output current error of± 5mA, output current at 20mA~2000mA Fan Weican bearbitrarilysetwithin,output efficiency up to 90%, and thusthe actual applications requiring highstability and high efficiency constant current field.Keywords: MSP430F247 MCUDC/DC converter efficiencyconstant cur rent source目录一:方案设计与论证1.1总体设计方案与比较:方案一:采用以89C51为核心的单片机系统来控制12位AD7521的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数码管显示,再根据输出的电压量来控制电流的变化,此方案的优点是输入的预值电流信号稳定且避免了大量的数据存储,缺点是电路效率低。
数控稳压电源报告

数控稳压电源报告 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】数控直流稳压电源设计人员:鲍官牛马彪吴汉国指导老师:邱森友葛浩摘要:本数控直流稳压电源系统采用AT89S52单片机为主控模块,由DAC0832数模转换模块输出电压,经过由高精度运算放大器OP07组成的电压放大模块进行电压放大,引入由功率三极管TIP41C组成的扩流模块进行电流扩大,采用7107进行电压测量式输出显示,能自动切换电源档位,提高本电源系统的效率。
基于可靠的硬件设计,和高效的软件设计,本系统具有电压输出稳定,负载能力好,精度高,人机界面友好,操作方便等特点。
关键词:数控数模转换扩流纹波电压AT89S52 DAC0832 OP07 7107Abstract:The direct voltage source of numerical control uses MCU AT89S52 as controller kernel,and DAC0832,the DA conversion module to outputVoltage,which enlarged by the voltage expansion module basing on accurate Amplifier OP07 Output display bases on IC 7107,with the method of voltage system can automatically chooses appropriate power source supply ,which improves system’s efficiency,and has funtions of current overfloat selt-protecting,and saving the lastest settings.Base on reliable hardware and effectual software design, this system is qualified with quite high performs.Keyword: Numerical Control DA Conversion Current ExpansionCurrent Overfloat Selt-protectingVoltage Ripple AT89S52 DAC0832 OP07 7107目录第一章总论设计任务和要求 (4)作品介绍 (4)方案论证与比较 (6)1.3.1 微控制器的选择 (6)1.3.2 显示部分方案论证 (6)1.3.3 数据存储保存部分方案论证 (7)1.3.4 数模转换部分方案论证 (8)1.3.5 电压显示部分方案论证 (9)第二章电路原理分析和设计数模转换模块设计 (11)输出电压显示模块设计 (12)人机交互模块设计 (13)2.3.1 LED显示部分 (13)2.3.2 键盘输入部分 (13)2.3.3 按键输入数据处理设计 (14)提高电源效率和提压扩流模块.....................................................17第三章系统软件设计.. (20)系统设计总思路 (20)3.单片机资源优化处理 (20)3.2.1 单片即IO口安排 (20)3.2.2 提高CPU效率措施 (20)3.2.3 对于“+”“-“步进的处理 (20)3.2.4 对于抖动和干扰的处理 (20)系统软件流程图 (21)第四章故障分析与系统测试 (22)故障分析 (22)系统测试与数据分析...............................................................23附录 (24)附1:整机电路图 (24)附2:程序源代码 (27)第1章总论设计任务和要求:1.设计任务:设计一个数控稳压电源,可由按键直接输入电压值,还具有加、减调节的功能。
数控直流稳压电源的设计_毕业设计

延安大学西安创新学院本科毕业论文(设计)题目:数控直流稳压电源的设计专业:电子信息工程姓名:学号:指导教师:毕业时间:数控直流稳压电源的设计摘要:本设计针对对普通直流电源一般不可以调节或调节范围小的缺点设计出了一种可调节,宽调节范围的直流稳压电源。
该直流稳压电源系统以STC单片机公司的89C52RC单片机为核心,利用10位DA芯片TLC5615作为DA输出,由单片机由采样电阻对输出电压进行采样处理,采用C语言进行程序控制,输出0~9.9V,步进0.1V的精确稳压输出关键词:直流电流源;单片机;89C52RC;TLC5615High precision DC current source based on 51 MCUAbstract:For regular direct current voltage stabilizer accuracy is not high, and the adjusting range is small, we designed a direct voltage stabilizer with high precision and wide adjusting range. This system is based on the MCU of 89C52RC which product by STC. Using a chip TLC5615 which with 10 bit as DA output. By using the resister to process the output voltage. Use the C language to control the system. So that it can output 0~+9.9V, and stepping for 0.1V adjustment function.Key words: DC current;MCU;89C52RC;TLC5615目录1 引言 (1)2 设计原理 (1)3 单元电路的设计 (2)3.1DA的选择与论证 (2)3.2稳压输出方案选择与论证 (2)3.3显示模块的选择与论证 (3)3.4输入按键的选择与论证 (3)4 本系统核心器件简介 (3)4.1STC89C52单片机 (3)4.2TLC5615芯片 (4)4.3TLC431芯片 (5)4.4LM324芯片 (5)5 硬件电路设计 (6)5.1电源电路 (6)5.2DA输出电路 (6)5.3稳压输出电路 (7)5.4数码管显示电路 (7)5.5整体电路原理设计 (8)6 系统软件设计 (9)6.1主程序流程图 (9)6.2DA转换流程图 (9)7 系统调试与仿真 (10)7.1系统仿真 (10)7.2DA输出仿真: (11)7.3PCB制作 (12)7.4硬件调试 (14)7.5软件调试 (14)8 结束语 (15)参考文献 (17)致谢 (18)附录一程序清单 (19)1 引言当今社会人们极大的享受着电子设备带来的便利,但是任何电子设备都有一个共同的电路--电源电路。
数控稳压电源设计报告

2007级电子信息工程模拟、数字电路课程设计报告书设计题目简易数控稳压电源姓名正中、毕轶学号、学院物理与电子信息工程学院专业电子信息工程班级2007级3班指导教师胡仲秋2009年12 月19日目录1设计任务、要求及方案选择11.1设计任务11.2设计要求11.3设计方案的比较与选定21.3.1方案一(如图2所示)21.3.2方案二(如图3.所示)21.3.3方案三(如图4.所示)31.4电路工作原理32单元电路设计参数计算与元器件选择42.1数字控制部分42.1.1单脉冲产生42.1.2计数部分62.1.3显示部分72.2D/A变换部分92.3可调稳压部分102.4辅助电源部分133在调试及组装电路过程中出现的问题及解决方法153.1辅助电源的安装调试153.2单脉冲及计数器调试153.3D/A变换器电路调试153.4可调稳压电源部分调试153.5调试中发现的其他问题163.6调试中原始数据记录164心得与体会165致17附录:181原理图182 PCB图193作品照片204元件清单20参考文献:221设计任务、要求及方案选择1.1设计任务设计出有一定输出电压围和功能的数控电源。
其原理示意图1.如下:图1.原理方框图1.2设计要求1.基本要求①输出电压:0~+9.9V,步进量0.1V;②输出纹波:<10mV;③最大输出电流:500mA;④由“+”、“-”两键分别控制输出电压步进增减;错误!未找到引用源。
数码显示输出电压。
2.发挥部分①自制所用直流电源:±15V,+5V;②拨码开关预置输出电压。
1.3设计方案的比较与选定根据题目要求,提出以下三种设计方案:1.3.1方案一(如图2所示)图2 方案一方框图在此方案中,其电路结构简单,能完成所要求功能。
但存在的不足之处是:D/A转换要求输入二进制数但是显示却要求输入BCD码。
实现这种转换的电路并不是一个简单的电路。
所以虽然这是最容易想到的一种方案。
数控直流稳压电源设计预报告

数控直流稳压电源设计预报告1、设计任务设计并制作有一定输出电压调节范围和功能的数控直流稳压电源。
2、基本要求(1)输出直流电压调节范围0~15V ,纹波小于20mV 。
(2)输出电流0~500mA 。
(3)稳压系数小于0.2。
(4)输出直流电压能步进调节,步进值为1V 。
(5)由“+”、“-”两键控制输出电压步进值的增或减。
(6)用数码管显示输出电压值,当输出电压为15V 时,数码管显示为“15”。
3、工作原理数控直流稳压电源主要由流稳压电源通常是由电源变压器、整流电路、滤波电路和稳压电路四个部分构成,其中稳压电路由调整管、采样电路、基准电压电路和比例放大部分构成,(1) 数控基准电压源:单脉冲产生电路:产生记数的脉冲信号,实现电压步进值的增或减。
“+”键控制步进增,“-”键控制步进减。
可逆计数器:对单脉冲产生电路的信号进行 “+”或“-”计数,或从预置数端直接输入所需的数值。
D/A 转换电路:将计数器输出的数字量转换成模拟量U'O ,控制稳压电源的输出。
译码显示电路:将计数器的输出译码,显示当前稳压电源的输出。
单脉冲产生电路:工作原理:按键闭合:C 充电,1R C τ充= 按键断开:C 放电,2R C τ放= G :施密特触发器,有V T+、V T-LU O 图2-7-1 串联型稳压电路原理图Z O U R R U ⎪⎪⎭⎫⎝⎛+=211图2-7-2 数控基准电压源框图输出图2-7-3 单脉冲产生电路1u c 与0u 的波形为图1.3.2,即按键一下,输出一个负脉冲器件选择:施密特触发器CD40106 手按键时间> 2w =12t R C lnR R TU U V -+1R =10k Ω 2R =50k Ω Vcc =5V C=100nF若阈值电压为1.7V ,则手充电时间为0.55ms ,小于手按键时间。
可逆计数器:选择器件:74LS193 16进制计数器D/A 转换电路DAC0832完全直通方式连接图 器件选择:DAC0832 运放LF353若选取低4位,R E F V 选择-2.56V 则步进电压为0.01V数控基准电源输出电压范围:若选择第四位,则:数控基准电源输出电压范围是0~-0.15V比较放大模块设计指标 运放输出电流:参数计算 2212R C CR U V R R =+256R E F OV U '∆=-76576508(2222)2256R E FOREFV DU d d d d V '=-++++=-150~256OREFU V '=-max 0~500L I mA=max 0~500L I mA =0~15O U V =m ax m ax /500/L I I m A ββ>=放max max 1max max 500C E R L L I I I I I mA≈=+≈=器件选择:NPN 硅三极管13005取样电路R1、R2R1=99K ,R2=1K 放大倍数为100输入电压UI考虑电源电压波动10% 所以 所以 又由于实验室电压源有限,所以U I 选择与运放电源一致为18V总电路图max Im min I 1.10 1.12022CE ax O U U U U V =-=-=⨯=max max max 5002211C C C E P I U m A V W ==⨯=max1.1CM C I I >max1.1C EO C E U U >max1.1C M C P P >Im m ax inO C ES U U U >+m ax 15O U V =2C ESU V=I 0.917U V >I 18.9U V >器件清单。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数控稳压电源设计报告专业班级:电子1101班姓名:肖潇学号:1130010201232014年5月12日摘要直流稳压电源是电子技术领域的常用仪器设备之一,能在电网电压产生波动或发生负载发生变化时提供稳定的直流输出电压。
常规的直流稳压电源由电源变压器、整流、滤波和稳压电路等部分组成,大多采用串联反馈式稳压原理,通过调节输出取样支路中的电位器来改变输出电压值。
由于电位器阻值变化的非线性和调节范围限制,普通直流稳压电源的输出电压精度不高。
随着使用时间的增加,由于粗调的波段开关和用于细调的电位器的接触不良也会对输出电压产生较大影响,且调节较为繁琐。
针对常规直流稳压电源的上述缺点,设计了一款数控可调直流稳压电源,其额定输出电压0-30V可调,额定输出电流0-4A可调,其输出电压精度高且稳定性强,参数设置操作简单,带有掉电数据保护、过热保护、过流保护、过压保护功能,还可以实时检测并显示实际的电压/电流输出值。
关键词:数控;稳压电源;A/D转换;D/A转换;过流保护一、设计任务设计制作具有一定电压范围和功能的数控电源。
二、设计要求基本要求:a 输出电压:范围 0~15V ,步进 0.1V,纹波不大于10mvb输出电流: 500mAc 输出电压由数码显示d 用”+”.”-”键控制输出电压进行增/减调整发挥部分:a 自动扫描输出电压b 扩展输出三角波等电压种类c 输出电压可预置在0~15V之间的任意值三、系统方案论证与选择根据题目要求,本设计的系统可以划分为如下十个部分:辅助电源部分、单片机控制部分、D/A转换部分、A/D转换部分、电压基准部分、电压电流反馈调节部分、输出显示部分、输入调节设定部分、过热保护部分、过流保护部分。
系统方框图如下:A/D转换电压/电流取样及放大编码器/按键温度采样散热器(风扇散热)误差比较放大输出双层硬件过流保护单片机D/A转换液晶显示过热保护220V输入变压器降压(绕组切换)整流滤波稳压电路辅助电源稳压电路3.1 系统的基本方案在本设计中,为了尽可能提高实验成品各方面的性能指标,对几个比较重要的模块分别进行了几种不同的设计方案论证,并选取最优方案。
3.1.1 单片机的选取方案一:选用PIC、或AVR等作为控制核心;这些单片机资源比较丰富,可以实现复杂的逻辑功能,功能强大,完全可以实现对本系统的控制。
但对于本题目而言,其优势资源无法得以体现,且成本稍高。
方案二:采用片STC公司的STC12C5A系列单片机,该系列单片机外设资源丰富,IO口比传统单片机多,并且由于其功耗低、体积小、技术成熟和成本低等优点,比较适用于本系统。
本设计中,最终选择方案二,采用STC12C5A60S2单片机。
3.1.2 变压器的选择系统需要多路辅助电源,单片机STC12C5A60S2、数模转换器TLV5618、电压基准源REF5020等均需要5V的电压为之供电;散热器、继电器等均需要12V的电压为之供电;运放还需要双电源±12V供电。
方案一:采用普通变压器来给电路供电,变压器输出直接整流滤波然后分别稳压到所需电压给系统各个模块供电,但是这样会导致低压稳压芯片压差较大,效率非常低,容易烧毁稳压片。
主电源输出时,如果要输出较低的电压也会导致电路效率极低,发热严重,对散热器有较高要求。
此方案优点是普通变压器价格便宜易于购买。
方案二:采用多抽头变压器,对于各路辅助电源采用对应电压的抽头输出进行整流滤波稳压,这样提高了辅助电源模块的工作效率,降低了发热量。
主电源输出也采用多抽头,根据设定输出电压控制继电器切换到不同抽头来将稳压电路的输入输出压差降到比较小,这样提高了电源的效率,降低了发热量,增加了电路可靠性。
但是此方案需要订做专用变压器,且成本较高。
本设计中,最终选择方案二,采用多抽头变压器。
3.1.3 D/A转换器的选取方案一:采用DAC0832作为D/A转换器。
它是采用CMOS工艺制成的单片直流输出型8位数模转换器,有两路输出,它价格低廉,接口简单,但是它需要占用单片机较多的IO口,并且对于本系统其位数也显得不够。
方案二:采用TLC5618芯片作为D/A转换器。
它是具有串行接口的12位数模转换器,其输出为电压型,有两路输出。
只需要通过3根串行总线就可以完成对它的控制,但是其控制程序稍微复杂一些,价格也较高。
本设计中,最终选择方案二,采用TLV5618芯片作为D/A转换器。
3.1.4 A/D转换器的选取方案一:采用单片机自带A/D转换器。
单片机自带的是10位A/D转换器,有8个输入通道,其A/D转换速度可以达到几十千赫兹。
此方案优点是不增加额外成本,控制也更简单,但是由于其不能外接基准电压,其精度相对较差。
方案二:采用AD7705作为A/D转换器。
AD7705是16位双通道差分输入A/D,在输入范围内它可以检测电路任意两点间的电压,不需要复杂的采样电路,其缺点是A/D转换速度较慢,仅几十赫兹。
本设计中,最终选择方案二,采用AD7705芯片作为A/D转换器。
3.1.5 电压基准芯片的选取方案一:采用TL431作为电压基准芯片。
TL431最小可以输出2.5V电压,精度有8位,但是其温飘较大,容易受温度影响。
其价格比较便宜。
方案二:采用REF5020作为电压基准芯片。
REF5020是TI公司生产的12位的电压基准芯片,输出2.048V,温飘很小,在本设计中它很适合作为A/D、D/A 芯片的电压基准。
本设计中,最终选择方案二,采用REF5020芯片作为电压基准。
3.1.6 显示器件的选取方案一:采用LED数码管显示。
使用多个数码管动态显示,由于显示的内容较多,过多的增加数码管的个数显然不可行,并且比较占用单片机资源。
方案二: 采用LCD12864液晶显示。
可以显示英文及数字,利用单片机来驱动液晶显示模块,设计简单,显示信息量较多,且容易控制。
但是其成本较高。
方案三:采用2.4英寸TFT彩色液晶屏显示。
该屏幕分辨率320*240,可以显示图片、动画等,它对单片机速度要求比较高,占用IO口较多,控制程序相对复杂,用STC12C5A60S2只能显示一些文字自字符等静态画面,但是其价格较低,显示效果很好。
本设计中,最终选择方案三,采用2.4英寸TFT彩色液晶屏作为显示器件。
3.1.7 功率控制方案的选取方案一:选用三极管来实现功率控制,它是电流控制型器件。
在该设计中,由于驱动电路工作频率较高,若采用三极管实现功率控制,会需要较大的驱动电流。
方案二:选用场效应管来实现功率控制,它是电压控制型器件。
其功率比三极管更大,驱动电路也比较简单,响应速度快,比较适合用于大功率的场合。
本设计中,最终选择方案二,采用IRFP450场效应管来实现功率控制。
3.2 系统的最终方案经过仔细分析和论证,决定了系统各模块的最终方案如下:主要器件:(1)单片机:STC12C5A60S2(2)变压器:多抽头变压器(3)D/A转换器:TLV5618(4)A/D转换器:AD7705(5)电压基准芯片:REF5020(6)显示器件:2.4英寸TFT彩色液晶(7)功率管:IRFP450其它主要器件:OPA2227运放,OPA2228运放,EC11编码器,五脚继电器,LM35温度传感器,CPU散热器,78/79系列稳压芯片四、系统硬件设计与实现4.1.1系统硬件的基本组成基于单片机STC12C5A60S2设计的高精度数控直流稳压电源,数控部分采用双路12位高精度D/A转换器 TLV5618控制稳压电路的输出电压和输出电流; 采用16位高精度 A / D 转换器AD7705测量输出电压和输出电流; 采用EC11带按键编码器作为电压电流的设定装置;采用2.4英寸TFT彩色液晶屏显示设定的电压电流和实际输出电压电流;电源以电压串联负反馈稳压电路为基础来进行稳压和恒流输出。
4.2.1 电压串联负反馈稳压电路(稳压、恒流/过流保护)4.2.2 电压取样及放大电路电流取样及放大电路原理与该电路一样。
4.2.3 变压器绕组切换电路4.2.4 辅助电源电路4.2.5 电源整流滤波电路4.2.6 编码器驱动电路4.2.7 电压基准源电路4.2.8 A/D转换及D/A转换电路4.2.9 单片机最小系统4.2.10 温度采集电路五、系统软件设计5.1 程序流程图六、系统性能测试6.1 电压设定精度以及检测精度 检测电压 设置电压(V) 实测电压(V) 设置相对误差 检测相对误差 (V) 0.092 0.099 0.092 0.00% 7.61% 0.192 0.196 0.193 0.52% 1.55% 0.292 0.302 0.293 0.34% 3.07% 0.392 0.408 0.394 0.51% 3.55% 0.492 0.494 0.494 0.41% 0.00% 0.592 0.595 0.593 0.17% 0.34% 0.692 0.704 0.692 0.00% 1.73% 0.792 0.804 0.793 0.13% 1.39% 0.792 0.801 0.793 0.13% 1.01% 0.892 0.893 0.892 0.00% 0.11% 0.992 0.996 0.993 0.10% 0.30% 1.092 1.097 1.091 -0.09% 0.55% 2.012 2.016 2.007 -0.25% 0.45% 3.012 3.013 3.010 -0.07% 0.10% 4.012 4.013 4.009 -0.07% 0.10% 5.012 5.009 5.010 -0.04% -0.02% 6.012 6.016 6.013 0.02% 0.05% 7.012 7.017 7.015 0.04% 0.03% 8.012 8.022 8.024 0.15% -0.02% 9.000 8.999 8.998 -0.02% 0.01% 10.00 9.992 9.999 -0.01% -0.07% 12.00 12.010 12.060 0.50% -0.41% 14.00 14.000 14.009 0.06% -0.06% 16.01 16.000 16.010 0.00% -0.06% 18.01 18.010 18.017 0.04% -0.04% 20.01 20.000 20.009 0.00% -0.04% 25.00 25.000 25.005 0.02% -0.02% 30.00 30.000 30.015 0.05% -0.05% 35.01 34.990 35.011 0.00% -0.06% 40.01 40.010 40.020 0.02% -0.02%6.2 电流设定精度以及检测精度设置电流 (A) 0.021 0.051 0.101 0.202 0.302 0.403 0.503 0.603 0.704 0.804 0.9 1 1.1 1.201 1.301 1.402 1.502 1.602 1.703 1.803 1.904 2.004 2.2 2.401 2.602 2.802 3.003 3.204 3.4 3.601 3.801 4.002 4.203 4.404检测电流 (A) 0.026 0.057 0.104 0.206 0.306 0.405 0.505 0.604 0.706 0.805 0.902 1.002 1.104 1.203 1.304 1.404 1.504 1.604 1.705 1.804 1.906 2.007 2.201 2.401 2.605 2.802 3.005 3.206 3.403 3.604 3.805 4.005 4.203 4.402实测电流 (A) 0.023 0.053 0.102 0.203 0.302 0.403 0.502 0.602 0.704 0.803 0.899 1 1.101 1.201 1.302 1.402 1.503 1.604 1.704 1.805 1.905 2.007 2.202 2.402 2.606 2.806 3.007 3.208 3.407 3.606 3.806 4.006 4.205 4.406设置相对误差 检测相对误差 9.52% 3.92% 0.99% 0.50% 0.00% 0.00% -0.20% -0.17% 0.00% -0.12% -0.11% 0.00% 0.09% 0.00% 0.08% 0.00% 0.07% 0.12% 0.06% 0.11% 0.05% 0.15% 0.09% 0.04% 0.15% 0.14% 0.13% 0.12% 0.21% 0.14% 0.13% 0.10% 0.05% 0.05% 13.04% 7.55% 1.96% 1.48% 1.32% 0.50% 0.60% 0.33% 0.28% 0.25% 0.33% 0.20% 0.27% 0.17% 0.15% 0.14% 0.07% 0.00% 0.06% -0.06% 0.05% 0.00% -0.05% -0.04% -0.04% -0.14% -0.07% -0.06% -0.12% -0.06% -0.03% -0.02% -0.05% -0.09%6.3 稳压系数 设置电压(V) 负载电流(A) 负载电压(V) 0.00 5.011 5.012 1.00 5.005 4.23 4.987 0.00 10.000 10.000 1.60 9.991 4.00 9.976 0.00 20.009 20.010 1.90 19.996 4.23 19.983 0.00 30.015 30.000 2.10 29.994 4.23 29.989 6.4 纹波稳压系数 0.48%0.24%0.09%0.04%输出 空载 30V/4A稳压模式 恒流模式 纹波<1mV 纹波<1mV 纹波<8mV 纹波<3mV七、参考文献[1] 邱关源,罗先觉,电路(第五版) ,高等教育出版社,2006.5 [2] 铃木雅臣(日) ,晶体管电路设计(下) ,科学出版社,2004 [3] 陶桓奇,张小华,彭其圣,模拟电子技术,华中科技大学出版社,2007.3 [4] 佘新平,数字电子技术(第二版) ,华中科技大学出版社,2009.8 [5] 郭天祥,51 单片机 C 语言教程,电子工业出版社,2009.1 [6] 高吉祥,唐朝京,全国大学生电子设计竞赛电子仪器仪表设计,电子工业出 版社,2007.8 [7] 黄智伟,全国大学生电子设计竞赛系统设计(第 2 版) ,北京航空航天大学 出版社,2011.2 [8] 黄智伟, 全国大学生电子设计竞赛常用电路模块制作,北京航空航天大学出 版社,2011.1 [9] Stephen prata(美),C primer plus(第五版)中文版,人民邮电出版社, 2005.2 [10] 高飞飞,高文才,C 语言程序开发范例宝典(第 2 版) ,人民邮电出版社, 2012.6 [11] / IC 资料网 [12] / 21IC 中国电子网八、附录8.1 调整输出板原理图成换已换成8.2 控制板原理图8.3 部分程序代码 #include<stc12c5a.h> #include<stdio.h> #include<intrins.h> #include"AD7705.H" #include"TLV5618.H" #include"STCAD.H" #include"LCD_driver.h" #include"EEPROM.H" #include"delay.h" int I=196,U=2; float ADI,ADV,ADV1,ADV2,ADV3,ADI1,ADI2,ADI3,Temp,U_U; uchar buffer[14]={0},nU,nI; uchar Step=1,Step_flag=0,U_RL=14; uchar IU_Step[2]={1,1}; uint time=0,time_key=0,Ref=0,time_AD=0,time0=0,time1=0,time2=0,time3=0; uint i1=0,i2=0,i3=0,U_buffer[15]={0},I_buffer[15]={0}; bit t_flag=0,IU_flag=0,AD_delay=0,AD_flag=0; void Timer0Init(void) { AUXR &= 0x7F; // TMOD &= 0xF0; // TMOD |= 0x01; // TL0 = 0x5D; TH0 = 0xFD; TF0 = 0; TR0 = 1; ET0=1; EA=1; } void Timer0() interrupt { TL0 = 0x5D; TH0 = 0xFD; time++; //// // // //1 // //if(OK==0)t_flag=1; else if(OK==1) { t_flag=0; if(time_key<=20)_nop_();else if(time_key<=400)Step_flag++; else if(time_key>400) { IU_Step[IU_flag]=Step_flag; IU_flag=~IU_flag; Step_flag=IU_Step[IU_flag]; } time_key=0; } if(Step_flag>=3)Step_flag=0;} void Timer1() interrupt 3 { TL1 = 0x36; TH1 = 0xF7; time_AD++; time0++; time1++; time2++; time3++; if(time_AD>=100)AD_delay=1,time_AD=0; if(t_flag)time_key++; if(IU_flag==0) { if(Step_flag==0)Step=1; else if(Step_flag==1)Step=5; else if(Step_flag==2)Step=50; } if(IU_flag) { if(Step_flag==0)Step=1; else if(Step_flag==1)Step=2; else if(Step_flag==2)Step=20; }}void Timer1Init(void) { AUXR &= 0xBF; TMOD &= 0x0F; TMOD |= 0x10; TL1 = 0x36; TH1 = 0xF7; TF1 = 0; TR1 = 1; ET1=1; }//1ms@27.000MHzvoid INT00() interrupt 0 { if(P37==0) { if(IU_flag==0)U+=Step; else if(IU_flag)I+=Step; } if(P37==1) { if(IU_flag==0)U-=Step; else if(IU_flag)I-=Step; } if(I>=880)I=880; if(I<=0)I=0; if(U>=2000)U=2000; if(U<=0)U=0;} void main() {P4SW |= 0x70; LCD_Init(); Timer0Init(); Timer1Init(); DA_Init(); rset_ad();AD_Init();EX0=1;IT0=1;EA=1;P3M1=0x00;P3M0=0x21;FS = 0;RL1 = 0;RL2 = 0;RL3 = 0;RL4 = 0;ON = 0;Step_flag = IU_Step[IU_flag];// Pant(0xff,0xff); //Pant(0xf8,0x00); //// Pant(0X07,0xE0); //// Pant(0x00,0x1f); //Pant(0x00,0x00); //LCD_CS =0; //ChineseChar(20,10,2,colors[2],colors[4],1); // ChineseChar(38+14,10,2,colors[2],colors[4],2); // ChineseChar(38+46,10,2,colors[2],colors[4],3); // ChineseChar(70+46,10,2,colors[2],colors[4],4); // ChineseChar(102+46,10,2,colors[2],colors[4],5); //ChineseChar(134+46,10,2,colors[2],colors[4],6); //U = Read_EEPROM(0x00);I = Read_EEPROM(0x02);Temp = result(3);sprintf(buffer,"Temp:%.1f'C ",Temp);LCD_ShowString(0,50,M,colors[7],colors[4],buffer);U_RL = ((U<<1)/100+2)>>1;if(U==0)U_RL=0;if(U_RL>=0x0f)U_RL=0x0f;P1 = (P1&0x0F)|(U_RL<<4);write_da_U(U);write_da_I(I);sprintf(buffer,"SetI:%.3fA",(float)I*0.005+0.0210+0.018*(float)I/ 880);LCD_ShowString(0,150,M,colors[5],colors[4],buffer);nI=sprintf(buffer," %.3fA",Step*0.005);LCD_ShowString(240-nI*M,296,M,colors[5],colors[4],buffer);while(1){if(IU_flag==0){U_RL = ((U<<1)/100+2)>>1;if(U==0)U_RL=0;if(U_RL>=0x0f)U_RL=0x0f;P1 = (P1&0x0F)|(U_RL<<4);write_da_I(I);write_da_U(U);if(U<400)U_U = (float)U*0.02+0.052;else if(U<550)U_U = (float)U*0.02+0.06;else if(U<719)U_U = (float)U*0.02+0.065;else if(U<1200)U_U = (float)U*0.02+0.071;else if(U<1500)U_U = (float)U*0.02+0.083;else if(U<1585)U_U = (float)U*0.02+0.10;else U_U = (float)U*0.02+0.11;if(U_U<10.000)sprintf(buffer,"SetU:%.3fV ",U_U);else sprintf(buffer,"SetU:%.2fV ",U_U);LCD_ShowString(0,100,M,colors[1],colors[4],buffer);nU=sprintf(buffer," %.2fV",Step*0.02);LCD_ShowString(240-nU*M,296,M,colors[1],colors[4],buffer);}if(IU_flag){write_da_U(U);write_da_I(I);sprintf(buffer,"SetI:%.3fA",(float)I*0.005+0.0210+0.018*(f loat)I/880);LCD_ShowString(0,150,M,colors[5],colors[4],buffer);nI=sprintf(buffer," %.3fA",Step*0.005);LCD_ShowString(240-nI*M,296,M,colors[5],colors[4],buffer); }if((AD_delay==1)&&(AD_flag==0)){U_buffer[i1]=AD_V(1);i1++;if(i1==10)i1 = 0;AD_delay=0;time_AD=0;AD_flag = 1;}if((AD_delay==1)&&(AD_flag==1)){I_buffer[i2]=AD_V(2);i2++;if(i2==10)i2 = 0;AD_delay=0;time_AD=0;AD_flag = 0;}if(time0>=200){time0=0;for(i3=0;i3<10;i3++)ADV += U_buffer[i3];ADV1=ADV;ADV2=ADV1;ADV3=ADV2;ADV = (ADV1+ADV2/2.0+ADV3/4.0)/1.75;ADV /= 10.0;ADV = ADV*20.00*2.048/65536.000+0.009;if(ADV<10)sprintf(buffer,"OutU:%.3fV ",ADV);else sprintf(buffer,"OutU:%.2fV ",ADV);LCD_ShowString(0,200,M,colors[1],colors[4],buffer);ADV = 0;}if(time3>=200){time3=0;for(i3=0;i3<10;i3++)ADI += I_buffer[i3];ADI1=ADI;ADI2=ADI1;ADI3=ADI2;ADI = (ADI1+ADI2/2.0+ADI3/4.0)/1.75;ADI /= 10.0;ADI = ADI*5.025*2.048/65536.000;sprintf(buffer,"OutI:%.3fA ",ADI);LCD_ShowString(0,250,M,colors[5],colors[4],buffer);ADI = 0;}if(time1>=1000){time1=0;Temp = result(3);sprintf(buffer,"Temp:%.1f'C ",Temp);LCD_ShowString(0,50,M,colors[7],colors[4],buffer);if(Temp>=33.0)FS = 1;else if(Temp<=28)FS = 0;Write_EEPROM(0x00,U,I);}}}。