用80C196KC单片机实现太阳跟踪
0 引 言
聚光式太阳集热器尽管必须精确地跟踪太阳,以确保好的效果,但仍然比普通的平面太阳集热装置有着明显的优势,特别是中温和高温应用。
各种型式的装置,从简单到复杂,应用于太阳跟踪,主要可以分成两大类,即机械系统和电控系统。电控系统一般说来有较高的稳定性和跟踪精度。电控系统又可以进一步分为两大类:
1)用光学传感器作为反馈的模拟控制系统;
2)计算机根据数学公式计算太阳位置进行跟踪,并通过光学传感器作为反馈的数字系统。
根据传感器工作的模拟系统适应性较差,在多云天气会盲目跟踪云层边沿的亮斑,造成能源的浪费和机械的额外磨损。
数字系统一般被认为具有较高的精度和较好的适应性,但是系统复杂而昂贵。
如果适当地对系统的计算对象进行简化,就可以用成本较低的单片机代替昂贵的可编程控制 器或者微型机实现数字化的跟踪控制系统。从而大大降低系统的成本,同时保留数字系统特有的灵活性和精确度。
1 系统描述
本文所述系统的跟踪策略是根据日期和时间控制聚光器的运动,并利用光学传感器调整聚光器的初始位置,在运行中对聚光器的位置进行校正。
如图1所示,系统由6个部分组成,分别是时钟、单片机、驱动机构、编码器、聚光镜和传感器。系统的核心部件是80C196KC单片机。
单片机利用时钟提供的日期和时间,计算出聚光镜的预期位置,与编码器提供的当前位置比较,输出控制信号。驱动装置根据单片机提供的信号转动聚光镜,同时通过编码器将运行速度或位置增量反馈到单片机,形成闭环控制系统。
由于当前位置是由增量式计算得到的,若当前位置的计算出现偏差,则不能够由反馈得到校正,从而形成累积位置偏差。为此,必须通过传感器监视聚光镜的位置是否与太阳偏离,当偏离时启动一个校正程序,达到消除当前位置误差的作用。
光学传感器A和B随聚光器一起运动,为单片机提供太阳辐射信息。传感器A采用文献[1]提到的金字塔形布置的光电池组,4块光电池分成两组,分别提供方位角和高度角的偏差信号,当聚光器轴线指向太阳时,输出零信号;偏离时,信号随偏离的角度以及太阳直射辐射强度的增加而增加(图2)。传感器B由一块接受全天辐射的光电池和一块遮挡直射辐射的光电池组成,提供太阳直射辐射强度信号,信号随直射辐射强度值的增加而增加(图3)。传感器A和B选用的所有光电池应尽量保持一致。
1)判断天空直射辐射的强度,在直射辐射较弱时不启动校正程序,从而避免多云天气的盲目跟踪;
2)通过简单的修正运算,降低甚至消除环境(太阳辐射、温度等)对偏差信号的影响,使修正后 的偏差信号在偏差角度相同时,能够较为一致。
2 控制系统
6位单片机80C196KC具有较强的运算能力,通过编制程序可以完成浮点数的基本运算。由于太阳在天空的位置可以由纬度、日期和时间完全确定,因此利用这些信息可以达到精确跟踪 的目的。控制系统框图如图4所示。
如前所述,系统采用单片机计算出的太阳方位作为聚光镜位置期望值输入,驱动装置的输出作为反馈构成闭环系统。为了达到稳定性和精确度的要求,分别采用了PD调节器和补偿通道。
由于太阳运行位置的变化基本上属于斜坡输入,仅采用比例微分调节器时,闭环系统存在稳态误差ess=1/K。增大系统的K值可以减小稳态误差,但过大的K值会使系统的无阻尼自然频率接近或大于单片机的采样频率,使系统失去稳定性。积分项虽然可以消除系统的稳态误差,但一定条件下可能导致系统的稳定性变差。
令Z(s)=1,则原系统的特征方程不变,因而稳定性不发生变化。令上式右端分子的零阶和一阶项的系数为零,则斜坡输入的稳态误差为零。
设L(s)=L0+L1 s,代入上式右端分子,可得:
由于补偿通道消除了系统的静态误差。主通道不再需要安排积分环节消除稳态误差,成为比例微分控制,有利于系统的稳定性。对于不同的被控对象,可以选用不同的L1、k1和Td值,使系统的稳定性和动态特性得到保证。这种参数的调整非常简便,体现了数字控制的优越性。
对图4虚框中的传递函数离散化时,可以将微分项用后向差分代替,算法非常简单。采用足够小的采样周期时,可以保证离散化后的系统不会失去稳定性。单片机采用12MHz晶振时,定时器1溢出的周期约为87ms,具有50多万个状态周期[4],足以完成简单的计算任务,而太阳在这样短时间内的位置移动可以忽略不计。因此用定时器1溢出的周期作为采样周期有以下优点:
1)可以满足计算任务。对于试验系统的时效分析表明,控制计算所用的机时不及总机时的15%;
2)当选取系统总增益K,使闭环系统的无阻尼自然频
- 视频跟踪算法在Davinci SOC上的实现与优化(10-06)
- 无线动物识别和跟踪管理系统的设计(02-14)
- 基于DSP的光伏电池最大功率点跟踪系统(04-20)
- 基于多DSP和FPGA的实时双模视频跟踪装置设计(07-19)
- 实时操作系统VxWorks在跟踪雷达系统中的应用(04-16)
- 嵌入式Linux Kernel错误跟踪技术(10-24)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...