太阳能板的开发
摘要
對綠色能源的開發(fā)和利用是響應(yīng)我國節(jié)能減排,環(huán)保政策的舉措,太陽能作為可持續(xù),零污染,具有很高的環(huán)保價值和經(jīng)濟(jì)效益,高效利用太陽能還可以有效替代部分化石能源,從而降低因石化能源燃燒導(dǎo)致的污染,減輕霧霾。然而農(nóng)村太陽能豐富,卻沒能得到很好的利用,即便現(xiàn)有的發(fā)電產(chǎn)品對太陽能電池板也大多采用固定支架。課題對此提出了能夠跟蹤太陽方向的云臺支架,可實(shí)現(xiàn)太陽能電池板自動調(diào)節(jié)而始終面向光線最強(qiáng)的一面,提高太陽能發(fā)電的利用率。課題從云臺,電機(jī)驅(qū)動,控制器,光線傳感器,液晶顯示等構(gòu)成,課題成果不僅可以用到太陽能發(fā)電,還可以用到其它的向光場所,如天文觀測等具有較高的實(shí)用價值。
關(guān)鍵詞:太陽能;電機(jī)驅(qū)動;控制器;光線傳感器;液晶顯示屏
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 前言
隨著時代的進(jìn)步與科技的飛速發(fā)展,使得對能源的需求隨之增加,對不可再生能源的過度依賴[1],從而使得不可再生能源的存儲量急劇減少,一些不可再生能源(石油)被視為戰(zhàn)略資源,據(jù)目前統(tǒng)計(jì),煤炭、石油、天然氣也會在歲月的實(shí)踐中而日趨枯竭,消耗殆盡。這些不可再生能源的產(chǎn)生顯然跟不上人類對其的需求,為更好的實(shí)現(xiàn)可持續(xù)發(fā)展,本課題提出了一種太陽追蹤的可行方案,可以大大提升對太陽能的利用,減少對不可再生資源的過度依賴。
1.2 研究太陽能跟蹤器的目的和意義
為了解決人們對不可再生資源的過度依賴和對清潔能源的高利用率。提出設(shè)計(jì)一款零污染高效率的裝置——太陽追蹤器。通過電機(jī),控制器,采光板光線傳感器等元器件之間的相互配合,實(shí)現(xiàn)對太陽光照射最強(qiáng)的方位,實(shí)現(xiàn)全方位無死角跟蹤,恰巧正好急需這樣一款具有安全、環(huán)保、高效率、以及取之不盡用之不竭的特點(diǎn),也很方便就可以獲取,如風(fēng)能和潮汐能一樣是絕對的無污染清潔能源,這也就很好的闡述了光能的可行性[2]。——對此提出太陽跟蹤裝置設(shè)計(jì)與制作。
1.3 對太陽能的認(rèn)識
優(yōu)點(diǎn):太陽作為一個取之不盡用之不竭的能源。在《太陽能利用技術(shù)》[3]就有相關(guān)的提到,所到達(dá)地球表面能量等同于每秒向地球源源不斷的投放了500萬噸煤炭。陽光所到之處,皆為財(cái)富,免費(fèi)使用的同時也不需要考慮任何的運(yùn)輸費(fèi)用以及零污染等特性。缺點(diǎn):即便如此的看似完美無缺,也存在著兩個致命性缺點(diǎn)[4]:一是能流密度很小;二是太陽的光照強(qiáng)度也會因?yàn)?#xff08;天氣、白夜等)因素的不同而有著很大的差距,很難長時間維持在恒定值,這也在一定程度上大大的影響了使用效率[5]。
1.4 太陽追蹤器國內(nèi)外現(xiàn)狀與發(fā)展趨勢
國外太陽追蹤器:對太陽能的使用在兩千零四年到兩千零六年太陽能的發(fā)電量都是驚人的4961MW[6],在一九九七年,美國的Blackace研制了單軸追蹤器,熱接收率提高了百分之十五…,后期圍繞高效率,輕質(zhì)量展開。在太陽能游艇、太陽能飛機(jī)、太陽能瓦片等方面得到運(yùn)用,也見證了太陽能利用的高效率性[7]。
國內(nèi)太陽追蹤器:在應(yīng)用市場上面得到了不斷擴(kuò)張,對于太陽能追蹤器的利用那也是一個相當(dāng)熱門的談話主題,途徑多年的經(jīng)驗(yàn),將其用在了熱水器、路燈以及西部計(jì)劃、太陽能發(fā)電、太陽能供暖等等[8]。
更多的往往是采用單軸跟蹤的方式,相比之下更需要多軸,實(shí)現(xiàn)全方位無死角跟蹤。
1.5 工作內(nèi)容
針對不同條件下,提出了自動控制和手動調(diào)節(jié)的兩種工作方式:
第二章 方案論證與系統(tǒng)設(shè)計(jì)
2.1 編譯語言的選取
方案一:C語言
在語言結(jié)構(gòu)性、運(yùn)算符的豐富性、程序在編寫過程中簡潔緊湊、程序編寫自由度大;通過對物理地址的直接訪問,使得完全可以對硬件實(shí)現(xiàn)直接控制;使得程序在執(zhí)行中有著高效性。
C語言的使用是面向過程,重點(diǎn)在于算法以及數(shù)據(jù)結(jié)構(gòu)。通過對對輸入進(jìn)行運(yùn)算處理得到輸出——高效性。
方案二:C++
C++面向?qū)ο蟮囊环N語言,在原有的C的基礎(chǔ)上,增加了面向?qū)ο蟆亩卣沽藢ο笤O(shè)計(jì)的內(nèi)容,使其更加符合現(xiàn)代化程序設(shè)計(jì)。相比之下C++更具有優(yōu)勢,但是在使用過程中C++的使用具有局限性,比如在嵌入式的的應(yīng)用中,更多的依舊是采用C語言作為開發(fā)環(huán)境使用,C語言運(yùn)行也較快。C++由于過于復(fù)雜,在這方面就稍遜一籌。
方案三:Java
Java是一種解釋性語言,Java在運(yùn)行程序時,運(yùn)行前進(jìn)行解釋,使得速度會減慢;而C++會被直接編譯系統(tǒng)所能識別的二進(jìn)制代碼形式,使得在運(yùn)行速度更快。
從系統(tǒng)的復(fù)雜性出發(fā)來考慮,同時整個過程的計(jì)算量比較大,因此我選用了浮點(diǎn)數(shù)的計(jì)算方式,選用方案一作為整個系統(tǒng)編譯方式。
2.2 控制系統(tǒng)總體方案選取
方案一:視日尋跡追蹤模式
這種模式是基于天文學(xué)公式,通過公式對其理想化計(jì)算得出太陽在不同時候所處的不同方位和角度。后期依據(jù)當(dāng)?shù)氐拿咳諏?shí)際運(yùn)行軌跡進(jìn)行對應(yīng)控制算法程序的編寫來完成兩個步進(jìn)電機(jī)來達(dá)到俯仰和方位上的轉(zhuǎn)動。優(yōu)點(diǎn)是對外界環(huán)境的依賴小,弊端是不管外界環(huán)境是何種天氣,它都會以同樣的工作方式運(yùn)動,增加了不必要的能耗和元器件的壽命磨損。
太陽俯仰角h和方位角A的兩個位置參數(shù),可表達(dá)如下所示:
δ為赤緯角,Φ是本地緯度,Ω表示太陽時角。
方案二:光電追蹤模式
該模式的算法是通過光敏傳感器,對太陽不同方位光照強(qiáng)度的反饋。具體方法:在模擬電池板上,不同的是四個方位各安裝一個感光元件,通過感光元件對外界光照強(qiáng)度信息的反饋,經(jīng)過A/D轉(zhuǎn)換后到達(dá)核心板,單片機(jī)再進(jìn)行信息處理比對,當(dāng)下面光照強(qiáng)度大于上面光照強(qiáng)度,STM32單片機(jī)就會直接驅(qū)動上端電機(jī)向下翻轉(zhuǎn);另外的三種不同的運(yùn)動情況,也都是完全相同的控制比較方式。
通過兩者的比較,選擇方案二,簡單易操作性,更適合被普及廣泛使用,在同等使用條件下,最簡方案,則是最優(yōu)方案。
2.3主控系統(tǒng)選擇
方案一:51單片機(jī)控制芯片的選擇。主要使用設(shè)置寄存器變量實(shí)現(xiàn),在程序的修改方面,也是相當(dāng)?shù)姆奖憧旖?#xff0c;價格實(shí)惠,但在增加A/D轉(zhuǎn)換的時候需要拓展,使得給硬件和軟件增加負(fù)擔(dān),運(yùn)行速度慢,在使用中保護(hù)能力欠佳。
方案二:采用FPGA這樣的大規(guī)模可編程邏輯器件,FPGA都是基于SRAM,那么編程信息存儲于SRAM中,這樣的致命缺點(diǎn)就是在系統(tǒng)斷電后信息會丟失,下次使用需要重新配置。
方案三:ARM作為一種高性能嵌入式系統(tǒng)。考慮到方案的可實(shí)行性,STM32可以很好的解決數(shù)據(jù)處理和控制功能,十分適用于太陽能跟蹤,斷電后信息不會丟失,可無限次使用。
結(jié)合本次設(shè)計(jì)的任務(wù)要求,以及上述三種方案的相對比較,最后選用方案三更適合本課題的設(shè)計(jì)標(biāo)準(zhǔn),具體采用STM32F103C8T6。
2.4電機(jī)選擇
方案一:步進(jìn)電機(jī)的選擇,步進(jìn)電機(jī)的優(yōu)點(diǎn)就是可以精確地控制電機(jī)步數(shù)和角度,完美的實(shí)現(xiàn)實(shí)時追蹤,缺點(diǎn)是價格昂貴。
方案二:選擇直流電機(jī)。價格便宜是它的一大亮點(diǎn),通過減速齒可以提高扭力,具有更大的負(fù)載,電機(jī)的高精度控制直流電機(jī)達(dá)不到設(shè)計(jì)要求。
步進(jìn)電機(jī)是將電脈沖轉(zhuǎn)換成相應(yīng)角位移或線位移的電磁機(jī)械裝置。通過控制脈沖次數(shù)直接控制其啟停,啟動是速度快,步距角和轉(zhuǎn)速只取決于脈沖頻率,受外界影響因素小。因此,對于本設(shè)計(jì)任務(wù)要求,為更精確地完成對角度值的精度把控,更好地利用太陽能,因此我選用方案一作為本次課程設(shè)計(jì)的驅(qū)動電機(jī)。
2.5步進(jìn)電機(jī)驅(qū)動系統(tǒng)選擇
方案一:L298專業(yè)電機(jī)驅(qū)動模塊的選擇,這類驅(qū)動模塊的操作方便以及接口簡單同時他們既可以驅(qū)動步進(jìn)電機(jī),也可驅(qū)動直流電機(jī)。
方案二:三極管等分立元件搭H橋。亮點(diǎn)在于實(shí)惠,控制方式簡單以及結(jié)構(gòu)簡單。電流的承載能力較小,因分立元件,則體積較大同時穩(wěn)定性也得不到保證是它的缺點(diǎn)。
方案三:采用集成芯片,ULN2003。
作為一種最多可一次驅(qū)動八塊步進(jìn)電機(jī)的芯片——達(dá)林頓管ULN2003,本設(shè)計(jì)作用于兩個步進(jìn)電機(jī),在實(shí)際的使用中,往往起著放點(diǎn)輸出的作用用于驅(qū)動大負(fù)載的步進(jìn)電機(jī)等。
本次設(shè)計(jì)綜合考慮,依據(jù)實(shí)際設(shè)計(jì)需求,選擇方案三作為步進(jìn)電機(jī)的驅(qū)動系統(tǒng)。
2.6實(shí)體結(jié)構(gòu)框架選擇
方案一:兩電機(jī)互相處以垂直狀態(tài),電機(jī)一是左右的轉(zhuǎn)動而電機(jī)二是上下的轉(zhuǎn)動,在不引入外界條件輔助設(shè)備的情況下會出現(xiàn)運(yùn)動死角,從成本化出發(fā)是不可取的。
方案二:將兩個電機(jī)由之前的垂直安裝,改變?yōu)榇笥?0°的安裝,在不引入外部設(shè)備的情況下,可以很好的避開運(yùn)動死角,從而可實(shí)現(xiàn)全方位無死角跟蹤,綜合上述情況選擇方案二進(jìn)行本次的實(shí)體結(jié)構(gòu)設(shè)計(jì)。
2.2系統(tǒng)設(shè)計(jì)
2.2.1 單片機(jī)構(gòu)成如下圖:
圖2–2–1 單片機(jī)構(gòu)成示意圖
控制方式:第一步就是將數(shù)據(jù)程序輸入到輸入設(shè)備里面,輸入設(shè)備將程序傳輸給運(yùn)算器CPU和存儲器,各自程序都對應(yīng)的傳輸?shù)娇刂破骼锩?#xff0c;由控制器完成完成相互的指令傳遞,最后都是作用于輸出設(shè)備,在輸出設(shè)備上顯示出來的結(jié)果就是最初程序所要表達(dá)的效果。
2.2.2 系統(tǒng)整體控制框圖如下:
圖2–2–2 系統(tǒng)整體控制框圖
控制方式:完成整個驅(qū)動控制,第一步就是感光元件及光敏電阻傳感器對外界光的采集,完成電壓跟隨,通過A/D轉(zhuǎn)換,然后通過電壓的比較,使用STM32F103C8T6單片機(jī)控制電機(jī)的驅(qū)動,最終完成不同電機(jī)在不同的光照強(qiáng)度情況下不同方向的運(yùn)動,最后實(shí)現(xiàn)對光的最大化接收。
2.2.3 電機(jī)控制框圖如下:
圖2–2–3 電機(jī)控制框圖
控制方式:通過光敏傳感器對光的采集,實(shí)現(xiàn)了最后對電機(jī)運(yùn)動方式的不同選擇和控制。
1、當(dāng)感光元器件第一組接受到的光照強(qiáng)度值大于其它三個方位的光照強(qiáng)度時,那么電機(jī)完成水平方向的電機(jī)正轉(zhuǎn),并返回最初狀態(tài)。
2、當(dāng)感光元器件第二組接受到的光照強(qiáng)度值大于其它三個方位的光照強(qiáng)度時,那么電機(jī)完成水平方向的電機(jī)反轉(zhuǎn),并返回最初狀態(tài)。
3、當(dāng)感光元器件第三組接受到的光照強(qiáng)度值大于其它三個方位的光照強(qiáng)度時,那么電機(jī)完成垂直方向的電機(jī)正轉(zhuǎn),并返回最初狀態(tài)。
4、當(dāng)感光元器件第四組接受到的光照強(qiáng)度值大于其它三個方位的光照強(qiáng)度時,那么電機(jī)完成垂直方向的電機(jī)反正,并返回最初狀態(tài)。
當(dāng)所有的感光元器件都處于接受管的均勻照射時,此時的光照強(qiáng)度幾乎大小相等,也就電機(jī)的狀態(tài)保持不運(yùn)動。
2.2.4整體電路原理圖如下:
圖2-2-4 整體電路原理圖
系統(tǒng)上電正常啟動后,程序初始化完成,通過感光元器件獲得當(dāng)前的光照強(qiáng)度,單片機(jī)進(jìn)行A/D轉(zhuǎn)換后的光照強(qiáng)度值進(jìn)行判斷,從而控制控制步進(jìn)電機(jī)運(yùn)動,程序開始判斷步進(jìn)電機(jī)轉(zhuǎn)動模式是手動模式還是自動,初始默認(rèn)狀態(tài)是自動跟蹤模式。
手動模式,電機(jī)控制上下左右 4 個按鍵的狀態(tài)由人為完成,使得電機(jī)按照人們預(yù)想的方向進(jìn)行運(yùn)動,以此來得以控制四個方位的不同垂直轉(zhuǎn)動和水平移動的俯仰角和方位角。程序判斷為自動模式后,開始自動讀取檢測電路并返回信號,當(dāng)檢測到是各個方位的光照強(qiáng)度值有較大的的差異是,那么單片機(jī)就發(fā)出控制指令控制步進(jìn)電機(jī)進(jìn)行轉(zhuǎn)動,升壓模塊是為了給整個系統(tǒng)穩(wěn)定供電而存在。
第三章 元器件介紹
3.1 系統(tǒng)硬件系統(tǒng)分析設(shè)計(jì)
3.1.1 STM32單片機(jī)核心電路設(shè)計(jì)
處理器基于ARM 7架構(gòu)的32位——STM32單片機(jī)系列,支持實(shí)時仿真可實(shí)現(xiàn)跟蹤的微控制器。對于本系統(tǒng)之所以使用STM32的原因便是,設(shè)計(jì)最初,要求達(dá)到的就并非最低成本與更小功耗,而是在實(shí)現(xiàn)規(guī)定的設(shè)計(jì)需求外,可以更好的為實(shí)驗(yàn)外的部分需求而提供更多的串口和擴(kuò)展應(yīng)用電路而選擇,對于發(fā)展前景也相較于51有了更多的選擇。
一、STM32的主要優(yōu)點(diǎn):
二、STM32平臺的選擇可靠性:
同平臺的項(xiàng)目開發(fā),STM32是最優(yōu)之選,具體表現(xiàn)如下:
STM32F103C8T6核心板接口電路圖如下所示:
圖3-1-1(a) STM32單片機(jī)核心板接口原理圖
STM32單片機(jī)實(shí)物圖如下圖所示:
圖3-1-1(b) STM32單片機(jī)核心板實(shí)物圖
3.1.2 28BYJ-48步進(jìn)電機(jī)ULN2003驅(qū)動電路設(shè)計(jì)
步進(jìn)電機(jī)是通過對脈沖次數(shù)的控制,完成對電機(jī)角、線位移的開環(huán)控制電機(jī),在正常的運(yùn)行工作下,電機(jī)的啟停是通過對脈沖信號的采集比較。步距角是通過以步進(jìn)電機(jī)為載體,使其按照預(yù)定的角度和方向運(yùn)動,通過位移量的控制從而使其達(dá)到對轉(zhuǎn)動方向和轉(zhuǎn)到角度的精確控制,以此達(dá)到對太陽光采集達(dá)到最大值化。
現(xiàn)如今步進(jìn)電機(jī)在機(jī)械、數(shù)電模電等都已經(jīng)涉及。步進(jìn)電機(jī)在系統(tǒng)中是作為執(zhí)行元件,卻在機(jī)電一體化行業(yè)得到了充分地認(rèn)可,被廣泛應(yīng)用于各種自動化控制系統(tǒng)。
系統(tǒng)中選用4相5線的5V步進(jìn)電機(jī)。
具體參數(shù)如下:
具體驅(qū)動電路原理圖如下:
圖3-1-2(a) 驅(qū)動電路原理圖
圖3-1-2(b) 驅(qū)動電路原理圖
圖3-1-2? 步進(jìn)電機(jī)實(shí)物圖
3.1.3 按鍵電路設(shè)計(jì)
按鍵控制相當(dāng)于一種電子開關(guān),通過控制按鍵的閉合與斷開從而實(shí)現(xiàn)對電源腿短的控制,其內(nèi)部原理主要是通過內(nèi)部的金屬彈簧片因受外力的作用而相對運(yùn)動,按鍵在整個控制過程中占據(jù)著輸入的主導(dǎo)地位,使其達(dá)到人機(jī)交互的結(jié)果,當(dāng)按鍵按下,對應(yīng)的單片機(jī)引腳電平由高變低電平,以此達(dá)到對系統(tǒng)發(fā)出手動輸入指令。注意,按鍵個數(shù)可變。
其電路原理圖如下圖所示:
圖3-1-3 按鍵電路原理圖
在整個電路里面,也可以把電阻作為上拉電阻,以此達(dá)到對按鍵信號輸出的穩(wěn)定性控制,按鍵的個數(shù)是可以根據(jù)實(shí)際需求對其進(jìn)行適當(dāng)?shù)脑黾优c刪減。
3.1.4 光照檢測電路設(shè)計(jì)
本系統(tǒng)的感光元件是行業(yè)最新出現(xiàn)的光敏電阻元件,工作原理是針對于內(nèi)光電效應(yīng)。在使用過程中電阻值會跟隨著外部的光照強(qiáng)度的不同而隨之呈現(xiàn)為正態(tài)分布,規(guī)律性變化。依據(jù)本系統(tǒng)中使用到的光敏電阻,針對于其的特殊性能,在現(xiàn)如今的如此高速發(fā)展的現(xiàn)代社會也將得到更為廣泛的用武之地,通過四個光敏電阻的串聯(lián),達(dá)到分壓的效果,同時也是起著對整個系統(tǒng)的一個保護(hù)作用。光敏電阻原理圖如下:
圖3-1-4 光敏電阻原理
3.1.5 TFT觸摸彩屏1.44寸模塊
TFT(Thin Film Transistor)也被稱之為薄膜場效應(yīng)晶體管,隸屬于有源矩陣液晶顯示器之一。然而對于TFT顯示器,像素通過點(diǎn)脈沖直接控制,相當(dāng)于對每個像素都有一個控制開關(guān),也因此這樣使得每個節(jié)點(diǎn)都是處于完全獨(dú)立的狀態(tài),然而也可以實(shí)現(xiàn)對它進(jìn)行連續(xù)控制,通過連續(xù)控制不僅提高顯示器的在使用中的反應(yīng)速度同時也可以實(shí)現(xiàn)對色階的顯示實(shí)現(xiàn)精確控制。TFT液晶顯示屏的亮點(diǎn)是亮度好、對比度高等。
全新LCD模塊,本模塊是通用型的TFTLCD模塊。
一、該模塊有如下特點(diǎn):
二、接口定義
表 3-1-5 接口定義表
管腳順序 管腳定義 功能闡述
1 GND 電源接地端
2 VCC 電源正極
3 SCL SPI時鐘輸入
4 SDA SPI數(shù)據(jù)輸入
5 RES 屏得復(fù)位
6 DC 命令/數(shù)據(jù)選擇
7 CS SPI片選輸入
8 BL 背光控制輸入
三、模塊實(shí)物圖如下圖所示:
圖3-1-5 顯示屏
原理圖如下:
圖3-1-5 顯示屏原理圖
3.1.6 太陽能發(fā)電電路設(shè)計(jì)
太陽輻射能要通過光電效應(yīng)或化學(xué)效應(yīng)實(shí)現(xiàn)轉(zhuǎn)換,那么我們首先就要使用到可以吸收太陽光的太陽能電池板(Solar panel),其制作材料大部分依舊使用“硅”,對于其普通的干電池或者充電電池而言,最大的亮點(diǎn)則是節(jié)能環(huán)保零污染。
特點(diǎn):超白玻璃作為高透明性的低鐵玻璃,透光率達(dá)到了驚人的91.5%。
使用EVA作為固定鋼化玻璃和電池片的原材料,對于使用中的EVA材質(zhì)的好壞,這也會是直接影響到相關(guān)組件的使用壽命,當(dāng)相關(guān)組件在自然情況下是全部裸露在自然化環(huán)境中,而空氣中的容易色變,從而影響組件的透光率。
晶體硅主要是分為多晶和單晶料是最主要的光伏材料,在市場中的占比也是驚人的達(dá)到了90%以上,然而在今后較長時間內(nèi)也是主要是以硅作為太陽能電池板的主要材料,可將其相當(dāng)不錯的未來可預(yù)見性。
實(shí)物圖如下圖所示:
圖3-1-6(a) 太陽能電池板實(shí)物圖
其電路接口原理圖如下圖所示:
圖3-1-6(b) 太陽能電池板發(fā)電接口原理圖
3.1.7 TP4056鋰電池充電模塊電路設(shè)計(jì)
TP4056鋰電池充電模塊,適用于USB電源和與適配器,PMOSFET作為架構(gòu),再使用了防倒充電電路,因此不需要外接隔離二極管,防止電回流,TP4056作為恒定電流/電壓可持續(xù)性充電模塊,作為本次選擇的有力據(jù)。為了防止因?yàn)楦邷睾痛蠊β薁顟B(tài)下對芯片的影響,選用TP4056可完成對電流大小的可控調(diào)節(jié)。
本模塊特點(diǎn):
TP4056鋰電池充電模塊接口原理圖如下圖所示,鋰電池并聯(lián)的電容是濾波作用,保證鋰電池充電電壓的穩(wěn)定平穩(wěn)輸出。
鋰電池充電模塊如下:
圖3-1-7(a) TP4056鋰電池充電模塊接口原理圖
TP4056鋰電池充電模塊實(shí)物圖如下圖所示:
圖3-1-7(b) 鋰電池充電模塊實(shí)物圖
3.1.8 USB-5V升壓模塊電路設(shè)計(jì)
本USB-5V升壓模塊,器件絲印為4X-NXH也稱之為HX3001,是一款高效輸出、恒定頻率、PWM控制。其顯著特點(diǎn)是低壓0.9V低壓啟動,同時轉(zhuǎn)換效率高達(dá)94%,中等功率運(yùn)用,可提供我電壓輸出規(guī)格。此設(shè)計(jì)系統(tǒng)使用的既是升壓模塊將3.7V升壓到5V的電壓的轉(zhuǎn)換過程。
三、使用說明
實(shí)物圖如下:
圖3-1-8(a) 模塊5V跳線取線圖
2) USB-5V升壓模塊焊接時,可以直接用電源線直接焊接電源輸入端,也可以插入單排針焊接后插在PCB板或萬用板上。
下圖就是USB-5V升壓模塊接口原理圖,當(dāng)我們將開關(guān)撥下后,系統(tǒng)中的升壓模塊得電開始正常工作,隨之使3.3V鋰電池電壓升壓到5V,相反則是升壓模塊不工作。電容的作用在系統(tǒng)中都是起著減小電壓波動,讓電壓更平穩(wěn)的輸出。
接口原理圖如下:
圖3-1-8(b) USB-5V升壓模塊接口原理圖
USB-5V升壓模塊實(shí)物圖如下圖所示:
圖3-1-8?USB-5V升壓模塊實(shí)物圖
3.1.9 分壓電路設(shè)計(jì)
串聯(lián)分壓的原理:
在串聯(lián)電路,不變的是電流大小處處相等,各個分支的電壓之和為電壓總和,即分電路電壓從始至終都小于總電壓,因此稱為分壓。
當(dāng)所采集到的電壓信號超過選擇的A/D模塊最大采集電壓值,那么就在這時就需要采用分壓電阻的形式來解決因電壓過大而出現(xiàn)的溢出。
3.2 STM32 單片機(jī)系統(tǒng)軟件設(shè)計(jì)
3.2.1 Keil程序開發(fā)環(huán)境
單片機(jī)開發(fā)環(huán)境是Keil與匯編相比,C語言的閃光點(diǎn)則是在可維護(hù)性、結(jié)構(gòu)性、可讀性、功能上,一目了然的邏輯框架、易學(xué)易用,在Keil的中,有著C編譯器、鏈接器和庫管理等在內(nèi)的一整套而又完整開發(fā)方案,我們使用集成開發(fā)環(huán)境(μVision),把各個部分組合在一起。通過上面的基本詮釋選擇Keil那就是最后的選擇,最好的選擇。可運(yùn)行Keil軟件需要WIN98、WINXP等操作系統(tǒng)。其中Keil有以下特點(diǎn):
Keil軟件界面如下圖所示:
圖3-3-2 Keil uVision5開發(fā)界面圖
3.2.2 STM ISP程序燒錄
STM ISP是用于stm32進(jìn)行程序的燒錄軟件,可直接下載單片機(jī)所用程序,同時也是完全支持編程的編寫、程序的校驗(yàn)等。單片機(jī)開發(fā)板、下載器和PC連接完成后,第一步打開軟件并選擇對應(yīng)的串口號,再者就是選擇目標(biāo)程序文件對應(yīng)所在的地址,最后鼠標(biāo)單擊“開始變成(P)就可以完成對程序的下載”。
具體下載界面如下圖所示:
圖3-3-3 燒錄軟件下載界面
3.2.3 CH340串口程序燒寫模塊介紹
CH340串口燒寫模塊,通過USB接口相接,這使得可以實(shí)現(xiàn)與任何一臺筆記本電腦的完成對STC系列單片機(jī)的程序燒寫,通過此下載器的高性能和低成本的絕對優(yōu)勢,顯然在本次STC系列單片機(jī)中的應(yīng)用也將表現(xiàn)得格外獨(dú)到。
一、CH340串口燒寫模塊特點(diǎn):
模塊如下圖所示:
圖3-3-4(a) CH340串口燒寫模塊
二、CH340串口燒寫模塊引腳說明
三、CH340串口燒寫模塊
具體接線圖如下表所示:
表3-4-4(b) CH340串口燒寫模塊與單片機(jī)接線
CH340模塊 單片機(jī)開發(fā)板
TXD 引腳PA10
RXD 引腳PA9
GND GND
3.4 軟件開發(fā)工具
第四章 系統(tǒng)測試
第五章 全文總結(jié)與展望
5.1 全文總結(jié)
整個系統(tǒng)使用了以STM32F103C8T6單片機(jī)作為核心板、太陽能板、鋰電池充電、穩(wěn)壓電路、光敏采集電路、驅(qū)動電路、升壓穩(wěn)壓模塊、步進(jìn)電機(jī)、按鍵電路組成。整個系統(tǒng)共計(jì)有光敏采集板與主控板和兩塊板子,以對應(yīng)的連接線進(jìn)行相互連接。其中光敏采集板主要放置光敏傳感器,模擬太陽能板的運(yùn)作;另外的主控板起著對顯示器、電源接通管理、按鍵接通控制以及步進(jìn)電機(jī)的相關(guān)驅(qū)動。
具體控制展現(xiàn)如下:
一、太陽能板將太陽光能進(jìn)行收集,收集的同時進(jìn)行光能與電能的轉(zhuǎn)換,通過電路的穩(wěn)壓過程,將電傳遞給備用電池進(jìn)行電量的儲存,在干鋰電池經(jīng)過升壓模塊和穩(wěn)壓模塊穩(wěn)壓到5V給整個系統(tǒng)供電,有單獨(dú)的電源控制開關(guān)可以進(jìn)行電源的通斷控制。在給設(shè)備系統(tǒng)進(jìn)行上電后,系統(tǒng)最初的默認(rèn)形式為隨太陽運(yùn)動而運(yùn)動的“自動模式”,還有就是可以通人為控制改為“手動模式”[9]。
二、在系統(tǒng)通電的情況下不管是屬于自動還是手動模式,此時的光敏電阻都會采集光線強(qiáng)度,并且在顯示屏上面進(jìn)行完美的顯示出來,其中顯示的效果為上、下、左、右四個方位。通過兩個步進(jìn)電機(jī)驅(qū)動來完成上下左右運(yùn)動,將兩個步進(jìn)電機(jī)焊接在一塊形成了一個角度多自由度的整體。兩個電機(jī)都是通過連接線與主板進(jìn)行的連接,通過光敏電阻對光強(qiáng)度的采集獲得四個方位的不同關(guān)照強(qiáng)度值,最后通過與預(yù)計(jì)值的比較,最后來確定電機(jī)的運(yùn)動軌跡[10]。
三、其中以“自動模式”為例:在自動追尋的過程中,會自動判斷光的強(qiáng)高度的大小,若下面光照強(qiáng)度大于上面光照強(qiáng)度,STM32單片機(jī)就會直接驅(qū)動上端電機(jī)向下翻轉(zhuǎn);以便于在下午太陽西落的時候,獲得更多的關(guān)照,若上面光照強(qiáng)度大于下面光照強(qiáng)度,STM32單片機(jī)就會直接驅(qū)動上端步進(jìn)電機(jī)向上進(jìn)行運(yùn)動[11];若上下兩個方位的光照強(qiáng)度均是大小相差無幾,那么上端步進(jìn)電機(jī)則不進(jìn)行任何的動作。接下來就是對于當(dāng)上下光照均勻左右運(yùn)動的情況,若右方位的光照強(qiáng)度大于左方位的情況下,STM32單片機(jī)就直接驅(qū)動下方位第一個步進(jìn)電機(jī)向左方位一定角度轉(zhuǎn)動[12];若左方位的光照強(qiáng)度大于右方位的光照強(qiáng)度,STM32單片機(jī)就直接驅(qū)動下方位第一個步進(jìn)電機(jī)向左方位進(jìn)行運(yùn)動[13];當(dāng)左右方位采光度也保持幾乎均應(yīng)的時候光照,那么下方位的第一個電機(jī)也將保持不動。那么此時此刻設(shè)備的狀態(tài)將是完全的禁止,STM32單片機(jī)將不對電機(jī)給出任何的運(yùn)動指令[14]。
三、也可以切換為“手動模式”狀態(tài)進(jìn)行使用按鍵手動來完成設(shè)備狀態(tài)的切換。四個按鍵對應(yīng)控制電機(jī)完成:上、下、左、右的翻轉(zhuǎn)動作。通過點(diǎn)動的方式來控制驅(qū)動步進(jìn)電機(jī)的實(shí)際運(yùn)動[15]。
四、當(dāng)太陽能采集受限的時候,那么此時就使用外部電源USB充電模塊對其進(jìn)行鋰電池上電,以保障系統(tǒng)的正常運(yùn)行[16]。
1.44寸顯示屏顯示了光敏電阻采集光強(qiáng)的數(shù)值范圍為0-1000,在實(shí)際應(yīng)用過程中不管是處于自動還是手動模式下工作,光敏電阻都可以通過上、下、左、右四個方位來進(jìn)行光的采集。其中通過兩個不同維度的步進(jìn)電機(jī)驅(qū)動來實(shí)現(xiàn),既是上下翻滾和左右轉(zhuǎn)動。上端步進(jìn)電機(jī)與光敏采集板直接像粘接,兩板通過連接線直接焊接而成。當(dāng)然了對其的封裝也是很有必要的完善過程。
5.2 后續(xù)工作展望
在原有的基礎(chǔ)上還可以進(jìn)行與外部設(shè)備進(jìn)行搭配使用,比如在發(fā)電廠蓄電上的使用、對魚塘中的制氧機(jī)進(jìn)行提供供電、通過電紅外傳感器實(shí)現(xiàn)人走燈滅,藍(lán)牙遠(yuǎn)程控制路燈等。
致 謝
時間很快,畢業(yè)設(shè)計(jì)已經(jīng)開始接近尾聲,幾年的大學(xué)學(xué)習(xí)生涯即將告一段落,在后期的研究生生涯中希望可以得到更好的視野拓展。通過本次的設(shè)計(jì),問題也是層出不窮,也是這些困難讓我學(xué)會了成長,以前幾乎自己一個人沒有單獨(dú)做過設(shè)計(jì),因此也遇到C程序的編寫這一大困難。慢慢的一切都會因人而解,吳導(dǎo)師的大力幫助,是很重要的一個環(huán)節(jié)。
從這次的畢業(yè)設(shè)計(jì)中,深刻的體會到學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次畢業(yè)設(shè)計(jì)中的最大收獲。硬件只有多做,自己多搭建電路來調(diào)試才能真正的學(xué)得知識。
首先,我要感謝我的導(dǎo)師對我的悉心指導(dǎo)。他為我的畢業(yè)設(shè)計(jì)指導(dǎo)盡心竭力,他淵博的知識、平易近人的性格以及在設(shè)計(jì)上敏銳的洞察力,使我受益非淺。在整個畢業(yè)設(shè)計(jì)期間,老師時不時提醒著我,要做什么了,聽在耳里,看在眼里更是記在心里。從最初的選題到后期的完成,少不了導(dǎo)師的教導(dǎo)。占用了老師的寶貴時間,得以最后完成論文。
在大學(xué)的幾年學(xué)習(xí)生活中,感謝學(xué)院也感謝各位老師讓我們有了獲取知識的平臺,結(jié)識了一幫有著共同愛好的朋友,我們大家共同學(xué)習(xí),為完成畢業(yè)設(shè)計(jì)打下了基礎(chǔ)——感謝得以與大家相識、相知、相惜。
謝謝大家!
參考文獻(xiàn)
[1] 張翠華,范小振.《能源新視野》. [M]. Boston: Artech House, 2017 , 5-8
[2] 舟丹.太陽能發(fā)展利用進(jìn)入新時代[J].中外能源, 2013 , 56-60
[3] 羅運(yùn)俊.《太陽能利用技術(shù)》化學(xué)工業(yè)出版社[M]. 化學(xué)工業(yè)出版社, 2015 , 6-10
[4] 葉偉慧,廖才,石金強(qiáng),陳國康. 基于單片機(jī)的跟蹤式太陽能追光控制系統(tǒng)[J].北京:清華大學(xué)出版社, 2020, 01:44-45
[5] 郭欣. 太陽能雙軸跟蹤系統(tǒng)的研究與設(shè)計(jì)[J].裝備制造與教育, 2017, 03 , 6-9
[6] 楊亞龍. 太陽能電池板自動追光系統(tǒng)研究與實(shí)現(xiàn)[D]. 長安大學(xué), 2014 , 5-6
[7] 高緒昊. 太陽能跟隨系統(tǒng)設(shè)計(jì)[J].硅谷, 2013 02
[8] 劉卿卿,俞強(qiáng),趙毛毛,王競雄. 基于STM32的光電式太陽跟蹤系統(tǒng)設(shè)計(jì)[J]. 儀表技術(shù)與傳感器, 2017, 01
[9] 李仁浩,龔思敏,楊帆. 基于單片機(jī)控制太陽能智能跟蹤控制系統(tǒng)的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器.2015(04) :21-23
[10] 葉偉慧,廖才,石金強(qiáng),陳國康.基于陽光方位探測器的太陽能收集板姿態(tài)調(diào)節(jié)系統(tǒng) [J]. 儀表技術(shù)與傳感器, 2011(03) :156-160
[11] 劉卿卿,俞強(qiáng),趙毛毛,王競雄.基于STM32的光電式太陽跟蹤系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器.2017(01)
[12] 李仁浩,龔思敏,楊帆,劉松,李小兵.基于單片機(jī)控制太陽能智能跟蹤控制系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù)與傳感器.2015(04)
[13] 王定玲,夏美娟.太陽能自動跟蹤系統(tǒng)設(shè)計(jì)[J].江蘇科技信息. 2017(02)
[14] 申來明,楊亞龍.一種利用單片機(jī)實(shí)現(xiàn)太陽跟蹤的設(shè)計(jì)方法[J].現(xiàn)代電子技術(shù). 2014(10)
[15] 許義泉,王燕昌,王子文,慕松.赤道坐標(biāo)系下新型太陽能自動跟蹤裝置設(shè)計(jì)[J].機(jī)械設(shè)計(jì)與制造. 2013(09)
[16] 閆云飛,張智恩,張力,代長林.太陽能利用技術(shù)及其應(yīng)用[J].太陽能學(xué)報. 2012(S1)
[17] 王陽.太陽能電池板追光系統(tǒng)的研究[D].沈陽工業(yè)大學(xué).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
附錄Ⅰ系統(tǒng)PCB如下:
附件圖 0–1主控板PCB
附件圖 0–2光敏PCB
附錄II部分程序
#include “my_include.h”
char dis0[25];//液晶顯示暫存數(shù)組
char dis1[25];//液晶顯示暫存數(shù)組
#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 //轉(zhuǎn)動一個正角度
#define ZHUANDONG_FZ -50 //轉(zhuǎn)動另一個方向轉(zhuǎn)動
int lighVla_left = 0;//ad采集結(jié)果 1
int lighVla_up = 0;//ad采集結(jié)果
int lighVla_right = 0;//ad采集結(jié)果
int lighVla_down = 0;//ad采集結(jié)果
float batteryVolt = 0;//鋰電池電壓ad采集結(jié)果
float BatCap=80; //容量初始化
unsigned char disFlag = 0;//更新顯示
unsigned char setMode =0;//設(shè)置模式
unsigned char rememberMode =0xff;//記錄上一次設(shè)置狀態(tài)
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(); //校準(zhǔn)已經(jīng)包括再此函數(shù)中 先執(zhí)行LCD_Init(); 觸摸校準(zhǔn)調(diào)用顯示
LCD_Clear(Color16_BLACK);//清全屏 BACK_COLOR=Color16_BLACK; FRONT_COLOR=Color16_LIGHTGRAY; disYplace=0; //顯示所在行遞增變量 MyLCD_Show(2,disYplace++,"雙軸追光系統(tǒng)");//顯示 FRONT_COLOR=Color16_LIGHTBLUE; MyLCD_Show(1,disYplace++,"光照參數(shù): ");//顯示 MyLCD_Show(4,disYplace++,"上: ");//顯示 MyLCD_Show(1,disYplace,"左: ");//顯示 MyLCD_Show(9,disYplace++,"右: ");//顯示 MyLCD_Show(4,disYplace++,"下: ");//顯示 MyLCD_Show(1,disYplace++,"設(shè)置: ");//顯示 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 ) //調(diào)整向強(qiáng)光方向轉(zhuǎn)動{My_StepMotor_RotateAngle(0,ZHUANDONG_ZZ);}else if((lighVla_right - lighVla_left )>RONGCHAZHI_UD )//調(diào)整向強(qiáng)光方向轉(zhuǎn)動{My_StepMotor_RotateAngle(0,ZHUANDONG_FZ);}else {My_StepMotor_Stop(10);}if((lighVla_up - lighVla_down)>RONGCHAZHI_UD ) //調(diào)整向強(qiáng)光方向轉(zhuǎn)動{My_StepMotor_RotateAngle(1,ZHUANDONG_ZZ);}else if((lighVla_down - lighVla_up )>RONGCHAZHI_UD )//調(diào)整向強(qiáng)光方向轉(zhuǎn)動{My_StepMotor_RotateAngle(1,ZHUANDONG_FZ);} else {My_StepMotor_Stop(10);} break;case 1: //手動模式 if(KeyIsPressed(KEY_1))//按鍵按下{My_StepMotor_RotateAngle(0,ZHUANDONG_ZZ); //轉(zhuǎn)動 度數(shù) 正值一個方向 負(fù)值另一個方向}else if(KeyIsPressed(KEY_3))//按鍵按下{My_StepMotor_RotateAngle(0,ZHUANDONG_FZ);//轉(zhuǎn)動 度數(shù) 正值一個方向 負(fù)值另一個方向} else {My_StepMotor_Stop(0);} if(KeyIsPressed(KEY_2))//按鍵按下{My_StepMotor_RotateAngle(1,ZHUANDONG_FZ);//轉(zhuǎn)動 度數(shù) 正值一個方向 負(fù)值另一個方向} else if(KeyIsPressed(KEY_4))//按鍵按下{My_StepMotor_RotateAngle(1,ZHUANDONG_ZZ);//轉(zhuǎn)動 度數(shù) 正值一個方向 負(fù)值另一個方向}else {My_StepMotor_Stop(10);} break;default: break; }lighVla_left =1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_0)/4096; //讀取ad值 轉(zhuǎn)化為0-1000lighVla_up = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_1)/4096; //讀取ad值 轉(zhuǎn)化為0-1000lighVla_right = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_2)/4096; //讀取ad值 轉(zhuǎn)化為0-1000lighVla_down = 1000 - 1000*My_ADC_GetValue(ADC1,ADC_Channel_3)/4096; //讀取ad值 轉(zhuǎn)化為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;//記錄設(shè)置模式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);}//正常情況下計(jì)算比例 if(BatCap<0.45){FRONT_COLOR=Color16_RED; }sprintf(dis0,"B:%3.1fv Q:%02d%% ",batteryVolt,(int)(BatCap*100)); //打印 MyLCD_Show(1,6,dis0);//顯示 } }}
總結(jié)
- 上一篇: chkconfig命令会立即生效吗_UG
- 下一篇: css笔记——css 实现自定义按钮