基于Arduino的小型太陽能收集裝置_第1頁
基于Arduino的小型太陽能收集裝置_第2頁
基于Arduino的小型太陽能收集裝置_第3頁
基于Arduino的小型太陽能收集裝置_第4頁
基于Arduino的小型太陽能收集裝置_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、會移動的“向日葵”基于Arduino的小型太陽能收集裝置時間:2012-10-19 10:28:47  作者:王飛劍  來源:  查看:2918  評論:0導讀: 前言: 現(xiàn)代社會越來越講究資源的節(jié)約,隨著煤、石油、天然氣這些不可再生能源越來越稀缺,在不久的將來,綠色能源勢必會成為主流能源。所謂綠色能源,也就是可再生能源,包括風能、太陽能、水能、生物能等。其中太陽能更是越來越得到人們的青睞,在人們的生活工作. 前言:     現(xiàn)代社會越來越講究資源的節(jié)約,

2、隨著煤、石油、天然氣這些不可再生能源越來越稀缺,在不久的將來,綠色能源勢必會成為主流能源。所謂綠色能源,也就是可再生能源,包括風能、太陽能、水能、生物能等。其中太陽能更是越來越得到人們的青睞,在人們的生活工作中起著廣泛的作用,太陽能發(fā)電就是其中最普遍的一種應用。一般的太陽能收集裝置都是固定在一個方向的,不能充分采集太陽能。筆者制作了一款名為“向日葵”的太陽能收集裝置,它的最大特點就是裝有轉(zhuǎn)動裝置,4個在太陽能板周圍的光傳感器隨時檢測周圍環(huán)境光的亮度,經(jīng)過代碼處理,加上底下舵機的旋轉(zhuǎn),就能讓太陽電池能板始終對著光最強的方向。放到太陽光下的效果,就是它始終會對著太陽的方向,這樣就能保證最大限度地收

3、集太陽能。     筆者的太陽能收集裝置基于Arduino制作,所用的元件都與Arduino兼容。Arduino是一個開放源代碼的硬件項目,最大的優(yōu)勢就是具有良好的開放性和擴展性。用戶在它的官網(wǎng)上可以隨時免費下載電路圖、源碼和軟件開發(fā)環(huán)境等,依據(jù)官方提供的PCB和SCH電路圖,簡化Arduino模組,來完成獨立運作的微處理控制;也可以很方便地與傳感器、各式各樣的電子元件(紅外線、超音波、熱敏電阻、光敏電阻、伺服電機等)連接。Arduino所用的編程語言類似C語言,但是結構更簡單,更簡潔易懂,對于機器人愛好者和電子知識尚欠缺的人群而言更容易上手。 

4、;    筆者使用DFRobot 的Romeo控制器對小車平臺做直接的電機控制。首先準備好制作“向日葵”的材料,這里用到了4個光線傳感器、2個舵機及固定支架、1塊擴展板、1塊控制板、1塊多功能固定板、1部Rover 5小車(將向日葵固定在小車上,方便全方位監(jiān)測)、1塊太陽能板,最后別忘了電源(712V)。詳細信息如表1所示。                    &#

5、160;                                                   

6、                                                   

7、;                                                  

8、;                                                    &#

9、160;                                                  &

10、#160;             表1  所需器件參考信息     元件名稱功能所需數(shù)目(個)參考價格(元)DFR0026環(huán)保模擬環(huán)境光線傳感器基于環(huán)保型光敏二極管的光線傳感器,可以用來對環(huán)境光線的強度進行檢測410×42自由度DF15MG舵機云臺含兩個舵機和1個支架,用于多自由度機械臂、監(jiān)控云臺、雙足機器人、多足機器人等1259多孔原型鈑金板多功能固定板,用于傳感器、電機等固定159Xbee傳感器擴展板

11、V5一個傳感器擴展板,能使大部分傳感器輕松地和Arduino控制板連接175DFRduino Romeo 328控制器基于Arduino的實用控制器,該控制器集成了電機驅(qū)動、鍵盤、IO擴展板、無線數(shù)串等接口,可方便地控制2個直流電機1300太陽能電池板用于收集太陽能150路虎5履帶小車用于安裝舵機,以進行全方位檢測11881.2V充電電池小車和Romeo控制器的電源6    路虎(Rover)5履帶小車    路虎5履帶小車與一般履帶小車相比不同的地方是,可以根據(jù)路面情況的需要,調(diào)節(jié)前后輪的高度。為了提高履帶小車的越野性能及

12、美觀度,筆者將前后輪支架調(diào)節(jié)到了與地面形成15°左右夾角的位置。    由于Romeo的工作電壓在712v,并且履帶小車的工作電壓與Romeo控制器相近,所以使用了6節(jié)1.2V的充電電池作為電機和Romeo控制器的電源,當然,選用7.4V的鋰電池也會是一種比較合適的選擇。 制作過程    準備好了上述材料就可以將這些元器件拼起來了,制作步驟如下。1將4個環(huán)境光線傳感器呈“十”字形固定在多功能固定板的4個邊上,這樣做的目的是方便檢測四周光線,尤其是在制作追光機器人時更體現(xiàn)了它的優(yōu)勢。   

