基于AT89S51单片机的太阳能控制器方案设计书与制作.docx
- 文档编号:25690827
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:21
- 大小:298.73KB
基于AT89S51单片机的太阳能控制器方案设计书与制作.docx
《基于AT89S51单片机的太阳能控制器方案设计书与制作.docx》由会员分享,可在线阅读,更多相关《基于AT89S51单片机的太阳能控制器方案设计书与制作.docx(21页珍藏版)》请在冰豆网上搜索。
基于AT89S51单片机的太阳能控制器方案设计书与制作
论文(设计)题目:
基于AT89S51单片机的太阳能控制器设计与制作
2010年5月
目录
中文摘要1
1研究意义与功能介绍1
2电路设计2
2.1主原理图2
2.2蓄电池充电方式3
2.3充放电电路3
2.4电压采集电路4
2.5光耦开关电路4
2.6单片机及其外围电路5
2.7A/D转换电路6
2.8单片机电源电路6
2.9PCB图7
2.10作品实物7
3主要器件介绍8
3.1AT89S51单片机8
3.2TLC5499
3.3MOSFET9
3.4光耦9
3.5太阳能电池10
4软件设计11
4.1主要程序流程图11
4.2主要C程序11
5测试14
6小结15
参考文献15
英文摘要16
致谢17
基于AT89S51单片机的太阳能控制器设计与制作
内容摘要本文介绍了一种基于单片机的太阳能控制器,系统使用低功耗、高性能的AT89S51单片机作为控制电路的核心器件。
此系统由太阳能电池模块,蓄电池,充放电电路,电压采集电路,单片机控制电路和光耦驱动电路组成。
设计使用PWM(脉宽调制)控制技术来控制蓄电池充放电,通过控制MOSFET管开启和关闭达到控制电池充放电的目的。
实验结果表明,该控制器性能可靠,可以监视太阳能电池和蓄电池电池状态,实现控制蓄电池最优充放电,达到延长蓄电池的使用寿命。
关键词太阳能;控制器;AT89S51单片机
我国现阶段的用电主要靠水力发电,但是我国水力资源在地域分布上极不平衡,总体来看,西部多、东部少。
对于水电资源缺乏的地区或者用电超负荷的城市开发新能源是当务之急。
我国的西部地区,包括西藏、新疆、青海、内蒙古、四川等省年日照时间长,这些地区面积宽广、人口密集低,在一些偏僻的地区传统的供电设施建设成本高,电能的供需矛盾显得十分突出,因此当地政府充分利用太阳能发电解决无电地区的用电具有重大的战略意义。
为了更高效的利用太阳能,白天将太阳能转化为电能,利用蓄电池将剩余的电能储存起来,需要用电时即可由蓄电池供电。
1研究意义与功能介绍
1.1研究意义
随着经济的发展、社会的进步,人们对能源提出越来越高的要求,近年来能源供需矛盾突出,寻找新能源成为当前人类面临的迫切课题。
太阳光没有地域的限制无论陆地或海洋,无论高山或岛屿,都处处皆有,可直接开发和利用,且勿须开采和运输。
它同以往其他电源发电原理完全不同,具有以下特点:
1.无枯竭危险;2.干净无公害;3.不受资源分布地域的限制;4.可在用电处就近发电;5.能源质量高;6.获取能源花费的时间短。
1.2功能介绍
本系统以ATMEL系列中的AT89S51单片机为控制中心,软硬件的结合,利用分压电路对蓄电池,太阳能电池的电压、电流进行采样。
再经过A/D转换采样数据输入到单片机中进行处理。
单片机输出经光耦驱动MOSFET管来控制外接电路开启关闭。
该系统可以实现控制蓄电池的最优充放电,当蓄电池电压在14.4V+0.5时,太阳能电池停止对蓄电池充电,当蓄电池电压在10.9V+0.5时,蓄电池停止对负载放电;负载电流检测电路可进行过流保护及负载功率检测(如图1)。
图1系统结构框图
2电路设计
2.1主原理图
如图2所示,电路包含太阳能电池,DC-DC变换电路,蓄电池,数据采集电路,A/D转换电路,单片机控制电路及状态显示部分。
本设计以ATMEL系列AT89S51单片机为控制中心的软硬件的结合,使用并联在电池两端的两个串联电阻,以分压方式对蓄电池、太阳能电池的电压进行采样,送到A/D转换得到一个数字信号的电压值,再将信号送入到单片机中进行处理。
单片机输出经光耦电路控制MOSFET管。
控制MOSFET管导通的方式是脉冲宽度调制(PWM),根据程序设计的载荷变化来调制MOSFET管栅的偏置,达到实现开关功能。
按程序设计当检测到蓄电池的电压低于12V,充电模式为均充,Q1为完全导通状态,也就是导通的脉冲占空比最大;当检测到蓄电池的电压在12V-14.5V,充电模式为浮充,Q1导通与不导通的占空比例变小;当检测到蓄电池的电压等于15V,Q1截止充电停止。
当检测到蓄电池的电压低于10.8V,Q2关闭停止放电。
图2系统设计电路图
2.2蓄电池充电方式
作为太阳能储能用的蓄电池由于存在过放、过充、使用寿命短等问题,要选择合适的充放电方式。
所有的蓄电池充电过程都有快充、过充和浮充3个阶段,每个阶段都有不同的充电要求。
现行的充电方法主要有恒流充电、恒压充电、恒压限流充电、间隙式充电法等,这些充电方法各有利弊。
本设计采用最容易实现的恒压充电。
蓄电池的电压在10.8V-12V之间为快充;蓄电池的电压在12V-14.5V之间为浮充;蓄电池的电压为14.5V时停止充电。
2.3充放电电路
电路由防反充二极管D1、滤波电容C1、续流二极管D2、MOSFET管Q1、滤波电容C2、MOSFET管Q1等构成。
二极管D1是为了防反充,当阴天或晚上蓄电池的电压高于太阳能电池的电压时,D1就生效。
通过控制开关闭合跟断开的时间(即PWM—脉冲宽度调制),就可以控制输出电压。
所使用的MOSFET是电压控制单极性金属氧化物半导体场效应晶体管,所需驱动功率较小。
而且MOSFET只有多数载流子参与导电,不存在少数载流子的复合时间,因而开关频率可以很高,非常适合作控制充放电开关。
设计中采用IRF9540NP沟道MOSFET管,P沟道MOSFET的导通电压Vth<0,由下图可以实现MOSFET的驱动。
当光耦U5导通时,由于Q1的G极电压很小,G极近似接地,Vgs<0,当S极电压达到一定值时,Q1导通。
Q2的原理类似。
电路如图3。
图3充放电电路
2.4电压采集电路
如图4所示,电压采集电路使用两个串联的电阻,大小比例为10:
1,然后并联在需要检测的电压两端,从两个电阻中间采集电压。
由分压公式得出采集的电压为VR1R21/11,当蓄电池充满电时电压大概为14.5V,计算出采集到的电压为1.3V,符合A/D转换芯片的TLC549的输入值。
图4电压采集电路
2.5光耦开关电路
当输入信号C1为低电平时,光耦内部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关“断开”;当C1为高电平时,光耦内部的发光二极管发光,输出端两管脚间的电阻变小,相当于开关“接通”,此时从U5输入的电压经光耦流向接地端,K1处的电压接近为零,MOSEFT的Vgs<0,当S极电压达到一定值时,Q1导通。
图5光耦开关电路
2.6单片机及其外围电路
本设计使用AT89S51单片机,单片机及其外围电路包括上电复位电路,晶振,LED指示灯如图6所示,其中D3、D4为高电平有效,用来显示工作状态。
图6单片机及其外围电路
2.7A/D转换电路
AT89S51单片机没有内置的A/D转换模块,因此采集的电压需要经A/D转换才可接入单片机。
此设计采用8位串行A/D转换器芯片TLC549(如图7)。
需要采集的信号从2管脚AIN输入,1管脚的基准电压使用5V,5、6、7三管脚连单片机。
图7A/D转换电路
2.8单片机电源电路
单片机对电源质量要求严格,只有波形稳定清晰的电源才能使单片机上电复位,否则无法上电复位,晶振不能起振,单片机就不工作。
蓄电池提供的电压是12V,单片机电源使用5V电压,因此需要稳压后才能供单片机使用,本设计采用LM7805稳压后得到波形较好的电源才供单片机使用。
图8单片机电源电路
2.9PCB图
开始画PCB图是使用自动布线加手工修改,但是设成以单层板的形式自动布线,生成的PCB图走线弯弯区区太不规则,后来使用以双层面板的形式自动布线,然后将TopLayer层手工修改,得到的PCB图走线才像块板。
图9系统PCB图
2.10作品实物
图10作品实物图(正面)
图11作品实物图(背面)
3主要器件介绍
3.1AT89S51单片机
图12AT89S51单片机管脚图
图
AT89S51单片机是ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案[1]。
AT89S51具有以下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串通信口,看门狗(WDT)电路,片内时钟振荡器。
3.2TLC549
TLC549是美国德州仪器公司生产的8位串行A/D转换器芯片,可与通用微处理器、控制器通过CLK、CS、DATAOUT三条口线进行串行接口。
具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,TLC548允许的最高转换速率为45500次/s,TLC549为40000次/s。
总失调误差最大为±0.5LSB,典型功耗值为6mW。
采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地,VREF+-VREF-≥1V,可用于较小信号的采样[2]。
TLC548/549的极限参数如下:
●电源电压:
6.5V;
●输入电压范围:
0.3V~VCC+0.3V;
●输出电压范围:
0.3V~VCC+0.3V;
●峰值输入电流(任一输入端):
±10mA;
图13TLC549管脚图
图
●总峰值输入电流(所有输入端):
±30mA;
●工作温度:
-55℃~125℃
3.3MOSEFT管
MOSEFT管是利用电场效应来控制电流的,由金属、氧化物和半导体制成,由于场效应管的栅极被绝缘层(例如SiO2)隔离,因此其输入电阻可达109欧以上。
MOSEFT管所需驱动功率较小。
而且MOSFET只有多数载流子参与导电,不存在少数载流子的复合时间,因而开关频率可以很高,非常适合作控制充放电开关。
本设计采用IRF9540NP沟道场效应管,以下是IRF9540N的一些参数:
VGS=0V,ID=-250uA
VGS=-10V,ID=-11A
VDS=VGS,ID=-250uA
VDS=-50V,ID=-11A
VDS=-80VVGS=0V,IDSS=250uA
VGS=20V,IGSS=100nA
3.4光耦
光耦合器是以光为媒介传输电信号。
光耦合器一般由三部分组成:
光的发射、光的接收及信号放大。
光耦工作时对输入、输出的电信号有很好的隔离作用,因此被广泛用在各种电路中。
光耦的内部结构如图14所示,在1、2极之间加正向电压,内部的发光
二极管(LED)将会发出一定波长的光,被光探测器接收而产生光电流,3、4极之间导通。
反之,光耦内部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关断开。
由于单
图14光耦合器
片机输出只有5V不足于驱动MOSFET管,因此驱动MOSFET管的电压从U3出接出。
3.5太阳能电池
图15太阳能电池产生光伏效应
如右图所示,太阳能电池是利用半导体光伏效应制成的,能够直接将太阳辐射转换成电能的器件。
具有很强的光伏效应半导体材料,当吸收一定能量的光子后其内部导电的载流子分布和浓度发生变化。
光照在半导体P/N结上,就会在其两端产生光生电压,当外部接通电路时,在该电压的作用下,将会有电流流过外部电路产生一定的输出功率。
在这个过程中,光电池本身不发生任何化学反应,也没有转动磨损,因此使用太阳能电池的过程中没有噪声,没有环境污染,这是其他方式发电所不能比拟的。
3.6蓄电池
国内目前被广泛使用的太阳能蓄电池主要是铅酸蓄电池,它的主要特点:
寿命长,免维护安全可靠,具有比较好的循环充放电能力,具有很好的过充和过放能力。
电池的正极活性物质是二氧化铅(PbO2),负极活性物质是海绵状金属铅(Pb),电解液是硫酸液(H2SO4)。
本设计采用密封型铅酸电池,设计的蓄电池电压值为:
12V,充满断开电压为:
14.1~14.5V;恢复连接电压为:
13.2V。
4软件设计
4.1程序主要流程图
4.2主要C程序
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitCLK=P0^0;/*AD时钟信号*/
sbitCS=P0^2;/*AD片选信号*/
sbitDOUT=P0^1;/*数据输出*/
sbitFuZai=P1^1;
sbitPWM=P1^0;
sbitLED1=P2^0;
sbitLED2=P2^1;
uchart0,battery_v;
voiddelay(uintn)//延时函数
{
while(n--)
{
_nop_();
}
}
/*************************************/
voidinit()//初始化函数
{
TMOD=0x01;
TH0=(65536-50)/256;
TL0=(65536-50)%256;
EA=1;
ET0=1;
PWM=0;
LED1=1;
LED2=1;
}
/***********************************/
ucharadc_549(void)//AD转换
{
uintdata_out=0;
uchari;
CS=1;
_nop_();
CS=0;
for(i=0;i<8;i++)/*读取8位数据*/
{
CLK=0;
data_out=(data_out<<1)|DOUT;
CLK=1;
_nop_();
}
CLK=0;
CS=1;
delay(3);/*延时21us以上*/
return(data_out);
}
/**********************************/
voidmain(void)
{
init();
while
(1)
{
battery_v=adc_549();
FuZai=1;//打开负载
if(battery_v>186)//蓄电池电压大于10V
{
LED1=1;
LED2=0;
if(224>battery_v>204)
{
TR0=1;//开启固定PWM充电
if(t0==5)
{
PWM=1;
}
if(t0==12)
{
t0=0;
PWM=0;
}
}
else
{
TR0=0;
LED1=1;
LED2=1;
}
}
else
{
LED1=0;
LED2=1;
FuZai=0;//关闭负载
}
}
}
voidtimer0()interrupt1//定时器0,用来产生PWM
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t0++;
}
5测试分析
由于太阳能电池价格比较贵,所以设计中使用12V直流电源模拟太阳能电池。
测试所用的蓄电池规格:
12V,36Ah。
测试用到的仪器:
万能表,可调直流电源,示波器。
测试的内容:
检测蓄电池电压低于10.8V时,控制器是否中断放电电路;检测蓄电池电压在12V-14.5V是否PWM充电;检测蓄电池电压大于等于14.5V时控制器是否停止对蓄电池充电。
由于测试使用的12V蓄电池容量太大(36Ah),假如此控制器以1A的电流对蓄电池充电,完成一次完整的充电所需时间大概为36小时,因此没能完全完成测试充电过程。
使用此12V蓄电池测得的结果是控制器能够充放电。
而测试控制器功能是否达到设计要求,所用的方法是用一个电压模拟蓄电池。
以下是模拟充电得到的参数:
当模拟蓄电池的电压低于10V,MOSFET管Q2关闭停止对负载供电,同时红灯亮;当模拟蓄电池的电压在10V-12V之间,Q1导通对蓄电池充电,同时绿灯亮;当模拟蓄电池的电压在12V-14V之间,PWM充电,同时绿灯亮;当模拟蓄电池的电压高于14V,MOSFET管Q1关闭停止充电,同时两个灯亮。
6小结
本设计是基于AT89S51单片机的太阳能充放电控制器,以恒压限流的方式给蓄电池充电,使用开关频率很高的P沟道MOSFET管,控制充放电开关。
通过采集太阳能电池的电压电流实现太阳能电池最大功率跟踪,并检测蓄电池的端电压,防止蓄电池的过充及过放。
实践证明,该太阳能充放电控制器所组成的太阳能控制系统简单、快速、实时性强,有利于提高太阳能电池的转换效率;有利于改善蓄电池的工作状态,提高了蓄电池的使用寿命。
在系统的设计以及在论文的写作过程中,查阅了大量的资料,包括图书馆的相关书籍和各种期刊,从中获得了不少的启示。
通过这次设计,使我在理论和实践上都增长了很多经验。
开始画PCB图是使用自动布线加手工修改,但是设成以单层板的形式自动布线,生成的PCB图走线弯弯区区太不规则,后来使用以双层面板的形式自动布线,然后将TopLayer层手工修改,得到的PCB图走线才像块板。
然后是去基地刷板,第一次去做板过板时直接报废,第二次做板,腐蚀液浓度太低,腐蚀了一个多钟还是一点轮廓,第三次自己买了氯化铁重新打印再腐蚀。
做了两块板同时不断改进,才得到最终设计电路。
最后就是调试,这一步花了几天时间,觉得做设计最麻烦的还是调试,有时出不来结果,但不知问题出在哪。
在本设计中已经提高了太阳能电池的转换效率,但由于能力有限,所以没有对太阳电池进行最大功率跟踪设计,没能更进一步提高太阳能的利用效率。
注释
[1]XX百科
[2]XX文库
参考文献
[1]刘宏,吴达成等.家用太阳能光伏电源系统[M].北京:
化学工业出版社,2007
[2]沈辉,曾祖勤.太阳能光伏发电技术[M].北京:
化学工业出版社;2005
[3]罗晓曙,闭金杰,杨日星,张露.AVR单片机的太阳能电池控制器设计[J].现代电子技术,2009(10).
[4]XX百科
[5]中国工控
[6]XX文库
[7]黄海宏,黄长杰,王海欣著太阳能控制器设计[J].电子技术应用,May2006
TheDesignandProductionofSolarController
Tangyurong
AbstractThispaperhasintroduceasolarcontrollerwhichisbaseonaMCU,whichisusedalow-powerandhigh-performanceMCUwhichiscalledAT89S51asthecoredevicesofcontrolcircuit.Thissystemiscomposedofasolarpanelsmodule,battery,chargeanddischargecircuit,Voltageandcurrentacquisitioncircuit,MCUcontrolcircuit,Optocouplerdrivecircuit.ItusesthePWM(PulseWidthModulation)technologytocontrolthesolarpanelsrechargetobattery,bycontrollingtheopeningandturn-offofMOSFETintheanalogcontrolcircuit.Theexperimentalresultsshowthatthetheperformanceofthecontrollerisreliable.canbeoverseethestatusofsolarpanelsandbattery.Itcanbringouttheoptimizationoftheabattery,andextendsthelifeofbattery.
KeywordsController;MCU;Solar
致谢
我这次的设计能顺利完成,得益于老师和同学的指导和帮助,在这里,我对他们的热心表示诚挚的谢意。
衷心感谢指导教师黄国现老师在这几个月来的悉心指导与督促,从最初的定题,到资料收集,到写作、修改,到论文定稿,他给了我耐心的指导和无私的帮助。
让我从原来对单片机一无所知到对单片机有所了解再到现在的会用C语言在keil软件上编写程序,让我对硬件电路的设计从原来惧怕到现在从容查资料,设计电路,调试电路。
同时也由衷的感谢同班薛量云同学提供了宝贵意见,使得设计符合要求。
最后,自己之所以能顺利完成,还是要感谢还是自己的父母,如果没有他们每日辛苦的劳动与从小对我学习有着严格要求和培养我严格做人做事的态度,正是他们的养育和教导,才有了今天的我现在的成绩。
广西师范大学本科毕业论文(设计)学生诚信保证书
本人郑重承诺:
毕业论文(设计)《基于单片机AT89S51的太阳能控制器的设计与制作》的内容真实、可靠,系本人在黄国现指导教师的指导下独立完成。
如果存在弄虚作假、抄袭的情况,本人愿承担全部责任。
学生签名:
唐喻荣
2010年05月08日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 AT89S51 单片机 太阳能 控制器 方案设计 制作
![提示](https://static.bdocx.com/images/bang_tan.gif)