太阳能自动追光装置设计及制作Word格式文档下载.docx
《太阳能自动追光装置设计及制作Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《太阳能自动追光装置设计及制作Word格式文档下载.docx(23页珍藏版)》请在冰点文库上搜索。
9
10
13
14
15
错误!
未定义书签。
16
太阳能自动追踪装置
张冠芬
指导教师
摘要:
运用核心元件元件ATmega16单片机,内含8路高速A/D转换,与传统模块采用运放电路相比,设计电压采集部分采用AD转换器,以最简洁的电路实现了太阳能电池
板对太阳的垂直跟踪,采用双轴跟踪技术,弥补了其他太阳能跟踪的短板,可实现电池板对太阳光的全方位垂直跟踪,实现太阳能利用率的最大化,设计机械部分采用立柱式结构,转动范围东西、南北0-180度,可实现无死区全角度转动,本装置功耗低,抗干扰能力强,且价格低廉。
⑴
关键词:
AD转换器;
ATmega16单片机;
垂直跟踪
Solarenergytobeautomatictrackingdevice
StudentmajoringinelectronicinformationscieneeandtechnologyprofessionalYing
Ronghua
Abstract:
ThedesignofthecorecomponentsATmega16microcontroller,containingeightroadhighspeed
A/Dconversion,lowpowerconsumption,stronganti-interfereneeability,andthepriceislow.AndthetraditionalmoduleUSESthanamplifier,thedesignvoltageacquisitionoftheADconverter,moreaccurateandreliable,lowenergyconsumption.Thisdesignwiththemostconcisecircuitrealizedthesolarpanelstotheverticaltracking.ThisdesignUSESthedoubleaxestrackingtechnology,tomakeupfortheothersolartrackingshortboard,canrealizetheall-roundverticaltothesunpanelstracking,realizethemaximizationofthesolarenergyutilization.Asisknowntoall,thesimplecircuit,stability,thehigherthebetterrobustness.Thisdesignmachineofthetypestructure,turntheeast-westandsouth-northrange0-180degree,whichcanrealizenodeadzoneallturningAngle.
Keywords:
ADconverter;
ATmega16single-chipmicrocomputer;
Verticaltracking
引言:
随着社会的快速发展,各种污染严重,能源短缺,太阳能作为一种新能源,取之不尽且具有节能环保双重特点,对太阳能的有效利用符合可持续发展社会大趋势。
不管哪种太阳能利用设备,如果它的集热装置能始终保持与太阳光垂直,并且收集更多方向上的太阳光,那么,它就可以在有限的使用面积内收集更多的太阳能。
基于太阳能以上优势,创作出了本次试验设计。
本设计以小模型太阳能电池板为例,只需更换相应
元器件,便可将其应用于各种大型太阳能发电系统。
本次设计的太阳能电池板自动跟踪系统由于其结构简单价格低廉、拥有较高的稳定性、跟踪精度高,对太阳能的利用效率高等特点,必然会有极大的发展潜力。
理论分析表明,太阳能电池板垂直跟踪与非跟踪相比,发电效率可提高37.7%,显而易见,其环境效益与经济效益必然是巨大的。
⑴⑵
1追光系统简介
太阳能作为绿色新能源,以其经济、清洁、环保、可持续等优点有着其它能源不可替代的优势。
当前太阳能发电产业正成为我国政府的重点扶持对象。
是当前及未来能源发展的重点。
目前国内太阳能发电普遍有以下不足:
大多采用电池板固定方式安装,对能源的利用率较低;
少数采用传感器与涡轮蜗杆技术进行追光产品的可靠性差,且价格较高。
克服以上不足我们有如下优势:
本设计采用光敏电阻光强比较法实现电池板对太阳光的垂直跟踪,该系统是以单片机为核心,外加光敏电阻传感设备,步进电机驱动,机械结构采用两端输出逆止活齿减速器,零回差、自锁、两端同步输出,再由太阳高度计算公式计算出太阳高度角和太阳方位角两个物理量,核心模块驱动水平和垂直两路步
进电机校正太阳能收集装置的位置,使之与太阳方向垂直。
使用智能追光装置后,电池板的发电效率能提高30%^上。
使太阳能追光机械传动系统进入新的发展阶段。
太阳能作为绿色新能源,是未来能源发展的重点,而现有产品采用固定的太阳能电池板,在太阳能的采集方面效率低,为此,我们设计了主动式太阳能智能追光装臵。
由于在任意时间、任意地点地球的公转轨道是严格已知的,本装臵利用地方时和纬度精确地计算出太阳高度角和太阳方位角两个量,通过机械控制部分对太阳能设备进行姿态的调整实现智能追光。
⑴⑵
2系统原理及各模块论证
实现从太阳升起开始进行自动跟踪其运行轨迹且始终使太阳能电池板以最佳角度朝向阳光,有效提高对光能的利用率,将光能转化为电能。
本设计对太阳能电池板双轴自动追踪系统进行了设计。
首先,通过测量装置的检测,给出太阳在东西方向和南北方向的方位信号。
然后,此信号与电池板的姿态信号在ATmega1(系统内进行比较后输出
电机动作信号进而使东西方向的电机转动来调节电池板在东西方向的姿态,同时南北方
向的电机也转动来调节电池板在南北方向的姿态,最终达到太阳能电池板与太阳光垂直
的目的。
这样太阳能电池板就不仅能在东西方向上追踪太阳,也能在南北方向上随着太阳的位置转动。
使光照始终与太阳能电池板保持垂直,进而最大化的接收太阳能。
同时,在极端天气下(如连续阴雨,日食等现象),要暂停电机等工作,仅留下测量系统及ATmegal6空制系统工作,以及时控制电机转动带动电池板转动。
风力过大时要对系统采取二级保护措施本设计采用双轴跟踪技术,弥补了其他太阳能跟踪的短板,可实现电池板对太阳光的全方位垂直跟踪,实现太阳能利用率的最大化。
本设计的核心元件ATmega16单片机,内含8路高速A/D转换,功耗低,抗干扰能力强,且价格低廉。
与
传统模块采用运放电路相比,本设计电压采集部分采用AD转换器,更加精确可靠,能
耗低。
本设计以最简洁的电路实现了太阳能电池板对太阳的垂直跟踪。
本设计机械部分采用立柱式结构,转动范围东西、南北0-180度,可实现无死区全角度转动。
⑶⑷为实现本系统的功能,下面分别对各个功能模块进行分析论证,整体设计框图如图
2-1所示。
图2-1系统整体设计框图
2.1光采集模块
方案1:
采用光强传感器。
用ROHRS装BH1750FVI芯片,光照度范围大,并且传感器内置16位AD转换器,直接数字输出,省略复杂的计算,省略标定,不区分环境光源,接近于视觉灵敏度的分光特性,可对广泛的亮度进行1勒克斯的高精度测定,标准NXP
IIC通信协议,块内部包含通信电平转换,可以与5v单片机直接连接。
工作稳定可靠。
但价格贵。
方案2:
采用光敏电阻,光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;
入射光强,电阻减小,入射光弱,电阻增大。
光敏电阻在特定波长的光照射下,其阻值迅速减小的特性。
这是由于光照产生的载流子都参与导电,在外加电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻器的阻值迅速下降。
在黑暗条件下,它的阻值(暗阻)可达1~10M欧,在
强光条件(100LX)下,它阻值(亮阻)仅有几百至数千欧姆。
光敏电阻器对光的敏感性(即光谱特性)与人眼对可见光(0.4~0.76)光,
块,
电机调整横杆采集的方向。
并且需要太阳能电池板与控制装置同步同方向。
不便于实际
应用。
环形消影的方法,即用八个光敏电阻围成圆形,圆形上放置影杆。
若一个光敏电阻上出现了影子,则控制电机转动。
直到没有影子为止。
从而实现垂直对光功能。
[2][5][6]
设计示意图如图2-2所示。
图2-2光采集数据处理模块示意图
2。
因此综合考虑到所应用场合和性价比选择了方案
2.3AD模块
异步定时器继续运行,
ADC噪声抑制模式时终以降低ADC转换时的开关
方案1:
AD采用的是ATmegal吶部集成的8路10位ADC8个单端通道,2个具有可编程增益(1x,10x,或200X)的差分通道。
在省电模式下,允许用户保持一个时间基准,而其余功能模块处于休眠状态;
止CPU和除了异步定时器与ADC以外所有I/O模块的工作,噪声。
⑷
8路多路开关以及微处理
采用AD0832ADC0809是带有8位A/D转换器、
机兼容的控制逻辑的CMO组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口,
ADC08099勺VREF接+5V电压。
1。
从ADC0809勺通道IN3输入0—5V之间的模拟量,通过ADC0809专换成数字量在数码管上以十进制形成显示出来。
2.4微控制模块
采用Atmel公司的AT89S52单片机,该单片机是一种低功耗的CMOS睑微控制器,具有8K在系统可编程Flash存储器。
。
片上Flash允许程序存储器在系统可编程,只能适于常规编程器。
在单芯片上,片上资源匮乏,难以直接输出PW信号和
实现AD转换。
方案2:
ATmega16是具有16K字节的系统内可编程Flash(具有同时读写的能力,即RWW)512字节EEPRO,M1K字节SRAM32个通用I/O口线,32个通用工作寄存器,用于边界扫描的JTAG接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/计数器(T/C),片内/外中断,可编程串行USART有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP封装)的ADC,具有片内振荡器的可编程看门狗定时器,一个SPI串行端口,以及六个可以通过软件进行选择的省电模式。
工作于空闲模式时CPU停止工作,而USAR、两线接口、A/D转换器、SRAM
T/C、SPI端口以及中断系统继续工作;
掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;
在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态;
ADC噪声抑制模式时终止CPU和除
了异步定时器与ADC以外所有I/O模块的工作,以降低ADC转换时的开关噪声;
Standby模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;
扩展Standby模式下则允许振荡器和异步定时器继续工作。
2.5机械控制模块
采用直流电机控制,直流电机操作简单,电路设计简易。
但转速不易于控制,电机的转速,受负载和电流变化的影响大。
所以不适合用于该设计。
采用步进电机。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制元步进电机件。
在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。
可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;
同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
ATmega1旳以直接输出四通道PWM言号,实现对步进电机的即时控制。
示意图如图2-5所示。
⑹⑺
图2-5机械控制模块示意图
因此选择了方案2。
2.6电源模块
采用双电源供电。
一个光采集模块专用电源其参数为5V1A,另一个电源
给单片机及外围器件供电。
此方案的优点在于工作电路稳定,但电路较复杂。
只用一个电源模块供电。
从光采集模块上直接引出单片机的电源线。
由于ATmegalSE常工作时所消耗的电流不大,基本上不会影响光采集模块的效果。
问
上述论证可知,电池组可保持系统稳定,我们选取了方案
最终方案
经过反复的探讨和论证我们最终确定太阳能自动追踪装置的如下最终方案:
1.微控制器模块:
以ATME公司的ATmega16单片机为控制核心。
2.光采集模块:
采用光敏电阻。
3.数据处理模块:
采用环形消影的方法。
4.AD转换模块:
采用的是ATmega16内部集成的8路10位ADC
5.电源模块:
采用单个稳压电源供电的方式。
系统硬件设计及软件设计
3.1.1微控制器模块电路
由ATME公司的ATmegal组成的控制模块电路简单[2],其最小系统如图3-1-1所示。
图3-1-1AVR最小系统
3.1.2光采集模块电路
光采集模块电路如图3-1-2所示。
图3-1-2光采集模块电路
3.1.3电机驱动电路
电机驱动采用L298N模块驱动,模块电路如图3-1-3所示。
图3-1-3电机驱动电路
电源模块电路
电源采用7805稳压模块,电路如图3-1-4所示。
支持16种差分电压输入组合,其中2种差分输入方式(ADC1ADCWACD3ADC2带有可编程增益放大器,能在A/D转换前对差分输入电压进行OdB(1X),20dB(10X)或46dB(200X)的放大。
还有七种差分输入方式的模拟输入通道共用一个负极(ADC1,
此时其它任意一个ADC引脚都可作为相应的正极。
若增益为1X或10X,则可获得8位的精度。
如果增益为200X,那么转换精度为7位。
AVR的模数转换器ADC具有下列特点:
10位精度;
0.5LSB积分非线形误差模拟电源引脚AVcc供电。
AVcc和Vcc的电压差别不能大于±
0.3V。
ADC转换的参考电源可采±
2LSB的绝对精度;
13卩s~260曲勺转换时间;
在最大精度下可达到每秒15kSPS的采样速率;
8路可选的单端输入通道;
7路差分输入通道;
2路差分输入通道带有可选的10X和200X增益;
ADC转换结果的读取可设置为左端对齐(LEFTADJUSTMENT
ADC勺电压输入范围0〜Vcc;
可选择的内部2.56V的ADC参考电压源;
自由连续转换模式和单次转换模式;
ADC自动转换触发模式选择;
ADC转换完成中断;
休眠模式下的噪声抑制器(NOISECANCELER
或采用AVccARFE接入。
使
ADC勺抗噪性
AVR勺ADC功能单元由独立的专用用芯片内部的2.56V参考电源,也可使用外部参考电源。
使用外部参考电源时,夕卜部参考电源由引脚用内部电压参考源时,可以通过在AREF引脚外部并接一个电容来提高能。
3.2.2程序流程改系统工作流程本系统工作按下图流程运行:
图3-2-2主程序流程图和中断程序流程图
4系统调试
4.1硬件调试
第一步,通电观察。
将电路通电观察有无异常现象,例如有无器件冒烟现象,有无异常气味,手摸集成电路外封装,是否发烫等。
如果出现异常现象,应立即关断电源,待排除故障后再通电。
第二步,静态调试。
将信号输入端加固定的电平信号后进行的直流测试,可用万用表测出电路中各点的电位,通过和理论估算值比较,结合电路原理的分析,判断电路直流工作状态是否正常,及时发现电路中已损坏或处于临界工作状态的元器件。
通过更换器件或调整电路参数,使电路直流工作状态符合设计要求。
第三步,动态调试。
动态调试是在静态调试的基础上进行的,在电路的输入端加入合适的信号,按信号的流向,用示波器顺序检测各测试点的输出信号,若发现不正常现象,应分析其原因,并排除故障,再进行调试,直到满足要求。
第四步,分模块块调试。
先调试光采集模块的电路情况,先确定光采集模块的信号状况良好,上位机软件和串口调试助手能不能成功返回数据和命令;
其次调试单片机电路,利用串口通信助手和下载编程软件,分别编写各个模块的简单程序,测试出各模块电路是否正常。
第五步,总体调试。
把各个模块连接好,下载单片机程序,打开电源运行程序。
看硬件是否正常,是否有电信号的干扰。
应尽量让信号线和电源线隔开。
⑸
4.2软件调试
第一步,用上位机软件和串口调试助手调试光采集和单片机之间的通信。
上位机软件见附录
第二步,用multisim对模块电路进行仿真。
第三步,利用KeilC编程软件和Protues实现联调,程序分步运行和全速运行联合调试。
⑸
5调试方法、现象与数据
5.1电路的测试方法
为了保证实际制作出来机械控制系统能够稳定可靠地运行,我们对各个功能模块和
程序分别运用仿真软件multisium和Protus进行了仿真测试。
5.2测试仪器及设备
调试测量过程中用到的仪器设备如表5-2所示。
表5-2测量仪器及设备表
仪器名称
型号
用途
数量
计算机
DELL-INSPIRON
调试程序
1
60MHz双踪数字示波
器
TSD1002
调试电机的转速
数字万用表
FLUKE
测试链接和各个重要位置的电压
直流稳压电源
YD18303D
供各模块电源调试用
5.3实物与数据
本系统实物图见附录B
实物示意图如下图5-3-1所示:
图5-3-1实物示意图
数据测试结果如见下表5-3-2所示。
表5-3-2数据测试结果
工作机组时间
1号
2号
3号
4号
5号
6号
7号
8号
6:
00
8:
O
•
10:
12:
14:
16:
18:
注:
C表示接受光照;
•示接受到阴影
6总结
在设计制作过程中,力求电路简单,外形美观,整体协调,软件方面,力求稳定可靠;
硬件方面,力求合理,协调稳定。
最终顺利完成了设计中所有的要求使系统更加智能化,人性化。
制作过程中,我遇到了很多困难。
同时在这次毕业设计中也学到了不少东西,让我深刻的体会到了理论知识的重要性,也提高了自己分析解决问题的能力。
参考文献:
上海:
交通大学出版社;
2010:
1-1.
322-344.
⑸张永瑞,刘振起,杨林耀,顾玉昆.电子测量技术基础[M].1版.西安:
西安电子科技大学出版社,
1994:
82-88.
[9]
[10]
吴戈,李玉峰.案例学单片机C语言开发[M].1版.北京:
人民邮电出版社,2008:
73-117.
谭浩强,张基温.C语言程序设计教程[M].3版.北京:
高等教育出版社,2006:
306-307.
附录A
系统的部分程序
#ineludeviom16v.h>
#inelude<
macros.h>
#defineueharunsignedchar
#defineuintunsignedint
consttongdao[]={0x00,0x02,0x03,0x04,0x05,0x06,0x07};
ueharaddata[8];
voiddelay(uintms)
uinti,j;
for(i=0;
i<
ms;
i++)
for(j=0;
jv1141;
j++);
uintmega16_ad()//ucharehl
uehari;
for(i=0;
8;
//ueharaddata[i];
DDRA&
=〜tongdao[i];
//
通道
PORTA&
ADMUX=0;
ADCSR=0X80;
ADCSR|=BIT(ADSC);
while(!
(ADCSR&
(BIT(ADIF))));
addata[i]=ADCL;
addata[i]=addata[i]+ADCH*256;
returnaddata[i];
voidmain()
while
(1)
uintcankao;
//ada=mega16_ad();
DDRB=0XFF;
if(addata[0]<
cankao)PORTB=0XFE;
//11111110
DDRD|=0X30;
TCCR1A=0X63;
TCCR1B=0X1B;
OCR1A=20;
0CR1B=2000;
//PD4
if(addata[1]vcankao)
PORTB=OXFD;
//11111101
TCCR1A=0X67;
TCCR1B=0X16;
OCR1B=2000;
TCCR1A=0X64;
TCCR1B=0X19;
if(addata[3]vcankao)
PORTB=0XFE;
//11110111
TCCR1A=0X62;
TCCR1A=0X31;
TCCR1B