高洁琼的论文.docx

上传人:b****5 文档编号:6134522 上传时间:2023-01-04 格式:DOCX 页数:52 大小:943.44KB
下载 相关 举报
高洁琼的论文.docx_第1页
第1页 / 共52页
高洁琼的论文.docx_第2页
第2页 / 共52页
高洁琼的论文.docx_第3页
第3页 / 共52页
高洁琼的论文.docx_第4页
第4页 / 共52页
高洁琼的论文.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

高洁琼的论文.docx

《高洁琼的论文.docx》由会员分享,可在线阅读,更多相关《高洁琼的论文.docx(52页珍藏版)》请在冰豆网上搜索。

高洁琼的论文.docx

高洁琼的论文

 

基于单片机的太阳能电池控制器的设计

高XX

(XXX电气工程系电气工程及其自动化专业09级5班,陕西汉中723003)

指导教师:

XXX

[摘要]独立式光伏发电系统由四部分组成:

太阳能电池板、蓄电池、控制器和直流负载,其中控制器是整个发电系统的核心。

太阳能电池板给蓄电池进行充电,蓄电池给直流负载进行放电。

这次毕业设计的要求是要设计出太阳能电池控制器来延长蓄电池的使用寿命,控制器的作用是控制蓄电池的充放电,以及对白天和夜间充放电的选择。

设计出的功能有开始、结束、小时加减、分钟加减、人工充电、人工放电、查看电压和直通模式。

经过努力最终完成了设计的要求。

[关键词]太阳能;单片机;控制器

 

Microcontroller-basedSolarCellControllerDesign

XXX

(Grade09,Class5,Major Engineering & Automation, Electronic Engineering Dept, Shaanxi University of T-echnology , Hanzhong 723003,Shaanxi)

Tutor:

KangJinhui

Abstract:

Stand-alonePhotovoltaicPowerGenerationSystemconsistsoffourcomponents:

solarpanels,batteries,controllerandDCload,whereinthecontrolleristhecoreoftheentirepowersystem.Solarpanelstochargethebattery,thebatterytotheDCloadtodischarge.Thisgraduationrequirementistodesignthesolarcellcontrollertoextendthebatterylife,thecontrolleristocontrolthecharginganddischargingofthebattery,andcharginganddischargingofthedayandnightchoice.Designfeaturesabeginning,end,hourssubtraction,additionandsubtractionminute,artificialcharging,artificialdischargevoltageanddirectviewmode.Aftereffortstofinalizethedesignrequirements.

Keywords:

SolarEnergy;Microcontroller;Controller

引言

当电力、煤炭、石油等不可再生能源频频告急,能源问题日益成为制约国际社会经济发展的瓶颈时,越来越多的国家开始实行“阳光计划”,开发太阳能资源,寻求经济发展的新动力。

欧洲一些高水平的核研究机构也开始转向可再生能源。

在国际光伏市场巨大潜力的推动下,各国的太阳能电池制造业争相投入巨资,扩大生产,以争一席之地。

如今不可再生能源越来越少,新能源也就越来越受到大家的青睐,太阳能也是其中的一个。

独立式光伏发电系统由四部分组成:

太阳能电池板、控制器、蓄电池和直流负载。

若蓄电池的电压太大或太小,都会影响蓄电池的寿命。

因此本次毕业设计就是要设计出太阳能电池的控制器来控制蓄电池不会出现过充和过放,当蓄电池两端的电压为12V时,表示此时电已经充满,需要断开充电回路。

当蓄电池两端的电压小于10.8V时,自动断开放电回路,同时蓄电池放电到10.8V时蜂鸣器开始响5S发出警报声。

为了使本次设计更加符合实际情况,设计还增加了时钟显示电路,当时间在下午六点到早上六点的时候,由于已经没有太阳,蓄电池无法进行充电,在仿真中按人工充电按钮则不再起作用。

此次毕业设计的目的也就是要设计出可以控制蓄电池充放电的控制器,来延长蓄电池的使用寿命,更好的给直流负载供电。

目录

1概述1

1.1设计背景1

1.2开发工具1

1.2.1Proteus简介1

1.2.2Keil简介2

1.3题目要求3

2总体设计3

2.1总体分析3

2.2总体框图3

2.3设计流程4

3硬件设计4

3.1分析4

3.2电子原理图4

3.3各个模块设计5

3.3.1分压电路5

3.3.2AD转换模块6

3.3.3显示模块7

3.3.4键盘模块9

3.3.5充放电回路13

3.4单片机的复位电路与晶振电路13

3.4.1单片机的复位电路13

3.4.2单片机的晶振电路14

4软件设计14

4.1总体流程图15

4.2各模块设计15

4.2.1键盘模块15

