ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:52.06KB ,
资源ID:10736435      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10736435.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于51单片机恒压恒流源的设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于51单片机恒压恒流源的设计.docx

1、基于51单片机恒压恒流源的设计恒压、恒流源的设计学 校: 专 业:电气工程及其自动化带队教师: 参赛队员: 第一章 前言3第二章?方案论证4第三章?整体设计思路51)、整体主电路框图2)、整体框图3)、电源主体4)、控制电路第四章?单元电路71)、充电电流取样检测电路2)、充电电压取样检测电路3)、检查及保护电路4)、时钟芯片DS1302辅助电路5)、1602液晶显示模块第五章 软件设计13第七章? 结论14附页前言铅酸蓄电池是目前世界上广泛使用的一种化学电源,该产品具有良好的可逆性,电压特性平稳,使用寿命长,适用范围广,原材料丰富(且可再生使用)及造价低廉等优点而得到了广泛的使用。是社会生产

2、经营活动中不可缺少的产品。但是,若使用不当,其寿命将大大缩短。影响铅酸蓄电池寿命的因素很多,而采用正确的充电方式,能有效延长蓄电池的使用寿命。研究发现:电池充电过程对电池寿命影响最大,放电过程的影响较少。也就是说,绝大多数的蓄电池不是用坏的,而是“充坏”的。由此可见,一个好的充电器对蓄电池的使用寿命具有举足轻重的作用。而且,传统充电器的充电策略比较单一,只能进行简单的恒压或者恒流充电,以致充电时间很长,充电效率降低。另外,充电即将结束时,电池发热量很大,从而造成电池极化,影响电池寿命。针对上述问题,设计了一种智能充电器,尽量延长铅酸蓄电池的使用寿命。 第二章 方案论证一、方案论证与比较控制器的

3、选择方案1:采用AT89S52单片机,该单片机做为经典单片机,方便使用,价格便宜,较长使用;但其功能单一,使用中需要外加多个其他电路,增加外围电路的设计及成本;方案2:选择STC12C5A60S2单片机,此款作为本控制器自身带有AD转换、捕捉、PWM等功能,可减少外围设计且价格适中,开发周期短,编程及调试环境简单,容易实现;方案3:选择PIC16F1829单片机,本款控制器功能齐全,属于当前高端的8位MCU,其工作速度快,功耗低,可靠性高,但其开发调试环境都需要专门的调试器,不利于任务的完成。综上所述,选择方案2;稳压电路选择方案1:采用集成稳压模块,如LM7805、LM317等。此种拓扑形式

4、的稳压电路可控性较差,控制精度较低;方案2:采用分离式元件,如大功率达林顿、场效应管等。电路较复杂,但性能指标可通过自己设计其大小,利于根据单片机的需要设置工作环境,如短路保护定值,负载电流的测量等。综上所述,选择方案2;第三章 整体设计思路1)整体主电路框图主电路框图2)、整体框图交流220V输入单片机降压、整流、滤波电源主电路电压采样电流采样蓄电池液晶显示按键控制3、电源主体、辅助电源直流电源部分的工作原理:交流220V的市电经变压器TI降压、桥式整流电路进行整流,然后通过C1滤波,所得到的电压V=15V同时提供给BUCK变换器和7805,7805三端稳压器稳压后的输出为单片机提供5V的直

5、流工作电源。若电源准就绪,备发光二极管发亮,显示电源正常。、主电路主控电路部分主要由开关型电流控制回路、检测取样电路、液晶显示电路组成。主电路4 控制电路、主控电路主控电路 第四章? 单元电路、充电电流取样检测电路该电路设置了过流保护,能达到恒流充电目的。电流取样放大电路,是把取样后的电流以电压形式送回到PWM比较器中去比较,从而决定输出的占空比。如图所示:图 电流取样检测电路、充电电压取样检测电路当接入电池时,检测到电池两端有电压,充电器开始充电。当检测到电池端电压已经达到最大值时,确定充电已满,调整PWM输出占空比,充电器自动转入浮充电状态,并发出声光报警。如图所示:图 电压取样检测电路、

6、检查及保护电路过载检查及短路保护电路时钟芯片DS1302辅助电路DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。64.4.1引脚功能及结构在DS1302的引脚排列,其中Vcc1为后备电源,VCC

