太阳能板的开发
摘要
對綠色能源的開發和利用是響應我國節能減排,環保政策的舉措,太陽能作為可持續,零污染,具有很高的環保價值和經濟效益,高效利用太陽能還可以有效替代部分化石能源,從而降低因石化能源燃燒導致的污染,減輕霧霾。然而農村太陽能豐富,卻沒能得到很好的利用,即便現有的發電產品對太陽能電池板也大多采用固定支架。課題對此提出了能夠跟蹤太陽方向的云臺支架,可實現太陽能電池板自動調節而始終面向光線最強的一面,提高太陽能發電的利用率。課題從云臺,電機驅動,控制器,光線傳感器,液晶顯示等構成,課題成果不僅可以用到太陽能發電,還可以用到其它的向光場所,如天文觀測等具有較高的實用價值。
關鍵詞:太陽能;電機驅動;控制器;光線傳感器;液晶顯示屏
Abstract
The development and utilization of green energy is a response to China’s energy conservation, emission reduction and environmental protection policies. As sustainable and zero pollution, solar energy has high environmental protection value and economic benefits. Efficient use of solar energy can also effectively replace some fossil energy, thus reducing pollution caused by petrochemical energy combustion and reducing smog. However, rural solar energy is abundant, but it is not well utilized. Even the existing power generation products mostly use fixed brackets for solar panels. In this paper, a pan-tilt bracket that can track the direction of the sun is proposed, which can realize the automatic adjustment of solar panels and always face the strongest side of light, and improve the utilization rate of solar power generation. The project consists of pan/tilt, motor drive, controller, light sensor, liquid crystal display, etc. The results of the project can be used not only in solar power generation, but also in other light-oriented places, such as astronomical observation, which has high practical value.
Key words: solar energy; Motor drive; A controller; Light sensor; Liquid crystal display screen
1.1 前言
隨著時代的進步與科技的飛速發展,使得對能源的需求隨之增加,對不可再生能源的過度依賴[1],從而使得不可再生能源的存儲量急劇減少,一些不可再生能源(石油)被視為戰略資源,據目前統計,煤炭、石油、天然氣也會在歲月的實踐中而日趨枯竭,消耗殆盡。這些不可再生能源的產生顯然跟不上人類對其的需求,為更好的實現可持續發展,本課題提出了一種太陽追蹤的可行方案,可以大大提升對太陽能的利用,減少對不可再生資源的過度依賴。
1.2 研究太陽能跟蹤器的目的和意義
為了解決人們對不可再生資源的過度依賴和對清潔能源的高利用率。提出設計一款零污染高效率的裝置——太陽追蹤器。通過電機,控制器,采光板光線傳感器等元器件之間的相互配合,實現對太陽光照射最強的方位,實現全方位無死角跟蹤,恰巧正好急需這樣一款具有安全、環保、高效率、以及取之不盡用之不竭的特點,也很方便就可以獲取,如風能和潮汐能一樣是絕對的無污染清潔能源,這也就很好的闡述了光能的可行性[2]。——對此提出太陽跟蹤裝置設計與制作。
1.3 對太陽能的認識
優點:太陽作為一個取之不盡用之不竭的能源。在《太陽能利用技術》[3]就有相關的提到,所到達地球表面能量等同于每秒向地球源源不斷的投放了500萬噸煤炭。陽光所到之處,皆為財富,免費使用的同時也不需要考慮任何的運輸費用以及零污染等特性。缺點:即便如此的看似完美無缺,也存在著兩個致命性缺點[4]:一是能流密度很小;二是太陽的光照強度也會因為(天氣、白夜等)因素的不同而有著很大的差距,很難長時間維持在恒定值,這也在一定程度上大大的影響了使用效率[5]。
1.4 太陽追蹤器國內外現狀與發展趨勢
國外太陽追蹤器:對太陽能的使用在兩千零四年到兩千零六年太陽能的發電量都是驚人的4961MW[6],在一九九七年,美國的Blackace研制了單軸追蹤器,熱接收率提高了百分之十五…,后期圍繞高效率,輕質量展開。在太陽能游艇、太陽能飛機、太陽能瓦片等方面得到運用,也見證了太陽能利用的高效率性[7]。
國內太陽追蹤器:在應用市場上面得到了不斷擴張,對于太陽能追蹤器的利用那也是一個相當熱門的談話主題,途徑多年的經驗,將其用在了熱水器、路燈以及西部計劃、太陽能發電、太陽能供暖等等[8]。
更多的往往是采用單軸跟蹤的方式,相比之下更需要多軸,實現全方位無死角跟蹤。
1.5 工作內容
針對不同條件下,提出了自動控制和手動調節的兩種工作方式:
第二章 方案論證與系統設計
2.1 編譯語言的選取
方案一:C語言
在語言結構性、運算符的豐富性、程序在編寫過程中簡潔緊湊、程序編寫自由度大;通過對物理地址的直接訪問,使得完全可以對硬件實現直接控制;使得程序在執行中有著高效性。
C語言的使用是面向過程,重點在于算法以及數據結構。通過對對輸入進行運算處理得到輸出——高效性。
方案二:C++
C++面向對象的一種語言,在原有的C的基礎上,增加了面向對象。從而拓展了對象設計的內容,使其更加符合現代化程序設計。相比之下C++更具有優勢,但是在使用過程中C++的使用具有局限性,比如在嵌入式的的應用中,更多的依舊是采用C語言作為開發環境使用,C語言運行也較快。C++由于過于復雜,在這方面就稍遜一籌。
方案三:Java
Java是一種解釋性語言,Java在運行程序時,運行前進行解釋,使得速度會減慢;而C++會被直接編譯系統所能識別的二進制代碼形式,使得在運行速度更快。
從系統的復雜性出發來考慮,同時整個過程的計算量比較大,因此我選用了浮點數的計算方式,選用方案一作為整個系統編譯方式。
2.2 控制系統總體方案選取
方案一:視日尋跡追蹤模式
這種模式是基于天文學公式,通過公式對其理想化計算得出太陽在不同時候所處的不同方位和角度。后期依據當地的每日實際運行軌跡進行對應控制算法程序的編寫來完成兩個步進電機來達到俯仰和方位上的轉動。優點是對外界環境的依賴小,弊端是不管外界環境是何種天氣,它都會以同樣的工作方式運動,增加了不必要的能耗和元器件的壽命磨損。
太陽俯仰角h和方位角A的兩個位置參數,可表達如下所示:
δ為赤緯角,Φ是本地緯度,Ω表示太陽時角。
方案二:光電追蹤模式
該模式的算法是通過光敏傳感器,對太陽不同方位光照強度的反饋。具體方法:在模擬電池板上,不同的是四個方位各安裝一個感光元件,通過感光元件對外界光照強度信息的反饋,經過A/D轉換后到達核心板,單片機再進行信息處理比對,當下面光照強度大于上面光照強度,STM32單片機就會直接驅動上端電機向下翻轉;另外的三種不同的運動情況,也都是完全相同的控制比較方式。
通過兩者的比較,選擇方案二,簡單易操作性,更適合被普及廣泛使用,在同等使用條件下,最簡方案,則是最優方案。
2.3主控系統選擇
方案一:51單片機控制芯片的選擇。主要使用設置寄存器變量實現,在程序的修改方面,也是相當的方便快捷,價格實惠,但在增加A/D轉換的時候需要拓展,使得給硬件和軟件增加負擔,運行速度慢,在使用中保護能力欠佳。
方案二:采用FPGA這樣的大規模可編程邏輯器件,FPGA都是基于SRAM,那么編程信息存儲于SRAM中,這樣的致命缺點就是在系統斷電后信息會丟失,下次使用需要重新配置。
方案三:ARM作為一種高性能嵌入式系統。考慮到方案的可實行性,STM32可以很好的解決數據處理和控制功能,十分適用于太陽能跟蹤,斷電后信息不會丟失,可無限次使用。
結合本次設計的任務要求,以及上述三種方案的相對比較,最后選用方案三更適合本課題的設計標準,具體采用STM32F103C8T6。
2.4電機選擇
方案一:步進電機的選擇,步進電機的優點就是可以精確地控制電機步數和角度,完美的實現實時追蹤,缺點是價格昂貴。
方案二:選擇直流電機。價格便宜是它的一大亮點,通過減速齒可以提高扭力,具有更大的負載,電機的高精度控制直流電機達不到設計要求。
步進電機是將電脈沖轉換成相應角位移或線位移的電磁機械裝置。通過控制脈沖次數直接控制其啟停,啟動是速度快,步距角和轉速只取決于脈沖頻率,受外界影響因素小。因此,對于本設計任務要求,為更精確地完成對角度值的精度把控,更好地利用太陽能,因此我選用方案一作為本次課程設計的驅動電機。
2.5步進電機驅動系統選擇
方案一:L298專業電機驅動模塊的選擇,這類驅動模塊的操作方便以及接口簡單同時他們既可以驅動步進電機,也可驅動直流電機。
方案二:三極管等分立元件搭H橋。亮點在于實惠,控制方式簡單以及結構簡單。電流的承載能力較小,因分立元件,則體積較大同時穩定性也得不到保證是它的缺點。
方案三:采用集成芯片,ULN2003。
作為一種最多可一次驅動八塊步進電機的芯片——達林頓管ULN2003,本設計作用于兩個步進電機,在實際的使用中,往往起著放點輸出的作用用于驅動大負載的步進電機等。
本次設計綜合考慮,依據實際設計需求,選擇方案三作為步進電機的驅動系統。
2.6實體結構框架選擇
方案一:兩電機互相處以垂直狀態,電機一是左右的轉動而電機二是上下的轉動,在不引入外界條件輔助設備的情況下會出現運動死角,從成本化出發是不可取的。
方案二:將兩個電機由之前的垂直安裝,改變為大于90°的安裝,在不引入外部設備的情況下,可以很好的避開運動死角,從而可實現全方位無死角跟蹤,綜合上述情況選擇方案二進行本次的實體結構設計。
2.2系統設計
2.2.1 單片機構成如下圖:
圖2–2–1 單片機構成示意圖
控制方式:第一步就是將數據程序輸入到輸入設備里面,輸入設備將程序傳輸給運算器CPU和存儲器,各自程序都對應的傳輸到控制器里面,由控制器完成完成相互的指令傳遞,最后都是作用于輸出設備,在輸出設備上顯示出來的結果就是最初程序所要表達的效果。
2.2.2 系統整體控制框圖如下:
圖2–2–2 系統整體控制框圖
控制方式:完成整個驅動控制,第一步就是感光元件及光敏電阻傳感器對外界光的采集,完成電壓跟隨,通過A/D轉換,然后通過電壓的比較,使用STM32F103C8T6單片機控制電機的驅動,最終完成不同電機在不同的光照強度情況下不同方向的運動,最后實現對光的最大化接收。
2.2.3 電機控制框圖如下:
圖2–2–3 電機控制框圖
控制方式:通過光敏傳感器對光的采集,實現了最后對電機運動方式的不同選擇和控制。
1、當感光元器件第一組接受到的光照強度值大于其它三個方位的光照強度時,那么電機完成水平方向的電機正轉,并返回最初狀態。
2、當感光元器件第二組接受到的光照強度值大于其它三個方位的光照強度時,那么電機完成水平方向的電機反轉,并返回最初狀態。
3、當感光元器件第三組接受到的光照強度值大于其它三個方位的光照強度時,那么電機完成垂直方向的電機正轉,并返回最初狀態。
4、當感光元器件第四組接受到的光照強度值大于其它三個方位的光照強度時,那么電機完成垂直方向的電機反正,并返回最初狀態。
當所有的感光元器件都處于接受管的均勻照射時,此時的光照強度幾乎大小相等,也就電機的狀態保持不運動。
2.2.4整體電路原理圖如下:
圖2-2-4 整體電路原理圖
系統上電正常啟動后,程序初始化完成,通過感光元器件獲得當前的光照強度,單片機進行A/D轉換后的光照強度值進行判斷,從而控制控制步進電機運動,程序開始判斷步進電機轉動模式是手動模式還是自動,初始默認狀態是自動跟蹤模式。
手動模式,電機控制上下左右 4 個按鍵的狀態由人為完成,使得電機按照人們預想的方向進行運動,以此來得以控制四個方位的不同垂直轉動和水平移動的俯仰角和方位角。程序判斷為自動模式后,開始自動讀取檢測電路并返回信號,當檢測到是各個方位的光照強度值有較大的的差異是,那么單片機就發出控制指令控制步進電機進行轉動,升壓模塊是為了給整個系統穩定供電而存在。
第三章 元器件介紹
3.1 系統硬件系統分析設計
3.1.1 STM32單片機核心電路設計
處理器基于ARM 7架構的32位——STM32單片機系列,支持實時仿真可實現跟蹤的微控制器。對于本系統之所以使用STM32的原因便是,設計最初,要求達到的就并非最低成本與更小功耗,而是在實現規定的設計需求外,可以更好的為實驗外的部分需求而提供更多的串口和擴展應用電路而選擇,對于發展前景也相較于51有了更多的選擇。
一、STM32的主要優點:
二、STM32平臺的選擇可靠性:
同平臺的項目開發,STM32是最優之選,具體表現如下:
STM32F103C8T6核心板接口電路圖如下所示:
圖3-1-1(a) STM32單片機核心板接口原理圖
STM32單片機實物圖如下圖所示:
圖3-1-1(b) STM32單片機核心板實物圖
3.1.2 28BYJ-48步進電機ULN2003驅動電路設計
步進電機是通過對脈沖次數的控制,完成對電機角、線位移的開環控制電機,在正常的運行工作下,電機的啟停是通過對脈沖信號的采集比較。步距角是通過以步進電機為載體,使其按照預定的角度和方向運動,通過位移量的控制從而使其達到對轉動方向和轉到角度的精確控制,以此達到對太陽光采集達到最大值化。
現如今步進電機在機械、數電模電等都已經涉及。步進電機在系統中是作為執行元件,卻在機電一體化行業得到了充分地認可,被廣泛應用于各種自動化控制系統。
系統中選用4相5線的5V步進電機。
具體參數如下:
具體驅動電路原理圖如下:
圖3-1-2(a) 驅動電路原理圖
圖3-1-2(b) 驅動電路原理圖
圖3-1-2? 步進電機實物圖
3.1.3 按鍵電路設計
按鍵控制相當于一種電子開關,通過控制按鍵的閉合與斷開從而實現對電源腿短的控制,其內部原理主要是通過內部的金屬彈簧片因受外力的作用而相對運動,按鍵在整個控制過程中占據著輸入的主導地位,使其達到人機交互的結果,當按鍵按下,對應的單片機引腳電平由高變低電平,以此達到對系統發出手動輸入指令。注意,按鍵個數可變。
其電路原理圖如下圖所示:
圖3-1-3 按鍵電路原理圖
在整個電路里面,也可以把電阻作為上拉電阻,以此達到對按鍵信號輸出的穩定性控制,按鍵的個數是可以根據實際需求對其進行適當的增加與刪減。
3.1.4 光照檢測電路設計
本系統的感光元件是行業最新出現的光敏電阻元件,工作原理是針對于內光電效應。在使用過程中電阻值會跟隨著外部的光照強度的不同而隨之呈現為正態分布,規律性變化。依據本系統中使用到的光敏電阻,針對于其的特殊性能,在現如今的如此高速發展的現代社會也將得到更為廣泛的用武之地,通過四個光敏電阻的串聯,達到分壓的效果,同時也是起著對整個系統的一個保護作用。光敏電阻原理圖如下:
圖3-1-4 光敏電阻原理
3.1.5 TFT觸摸彩屏1.44寸模塊
TFT(Thin Film Transistor)也被稱之為薄膜場效應晶體管,隸屬于有源矩陣液晶顯示器之一。然而對于TFT顯示器,像素通過點脈沖直接控制,相當于對每個像素都有一個控制開關,也因此這樣使得每個節點都是處于完全獨立的狀態,然而也可以實現對它進行連續控制,通過連續控制不僅提高顯示器的在使用中的反應速度同時也可以實現對色階的顯示實現精確控制。TFT液晶顯示屏的亮點是亮度好、對比度高等。
全新LCD模塊,本模塊是通用型的TFTLCD模塊。
一、該模塊有如下特點:
二、接口定義
表 3-1-5 接口定義表
管腳順序 管腳定義 功能闡述
1 GND 電源接地端
2 VCC 電源正極
3 SCL SPI時鐘輸入
4 SDA SPI數據輸入
5 RES 屏得復位
6 DC 命令/數據選擇
7 CS SPI片選輸入
8 BL 背光控制輸入
三、模塊實物圖如下圖所示:
圖3-1-5 顯示屏
原理圖如下:
圖3-1-5 顯示屏原理圖
3.1.6 太陽能發電電路設計
太陽輻射能要通過光電效應或化學效應實現轉換,那么我們首先就要使用到可以吸收太陽光的太陽能電池板(Solar panel),其制作材料大部分依舊使用“硅”,對于其普通的干電池或者充電電池而言,最大的亮點則是節能環保零污染。
特點:超白玻璃作為高透明性的低鐵玻璃,透光率達到了驚人的91.5%。
使用EVA作為固定鋼化玻璃和電池片的原材料,對于使用中的EVA材質的好壞,這也會是直接影響到相關組件的使用壽命,當相關組件在自然情況下是全部裸露在自然化環境中,而空氣中的容易色變,從而影響組件的透光率。
晶體硅主要是分為多晶和單晶料是最主要的光伏材料,在市場中的占比也是驚人的達到了90%以上,然而在今后較長時間內也是主要是以硅作為太陽能電池板的主要材料,可將其相當不錯的未來可預見性。
實物圖如下圖所示:
圖3-1-6(a) 太陽能電池板實物圖
其電路接口原理圖如下圖所示:
圖3-1-6(b) 太陽能電池板發電接口原理圖
3.1.7 TP4056鋰電池充電模塊電路設計
TP4056鋰電池充電模塊,適用于USB電源和與適配器,PMOSFET作為架構,再使用了防倒充電電路,因此不需要外接隔離二極管,防止電回流,TP4056作為恒定電流/電壓可持續性充電模塊,作為本次選擇的有力據。為了防止因為高溫和大功率狀態下對芯片的影響,選用TP4056可完成對電流大小的可控調節。
本模塊特點:
TP4056鋰電池充電模塊接口原理圖如下圖所示,鋰電池并聯的電容是濾波作用,保證鋰電池充電電壓的穩定平穩輸出。
鋰電池充電模塊如下:
圖3-1-7(a) TP4056鋰電池充電模塊接口原理圖
TP4056鋰電池充電模塊實物圖如下圖所示:
圖3-1-7(b) 鋰電池充電模塊實物圖
3.1.8 USB-5V升壓模塊電路設計
本USB-5V升壓模塊,器件絲印為4X-NXH也稱之為HX3001,是一款高效輸出、恒定頻率、PWM控制。其顯著特點是低壓0.9V低壓啟動,同時轉換效率高達94%,中等功率運用,可提供我電壓輸出規格。此設計系統使用的既是升壓模塊將3.7V升壓到5V的電壓的轉換過程。
三、使用說明
實物圖如下:
圖3-1-8(a) 模塊5V跳線取線圖
2) USB-5V升壓模塊焊接時,可以直接用電源線直接焊接電源輸入端,也可以插入單排針焊接后插在PCB板或萬用板上。
下圖就是USB-5V升壓模塊接口原理圖,當我們將開關撥下后,系統中的升壓模塊得電開始正常工作,隨之使3.3V鋰電池電壓升壓到5V,相反則是升壓模塊不工作。電容的作用在系統中都是起著減小電壓波動,讓電壓更平穩的輸出。
接口原理圖如下:
圖3-1-8(b) USB-5V升壓模塊接口原理圖
USB-5V升壓模塊實物圖如下圖所示:
圖3-1-8?USB-5V升壓模塊實物圖
3.1.9 分壓電路設計
串聯分壓的原理:
在串聯電路,不變的是電流大小處處相等,各個分支的電壓之和為電壓總和,即分電路電壓從始至終都小于總電壓,因此稱為分壓。
當所采集到的電壓信號超過選擇的A/D模塊最大采集電壓值,那么就在這時就需要采用分壓電阻的形式來解決因電壓過大而出現的溢出。
3.2 STM32 單片機系統軟件設計
3.2.1 Keil程序開發環境
單片機開發環境是Keil與匯編相比,C語言的閃光點則是在可維護性、結構性、可讀性、功能上,一目了然的邏輯框架、易學易用,在Keil的中,有著C編譯器、鏈接器和庫管理等在內的一整套而又完整開發方案,我們使用集成開發環境(μVision),把各個部分組合在一起。通過上面的基本詮釋選擇Keil那就是最后的選擇,最好的選擇。可運行Keil軟件需要WIN98、WINXP等操作系統。其中Keil有以下特點:
Keil軟件界面如下圖所示:
圖3-3-2 Keil uVision5開發界面圖
3.2.2 STM ISP程序燒錄
STM ISP是用于stm32進行程序的燒錄軟件,可直接下載單片機所用程序,同時也是完全支持編程的編寫、程序的校驗等。單片機開發板、下載器和PC連接完成后,第一步打開軟件并選擇對應的串口號,再者就是選擇目標程序文件對應所在的地址,最后鼠標單擊“開始變成(P)就可以完成對程序的下載”。
具體下載界面如下圖所示:
圖3-3-3 燒錄軟件下載界面
3.2.3 CH340串口程序燒寫模塊介紹
CH340串口燒寫模塊,通過USB接口相接,這使得可以實現與任何一臺筆記本電腦的完成對STC系列單片機的程序燒寫,通過此下載器的高性能和低成本的絕對優勢,顯然在本次STC系列單片機中的應用也將表現得格外獨到。
一、CH340串口燒寫模塊特點:
模塊如下圖所示:
圖3-3-4(a) CH340串口燒寫模塊
二、CH340串口燒寫模塊引腳說明
三、CH340串口燒寫模塊
具體接線圖如下表所示:
表3-4-4(b) CH340串口燒寫模塊與單片機接線
CH340模塊 單片機開發板
TXD 引腳PA10
RXD 引腳PA9
GND GND
3.4 軟件開發工具
第四章 系統測試
第五章 全文總結與展望
5.1 全文總結
整個系統使用了以STM32F103C8T6單片機作為核心板、太陽能板、鋰電池充電、穩壓電路、光敏采集電路、驅動電路、升壓穩壓模塊、步進電機、按鍵電路組成。整個系統共計有光敏采集板與主控板和兩塊板子,以對應的連接線進行相互連接。其中光敏采集板主要放置光敏傳感器,模擬太陽能板的運作;另外的主控板起著對顯示器、電源接通管理、按鍵接通控制以及步進電機的相關驅動。
具體控制展現如下:
一、太陽能板將太陽光能進行收集,收集的同時進行光能與電能的轉換,通過電路的穩壓過程,將電傳遞給備用電池進行電量的儲存,在干鋰電池經過升壓模塊和穩壓模塊穩壓到5V給整個系統供電,有單獨的電源控制開關可以進行電源的通斷控制。在給設備系統進行上電后,系統最初的默認形式為隨太陽運動而運動的“自動模式”,還有就是可以通人為控制改為“手動模式”[9]。
二、在系統通電的情況下不管是屬于自動還是手動模式,此時的光敏電阻都會采集光線強度,并且在顯示屏上面進行完美的顯示出來,其中顯示的效果為上、下、左、右四個方位。通過兩個步進電機驅動來完成上下左右運動,將兩個步進電機焊接在一塊形成了一個角度多自由度的整體。兩個電機都是通過連接線與主板進行的連接,通過光敏電阻對光強度的采集獲得四個方位的不同關照強度值,最后通過與預計值的比較,最后來確定電機的運動軌跡[10]。
三、其中以“自動模式”為例:在自動追尋的過程中,會自動判斷光的強高度的大小,若下面光照強度大于上面光照強度,STM32單片機就會直接驅動上端電機向下翻轉;以便于在下午太陽西落的時候,獲得更多的關照,若上面光照強度大于下面光照強度,STM32單片機就會直接驅動上端步進電機向上進行運動[11];若上下兩個方位的光照強度均是大小相差無幾,那么上端步進電機則不進行任何的動作。接下來就是對于當上下光照均勻左右運動的情況,若右方位的光照強度大于左方位的情況下,STM32單片機就直接驅動下方位第一個步進電機向左方位一定角度轉動[12];若左方位的光照強度大于右方位的光照強度,STM32單片機就直接驅動下方位第一個步進電機向左方位進行運動[13];當左右方位采光度也保持幾乎均應的時候光照,那么下方位的第一個電機也將保持不動。那么此時此刻設備的狀態將是完全的禁止,STM32單片機將不對電機給出任何的運動指令[14]。
三、也可以切換為“手動模式”狀態進行使用按鍵手動來完成設備狀態的切換。四個按鍵對應控制電機完成:上、下、左、右的翻轉動作。通過點動的方式來控制驅動步進電機的實際運動[15]。
四、當太陽能采集受限的時候,那么此時就使用外部電源USB充電模塊對其進行鋰電池上電,以保障系統的正常運行[16]。
1.44寸顯示屏顯示了光敏電阻采集光強的數值范圍為0-1000,在實際應用過程中不管是處于自動還是手動模式下工作,光敏電阻都可以通過上、下、左、右四個方位來進行光的采集。其中通過兩個不同維度的步進電機驅動來實現,既是上下翻滾和左右轉動。上端步進電機與光敏采集板直接像粘接,兩板通過連接線直接焊接而成。當然了對其的封裝也是很有必要的完善過程。
5.2 后續工作展望
在原有的基礎上還可以進行與外部設備進行搭配使用,比如在發電廠蓄電上的使用、對魚塘中的制氧機進行提供供電、通過電紅外傳感器實現人走燈滅,藍牙遠程控制路燈等。
致 謝
時間很快,畢業設計已經開始接近尾聲,幾年的大學學習生涯即將告一段落,在后期的研究生生涯中希望可以得到更好的視野拓展。通過本次的設計,問題也是層出不窮,也是這些困難讓我學會了成長,以前幾乎自己一個人沒有單獨做過設計,因此也遇到C程序的編寫這一大困難。慢慢的一切都會因人而解,吳導師的大力幫助,是很重要的一個環節。
從這次的畢業設計中,深刻的體會到學習中,要理論聯系實際,把我們所學的理論知識用到實際當中,學習單機片機更是如此,程序只有在經常的寫與讀的過程中才能提高,這就是我在這次畢業設計中的最大收獲。硬件只有多做,自己多搭建電路來調試才能真正的學得知識。
首先,我要感謝我的導師對我的悉心指導。他為我的畢業設計指導盡心竭力,他淵博的知識、平易近人的性格以及在設計上敏銳的洞察力,使我受益非淺。在整個畢業設計期間,老師時不時提醒著我,要做什么了,聽在耳里,看在眼里更是記在心里。從最初的選題到后期的完成,少不了導師的教導。占用了老師的寶貴時間,得以最后完成論文。
在大學的幾年學習生活中,感謝學院也感謝各位老師讓我們有了獲取知識的平臺,結識了一幫有著共同愛好的朋友,我們大家共同學習,為完成畢業設計打下了基礎——感謝得以與大家相識、相知、相惜。
謝謝大家!
參考文獻
[1] 張翠華,范小振.《能源新視野》. [M]. Boston: Artech House, 2017 , 5-8
[2] 舟丹.太陽能發展利用進入新時代[J].中外能源, 2013 , 56-60
[3] 羅運俊.《太陽能利用技術》化學工業出版社[M]. 化學工業出版社, 2015 , 6-10
[4] 葉偉慧,廖才,石金強,陳國康. 基于單片機的跟蹤式太陽能追光控制系統[J].北京:清華大學出版社, 2020, 01:44-45
[5] 郭欣. 太陽能雙軸跟蹤系統的研究與設計[J].裝備制造與教育, 2017, 03 , 6-9
[6] 楊亞龍. 太陽能電池板自動追光系統研究與實現[D]. 長安大學, 2014 , 5-6
[7] 高緒昊. 太陽能跟隨系統設計[J].硅谷, 2013 02
[8] 劉卿卿,俞強,趙毛毛,王競雄. 基于STM32的光電式太陽跟蹤系統設計[J]. 儀表技術與傳感器, 2017, 01
[9] 李仁浩,龔思敏,楊帆. 基于單片機控制太陽能智能跟蹤控制系統的設計[J]. 儀表技術與傳感器.2015(04) :21-23
[10] 葉偉慧,廖才,石金強,陳國康.基于陽光方位探測器的太陽能收集板姿態調節系統 [J]. 儀表技術與傳感器, 2011(03) :156-160
[11] 劉卿卿,俞強,趙毛毛,王競雄.基于STM32的光電式太陽跟蹤系統設計[J].儀表技術與傳感器.2017(01)
[12] 李仁浩,龔思敏,楊帆,劉松,李小兵.基于單片機控制太陽能智能跟蹤控制系統的設計[J].儀表技術與傳感器.2015(04)
[13] 王定玲,夏美娟.太陽能自動跟蹤系統設計[J].江蘇科技信息. 2017(02)
[14] 申來明,楊亞龍.一種利用單片機實現太陽跟蹤的設計方法[J].現代電子技術. 2014(10)
[15] 許義泉,王燕昌,王子文,慕松.赤道坐標系下新型太陽能自動跟蹤裝置設計[J].機械設計與制造. 2013(09)
[16] 閆云飛,張智恩,張力,代長林.太陽能利用技術及其應用[J].太陽能學報. 2012(S1)
[17] 王陽.太陽能電池板追光系統的研究[D].沈陽工業大學.2017
[18] Du Xiaoqiang,Li Yuechan,Wang Pengcheng,Ma Zenghong,Li Dangwei,Wu Chuanyu. Design and optimization of solar tracker with U-PRU-PUS parallel mechanism [J] IOP J.MECHMACHTHEORY.2020.104107
[19] Qingli HaidongLiu. Design of Solar Energy Automatic Tracking Control System Based on Single Chip Microcomputer [J]. IOP Conference Series Earth and Environmental Science March 2019
[20] Du Xiaoqiang, Li Yuechan, Wang Pengcheng, et al. Design and optimization of solar tracker with U-PRU-PUS parallel mechanism[J]. 2021, 155:104107
附錄Ⅰ系統PCB如下:
附件圖 0–1主控板PCB
附件圖 0–2光敏PCB
附錄II部分程序
#include “my_include.h”
char dis0[25];//液晶顯示暫存數組
char dis1[25];//液晶顯示暫存數組
#define F_SIZE 16
#define MyLCD_Show(m,n,p) LCD_ShowString(LCD_GetPos_X(F_SIZE,m),LCD_GetPos_Y(F_SIZE,n),p,F_SIZE,false)
#define RONGCHAZHI_UD 500 //容差值
#define RONGCHAZHI 500 //容差值
#define ZHUANDONG_ZZ 50 //轉動一個正角度
#define ZHUANDONG_FZ -50 //轉動另一個方向轉動
int lighVla_left = 0;//ad采集結果 1
int lighVla_up = 0;//ad采集結果
int lighVla_right = 0;//ad采集結果
int lighVla_down = 0;//ad采集結果
float batteryVolt = 0;//鋰電池電壓ad采集結果
float BatCap=80; //容量初始化
unsigned char disFlag = 0;//更新顯示
unsigned char setMode =0;//設置模式
unsigned char rememberMode =0xff;//記錄上一次設置狀態
int main(void)
{
unsigned char disYplace=0; //顯示所在行遞增變量
USARTx_Init(USART1,9600);
// My_LED_Init();
// My_RTC_Init(false);
My_ADC_Init(ADC1);
My_KEY_Init();
My_StepMotor_Init();
// TP_Init(); //校準已經包括再此函數中 先執行LCD_Init(); 觸摸校準調用顯示
LCD_Clear(Color16_BLACK);//清全屏 BACK_COLOR=Color16_BLACK; FRONT_COLOR=Color16_LIGHTGRAY; disYplace=0; //顯示所在行遞增變量 MyLCD_Show(2,disYplace++,"雙軸追光系統");//顯示 FRONT_COLOR=Color16_LIGHTBLUE; MyLCD_Show(1,disYplace++,"光照參數: ");//顯示 MyLCD_Show(4,disYplace++,"上: ");//顯示 MyLCD_Show(1,disYplace,"左: ");//顯示 MyLCD_Show(9,disYplace++,"右: ");//顯示 MyLCD_Show(4,disYplace++,"下: ");//顯示 MyLCD_Show(1,disYplace++,"設置: ");//顯示 while(1) {My_KeyScan();if(KeyIsPress(KEY_5)){if(setMode !=0 )setMode =0;//自動模式else setMode=1;//手動模式}switch(setMode){case 0: //自動模式if((lighVla_left - lighVla_right)>RONGCHAZHI_UD ) //調整向強光方向轉動{My_StepMotor_RotateAngle(0,ZHUANDONG_ZZ);}else if((lighVla_right - lighVla_left )>RONGCHAZHI_UD )//調整向強光方向轉動{My_StepMotor_RotateAngle(0,ZHUANDONG_FZ);}else {My_StepMotor_Stop(10);}if((lighVla_up - lighVla_down)>RONGCHAZHI_UD ) //調整向強光方向轉動{My_StepMotor_RotateAngle(1,ZHUANDONG_ZZ);}else if((lighVla_down - lighVla_up )>RONGCHAZHI_UD )//調整向強光方向轉動{My_StepMotor_RotateAngle(1,ZHUANDONG_FZ);} else {My_StepMotor_Stop(10);} break;case 1: //手動模式 if(KeyIsPressed(KEY_1))//按鍵按下{My_StepMotor_RotateAngle(0,ZHUANDONG_ZZ); //轉動 度數 正值一個方向 負值另一個方向}else if(KeyIsPressed(KEY_3))//按鍵按下{My_StepMotor_RotateAngle(0,ZHUANDONG_FZ);//轉動 度數 正值一個方向 負值另一個方向} else {My_StepMotor_Stop(0);} if(KeyIsPressed(KEY_2))//按鍵按下{My_StepMotor_RotateAngle(1,ZHUANDONG_FZ);//轉動 度數 正值一個方向 負值另一個方向} else if(KeyIsPressed(KEY_4))//按鍵按下{My_StepMotor_RotateAngle(1,ZHUANDONG_ZZ);//轉動 度數 正值一個方向 負值另一個方向}else {My_StepMotor_Stop(10);} break;default: break; }lighVla_left =1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_0)/4096; //讀取ad值 轉化為0-1000lighVla_up = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_1)/4096; //讀取ad值 轉化為0-1000lighVla_right = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_2)/4096; //讀取ad值 轉化為0-1000lighVla_down = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_3)/4096; //讀取ad值 轉化為0-1000if(disFlag == 1)//更新顯示{disFlag =0;FRONT_COLOR=Color16_LIGHTBLUE; disYplace=2; //顯示所在行遞增變量 sprintf(dis0,"上:%d ",lighVla_up);//打印MyLCD_Show(4,disYplace++,dis0);//顯示 sprintf(dis0,"%d ",lighVla_left);//打印MyLCD_Show(4,disYplace,dis0);//顯示 sprintf(dis0,"%d ",lighVla_right);//打印MyLCD_Show(12,disYplace++,dis0);//顯示 //**All notes can be deleted and modified**//if(rememberMode != setMode){rememberMode = setMode;//記錄設置模式if(setMode == 0)MyLCD_Show(8,disYplace++,"自動 ");//顯示 else if(setMode == 1)MyLCD_Show(8,disYplace++,"手動 ");//顯示 }batteryVolt = My_ADC_GetValue(ADC1,ADC_Channel_4)*3.3/4096 *2 ;//鋰電池電壓if(batteryVolt>4.15) //電壓值對比{BatCap = 0.99;}//容量 else if(batteryVolt<3.4){BatCap =0;}else{BatCap = (batteryVolt-3.4)/(4.15-3.4);}//正常情況下計算比例 if(BatCap<0.45){FRONT_COLOR=Color16_RED; }sprintf(dis0,"B:%3.1fv Q:%02d%% ",batteryVolt,(int)(BatCap*100)); //打印 MyLCD_Show(1,6,dis0);//顯示 } }}
總結
- 上一篇: chkconfig命令会立即生效吗_UG
- 下一篇: css笔记——css 实现自定义按钮