4.2.2AD转换模块16

4.2.3时间显示模块17

4.2.4充放电模块18

5整体调试19

5.1软件调试介绍19

5.2模块调试20

5.2.1时钟显示的调试20

5.2.2AD转换的调试20

5.2.3充放电回路的调试21

总结22

致谢23

参考文献24

外文文献25

外文翻译29

附录A芯片介绍32

附录B源程序36

1概述

1.1设计背景

随着经济的发展和社会的进步,人们对能源的要求越来越高,近年来能源供需矛盾突出,寻找新能源也就成为当前人类面临的迫切课题。

太阳光没有地域的限制,无论陆地还是海洋无论高山还是岛屿,都比比皆有,可以直接开发和利用且勿须开采和运输。

它同以往其他电源发电原理完全不同,具有以下特点:

1.无枯竭危险;2.干净无公害;3.不受资源分布地域的限制;4.可在用电处就近发电;5.能源质量高;6.获取能源花费的时间短。

正是由于以上特点,美国在经历上世纪80年代能源危机后,就一直致力于开发太阳能发电技术,到现在为止该项技术在美国、德国、瑞士和日本等国的技术发展和推动下,已经变得极为成熟。

光伏发电系统主要可分为两种,一种是分布式发电系统,另一种是独立式发电系统,分布式发电系统主要应用于与电力网络并网发电的规模较大光伏发电系统中;独立式发电系统则主要应用于一些小型的负荷,比如城市路灯照明系统中,或者在一些偏远野外地区短期作业时使用。

目前应用最为广泛的是独立式光伏发电系统,其应用方便、成本低廉、可操作性强,因而被越来越多的人们所使用。

独立式光伏发电系统主要由4部分组成:

太阳能电池板、控制器、蓄电池和直流负载。

太阳能电池板和蓄电池的技术发展相对来说是比较成熟的,而对于控制器来说,由于所适用的场合有所不同,其对性能的要求也就各不相同,就一般来说对于控制器的要求主要侧重于对蓄电池充放电的管理,以及对夜间和白昼的充放电选择,这样才能更加合理的利用太阳能,使光伏发电系统的效率最大化,另一方面通过单片机对蓄电池的过充电和过放电的管理,可以延长蓄电池的寿命,从而进一步提升系统的性价比,因此对于设计出这样一种智能控制器就显得尤为重要了。

1.2开发工具

1.2.1Proteus简介

在本次设计中所使用的硬件设计工具为proteus仿真软件,Proteus是由LabcenterElectronics开发的功能强大的单片机仿真软件,Proteus与其他的仿真软件相比较,在下面的优点:

①能仿真模拟电路、数字电路、数模混合电路;

②能绘制原理图、PCB图;

③几乎包括实际中所有使用的仪器

④其最大的亮点在于能够对单片机进行实物级的仿真。

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。

因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。

对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

在proteus绘制好原理图后,调入已编译好的目标代码文件:

*.HEX,可以在proteus的原理图中看到模拟的实物运行状态和过程。

proteus不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。

前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。

它的元器件、连接线路等却和传统的单片机实验硬件高度对应。

这在相当程度上替代了传统的单片机实验教学的功能,例:

元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。

1.2.2Keil简介

单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。

机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。

运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及A51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

用C语言编写单片机应用程序与标准的C语言程序也有相应的区别:

C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题;C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。

其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。

现在支持MCS-51系列单片机的C语言编译器有很多种,如AmericanAutomation、Avocet、BSO/TASKING、DUNFIELDSHAREWARE、KEIL/Franklin等。

各种编译器的基本情况相同,但具体处理时有一定的区别,其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,现在使用特别广泛。

1.3题目要求

独立式光伏发电系统主要有四部分组成:

太阳能电池板、蓄电池、控制器和直流负载。

太阳能电池板和蓄电池的技术发展相对来说比较成熟,而对于控制器,由于所使用的场合不同,其性能的要求也就各不相同,就一般太阳能电池板蓄电池对于控制器的要求主要侧重于对蓄电池充放电的管理,以及对夜间和白昼的充放电选择,这样才能更加合理的利用太阳能,使光伏发电的效率最大化,另一方面通过单片机对蓄电池的过充点电和过放电的管理,可以延长蓄电池的寿命,从而进一步提高系统的性价比,因此设计出这样一种智能控制器就显得很必要了。

在设计上,单片机由于其优越的性价比,现已经成为设计小型的智能控制系统的首选芯片,因此本次毕业设计要求采用单片机作为控制器的数据处理核心。

2总体设计

2.1总体分析

这次毕业设计的目的是要设计出太阳能电池控制器,用来控制独立式光伏发电系统的充放电以及白昼和黑夜的充放电选择。

