智能追光鋰電充電系統(tǒng)設(shè)計(jì)
(7)追光控制
本文引用地址:http://www.ex-cimer.com/article/258302.htm方案一:采用雙舵機(jī),搭建舵機(jī)云臺(tái)。此方法可以全方位的追光,但是在實(shí)際使用中,舵機(jī)存在“搶電”的現(xiàn)象,會(huì)給供電電壓帶來較大的波動(dòng),甚至?xí)a(chǎn)生較強(qiáng)的抖動(dòng),不利于控制,也不利于電能的收集。
方案二:只采用一個(gè)舵機(jī),并結(jié)合機(jī)械追光。經(jīng)查閱資料,當(dāng)太陽能電池板與地平面的角度和當(dāng)?shù)氐木S度相同時(shí),光能利用率最大。本方案中利用的機(jī)械部件,可人為的調(diào)節(jié)太陽能電池板與地平面的角度,再通過控制伺服舵機(jī)實(shí)現(xiàn)追光。
通過比較,我們選用方案二。方案二更節(jié)約電能,同時(shí),在太陽能電池板的不同位置放置三個(gè)光敏電阻,利用光敏電阻對環(huán)境亮暗的敏感性設(shè)計(jì)尋找光源傳感器,即光敏電阻和已知電阻的分壓電路,采集光敏電阻端和已知電阻端電壓,通過模擬量的電壓分析,即可模糊地判斷光線的強(qiáng)弱。與另兩路尋光傳感器電路中得到的電壓值相比較,即可判斷出光源的位置。利用單舵機(jī)機(jī)械結(jié)構(gòu)實(shí)時(shí)把光源位置方向鎖在正中間光敏電阻所對的方向。
圖17光敏電阻檢測
由于光敏電阻對環(huán)境的敏感性,導(dǎo)致環(huán)境中的散光造成的同一規(guī)格的光敏電阻在相同照度下電阻值不同。為此,在每個(gè)光敏電阻前加黑色筒狀遮體,使光敏電阻的基準(zhǔn)電阻值基本相同,為檢測光源時(shí)三者電阻值的比較有統(tǒng)一標(biāo)準(zhǔn),提高光源檢測的精確度。
采集的電壓值為模擬量,提高了光源檢測的空間精度,模擬量亦可以作比較,賦相應(yīng)的比例系數(shù)、微分系數(shù)代入舵機(jī)控制軟件模塊。光敏電阻檢測光源電路圖如圖17所示。
在實(shí)際使用中發(fā)現(xiàn),當(dāng)出現(xiàn)外界干擾信號,供電電源的電壓不足等情況時(shí),會(huì)造成舵機(jī)抖動(dòng),所以我們采用獨(dú)立的單片機(jī)和獨(dú)立的電源完成追
光,避免了信號干擾和電壓不足產(chǎn)生的抖動(dòng),同時(shí),也避免了因舵機(jī)“搶電”造成的其他模塊電壓不穩(wěn)定的問題。
獨(dú)立電源來自鋰電池,通過PT1301 IC芯片升壓后供舵機(jī)使用,并且添加負(fù)載指示燈(藍(lán)色)和鋰電池電壓過低報(bào)警指示燈(黃色)。詳細(xì)資料請參見附錄二。
其中,主要程序如下:
#define steer_center 60
#define right_limit 100
#define left_limit 20
#define KP 10 //比例系數(shù)
sbit pwm=P3^7;
uchar rg1,rg2,rg3;
uchar last_pwm_value_init; //上一次舵機(jī)輸出值初始化
uchar control_pwm; //舵機(jī)PWM輸出值
uchar last_control_pwm; //上一次舵機(jī)PWM輸出值
void get_analog() //采集三路光敏電阻采光系統(tǒng)中的電壓值
{
rg1=GetADCResult(0);
rg2=GetADCResult(1);
rg3=GetADCResult(2);
}
uchar analog_analyse()
{
get_analog();
if(last_pwm_value_init==0)
{
last_control_pwm=steer_center;
last_pwm_value_init=1; //初始化完成
}
if(rg2-rg1>0rg3>=rg2)
control_pwm=last_control_pwm-(rg2-rg1)*KP/80;
else if(rg2-rg3>0rg1>=rg2)
control_pwm=last_control_pwm+(rg2-rg3)*KP/80;
else if(rg1-rg2>0rg3-rg2>0)
{
if(rg280)
{
control_pwm=last_control_pwm;
}
//else //control_pwm=last_control_pwm+(rg1-rg2)*8/80-(rg3-rg2)*8/80; //也進(jìn)行角度調(diào)節(jié)
}
else
control_pwm=steer_center;
if(control_pwm=left_limit)
control_pwm=left_limit;
else if(control_pwm>=right_limit)
control_pwm=right_limit;
last_control_pwm=control_pwm; //保存上一次舵機(jī)輸出值
return control_pwm;}
void main()
{
uchar PWM;
InitADC(); //AD初始化
Init_PCA(); //PCA擴(kuò)展定時(shí)器初始化
while(1)
{
PWM=analog_analyse();
jd=PWM;
Delay(12);
}
}
void PCA_ISR()interrupt 7
{
CCF1=0;
CCAP1L=value;
CCAP1H=value>>8;
value+=25;
if(cnt = jd) //判斷0.025ms次數(shù)是否小于角度標(biāo)識jd=20-100
pwm=1; //小于,PWM輸出高電平
else
pwm=0; //大于則輸出低電平
if (cnt>=800)
cnt=0;
else
cnt++; //0.025ms次數(shù)加1 ,次數(shù)始終保持為800 即保持周期為20ms
}
(8)主控單元
方案一:采用AVR 單片機(jī) ,AVR單片機(jī)的I/O口是真正的I/O口,能正確反映I/O口輸入/輸出的真實(shí)情況。工業(yè)級產(chǎn)品,具有大電流(灌電流)10~40 mA,可直接驅(qū)動(dòng)可控硅SCR或繼電器,節(jié)省了外圍驅(qū)動(dòng)器件。
AVR單片機(jī)內(nèi)帶模擬比較器,I/O口可用作A/D轉(zhuǎn)換,可組成廉價(jià)的A/D轉(zhuǎn)換器。ATmega48/8/16等器件具有8路10位A/D。
部分AVR單片機(jī)可組成零外設(shè)元件單片機(jī)系統(tǒng),使該類單片機(jī)無外加元器件即可工作,簡單方便,成本又低。
圖18 AVR MCU管腳分布
AVR單片機(jī)可重設(shè)啟動(dòng)復(fù)位,以提高單片機(jī)工作的可靠性。有看門狗定時(shí)器實(shí)行安全保護(hù),可防止程序走亂(飛),提高了產(chǎn)品的抗干擾能力。AVR MCU管腳分布如圖18所示。
方案二:采用新一代增強(qiáng)型8051單片機(jī)STC12C5A60S2,此單片機(jī)具有兩路PWM/PCA功能;8路10位A/D采集,轉(zhuǎn)換速度25萬次/秒;雙串口;內(nèi)部集成MAX810專用復(fù)位電路;具有60K的用戶程序空間;內(nèi)部集成掉電檢測電路;可擴(kuò)展為4個(gè)16位定時(shí)器;7路外部中斷;工作頻率范圍為0-35MHZ,相當(dāng)于普通8051的0-420MHZ;指令代碼完全兼容傳統(tǒng)的8051單片機(jī)。
綜上兩種方案,因所需的A/D檢測通道較多,我們選用方案二中的STC12C5A60S2單片機(jī)作為主控芯片。
風(fēng)力發(fā)電機(jī)相關(guān)文章:風(fēng)力發(fā)電機(jī)原理
評論