13、;      2將2個舵機固定在一起。這2個舵機分別控制橫向和縱向的旋轉(zhuǎn),這里所用的舵機的旋轉(zhuǎn)角度是從0°到180°的??紤]到橫向舵機在做太陽能收集器時不需要180°旋轉(zhuǎn),所以只要設定一定的偏角即可。而縱向舵機因為要尋找光源,所以需要360°旋轉(zhuǎn),為此我將它安裝在小車上,通過控制小車的運動來使舵機能全方位搜索光源。             3將多功能板與舵機固定在一起。  &#

14、160;                      4.將舵機與小車固定在一起。            5將Xbee傳感器擴展板插在DFRduino Romeo 328控制板上。          &

15、#160; 6將DFRduino Romeo 328控制板固定到車上,然后將傳感器和舵機的接口導線插到控制板的IO口上。    注:光傳感器讀取的是模擬信號,所以要將它們連接到擴展板的Analog口,05口可任意選擇。而舵機是數(shù)字輸出,要連接到PWM輸出端,板子上有注明。寫代碼的時候要注意。                        

16、                        7最后只要將一塊太陽能電池板固定在多功能板上就可以了,這樣一個小型的向日葵式的太陽能收集裝置就做好了。              設計原理及效果  &#

17、160;  4個光傳感器的作用是尋找測試環(huán)境的最亮點,也就是太陽所在的位置。經(jīng)過測試,筆者所用的光傳感器在光源變亮時,其值會相應減小。所以只要找到這4個傳感器所采集到的信號值的最小均值,那么也就找到光源最亮點的所在位置了。再通過舵機的旋轉(zhuǎn)加上電機控制,就可以掃描到周圍光線的最亮點了。     將它拿到室外,每隔10分鐘,“向日葵”會做一次檢測,找到太陽所在位置進行定位并開始采集太陽能。如果加裝將太陽能電池板采集到的電能輸出到其他設備的功能,就會讓“向日葵”變成很有實用價值的會移動的自動充電器。 示意圖如下:  &#

18、160;                                                太陽能收集裝置參考代碼#include <math.h>  &#

19、160; /一些庫函數(shù)#include <Servo.h>#include <Metro.h>Servo DF15MG1;Servo DF15MG2;int vala,valb,valc,vald,sum,mindata;int average25,pos2=0,i=1,no;void ready()  DF15MG2.write(0);void setup()   DF15MG1.attach(3);   DF15MG2.attach(11);   DF15MG1.write(70); &

20、#160; DF15MG2.write(0);   delay(1000);   for(int i= 0; i < 180; i+)    StartUpcode();      calmaxlight();void loop()     void StartUpcode()    DF15MG1.write(70);    vala=analogRead(0

21、);  /傳感器數(shù)值讀入   valb=analogRead(1);   valc=analogRead(2);   vald=analogRead(3);   pos2=pos2+1;   DF15MG2.write(pos2);   pos2=constrain(pos2,0,180);   if(pos2%10=0)       sum=vala+valb+valc+vald; 

22、/4個傳感器求和    averagei=sum/4;         /求均值    mindata=average1;     i+;       delay(10);void calmaxlight()     mindata=average1;   for(int i = 2; i< 19; i

23、+)      if(mindata>averagei)        mindata=averagei;    /找到最小值及其最小值的編號     no = i;              DF15MG2.write(no*10);  /舵機轉(zhuǎn)到光源所在方向 “向日葵”的另一應用追光機器人

24、    在正常的室內(nèi)環(huán)境光下,用手電筒打一束光,產(chǎn)生光源并移動,這時“向日葵”就會跟著你的手電筒轉(zhuǎn)。    其原理類似上述的太陽能收集器,最大的區(qū)別在于此處不再做4個傳感器的均值,而是將橫豎方向的光傳感器兩兩求差。當一端的感應數(shù)值小于另一端時,就會向這一端偏轉(zhuǎn)。我們不必放上太陽能電池板,可以隨個人喜好在板上固定任何東西,比如插朵花、放個娃娃上去等,這樣就能使機器人看起來更加生動了。             

25、                                                  追光機器人參考代碼&

26、#160;  #include <math.h>   /一些函數(shù)庫#include <Servo.h>#include <Metro.h>Servo DF15MG1;Servo DF15MG2;Metro receMetro=Metro(20);Metro proceMetro=Metro(30);Metro transMetro=Metro(40);int sumab,sumcd,pos1=90,pos2=90;  /定義變量int vala,valb,valc,vald;void ready() 

27、; DF15MG1.write(90);   /設定舵機的初始位置為90°  DF15MG2.write(90);void setup()  DF15MG1.attach(3);   DF15MG2.attach(11);void loop()     if(receMetro.check()=1)   /控制數(shù)據(jù)采集、處理、輸出時間            receM

28、erval(10);       receivedata();           if(proceMetro.check()=1)              proceMerval(15);        processdat

29、a();            if(transMetro.check()=1)              transMerval(20);        transmitdata();          

30、; void receivedata()   vala=analogRead(0);  /設定光傳感器模擬數(shù)據(jù)讀取端口   valb=analogRead(1);   valc=analogRead(2);   vald=analogRead(3);void processdata()           sumab=vala-valb;    /橫豎光傳感器讀入數(shù)值求差   sumcd=valc-vald; 

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論