要控制蓄电池的充放电,必须知道此时蓄电池两端的电压到底是多少,因此需要一个A/D转换模块来将蓄电池两端的电压转换成数字量,而ADC0808的输入电压为0~5V,因此必须将蓄电池的电压经过分压电路转换到0~5V。

由于需要知道此时是白昼还是黑夜,因此需要LED数码管显示当前时间。

当蓄电池充满时自动断开充电回路,蓄电池低压时自动断开放电回路并且蜂鸣器发出警报声。

同时需要一个矩阵键盘来实现一些功能,这样一个完整的太阳能电池控制器就可以进行具体设计了。

2.2总体框图

图2.1总体框图

独立式光伏发电系统由四部分组成:

太阳能电池板、蓄电池、控制器和直流负载,控制器是其中最核心的部分。

太阳能电池板给蓄电池进行充电,蓄电池向直流负载放电,充电回路和放电回路中都需要驱动电路。

蓄电池的电压经过分压电路将电压转换到0~5V进行AD转换,转换后的数字量送入到单片机中进行处理,同时LED数码管显示当前时间,当道夜晚时太阳能电池板不能给蓄电池进行充电。

键盘使用的是2*5的矩阵键盘来实现一系列的功能,当电压达到10.8V时,自动断开放电回路,同时蜂鸣器发出报警声。

2.3设计流程

采用分模块设计的方法,首先确定有哪几个模块。

先设计出AD转换模块,选用一条AD转换模拟量的输入通道即可。

用12V的蓄电池和滑动变阻器来模拟蓄电池两端的电压,利用分压电路将0~5V的电压输入到输入通道。

同时用继电器和发光二极管接通充电回路和放电回路,利用二极管的导通与否来明显的看出充电回路与放电回路是否接通。

单片机的P1口接六位共阳极LED数码管,利用两个74LS373芯片的锁存功能来控制LED数码管的位选和段选。

同时还要键盘模块来实现一系列的功能,完成最终的设计。

硬件电路设计好后,就需要完成软件编程了,根据各个模块编写子程序以及主程序然后进行调试,完成最终的调试仿真。

3硬件设计

3.1分析

先设计出AD转换模块,选用一条AD转换模拟量的输入通道即可,让CBA=000,选择通道零。

用12v的蓄电池和滑动变阻器来模拟蓄电池两端的电压,调节范围为0~12V,利用分压电路将蓄电池两端的电压转换到0~5V,将0~5V的电压输入到通道0。

AD转换后的结果输入到P0口,并将这个数存到一个变量中。

同时用继电器和发光二极管接通充电回路和放电回路,利用二极管的导通与否来明显的看出充电回路与放电回路是否接通。

单片机的P1口接六位共阳极LED数码管,利用两个74LS373芯片的锁存功能来控制LED数码管的位选和段选来显示时钟。

还要加上一个蜂鸣器报警电路,此电路采用NPN三极管典型模块,当电压过低时,蜂鸣器会发出时长为5S的警报声。

同时还要键盘模块来实现一系列的功能,功能有开始键、结束键、小时加、小时减、分钟加、分钟减、人工充电、人工放电、显示电压和直通模式,完成了上述的设计后硬件电路也就差不多完成了。

3.2电子原理图

完整的硬件图如图3.1所示,有充电放电电路、键盘模块、蜂鸣器报警电路、LED数码管显示模块、AD转换模块和分频电路。

太阳能电池控制器是用来控制独立式光伏发电系统的充放电以及白昼和黑夜的充放电选择的。

要想控制蓄电池的充放电,必须知道此时蓄电池两端的电压到底是多少,因此需要一个A/D转换模块来将蓄电池两端的电压转换成数字量。

用接有发光二极管和继电器的回路模拟充电回路和放电回路,二极管亮表示回路接通。

由于需要知道此时是白昼还是黑夜,因此需要LED数码管显示当前时间。

当蓄电池充满时自动断开充电回路,蓄电池低压时自动断开放电回路并且蜂鸣器发出警报声。

同时需要一个矩阵键盘来实现一些功能。

太阳能电池板给蓄电池进行充电,蓄电池向直流负载放电,充电回路和放电回路中都需要驱动电路。

蓄电池的电压经过分压电路转换到0~5V进行AD转换,转换后的数字量送入到单片机中,LED数码管显示当前时间,键盘使用2*5的键盘来实现一系列的功能,当电压达到10.8V时,断开放电回路,同时蜂鸣器发出报警声。

有了

硬件电路图,才能根据硬件电路图进行软件编程。

图3.1电子原理图

3.3各个模块设计

3.3.1分压电路

串联分压的原理:

在串联电路中,各电阻上的电流相等,各电阻两端的电压之和等于电路总电压。