7、2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻

8、态。上电运行时,在Vcc之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK始终是输入端。4.4.2 DS1302的控制字节 DS1302 的控制字符表示。控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。4.4.3数据输入输出(I/O) 在控制指令字输入后的下一个SCLK时钟的上升沿时,数据

9、被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。4.4.4 DS1302的寄存器 DS1302有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。 此外,DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH,其中奇数为读操作,偶

10、数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。4.4.5设计该模块完成的任务用于为系统提供精确的时间 1602液晶显示屏4.5.1液晶显示的原理液晶显示材料最常见的用途是电子表和计算器的显示板,为什么会显示数字呢?原来这种液态光电显示材料,利用液晶的电光效应把电信号转换成字符、图像等可见信号。液晶在正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被打乱,一部分液晶变得不透明,颜色加深,因而能显示数字和图象。4.5.2基本用途该点阵的屏显成本相对较低,适用于各类仪器,小型设备的显示领

11、域。4.5.3设计该模块的作用用于显示当前系统信息,即输出电压、电流。第五章 软件设计主流程图 第五章 proteus仿真电路图仿真电路图图5-1 主电源仿真图图5-1是本设计的主体部分。Q4为大功率达林顿管,在此作为调整管,Q3选用2N5551,最为对调整管的一级驱动电路。由上图可知,供电12V,调节2N5551的输入电压即可改变输出大小的电压。图5-2 电流检测放大电路图5-2为电流检测放大电路,通过采集RV2上的电压,通过运放的放大到单片机AD转化后即可知道回路中的电流值,从而判断当前电路是否过载。 图5-4 DS1302仿真电路图U3是DS1302是该电子时钟的时钟芯片,它右侧是晶振电

12、路,它的功能是给它提供时钟频率作为DS1302的工作频率。51单片机不停的从DS1302中读取信息然后在1602液晶显示上显示出来。EEPROM,它是用来存储时钟闹铃的。实物图使用方法本设计通过液晶显示当前输出电压、电流值,并通过外界两点触按钮实现电压的高低调节,使用简单。电路设计过流保护,自动控制电流上限。 性能测试1)纹波大小(测试环境:负载20/50W)输出12V纹波输出波形空载纹波带载纹波结 论自申请本设计以来经过分析问题,查找资料,制作实物,编写程序阶段工作,直到系统成型,一共经过了四个多月的时间,其间尝试了两种主电路设计(一是mos管作为开关电路,二是三极管作为开关电路),尝试了a

13、vr、51等系列的单片机控制,驱动电路的选择(用不用驱动芯片,光耦隔离)等,最后我们选择了TIP41作为开关电路,51单片机作为控制芯片,三极管放大电路作为驱动电路作为最终的方案。本设计以单片机为核心设计一种智能恒压恒流电源,不但电路简单,结构紧凑,价格低廉,性能卓越。本设计程序稍加修改便能够实现对铅酸蓄电池的快速充电,慢充以及涓流三个阶段充电。输出电压采用数字显示,输人采用按键方式,操作使用方便,具有较高的使用价值。由于水平有限,并且时间不足,有许多技术与算法都没有深入的研究,需要在以后继续研究中不断的完善,总结如下:(1)、经过这次设计,它让我接触更多平时没有接触过的科学仪器设备、元器件以

14、及获得相关的仪器调试经验,同时我也发现自己在这方面很多不足之处。体会到理论知识对实践有很大的指导作用,她让我知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。(2) 电路的硬件设计能力有待进一步提高。(3) 软件编程能力有待进一步提高。 (4)本设计程序稍加修改便能够实现对铅酸蓄电池的快速充电,慢充以及涓流三个阶段充电。参考文献1康华光等,电子技术基础模拟部分,北京:高等教育出版社,1999,第四版,106-111。2康华光等,电子技术基础数字部分,北京:高等教育出版社,2000,第四版,40-573李全利,单片机原理及接口技术,北京:高等教育出版社,。4张毅刚等,单片机原理及应

