(2013 届)
题 目 直流稳压电源及漏电保护装置
学 院 信息工程学院 专 业 应用电子 班 级 113
学 号 201137010030342
姓 名 潘友余 指导教师 余红娟
2013年 3月 28 日
摘 要
直流稳压电源及漏电保护装置是以红晶公司的新一代51单片机stc12c5a60s2 为主控系统。stc12c5a系列单片机是一个8位的单片机,指令精简,操作简便。stc12c5a60s2单片机的功能是用来控制题中要求的功率测试及显示等功能,液晶显示屏采用LCD128显示, 直流供电模块和预稳压模块、高精度低压模块在一起构成了直流稳压电源,电压取样模块的作用是用来取样输出电压的大小,再把电压信号反馈回单片机,通过程序控制显示出功率的大小,漏电保护装置主要的作用是检测出漏电流的大小。通过场效应管作为调整管设计了5伏线性稳压电源,在负载为5欧的条件下输入电压可调范围为5.5-7伏。采用lm339测试线路电流和功率,漏电保护器动作电流设置在30mA。良好的达到了设计要求。
关键字:stc12c5a60s2,场效应管,功率检测,漏电保护器
Abstract
DC regulated power supply and leakage protection device is based on a new generation of 51 single chip computer of STC12C5A60S2 company as red crystal. Stc12c5a
the Series
main
MCU
control system of
is a
8 to
bit microcontroller,simple instructions, easy
operate. STC12C5A60S2 MCU function is used to control
the problem of power testing requirements and display, liquid crystal display screen adopts LCD128 display, DC power supply module and the preregulator module, high precision and low module together constitute
the DC
regulated
power
supply, voltage sampling module is used to sample the output voltage, then the voltage signals back to the SCM through the program control,shows the power size, function of leakage protection
device mainly is
to
detect
the leakage
current. Through the field effect transistor as adjusting pipe design
5volt linear
is
regulated 5.5 to
power
supply, load adjustable range 7 volt input 5
Euro conditions. By using the LM339 test line current and power, current leakage protection action set in 30mA. Well meet the design requirements.
Keywords:STC12C5A60S2,MOSFET,power detection,electrical
leakage protector
第一章:引言 : ......................................................................................................... 5
1.1关于直流稳压电源及漏电保护装置 ...................................... 5
第二章:设计目的及要求: ........................................ 6
2.1基本要求 ............................................................ 6
第三章:系统总体方案及硬件设计 ............................................................ 7
3.1总体方案: .......................................................... 7
第四章:硬件电路设计: ................................... 8
4.1主控模块: .......................................................... 8 4.2稳压模块: ..................................................................................................................... 9 4.3直流功率测量模块: ................................................. 10 4.4漏电保护模块: ..................................................... 12 4.5显示模块: ......................................................... 13
第五章:软件设计: ................................... 15
5.1设计特点: ......................................................... 15
第六章:电路PCB图及元器件选配 ...................... 17
6.1元器件选配: ....................................................... 18
第7章:结论与辞谢: ................................. 19
7.1 参考文献 .......................................................... 19 7.2致谢 ............................................................... 19
第8章:附录: ........................................ 20
第一章:引言 :
1.1关于直流稳压电源及漏电保护装置
随着现代技术的发展,精确大动态范围的电源得到了广泛的应用,精密的的电源在科研和工作中是不可或缺的。本题要求我们自制一个低压差直流稳压电源及漏电保护装置,当输入电压在5.5V~25V变化时,要求输出电压为5±0.05V,当输入电压在5.5V~7V变化时,要求输出电压为5±0.05V,并达到相应的电压调整率和负载调整率都要小于1%。同时制作功率显示装置与漏电保护装置。
直流稳压电源是电子技术领域不可缺少的设备,常见的直流稳压电源,大都采用串联式反馈式稳压原理,通过调整输出端取样电阻支路中的电位器来调整输出电压。由于电位器阻值变化的非线性和调整范围窄,使普通直流稳压电源难以实现输出电压的精确调整。 本文主要分以下接个部分部分:引言、总体方案、硬件系统、软件系统,Proteus仿真截图,总结。引言,首先对课题研究背景和所涉及的相关技术领域进行了介绍;第一章对系统所要完成的功能和可扩展的功能进行描述,确定系统的设计方案主要参数计算,第二章对系统的硬件结构和各部分组成作了简要的介绍和讲解;第三章是硬件部分,主要介绍了stc12c5a60s2单片机简介和供电模块、预稳压模块稳压模块、漏电保护模块液晶显示模块。第四章是显示功率、输入电压模块,这部分重点介绍了主程序的流程框图及各个子程序的流程框图。第五章是仿真的截图。最后对整篇文章进行了总结。
第二章:设计目的及要求:
2.1基本要求
设计一台额定输出电压为 5V,额定输出电流为 1A 的直流稳压电源。 (1)转换开关 S 接 1 端,RL 阻值固定为 5Ω。当直流输入电压在 7~25 V 变化时,要求输出电压为 5±0.05V,电压调整率 SU≤1%。 (2)连接方式不变, RL 阻值固定为 5Ω。当直流输入电压在 5.5~7V 变化时,要求输出电压为 5±0.05V。
(3)连接方式不变,直流输入电压固定在 7V,当直流稳压电源输出电流由1A 减小到 0.01A 时,要求负载调整率 SL– 2 / 3 (4)制作一个功率测量与显示电路,实时显示稳压电源的输出功率 2.发挥部分
设计一个动作电流为 30mA 的漏电保护装置 (使用基本要求部分制作的直流稳压电源供电,不得使用其他电源) 。
(1)转换开关 S 接 2 端,将 RL 接到漏电保护装置的输出端,阻值固定为20Ω,R 和电流表 A 组成模拟漏电支路(见图 1) 。调节 R,将漏电动作电流设定为 30 mA。当漏电保护装置动作后,RL 两端电压为 0V 并保持自锁。 排除漏电故障后, 按下 K 恢复输出。要求漏电保护装置没有动作时,输出电压≥4.6V。 (2)要求漏电保护装置动作电流误差的绝对值≤5%。 (3)尽量减小漏电保护装置的接入功耗。
第三章:系统总体方案及硬件设计
3.1总体方案:
整个直流稳压电源及漏电保护装置系统主要由单片机模块、直流输入供电模块、漏电保护装置模块、显示模块构成。此装置主要是为了能检测出瞬间电流的大小,能适用于供电站,用来检测供电区域瞬间电流的大小,如果过大,就直接断开,能保护送电装置
图1 系统电路原理框图
第四章:硬件电路设计:
4.1主控模块:
Stc12c5a60s2单片机:
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。
1 .增强型8051 CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051 2 .工作电压:STC12C5A60S2系列工作电压:5.5V- 3.3V(5V单片机)STC12LE5A60S2系列工作电压:3.6V- 2.2V(3V单片机) 3. 工作频率范围:0 - 35MHz,相当于普通8051的 0~420MHz
4. 用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K字节......
5、A/D转换, 10位精度ADC,共8路,转换速度可达250K/S(每秒钟25万次)
图 2 最小系统
4.2稳压模块:
稳压模块主要由2n2905、2n4124、以及tl431组成。7805等集成稳压管是常用的5伏直流电源应用芯片,但是他的输入电压范围是7.5-15伏,输入与输出电压差的典型值为2伏,电压调整率典型值为4%,与任务中的指标要求不相符合。根据题目要求,稳压电源输入电压5.5V~25V可调,而输出为固定5V且电流为1A,因此在电源输入为低电压时,要求调整管内阻造成的电压降必须小于0.5V,采用三极管作为调整管,利用t1431搭建可调精密稳压器,输入范围大,输出稳定精度高。
图3 稳压模块仿真图
4.3直流功率测量模块:
利用单片机A/D测量电流电压电压,电流测试采用电流—电压电路转换,变成电压信号后,用单片机AD采集电流值,此电压值与电流值的乘积,即为电源输出功率。此种方法安装简单,精度较高,并且功能扩展性比较强。
图4 电流—电压转换电路
4.4漏电保护模块:
采用硬件检测控制方式。此种方式在漏电控制模块电源输出加一个电流检测模块,电流检测模块输出为与检测电流信号相对应的电压信号,通过运算放大器把两个电压信号放大,并把两个电压信号进行减法运算,运算后的值与相对于30mA电流信号的电压值进行比较,如果大于漏电值,则控制继电动作并自锁。漏电故障排除后,按下复位键,切断继电器自锁回路,电路继续正常工作。
图5 漏电保护模块仿真图
4.5显示模块:
显示模块采用128液晶屏幕,这款液晶屏接口完善,并且价格较低,而且拥有丰富的底层程序以及字库。完全满足系统显示的要求。
图6 128液晶屏幕
第五章:软件设计:
5.1设计特点:
在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。
应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:获取ad模块采集到的电压值、计算电路功率以及驱动液晶屏幕显示等等,在具体需要时调用相应的模块即可。
功能描述:利用ad端口采集电压值,并根据采集数值快速计算电路功率,然后利用液晶屏幕显示。(具体程序见附件)
图7 程序流程图
第六章:电路PCB图及元器件选配
利用Altium Designer软件画制原理图并生成电路PCB图。 (pcb图详见附件)
图7 pcb绘制
图8 原理图绘制
6.1元器件选配:
元器件表: 元器件
规格 Stc12c
单片机 液晶屏幕 电阻 按键 瓷片电容 晶振 开关 芯片 瓷片电容 电解电容
5a60s2 1 128
1 若干 数量
共阴极 4 33pF 12MHz 按键 Lm324 0.1uF 100uF
2 1 1 3 2 3
三极管 2n2905 10
三极管 2n4124 10
可控精密稳压源 tl431 10 继电器 1 电压比较器 lm339 3
第7章:结论与辞谢:
在这个直流稳压电源及漏电保护装置的系统中使用了stc12c5a60s2单片机,因为此单片机自带了A/D、PWM、定时器等功能,不需要在另外去设计一个A/D转换的电路,减小了工作量。然后利用了三极管和可控精密稳压源设计了一个稳压电路,这个电路构成了直流稳压电源模块,在精度方面完全满足要求,又利用一个继电器设计了一个漏电流检测装置,正好满足了此题的要求。根据前面所测得的数据可以得出,本设计是完全的满足此题的要求,在一些地方还比题中所要求的精度更加的高
7.1 参考文献
(1).模拟电子技术 韦建英 徐安静编 华中科技大学出版社(2010.8)
(2).新概念51单片机
(3).全国大学生电子设计竞赛教程--基于TI器件设计方法 黄根春 周立青 张望先编 电子工业出版社(211.4)
(4).stc12c5a60s2 芯片手册
7.2致谢
这次毕业设计可以的完成,得益于老师的指导与自己团队的辛勤努力,通过在网络上搜索相关资料,老师的解答与队员之间的讨
论交流解决了很多的问题,最后完成了整个毕业设计。
在整个设计过程中,我首先要感谢我的指导老师,没有老师不辞辛苦的解答与帮助,仅凭我个人能力是很难完成这次毕设的,在老师的帮助下,我弄懂了LM324、、tl431、lm339等芯片的连接方式与其实现的功能,学会了Proteus软件的使用以及如何利用
Altium Designer画封装,最后生成
PCB板。在论文撰写过程中,陈老师
细致的检查帮我找出许多不当之处并提供解决方案,在老师一步一步的教导下完成了此次毕设,再次感谢老师的指导与帮助。
另外还要我的队友,在这个过程中大家相互支持,遇到有问题就在一起相互讨论,在日常中通过讨论与讨教解决了不少的问题,此外,我仍需感谢网络论坛上的很多前辈帮忙解决问题出主意,十分感谢!
第8章:附录:
附录1c程序: //min.c
#include\"STC12C5A60S2.H\" #include\"AD.h\"
#include sbit b=P2^0; sbit s=P2^1; sbit f=P2^2; sbit x=P2^3; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void main() { float U,I; uint ge,shi,bai,shifen,P; Init_Com(); //串行口初始化程序 AD_Init(); while(1) { U=Ad_Av(0) ;//电压 I=Ad_Av(1) ;//电流 P=(uint)U*I*10;//功率 bai=P%1000; shi=P/1000%100; ge =P/100%10; shifen=P/10; P0=table[bai]; //百位 b=1; s=0; f=0; x=0; delayms(5); P0=table[shi]; //十位 b=0; s=1; f=0; x=0; delayms(5); } } //ad #include\"STC12C5A60S2.H\" #include\"AD.H\" #include P0=table[shifen]; //十分位 b=0; s=0; f=0; x=1; delayms(5); P0=table[ge]|0x80; //个位 b=0; s=0; f=1; x=0; delayms(5); /********************************************************************************/ //串口初始化函数 /*****************************************************************************************************/ void Init_Com(void) //串行口初始化程序 { TMOD = 0x20; PCON = 0x00; SCON = 0x50; REN=1; //接收允许位 TH1 = 0xfd; //波特率9600 TL1 = 0xfd; TR1 = 1; EA=1; ES=1; } /************************************************************************************/ /*延时函数,xms为延时毫秒; //总中断 //串口中断 /************************************************************************************/ void delayms(uint xms) { uint i,j; for(i=xms;i>0;i--); } /*****************************************************************************************************/ /*AD初始化函数 /*****************************************************************************************************/ void AD_Init() { P1M0=0X0F; P1M1=0X0F; //开漏模式 for(j=110;j>0;j--); P1ASF = 0xff; //1111,1111, 将 P1 置成模A delayms(1); } /**********************************************************************************************************/ //设置并获取AD数据 /*****************************************************************************************************/ int GetAD(uchar channel) //channel 为要取的通道号(0-7),此处只能取到0-3 { uchar AD_finished=0; int result; ADC_RES = 0; //将结果寄存器清零 ADC_RESL = 0; ADC_CONTR=ADC_POWER|ADC_SPEEDHH|ADC_START|channel; AD_finished = 0; while (AD_finished ==0 ) //等待A/D转换结束 { AD_finished = (ADC_CONTR & 0x10); //0001,0000 测试A/D转换结束否 } ADC_CONTR &= 0x00; //1111,0111 清 ADC_FLAG 位, 关闭A/D转换, result=ADC_RES*4+ADC_RESL; /* //读走A/D转换结果,由于ADC_DATA中存储12位中的高8位,当要转换成十进制时,需要将ADC_DATA中的数左移2位,即相当于*4 */ return(result); } /************************************************************************************************************************/ //获取AD采集的一百次电压的平均值 /*****************************************************************************************************/ float Ad_Av(uchar channel) //求100次采集电压的平均值 { float Val_Av=0; uchar num; for(num=100;num>0;num--) { } Val_Av/=100.0; //求平均值 Val_Av=Val_Av*5/1024; //单片机电源为5V,求得真实 Val_Av+=GetAD(channel); //100次采集求和 电压值 } //ad.h #ifndef __AD_H__ #define __AD_H__ #define uchar unsigned char #define uint unsigned int //float ad1,ad2,ad3,ad4,ad5,ad6,ad7,ad8; #define ADC_POWER 0x80 //1000,0000;ADC power control bit #define ADC_FLAG 0x10 //0001,0000;ADC complete flag #define ADC_START 0x08 //0000,1000;ADC start control bit #define ADC_SPEEDLL 0x00 //0000,0000;420 clocks #define ADC_SPEEDL 0x20 //0010,0000;280 clocks #define ADC_SPEEDH 0x40 //0100,0000;140 clocks #define ADC_SPEEDHH 0x60 //0110,0000;70 clocks extern void Init_Com(); //串行口初始化程序 extern extern void delayms(uint); void AD_Init() ; return(Val_Av); //返回给函数 extern extern extern int GetAD(uchar) ; float Ad_Av(uchar); void AD() ; 附录2 pcb图 原理图:
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务