可知每个电阻上的电压小于电路总电压,故串联电阻分压。

如图3.2所示,电压采集电路采用两个电阻的串联分压的形式,比值为2:

1,将其并联在蓄电池的两端,蓄电池两端电压的变化范围为0~12V。

由于ADC0808只能承受0~5V的电压,因此要对蓄电池两端的电压进行分压。

此时输入到AD转换芯片中的电压为1/3蓄电池的电压,即为0~4V,符合ADC0808的要求,大大增加了模数转换的可行性。

 

图3.2分压电路

3.3.2AD转换模块

图3.3AD转换电路

AT89C51单片机没有内置的AD转换模块,因此采集的电压需要经过A/D转换才可接入单片机。

在本次设计中,我们采用ADC0808对采样电压进行模数转换。

ADC0808为八位逐次比较式A/D转换芯片,具有8路模拟输入通道和8位数字输出通道,其工作频率为640kHz。

该芯片采用脉冲启动方式:

只要给其控制端加一个符合要求的脉冲信号即可启动该芯片进行模数转换。

/*AD转换子程序*/

voidad0808(void)

{if(EOC==1)//如果转换完成

{OE=1;//读选通

getdata=P0;//转换后的值送入变量

OE=0;//关闭读选通

ST=1;

ST=0;//进行AD转换}

}

3.3.3显示模块

此设计用的是数码管的动态显示,即通过动态扫描来完成数码管的显示。

图中用了排阻来构成上拉电阻以便数码管能够足够亮。

P3.4接的是位选端,六个数码管轮流被点亮,p3.5接的是段选端,通过锁存器送入数码管要显示的数字,利用这两个引脚通过控制锁存器的使能端来实现动态数码管的显示。

当按开始键时,数码管开始显示时、分、秒,当按显示电压键时,数码管显示当前电压值,数码管的前三位不进行显示,显示当前电压时间为三秒,之后继续显示当前时间。

图3.4显示模块

/*时钟显示子程序*/

voiddisp(inthour10,inthour1,intmin10,intmin1,intsec10,intsec1)

{duan=0;

wei=0;//初始化

P1=numtab[hour10];//送小时十位

duan=1;//开段选

delay(0);//延时

duan=0;//关段选

P1=0X01;//送段选码

wei=1;//开位选

delay(10);//延时

P1=0X00;//清零

wei=0;//关位选

P1=numtab[hour1];//送小时个位

duan=1;

delay(0);

duan=0;

P1=0X02;

wei=1;

delay(10);

P1=0X00;

wei=0;

P1=numtab[min10];//送分钟十位

duan=1;

delay(0);

duan=0;

P1=0X04;

wei=1;

delay(10);

P1=0X00;

wei=0;

P1=numtab[min1];//送分钟个位

duan=1;

delay(0);

duan=0;

P1=0X08;

wei=1;

delay(10);

P1=0X00;

wei=0;

P1=numtab[sec10];//送秒十位

duan=1;

delay(0);

duan=0;

P1=0X10;

wei=1;

delay(10);

P1=0X00;

wei=0;

P1=numtab[sec1];//送秒个位

duan=1;

delay(0);

duan=0;

P1=0X20;

wei=1;

delay(10);

P1=0X00;

wei=0;}

3.3.4键盘模块

图3.5键盘电路

按键是一种常开型按钮开关。

平时,按键的两个触点处于断开状态,按下按键时两个触点才闭合(短路)。

一般的按键所用开关都是机械弹性开关,由于机械触点的弹性作用,按键开关在闭合时不会马上稳定地连接,在断开进也不会马上完全的断开,在闭合和断开的瞬间均有一连串的抖动,抖动时间的长短因按键的机械特性不同而有所不同,一般为5ms~10ms。

如图3.5所示,本次设计用的是2*5的键盘,总共实现十个功能,分别为开始、结束、小时加、小时减、分钟加、分钟减、人工充电、人工放电、显示电压和直通模式。

使得此次设计能够更加全面的呈现出它所应有的功能。

/*键盘扫描子程序*/

voidkey_scan(void)

{key_x1=0;

key_x2=1;//准备扫描第一行

if(key_y1==0)//如果第一个键按下

{delay(10);//延时

if(key_y1==0)如果第一个键真的按下

{delay(300);//延时

if(key_y1==1)//如果键弹起

{flag_11=1;//返回键值}

}

if(key_y2==0)//如果第二个键按下

{delay(10);

if(key_y2==0)

{delay(300);

if(key_y2==1)

flag_12=1;}

}

if(key_y3==0)//如果第三个键按下

{delay(10);

if(key_y3==0)

{delay(300);

if(key_y3==1)

flag_13=1;}

}

if(key_y4==0)//如果第四个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

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

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