版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的太阳跟踪系统设计摘要:针对现代社会能源越来越匮乏的现状,以常规能源为基础的能源结构随资源的不断好用将愈来愈不适应可持续发展的需要。太阳能是已知的最原始的能源它干净、可再生、丰富,而且分布范围广,具有非常广阔的利用前景。但太阳能利用效率低,这一问题一直影响和阻碍着太阳能技术的普及。太阳能自动跟踪系统的设计为解决这一问题提供了新途径,从而大大提高了太阳能的利用效率。本设计采用光电跟踪的方法,利用步进电机双轴驱动,由光电传感器根据入射光线的强弱变化产生反馈信号到微机处理器。微机处理器运行程序,通过对跟踪机构进行水平、俯仰两个自由度的控制,调整太阳能电池板的角度实现对太阳的跟踪。采用单片机
2、来实现的太阳能追踪系统能有效提高太阳板的光电转化效率,并具有较广泛的应用前景。关键词:太阳能;跟踪;光敏二极管;单片机;步进电机DesignofSunTrackingSystemBasedonSingleChipMicrocomputerAbstract:Accordingtothestatusthatincreasinglylackofenergyinmodernsociety,conventionalenergy-basedenergystructurewiththecontinuousconsumptionofresourceswillbecomeincreasinglyunsuited
3、totheneedsofsustainabledevelopment.Solarenergyisknownasthemostprimitiveenergy,anditisclean、renewable、richandwidedistributionandhaswideprospectsofuse.Butthesolarenergyutilizationefficiencyislow;theproblemhasbeeninfluencingandhinderingthepopularityofsolarenergytechnology.Solarenergytobeautomatictracki
4、ngsystemdesignedtosolvetheproblemprovidethenewwaywhichgreatlyimprovetheefficiencyintheuseofsolarenergy.Thisdesignusesthephotoelectrictrackingmethod,andusethesteppingmotordriver,byphotoelectricsensorincident,thenthestrengthofthelight'schangesproducefeedbacksignalstothecomputerprocessor,andcompute
5、rprocessorwillruntheprogram,throughthehorizontaltrackingmechanismandpitchtwodegreesoffreedomcontroltoadjusttheangleofsolarpanelstoachievethetrackingofthesun.SolartrackingsystembysinglechipmicrocomputertoachievecanimprovetheefficiencyofconversionofphotoelectricSolarpanels,andhasabroadprospectofapplic
6、ation.Keywords:Solarenergy;Tracking;Photosensitivediode;SCM;Steppingmotor目录1绪论11.1课题研究背景11.1.1国外现状11.1.2国内现状11.1.3目前太阳能的开发和利用21.2太阳光跟踪的方法21.2.1光电跟踪21.2.2时日运动轨迹跟踪介绍21.3系统的原理叙述32方案研究与选取52.1方案一52.2方案二52.3方案的确定63硬件电路分析73.1AT89C52单片机模块73.1.1 单片机的选取73.1.2 AT89C52单片机模块电路设计73.1.3 单片机复位电路的设计83.2电源引入模块93.3 时钟
7、模块93.3.1 时钟分频芯片74LS74103.3.2时钟模块电路设计103.4 光强度采集模块113.4.1 光电器件的选择113.4.2光强度采集模块电路设计123.5 A/D转换模块133.5.1 ADC0809芯片介绍133.5.2 ADC0809应用说明153.6 四位一体数码管显示模块173.6.1 LED数码管介绍173.6.2数码管显示模块电路173.7 太阳光跟踪控制模块183.7.1 步进电机的介绍183.7.2 步进电机控制电路设计193.7.3 步进电机的驱动电路原理204太阳光跟踪系统的软件设计224.1 主程序设计及工作原理224.2光强度检测程序设计224.3
8、步进电机控制程序设计234.4 数码管显示程序设计235硬软件调试255.1 硬件调试255.2软件调试265.2.1数码管显示的调试265.2.2光强度检测和A/D转换部分的调试265.2.3电机控制部分调试265.3设计中遇到的问题及其解决方法266设计结果和数据分析286.1设计结果286.2结致参附论谢文录附附附一二三录录录9123332333331绪论1.1课题研究背景1.1.1国外现状常规能源资源的有限性和环境压力的增加,使世界上许多国家重新加强了对新能源和可再生能源技术发展的支持。近几年,国际光伏发电迅猛发展。1973年,美国制定了政府级阳光发电计划;1980年又正式将光伏发电列
9、入公共电力规划,累计投资达8亿多美元;1994年度的财政预算中,光伏发电的预算达7800多万美元,比1993年增加了234;1997年美国和欧洲相继宣布"百万屋顶光伏计划,美国计划到2010年安装10003000MW太阳电池。日本不甘落后,1997年补贴屋顶光伏计划的经费高达9200万美元,安装目标是7600Mw。印度计划19982002年太阳电池总产量为150MW,其中2002年为50Mw。国际光伏发电正在由边远农村和特殊应用向并网发电和与建筑结合供电的方向发展,光伏发电已由补充能源向替代能源过渡。到目前为止,世界太阳电池年销售量己超过60兆瓦,电池转换效率提高到15以上,系统造价
10、和发电成本已分别降至4美元/峰瓦和25美分/度电;在太阳热利用方面,由于技术日趋成熟,应用规模越来越大,仅美国太阳能热水器年销售额就逾10亿美元。太阳能热发电在技术上也有所突破,目前已有20余座大型太阳能热发电站正在运行或建设。1.1.2国内现状煤炭巨量消费已成为我国大气污染的主要来源。我国具有丰富的太阳能、风能、生物质能、地热能和海洋能等新能源和可再生能源资源,开发利用前景广阔。太阳能光伏发电应用始于70年代,真正快速发展是在80年代。在1983年一1987年短短的几年内先后从美国、加拿大等国引进了七条太阳电池生产线,使我国太阳电池的生产能力从1984年以前的年产200千瓦跃到1988年的4
11、.5兆瓦。目前太阳电池主要应用于通信系统和边远无电县、无电乡村、无电岛屿等边远偏辟无电地区,年销售约1.1兆瓦,成效显著。1.1.3目前太阳能的开发和利用人类直接利用太阳能有三大技术领域,即光热转换、光电转换和光化学转换,此外,还有储能技术。太阳光热转换技术的产品很多,例如热水器、开水器、干燥器、采暖和制冷、温室与太阳房、太阳灶和高温炉、海水淡化装置、水泵、热力发电装置及太阳能医疗器具等等。可以说太阳能应用的前景十分广阔。1.2太阳光跟踪的方法目前太阳能利用最普遍的形式是通过集热器将太阳能转换为热能,为了收集到尽可能多的太阳能,最好采取跟踪方式,使太阳光收集器的采光面始终对准太阳。传统的跟踪方
12、式主要采用以下这两种方式:光电跟踪和视日运动轨迹跟踪;前者是闭环的随机系统,后者是开环的程控系统。1.2.1光电跟踪目前,国内常用的光电跟踪有重力式、电磁式和电动式,这些光电跟踪装置都使用光敏传感器如硅光电管。在这些装置中,光电管的安装靠近遮光板,调整遮光板的位置使遮光板对准太阳、硅光电池处于阴影区;当太阳西移时遮光板的阴影偏移,光电管受到阳光直射输出一定值的微电流,作为偏差信号,经放大电路放大,由伺服机构调整角度使跟踪装置对准太阳完成跟踪。光电跟踪灵敏度高,结构设计较为方便;但受天气的影响很大,如果在稍长时间段里出现乌云遮住太阳的情况,太阳光线往往不能照到硅光电管上,导致跟踪装置无法对准太阳
13、,甚至会引起执行机构的误动作。1.2.2时日运动轨迹跟踪介绍根据跟踪系统的轴数,视日运动轨迹系统可分为单轴和双轴两种。(1)双轴跟踪如果能够在太阳高度和赤纬角的变化上都能够跟踪太阳就可以获得最多的太阳能,全跟踪即双轴就是根据这样的要求而设计的。双轴跟踪又可以分为两种方式:极轴式全跟踪和高度角-方位角式全跟踪。例如极轴式全跟踪极轴式全跟踪原理:聚光镜的一轴指向天球北极,即与地球自转轴。工作时反射镜面绕极轴运转,其转速的设定与地球自转角速度大小相同方向相反用以跟踪太阳的视日运动;反射镜围绕赤纬轴作俯仰转动是为了适应赤纬角的变化,常根据季节的变化定期调整。这种跟踪方式并不复杂,但在结构上反射镜的重量
14、不通过极轴轴线,极轴支承装置的设计比较困难。(2)单轴跟踪单轴跟踪又可分为水平单轴跟踪、不同倾角单轴跟踪、最佳倾角跟踪。此作品跟踪原理是用光敏电阻代替传感器,在采集板上控制电机转速转动一角度后采集此时的光强,继续运转电机采集,在一定时间内电机转动一圈后采集的数据通过比较来寻找光强最大的位置。这种跟踪方式相对来说比较简单实用,但是在找光强位置有可能误差有点大不精准。13系统的原理叙述本控制系统采用的太阳光跟踪方式跟传统的光电跟踪和视日运动轨迹跟踪方式有所不同。从前面可以了解到两种跟踪方法的优缺点,两种方法具有很强的互补性。此次设计方案就是一个简单的一个单轴跟踪系统。系统硬件上主要有以下几个模块组
15、成:电源模块、单片机最小系统模块、A/D转换模块、光强度检测、步进电机控制模块和数码管显示模块。其主要以单片机AT89C52为核心,使步进电机控制模块转动的轨迹进行跟踪判断,通过光强度检测模块采集数据,使它能够监测周围光线状况,经过A/D模数转换后同时用数码管显示出当时太阳的相对光照强度。例如,在一天内阳光充沛的时间段里系统采用这个方案的跟踪模式,在天气发生变化,阳光被云遮挡的情况下就要通过人工在外界设置一个比较亮的光源让这方案可以顺利进行。这种方法一定程度的解决了光电跟踪易受天气、环境干扰而发生系统紊乱或停止工作的问题。控制程序运行发送相应的脉冲信号到步进电机驱动器,步进电机带动运动执行机构
16、按一定的方向转动相应的角度,角度的大小为开始设定的理论值,使采光光敏电阻跟随电机开始一个角度的转动后,然后程序再读取光电检测电路相连接的端口的信号,进而再次发送脉冲控制步进电机调整太阳能采光板的角度,并将调整后的预修正量储存,一直循环跟踪动作直到转完360°。完成一步跟踪动作后把前面的所有数值进行一个比较,找出光照最强的位置然后通过控制程序控制步进电机反转到光强最大的位置位置。如此循环往复,实现对太阳光的跟踪。其跟踪的系统原理图如图1所示。比较偏差图1太阳能自动跟踪总体框图其硬件设计流程图如图2所示。图2硬件设计结构框图第12页2方案研究与选取由前面可以知道,传方法有两种:光电跟踪和
17、视日轨迹跟踪;跟踪装置也可以选择单轴跟踪或者双轴跟踪;轨迹坐标计算也可以选择地平坐标或者赤道坐标。但是结合了本设计的要求以及从前面中了解到的各类方法的优缺点后,本设计系统方案做了以下方案分析:2.1方案一本方案的太阳光跟踪系统是有光电二极管、AT89C52单片机、时钟电路、A/D转换、多位数码管显示电路、控制电路等主要模块组成。传感器部分采用光敏二极管,将光信号变换为电信号。经过A/D转换将其转化离散的数字信号。控制电路以单片机为核心1能够对采集的数字信号进行处理和判断,运用一定的算法计算出相应的太阳相对的角度值送到七段数码管LED显示出来,太阳光控制电路根据太阳的位置移动。系统框图如图3所示
18、。图3方案一系统框图2.2方案二本方案的太阳光跟踪系统采用以单片机STC12C5A60S2为核心,光强度检测模块,时钟模块,步进电机控制电路模块和12864液晶显示等主要模块组成。传感器采用光敏电阻,STC12C5A6S2单片机自带10位A/D,能够识别模拟信号,光强度检测电路并内部实现模/数转换得到数字信号输出到LCD显示。控制电路以单片机为核心能够对采集的模拟信号进行处理和判断,应用一定的算法计算出太阳相对的位置送到LCD显示出来。并对步进电机实现控制。系统框图如图4所示。图4方案二系统框图2.3方案的确定比较以上两方案可知,系统的工作原理是一致的,都是通过传感器采集太阳光并间接或直接将其
19、转化成单片机能够识别的信号2,通过单片机的处理将其实时显示出来,步进电机控制电路根据单片机传出的信号转动。所不同的是采用元器件差异,但从单片机方面考虑,方案一所使用的传统的单片机器件较方案二所使用的系列成本低,LED七段数码管也比LCD低廉。根据实际情况方案一的元器件基本都是自己比较熟悉的器件,运用起来比较灵活,原理简单容易理解方便写程序代码。综合考虑,最后确定选择方案一。系统组成及工作原理以单片机为控制核心,采用光强度检测电路测量,以光敏电阻传感器作为测量元件,构成光电测量模块。该系统可分为电源控制模块电路、光电测量电路、时钟电路、步进电机控制电路、单片机、LED显示电路、A/D转换电路。选
20、用的主要器件有:光敏电阻,时钟芯片74LS74,AT89C52,LED数码管,步进电机与转换芯片ADC0809等。3硬件电路分析3.1AT89C52单片机模块3.1.1单片机的选取AT89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外部中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本3。AT89C52引脚图如图5所示。P10vocP11POOP12PD1P13P02P14P03
21、P158C31P04P16P05P17P06RESTP07EAP31TXDALL-PROGPJ2TMTOPSENP33IXT1P27P34TOP26P8VT1P23P24P37;EDP23TKAL2F22TXAL1P21GNDP208051'8052xx447?rgfcnx图5AT89C52封装管脚分布图3.1.2AT89C52单片机模块电路设计系统的时钟电路设计是采用的内部方式,AT89C52单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容
22、C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为20PF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证振荡器稳定和可靠地工作5。电路设计如图6所示。图6单片机电路模块设计P10VCC?11POOP12P13P02?14P03Plj30=1?C4P05?1?P06RESTP07EAP31.-TKDALE-PROG越4NT0PSENP33INT1?27
23、P34T0?2SP35.T1P25P24P37.-KD?23TXAL2P22TXAL1MlGNDP203.1.3单片机复位电路的设计复位是由外部的复位电路来实现的。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,复位电路的实现通常有两种方式,即专用监控电路和RC复位电路。前者电路实现简单,成本低,但复位可靠性相对较低,后者相对较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。本设计中,时钟频率选用12MHz时,C取10口F,R9约为10KQ。如图8所示在实际中,通常电容取值为10uF以上,电阻通常取值
24、10千欧左右。实验就会发现,电阻如果取值太小,则会导致REST信号驱动能力变差而无法使系统可靠复位。其电路设计如图7所示。3.2电源引入模块VCCREST图7单片机复位电路模块设计如图8所示为电源部分的电路:JLVCCDATA-DATA-GNDVCCUSEGNDRIO1.K图8电源引入控制模块电路设计用一个USB焊接在电路板上,有一个控制电源的开关,接入电源以后准备进行检测的时候就打开开关输入电源,如果不需要的时候就可以关掉电源,避免每次都要关总电源,这样十分方便。LED灯就是为了显示这电源模块是否正常通电的表示,1K的电阻就是起到一个限流的作用,电容起到一个滤波的作用。3.3时钟模块由于单片
25、机运行需要时钟支持,单片机可以看成是在时钟驱动下的时序逻辑电路。单片机的时钟信号由两种电路产生:内震荡电路和外震荡电路。在任一时刻,只需要一种振荡电路就可以使单片机工作正常。使用内震荡电路提供时钟脉冲,需要在XTAL1和XTAL2之间外接石英晶石振荡器或者陶瓷振荡器,这时的内部振荡电路仅相当于一个高增益放大器,和晶振接在一起形成一个正反馈的自激震荡,再经整形和分频形成单片机内各逻辑部分所需要的时钟脉冲。外震荡方式是将外部时钟信号直接从XTAL1或者XTAL2引入,这时XTAL1和XTAL2只需要一个,另一个悬空。3.3.1时钟分频芯片74LS74由于ADC0809正常工作时需要500KHZ频率
26、的信号,所以本系统设计要用到74LS74进行分频。74LS74的管脚分布图如图9。图974LS74引脚封装图其工作原理:1/S和1/R接至基本RS触发器的输入端,它们分别是预置和清零端,低电平有效。当1/S=0且1/R=1时,不论输入端1D为何种状态,都会使1Q=1,1/Q=0,即触发器置1;当1/S=1且1/R=0时,触发器的状态为0,1/S和1/R通常又称为直接置1和置0端。3.3.2时钟模块电路设计单片机外部晶振电路8如图10所示。晶振Y1和单片机构成的内部振荡信号频率为12M。ClX22C)PFIIY1GNDXI20PFC2晶振图10晶振电路设计时钟芯片74LS74在本设计中的接线图9
27、如图11所示。VCCLRvccIDLCP2D1;S2CPLQ2/S1/Q2QGND27QU274LS74147771TTTo匸CLKGW图1174LS74分频电路设计引脚14接5V的电源,引脚7接地。该电路在本设计中的功能是:因为ADC0809电路的正常工作需要的500KHZ,所以IN端口接入单片机的ALE端口,使得单片机本来输出的频率通过741s74芯片的4分频后获得500KHZ频率在输出给ADC0809芯片,这样ADC0809芯片就可正常工作。3.4光强度采集模块3.4.1光电器件的选择光敏传感器是应用半导体材料的内光电效应。它分两类:其一是光电导效应:在光作用下,电子吸收光子能量,使半导
28、体材料电导率显著改变。基于这种效应的光电器件有光敏电阻;其二是光生伏特效应:在光作用下,使半导体材料产生一定方向的电动势。光敏电阻的工作原理是基于内光电效应。在半导体光敏材料两端装上电极引线,将其封装在带有透明窗的管壳里就构成光敏电阻。为了增加灵敏度,两电极常做成梳状。用于制造光敏电阻的材料主要是金属的硫化物、硒化物和碲化物等半导体。通常采用涂敷、喷涂、烧结等方法在绝缘衬底上制作很薄的光敏电阻体及梳状欧姆电极,接出引线,封装在具有透光镜的密封壳体内,以免受潮影响其灵敏度。由于对光敏电阻的性能比较熟悉,而且它的成本也比较低,所以选择光敏电阻作为光电器件。3.4.2光强度采集模块电路设计本设计中的
29、光强度检测电路如图12所示,光敏电阻其内部电阻随光照射而变化,光度越强阻值越小,输出电流越大。电路用了光敏电阻与负载电阻相接,在接到A/D转换芯片的输入口ADC0进行转换,当平板对准了太阳后,对称的两个光敏二极管的光照强度就会相同,上下两个光敏电阻的入射光相同时取出电压,也就是说,若光敏电阻R13、R14的受光量不一样,就会显示出来的这个时候光强。通过开始设定的角度要电机转动,然后停止采集这个时候的光强后,继续转动相同的角度然后停止继续采集转换显示出来一直到找到光源为止。当平板没有对正太阳时,两个光敏电阻的光照强度就会不一样,则流过电阻的电流就会不相同,这样ADC0中获取的电压值也不相同,从而
30、达到对正太阳、准确跟踪太阳的目的。本电路是光电跟踪的核心部分。调整步进电机的转动角度来寻找太阳光的位置。这种电路用于确定位置及光源自动跟踪装置中。电路中的负载电阻是用于补偿光敏电阻的偏差。次采集电路的设计思路:首先通过驱动电机转动一个角度后采取光敏电阻光强然后显示出来对比,是利用光敏电阻在光照时阻值发生变化的原理,将两个完全相同的光敏电阻分别放置于一块板东西方向,如果太阳光垂直照射太阳能电池板,两个光敏电阻接收到的光照强度相同,所以它们的阻值完全相等,此时电动机不在转动,当太阳光方向与采光板垂直方向不平衡时,接收光强多的光敏电阻阻值减小,显示的光照强度就会强于另一个,直至两个光敏电阻上的光照强
31、度相同。光敏电阻光强比较法的优点在于控制精确,电路设计比较容易实现。当太阳辐射强度增加时,光电电阻阻值减小,1k可变电阻的压降增加,从而产生与太阳光辐射强度有直接关系的电压信号。光敏电阻的输出信号通过转换后与AT89C52单片机的输入端口连接,并对这这几组模拟信号进行比较运算,从而可以通过数码管上显示的电压值的大小来判定什么角度的光照强度最好。3.5A/D转换模块3.5.1ADC0809芯片介绍ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(1)ADC0809的内部逻辑结构ADC0809由一个8路模
32、拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字第14页量,当0E端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2)ADC0809引脚结构ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换)EOC:转换结束信号
33、输出引脚,开始转换时为低电平,当转换结束时为高电平。0E:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端,一般为500KHz。A、B、C:地址输入线。其管脚图如图13所示。叫一111毗2V叫一326%A2SIN,524START623EOC7ADr0fl0922口柱II0E20CLOCK-_-V“38J!2PGND-13ISD14151N;1N.IN.ADDAADDSADDC.AL1D*Di.aJ图13ADC0809管脚图ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快则需在输
34、入前增加米样保持电路。地址输入和控制线:4条ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。A、B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。其通道选择表如表3.1所示。表31ADC0809输入通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC
35、为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由提供,通常使用频率为500KHZVREF(+),VREF()为参考电压输入。3.5.2ADC0809应用说明(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。第16页(2)初始化时,使ST和OE信号全为低电平。(3)要转换的哪一通道的地址到A,B,C端口上。(
36、4)在ST端给出一个至少有100ns宽的正脉冲信号。(5)是否转换完毕,我们根据EOC信号来判断。(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。A/D转换模块电路设计如图14所示。ABC1EOC1D38OE9CLKIQ111213Dl斗IN3IN2IN4INIIN5INOIN6AIN7BsrEOCALED3D7OED6CLKD5vccEMVreFDOGNDVer匸BlD226ADCO25A123I122ST20D61.9D51.8IM1.7DO1.61.5D2图14A/D转换电路设计如图15所示,11、12管脚接VCC,13、16管脚接地,23、24管脚接地意思就
37、是接入0,根据上节ADC0809的工作原理,C、B、A分别为000就是输入通道ADC0,C、B、A分别为001就是输入通道ADC1,输出D0D7管脚接入单片机P1口,ADC0809的工作的频率是500kHZ,通过74LS74分频后得到500KHZ,ADC0809才可以正常工作,进行A/D转换之前,ST=0,E0C=1,0E=0,产生启动转换的正脉冲信号,进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入,经过数据处理之后在数码管上显示。3.6四位一体数码管显示模块3.6.1LED数码管介绍LED数码管分共阳极与共阴极两种,共阳极的工作特点是,当笔
38、段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极LED数码管则与之相反,它是将发光二极管的阴极(负极)短接后作为公共阴极,当驱动信号为高电平、公共端接低电平时,才能发光。用万用表判断共阴和共阳的方法:用红表笔接任一引脚,黑表笔依次接其他各引脚,若均不发光,则将红表笔接另一引脚,黑表笔依次按其他各引脚,仍不发光,则继续,直至某一线发光,为共阳极,则发光时红表笔所接的引脚为电源。如用红表笔接任一引脚,黑表笔依次接其他各引脚,若均不发光,将红表笔接另一引脚,黑表笔依次接其他各引脚,只有两个引脚发光,此时为共阴极,此两引脚为地,在调试的时候确保没有用错数码管,就会避免带来不必要的麻烦。3.
39、6.2数码管显示模块电路数码管连接电路10如图15所示。图154位一体数码管显示电路设计如图16,数码管管脚A1到A8是段选,接入单片机的P0口,A9到A12是位选,由P1口的P1.0到P1.3控制。如图16所示,LED数码管在本次设计中用来显示采集的电压值大小,一个LED数码管可用来显示一位0-9的十进制数和一个小数点。在小型专用微机系统和单片机等场合,它是主要的显示器件;在通用微机系统中,也常用来作为状态等显示。对于共阴极显示器,要点亮的显示段引脚需接高电平1,要显示的数字是输出电压值,它有简单、经济、易于与单片机连接等优点。3.7太阳光跟踪控制模块3.7.1步进电机的介绍太阳跟踪装置控制
40、系统的控制目标是通过对装置机械执行机构的角度的精确控制,实现对太阳运行轨迹的跟踪。并且要求整个系统能够全天候的自动运行,结构简单可靠。由于系统要实现对控制对象位置角度的精确控制,并且对控制对象的移动速度要求不高,因此控制部件首先考虑采用步进电机,因为步进电机是将电脉冲信号转变为角位移或线位移的控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。本系统步进电机控制芯片选用ULN2003,其引脚图如图16所示。U3121234567-INTNTNINTNTNTNGNOUT1OUT2OUT3OUT4OU
41、T5OUT百OUT7COMMON1614131210VLN2O03图16ULN2003引脚图本系统的步进电机选择28BYJ-48,其实物图如图17所示。图17步进电机28BYJ-48实物图步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机28BYJ48型四相八拍电机,电压为DC5VDC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信
42、号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。四相步进电机可以在不同的通电方式下运行,即不同的转动方式,常见的通电方式有:单(单相绕组通电)四拍(a-b-c-d-a),双(双相绕组通电)四拍(ab-bc-cd-da-ab),a拍(A-AB-B-BC-C-CD-D-DA-A)。3.7.2步进电机控制电路设计由于在前面已经介绍了电机的选择,而且也选择了步进电机作为本设计的驱动电机。所以本设计的驱动电路也选择步进电机的控制电路。上一节介绍步进电机的控制电路由控制芯片ULN2003控制电机的驱动,1、2、
43、3、4管脚接入单片机的P30、P31、P32、P33,13、14、15、16输出端口接入J2的排针,电机就插在这排针口上可以控制电机的转动。其电路连接如图18所示。OZ口P3卫F*3.13P3Q4INTIEN-2nsrsHST4TKT5ENT石IM7OI4I>1234567S善550000000rrLi>j2O05图18步进电机控制芯片电路设计3.7.3步进电机的驱动电路原理图19四相步进电机步进原理图该步进电机为一四相步进电机,采用单极性直流电源供电。只要对步进电机的各相绕组按合适的时序通电,就能使步进电机步进转动。其步进原理图如图19所示。开始时,开关SB接通电源,SA、SC、
44、SD断开,B相磁极和转子0、3号齿对齐,同时,转子的1、4号齿就和C、D相绕组磁极产生错齿,2、5号齿就和D、A相绕组磁极产生错齿。当开关SC接通电源,SB、SA、SD断开时,由于C相绕组的磁力线和1、4号齿之间磁力线的作用,使转子转动,1、4号齿和C相绕组的磁极对齐。而0、3号齿和A、B相绕组产生错齿,2、5号齿就和A、D相绕组磁极产生错齿。依次类推,A、B、C、D四相绕组轮流供电,则转子会沿着A、B、C、D方向转动。四相步进电机按照通电顺序的不同,可分为单四拍、双四拍、八拍三种工作方式。单四拍与双四拍的步距角相等,但单四拍的转动力矩小。八拍工作方式的步距角是单四拍与双四拍的一半,因此,八拍
45、工作方式既可以保持较高的转动力矩又可以提高控制精度。第25页4太阳光跟踪系统的软件设计4.1主程序设计及工作原理本系统的软件程序部分使用了AT89C52的P0.0-P0.7和P1.0-P1.3口来进行对数据的显示,显示所测得的当时的太阳光强度,即驱动电机转动停止后,采集的光照强度转换后的数值。本系统的设计主要是为了实现对太阳光的跟踪,首先要判断是不是外面的光照很强,如果光照很弱的话,就需要外界一点很强的光源做模拟太阳光,准备好以后开机控制步进电机开始转动一个设定好的角度后停止,采集这点的光强,经过A/D转换以后显示出此时的光强,继续转动一个角度,一直转到一圈为止,通过之前采集的数据做一个对比,
46、选择出光强最大的位置后控制步进电机反转回原来光照最强的位置停止。此次跟踪系统的主程序流程图11如图20所示。图20主程序流程图4.2光强度检测程序设计前面介绍过光采集电路主要由光敏电阻组成,其放在采集板的中间,对不同方向的光度进行检测,检测模块安装在控制面板上,主要用于检测系统运行时的环境条件。检测环境光线强弱程度,在阴天光照强度不够时,可以自己拿手电筒模拟光射入在某一个角度,从而达到系统的控制追踪的目的。当电机转动到某个方向的光敏电阻接收到的光比较大时,光敏电阻的阻值变小,此时输出电压变大。AT89C52单片机对输出电压进行比较,对输出电压大的光敏电阻进行补偿。单片机就会调整步进电机继续转动
47、不同的角度,使步进电机正向或者反向转过几个步距角,从而达到对正太阳、准确跟踪太阳的目的。4.3步进电机控制程序设计机械部分主要由控制支架木板、底座、1个电机构成,整个控制及检测装置安装在支架上,光敏电阻检测平面在面板上。太阳光自动跟踪装置设计成单轴机械跟踪定位系统,即方向上进行跟踪。机械装置由电机驱动,可以使面板在水平方向上的360°。1个转动轴的转动部位上安装一个光敏电阻检测平面的木板,在面板上各固定长长的电源线来连接A/D转换芯片,将此信号送由单片机进行判断,就能检测到这个时候角度的光强。单片机电机的正反转多少角度的控制信号,经过控制电机的ULN2003芯片来驱动电机的转动,这样
48、就构成了跟踪机构。4.4数码管显示程序设计数码管因为是大家都很常用的器件,所以数码管程序编程时有个很常用的思路。先定义段选和位选连接在单片机的端口,接着就是定义各个数字(0到9)的代码。unsignedcharcodeduan=0x3f、0x06、0x5b、0x4f、0x66、0x6d、0x7d、0x07、0x7f、0x6f、0x0012;接着定义写指令函数voiddisplay(),然后定义写函数。P1=0x7f;P0=duanout_1/10;delay(10);P1=0xbf;P0=duanout_1%10;delay(10);P1=0xd7;P0=duanout_1/10;delay(
49、10);P1=0xe7;P0=duanout_1%10;delay(10);给要显示的数字做一个判断,选择好位选在什么位置显示出来5硬软件调试5.1硬件调试本系统的硬件部分较为简单,电路都是由基本电路模块组成14。(1)首先检查电源连线是否正确,是否有短路情况,特别是要注意正负电源和地线的连线,如果接反可能会导致芯片烧坏,还要检查焊接的情况,看看是否有虚焊的情况。(2)然后检查元器件的安装情况。用万用表检查元器件的管脚之间有没有短路,连接处有没有接触不良,有无断线,经过检查和修补,这些都正常。(3)接着检查元件是否良好。用万用表测电阻、电容的好坏。(4)在确定整个电路没有短路情况之后,对整个硬
50、件电路开始供电。调试单片机能否正常工作,可以用万用表测量单片机的VCC和GND之间的电压是否为5V左右。(5)调试复位电路和数码管。在检查单片机时,已经写入一简单的程序先使数码管全部为零,看看数码管是否可以正常亮,都正常以后,然后按复位键,看数码管是不是复位的变化,经过检查复位电路工作正常。(6)光电检测部分调试时,先接上电源,然后用相对较高的光线照射光敏电阻,使光电流达到相对较大,因外电路接有负载电阻,光电流就在负载上产生了较大的电压降,即由光信号转换的电信号。此时的电信号是相对较大的,为了使输出电压能达到输入电压的范围,把光敏电阻R与负载电阻R串联,用万用表测量输出电压值,看看是否按照预计
51、的电压变化范围。(7)A/D转换电路部分调试,接上电源以后先测量转换芯片0809是否有电压,然后通过编写单一的显示的程序,采集光强后显示在数码管上,然后通过改变外界的光照强度后引起的光照强度不一样,就会使数码管显示的数据发生变化,看看是否正常的通过0809转换。(8)步进电机控制部分调试,接上电源以后先编写单一的电机部分程序,使得ULN2003控制电机,看看是否可以正常的运行工作来驱动电机的正转和反转,还有要看看上面连接的光检测模块在电机转动的时候安装是否稳定。第25页5.2软件调试在写程序之前,先将74LS74的时序,数码管的各个引脚的功能和相关器件芯片相关的指令都认真学习后,编写各个部分的
52、程序流程图,然后开始编程。5.2.1数码管显示的调试数码管显示主要是为了在检测光照强度时能对检测到的数值进行显示,并对下一步需要进行的操作进行信息提示。调试该部分时,依据数码管的指令说明和写操作时序,编一个小程序,例如让数码管显示一些简单的数字,看是否能正常显示,若能正常的按要求显示则调试成功,再根据本设计需要实现的功能,再编写相应的代码。5.2.2光强度检测和A/D转换部分的调试ADC0809芯片是八位模数转换器,进行A/D转换时采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P2端口读入,经过数据处理之后在数码管上显示。先初始化ST=O;OE=0;EOC=1;然后选择判
53、断A的值,是0就是输入ADC0通道,是1就是输入ADC1通道,然后开始正常的A/D转换。5.2.3电机控制部分调试程序设计是通过控制芯片ULN2003调试的,首先需要理解控制芯片和步进电机的内部结构以及工作原理,根据设计的电路编写程序代码让电机正转一个角度然后停止几秒继续转动,如果还不合理就继续改变电机转动的角度一直到合适位置。5.3设计中遇到的问题及其解决方法任何事情都不太可能风雨无阻,我也不例外在此次课程设计中同样遇到了很多的困难。第一就是硬件的工作原理不知道,只能通过自己去查阅相关的资料,只有充分理解硬件是怎么工作才能进行编写相关的程序。光敏电阻跟踪灵敏度高,结构设计较为方便;但是在开始
54、选择方案的时候,由于光敏电阻组成的方法很多,因为之前没有类似的一些经验和对这个题目的了解,所以为了让使系统有更高灵敏度和简单的结构,本设计系统采用单轴方法来实现对太阳光的跟踪。与目前普遍采用的双轴跟踪方法有一点不一样,开始通过网上和图书馆去借阅资料,在和老师的讨论,还有根据自己的实际情况就决定选单轴的这个方案。起初对控制直流电动机的器件选取不是很清楚,从网上查找电机的结构和应用电路,经过一番自己的学习,开始是自己采用一个复杂的电路构成电机的电路图然后通过同学的介绍和推荐就采用比较简单的控制电机芯片ULN2003,这样就避免了成本高麻烦的一些问题。因为之前ADC0809的芯片用得也很少,对于一些
55、很小的细节真的是大意,没注意好0809的工作频率是500KHZ,经过自己查阅资料,重新设计电路,加一个74LS74分频的芯片把2M变成500KHZ输入0809芯片。对于步进电机的追踪的方式其实有很多方式,具体在设计方案上还不是很明确,就大体想了一个比较普遍的方案写代码。自己去读懂相关的资料。经历几番推敲程序之后才明白怎么使用,就是分模块去解决,开始就是要步进电机按要求转动停止多少秒再继续转动,看看显示模块和转换模块的效果,刚开始写好了代码确定没错以后就下载进去,后来就是测试了很多次代码没出现错误,但是步进电机就是不可以驱动,调试了很久没办法后就去问了指导老师,在老师的分析和判断就换了一种追踪方式,然后回来继续更改程序,又经自己的推敲才知道怎么回事了,终于看见电机可以按要求转动了,解决这大问题过程确实使我很欣慰。第27页6设计结果和数据分析6.1设计结果经过对系统硬件和软件的调试,最后设计出了一块成品。接通电源,A/D转换芯片进行初始化设定,控制电机转动一个角度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论