15、用,北京:高等教育出版社,2004。6全国大学生电子设计竞赛组委会,全国大学生电子设计竞赛获奖作品汇编(第一届第五届),北京:北京理工大学出版社,2004,12-50。7 STC12C5A60S2官方提供单片机详情介绍8龚运新,单片机C语言开发技术北京:清华大学出版社。9唐颖,单片机原理与应用及C51程序设计,北京大学出版社,2008第一版。10王水平等,单片机开关电源集成电路应用设计实例,人民邮电出版社,2008第一版。11网络资料。附页:#include #include #define uint unsigned int#define uchar unsigned char#define

16、 Nop() _nop_()sbit lcd_rs_port = P21; /*定义LCD控制端口*/sbit lcd_rw_port = P22; /*定义LCD控制端口*/sbit lcd_en_port = P23; /*定义LCD控制端口*/#define lcd_data_port P0 /*定义LCD控制端口*/sbit DQ =P13; /定义DS18B20通信端口sbit a=P25;sbit b=P26;sbit ALE=P27;sbit EOC=P32;sbit ST=P20;sbit OE=P36;uint info;uchar da=000a000b000c000d00

17、0;/*1MS为单位的延时程序*/void init() /* 串口定时器外部中断初始化 */ /TMOD = 0x21; /TH1 = 0xfd; /TL1 = 0xfd; /* 9600 */ /TR1 = 1; /SCON = 0x50; /* 工作在方式1*/ P0=0x00; P1=0x00; P2=0x00; P3=0x00; EOC=1; ALE=0; ST=0; OE=0;/AD检测的实现void initADC() P1ASF=0X03; ADC_RES=0; ADC_CONTR=0XC8; /p00,开电源 AUXR1=0X00; void ADC1() ADC_CONTR

18、=0XC9; /p00,开电源 AUXR1=0X00; /高八位高放 while(ADC_CONTR&0X10=0); ADC_CONTR&=0xef; shijiliu=ADC_RES; shijiliu=2; shijiliu+=ADC_RESL; yu=(float)shijiliu*; /换算到毫安数/DA功能即PWM功能的实现void init_pwm() CCON=0; CCAPM0=0X42; CMOD=0; CL=CH=0; CCAP0H=0X80; CCAP0L=0X80; CR=1; CCAP0H=t1; /t1控制占空比 CCAP0L=t1;/1602液晶显示void L

19、CD_SetDisplay(unsigned char DisplayMode) LCD_Write(LCD_COMMAND, 0x08|DisplayMode); #define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00 / default#define LCD_MOVE 0x01 / 画面可平移#define LCD_NO_MOVE 0x00 /defaultvoid LCD_SetInput(unsigned char InputMode) LCD_Write(LCD_COMMAND, 0x04|InputMode);#define LCD_CURSO

20、R 0x02 #define LCD_SCREEN 0x08#define LCD_LEFT 0x00#define LCD_RIGHT 0x04void LCD_Initial() LcdEn=0; LCD_Write(LCD_COMMAND,0x38); /8位数据端口,2行显示,5*7点阵 LCD_Write(LCD_COMMAND,0x38); LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /开启显示, 无光标 LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN); /清屏 LCD_SetInput(LCD_AC_UP|LCD

21、_NO_MOVE); /AC递增, 画面不动void GotoXY(unsigned char x, unsigned char y) if(y=0) LCD_Write(LCD_COMMAND,0x80|x); if(y=1) LCD_Write(LCD_COMMAND,0x80|(x-0x40);void Print(unsigned char *str) while(*str!=0) LCD_Write(LCD_DATA,*str); str+; /按键扫描void jianpan() if(P02=0) Delay1ms(10); if(P02=0) t1+; if(P00=0) De

22、lay1ms(10); if(P00=0) t1-; CCAP0H=t1; CCAP0L=t1;/数据处理void IntToStr(uint t, uchar *str) uchar a4; uchar i=0,j; a0=(t/1000)+0x30; /取得整数值到数组 a1=(t/100)%10+0x30; a2=(t/10)%10+0x30; /a3=(t/10)%10+0x30; a3=t%10+0x30; for(i=0; i5; i+) /转成ASCII码 ai=ai; for(i=0; ai=0 & i=0; i+); for(j=5-5; ji; j+) /填充空格 *str= ; str+; for(; i4; i+) *str=ai; str+; /加入有效的数字 *str=0;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1