1. 跪求...基於51單片機自動跟蹤陽光太陽能熱水器控制系統的設計
對綠色能源的開發和利用是響應我國節能減排,環保政策的舉措,太陽能作為可持續,零污染,具有很高的環保價值和經濟效益,高效利用太陽能還可以有效替代部分化石能源,從而降低因石化能源燃燒導致的污染,減輕霧霾。然而農村太陽能豐富,卻沒能得到很好的利用,即便現有的發電產品對太陽能電池板也大多採用固定支架。課題對此提出了能夠跟蹤太陽方向的雲台支架,可實現太陽能電池板自動調節而始終面向光線最強的一面,提高太陽能發電的利用率。課題從雲台,電機驅動,控制器,光線感測器,液晶顯示等構成,課題成果不僅可以用到太陽能發電,還可以用到其它的向光場所,如天文觀測等具有較高的實用價值。
隨著時代的進步與科技的飛速發展,使得對能源的需求隨之增加,對不可再生能源的過度依賴[1],從而使得不可再生能源的存儲量急劇減少,一些不可再生能源(石油)被視為戰略資源,據目前統計,煤炭、石油、天然氣也會在歲月的實踐中而日趨枯竭,消耗殆盡。這些不可再生能源的產生顯然跟不上人類對其的需求,為更好的實現可持續發展,本課題提出了一種太陽追蹤的可行方案,可以大大提升對太陽能的利用,減少對不可再生資源的過度依賴。
為了解決人們對不可再生資源的過度依賴和對清潔能源的高利用率。提出設計一款零污染高效率的裝置——太陽追蹤器。通過電機,控制器,採光板光線感測器等元器件之間的相互配合,實現對太陽光照射最強的方位,實現全方位無死角跟蹤,恰巧正好急需這樣一款具有安全、環保、高效率、以及取之不盡用之不竭的特點,也很方便就可以獲取,如風能和潮汐能一樣是絕對的無污染清潔能源,這也就很好的闡述了光能的可行性[2]。——對此提出太陽跟蹤裝置設計與製作。
優點:太陽作為一個取之不盡用之不竭的能源。在《太陽能利用技術》[3]就有相關的提到,所到達地球表面能量等同於每秒向地球源源不斷的投放了500萬噸煤炭。陽光所到之處,皆為財富,免費使用的同時也不需要考慮任何的運輸費用以及零污染等特性。
缺點:即便如此的看似完美無缺,也存在著兩個致命性缺點[4]:一是能流密度很小;二是太陽的光照強度也會因為(天氣、白夜等)因素的不同而有著很大的差距,很難長時間維持在恆定值,這也在一定程度上大大的影響了使用效率[5]。
國外太陽追蹤器:對太陽能的使用在兩千零四年到兩千零六年太陽能的發電量都是驚人的4961MW[6],在一九九七年,美國的Blackace研製了單軸追蹤器,熱接收率提高了百分之十五......,後期圍繞高效率,輕質量展開。在太陽能遊艇、太陽能飛機、太陽能瓦片等方面得到運用,也見證了太陽能利用的高效率性[7]。
國內太陽追蹤器:在應用市場上面得到了不斷擴張,對於太陽能追蹤器的利用那也是一個相當熱門的談話主題,途徑多年的經驗,將其用在了太陽能熱水器、太陽能路燈以及西部計劃、利用太陽能發電、太陽能供暖等等[8]。
更多的往往是採用單軸跟蹤的方式,相比之下更需要多軸,實現全方位無死角跟蹤。
針對不同條件下,提出了自動控制和手動調節的兩種工作方式:
其中以「自動模式」概述:在自動追尋的過程中,會自動判斷光的強度的大小,若下面光照強度大於上面光照強度,STM32單片機就會直接驅動上端電機向下翻轉;以便於在下午太陽西落的時候,獲得更多的光照,若上面光照強度大於下面光照強度,STM32單片機就會直接驅動上端步進電機向上運動;若上下兩個方位的光照強度均等,上端步進電機不進行動作。在上下光照均勻,左右方向運動的情況,右方位的光照強度大於左方位,STM32單片機就直接驅動下方位第一個步進電機向左方位一定角度轉動;若左方位的光照強度大於右方位的光照強度,STM32單片機就直接驅動下方位第一個步進電機向左方位進行運動;當左右方位採光度也保持幾乎均應的時候光照,那麼下方位的第一個電機也將保持不動。
「手動模式」狀態進行使用按鍵手動來完成設備狀態的切換。四個按鍵對應控制電機完成:上、下、左、右的翻轉動作。通過點動的方式來控制驅動步進電機的實際運動。
在給設備系統進行上電後,系統最初為「自動模式」,這樣可以更好的在不受人為干預的情況下實現對太陽能的最大接收。
編譯語言的選取
方案一:C語言
簡潔緊湊、靈活方便;運算符的豐富性;數據結構的豐富性;結構式語言;語法局限性小,程序編寫自由度大;通過對物理地址的直接訪問,使得完全可以對硬體實現直接控制;程序執行效率高。
C語言面向過程,最主要的在於演算法和數據結構。通過一個過程,對輸入進行運算處理得到輸出。
方案二:C++
C++語言是面向對象的語言,在C的基礎上添加了面向對象、模板等現在程序設計語言的特性。拓展了面向對象設計的內容,使之更加符合現代程序設計的需要。
看似C++比C多了很多優點和特性,但C++並不是所有場合都適用,很多嵌入式開發系統,都只提供了C語言的開發環境,而沒有提供C++的開發環境。很多C++語言不願意乾的臟活累活,C語言干起來快活得很。而C++因為過於復雜,在這方面就稍遜一籌了。
方案三:java
Java是一種解釋性語言,Java人氣極高,但其代碼由於需要在運行前進行解釋因此性能表現更差。C++會被編譯為二進制形式,因此其能夠立即運行且速度更快。兩個程序都足夠大、而且C++的代碼經過優化,兩者的速度差就會變得很顯著甚至很驚人,C++會比java快很多。
從系統的復雜性出發來考慮,同時整個過程的計算量比較大,因此我選用了浮點數的計算方式,選用方案一作為整個系統編譯方式。
2.2 控制系統總體方案選取
方案一:視日尋跡追蹤模式
這樣的一種模式,是基於天文學公式來得出太陽在不同時候的理論性的方位角和俯仰角,在後根據太陽每天在當地實際的運行軌跡位置編寫控制演算法程序,通過使用控制演算法的方式來實現對太陽所在位置的計算,最後通過驅動太陽能板的兩個步進電機來達到俯仰和方位上的轉動。有點是對外界環境的依賴小,同是也存在弊端,那就是不管外界環境是何種天氣,它都會以同樣的工作方式運動,增加了不必要的能耗和元器件的壽命磨損。
太陽的俯仰角h和方位角A的兩個位置參數,可表達如下所示:
δ為赤緯角,Φ是本地緯度,Ω表示太陽時角。
方案二:光電追蹤模式
該模式的核心演算法是利用光敏感測器對太陽位置進行檢測。具體方法:在遮陽板兩側完全對稱地安裝光敏感測器,當太陽光垂直照射在太陽能光伏電池板上時,安裝在兩側上的光敏感測器所產生的電信號相等,將這兩路信號經過放大後送入比較器進行比較,此時不驅動步進電機進行轉動。當太陽位置移動後,遮陽板對陽光進行遮擋,此時兩側的光敏感測器產生的電信號不相等,從而經過放大比較後產生差信號,電機開始運動,完成太陽跟蹤過程。
通過兩者的比較,選擇方案二,簡單易操作性,更適合被普及廣泛使用,在同等使用條件下,最簡方案,則是最優方案。
2.3主控系統選擇
方案一:51單片機作為控制晶元。主要是表現在:主要控制參數是使用設置寄存器變數得以實現,在程序的修改方面,也是相當的方便快捷,成本也是相對低廉,性能與相對簡單的太陽能跟蹤裝置系統匹配;數字化的控制系統,可以達到較高的精度。
方案二:採用FPGA這樣的大規模可編程邏輯器件,但本題屬於控制類,即現場可編程門陣列[WJ1] ,它是在PAL、EPLD等可編程器件的基礎上進-一步發展的產物。
方案三:ARM作為一種高性能嵌入式系統。考慮到方案的可實行性,STM32可以很好的解決數據處理和控制功能,十分適用於太陽能跟蹤,雖是ARM價格昂貴,但是在後期的可拓展空間更大。[WJ2]
結合本次設計的任務要求,以及上訴三種方案的相對比較,最後選用方案三更適合本課題的設計標准,具體採用STM32F103C8T6。
2.4電機選擇
方案一:選擇步進電機,然而步進電機的最大優點就是可以精確地控制電機步數和角度,缺點是價格昂貴。
方案二:選擇直流電機。價格便宜是它的一大亮點,通過減速齒可以提高扭力,具有更大的負載,但是對電機的高精度控制直流電機達不到設計要求。
步進電機作為一種將電脈沖轉換成相應角位移或線位移的電磁機械裝置。通過直接控制輸入的脈沖數量,直接控制其啟停,啟動是速度快,步距角和轉速只取決於脈沖頻率,受外界影響因素小。因此,對於本設計任務要求,為更精確地完成對角度值的精度把控,更好地利用太陽能,因此我選用方案一作為本次課程設計的驅動電機。
2.5步進電機驅動系統選擇
方案一:L298專業電機驅動模塊的選擇,這類驅動模塊的操作方便以及介面簡單同時他們既可以驅動步進電機,也可驅動直流電機。
方案二:三極體等分立元件搭H橋。亮點在於實惠型,控制方式簡單以及結構簡單。優點的同時也伴隨著弊端的存在,電流的承載能力比較小,相同的驅動能力受到限制,分立元件則體積較大同時穩定性也得不到保證。
方案三:採用集成晶元,ULN2003。 .
達林頓管ULN2003,該晶元最多可一次驅動八塊步進電機,本設計作用於兩個步進電機,在實際的使用中,往往起著放點輸出的作用用於驅動大負載的步進電機等。
本次設計綜合考慮,依據實際設計需求,選擇方案三作為步進電機的驅動系統。
2.6實體結構框架選擇
方案一:兩電機互相處以垂直狀態,電機一是左右的轉動而電機二是上下的轉動,在不引入外界條件輔助設備的情況下會出現運動死角,從成本化出發是不可取的。
方案二:將兩個電機由之前的垂直安裝,改變為大於90°的安裝,在不引入外部設備的情況下,可以很好的避開運動死角,從而可實現全方位無死角跟蹤,綜合上述情況選擇方案二進行本次的實體結構設計。
2.2系統設計
2.2.1 單片機構成如下圖:
邏輯不通順,要指出FPGA不適用於本題的缺點
STM32整體比FPGA便宜很多,這條論證建議修改,或者做一個成本對比表再下結論
控制方式:第一步就是將數據程序輸入到輸入設備裡面,輸入設備將程序傳輸給運算器CPU和存儲器,各自程序都對應的傳輸到控制器裡面,由控制器完成完成相互的指令傳遞,最後都是作用於輸出設備,在輸出設備上顯示出來的結果就是最初程序所要表達的效果。
2.2.2 系統整體控制框圖如下:
圖2–2–2 系統整體控制框圖
控制方式:完成整個驅動控制,第一步就是感光元件及光敏電阻感測器對外界光的採集,完成電壓跟隨,通過A/D轉換,然後通過電壓的比較,使用STM32F103C8T6單片機控制電機的驅動,最終完成不同電機在不同的光照強度情況下不同方向的運動,最後實現對光的最大化接收。
2.2.3 電機控制框圖如下:
圖2–2–3 電機控制框圖
控制方式:通過光敏感測器對光的採集,實現了最後對電機運動方式的不同選擇和控制。
當感光元器件第一組接受到的光照強度值大於其它三個方位的光照強度時,那麼電機完成水平方向的電機正轉,並返回最初狀態。
當感光元器件第二組接受到的光照強度值大於其它三個方位的光照強度時,那麼電機完成水平方向的電機反轉,並返回最初狀態。
當感光元器件第三組接受到的光照強度值大於其它三個方位的光照強度時,那麼電機完成垂直方向的電機正轉,並返回最初狀態。
當感光元器件第四組接受到的光照強度值大於其它三個方位的光照強度時,那麼電機完成垂直方向的電機反正,並返回最初狀態。
當所有的感光元器件都處於接受管的均勻照射時,此時的光照強度幾乎大小相等,也就電機的狀態保持不運動。
2.2.4整體電路原理圖如下:
圖2-2-4 整體電路原理圖
系統軟體總體設計流程如圖 2-2-4 所示。系統啟動後,軟體先進行初始化等工作,當程序初始化完成後,通過 感光元器件獲得當前的光照強度,然後根據初始化的參數,控制步進電機將太陽能光伏板轉動到理論的初始狀態,預定方位。將太陽能光伏板轉動到理論位置後,程序開始判斷步進電機轉動模式是手動模式還是自動,初始默認狀態是自動跟蹤模式。
當手動模式時,人為調整電機控制上下左右 4 個按鍵的狀態,使得電機按照人們預想的方向進行運動,以此來得以控制四個方位的不同垂直轉動和水平移動的俯仰角和方位角。當程序判斷為自動模式後,開始自動讀取檢測電路的返回信號,當檢測到是各個方位的光照強度值有較大的的差異是,那麼單片機就發出控制指令控制步進電機進行轉動,升壓模塊是為了給整個系統穩定供電而存在。
2. 如何用單片機實現舞台燈光的自動跟蹤
追光燈是運用舞台藝術中不可或缺的重要手段,達到突出重點、塑造人物形象、烘托環境氣氛的目的。而單片機降低演出成本,節省人力、物力,完善舞台燈光技術中追光的的功能和自動化的程度。
1、如下圖,利用攝像頭與主機的串口(USB)連接,系統運行專用驅動軟體後,屏幕上顯示出活動的視頻圖像。屏幕的下端建立一個VB應用軟體的界面,設置一些命令控制項和狀態控制項,將位置信息通過單片機處理部件傳送到電腦追光燈來控制光斑對准演員。下面就該方案的軟、硬體的設計作一介紹。
3. 51單片機能不能做出能 自主跟隨人的小車(需要什麼)
可以,需要51核心板最小系統、ccd模組、紅外模塊等
最重要的是你有一顆做不出來,誓不罷休精氣神兒和意志力!
4. 單片機是如何實現自動控制的
單片機是通過內部軟體實現自動控制的,單片機一旦通電就無休止地運行。然後通過你設定的程序在運行。
5. 淘寶上哪一個51單片機開發板比較好,初學者。
普中的開發板挺好的,資料也比較全,外圍配件比較豐富,價格在一百多元。
16×16點陣、3.2寸觸摸彩屏,直接驅動2路步進電機,帶ARM核心板。
6. 用單片機如何實現人體追蹤
紅外跟蹤,超聲波跟蹤。
紅外跟蹤:
對象攜帶比較強的紅外源(人體體溫和背景溫度可能不夠明顯),小車向四個方向檢測紅外強度,向強度大的一方運動,有點類似昆蟲的趨光性。
超聲波跟蹤:
空曠環境,小車通過超聲波檢測和對象的距離,大於10m舍棄,小於10m跟蹤。不過因為是聲波反射,所以即使目標對象夠大,搜索和跟蹤還是不太准確。
以上都是針對多維的,如果一維「直線」運動跟蹤的話,兩種方式的可行性都不低。
另外紅外跟蹤可以「鐳射筆指路」,用光筆照射車頭地面,小車根據光點相對車頭位置運動。
GPS模塊化太強,製作起來不一定有意思,想用GPS的話可以試著上淘寶上搜搜,看看有沒有能作為參考的。
現在能想到的就這么多,你也可以自
7. 什麼是單片機有什麼作用
單片機定義
單片機是指一個集成在一塊晶元上的完整計算機系統。盡管他的大部分功能集成在一塊小晶元上,但是它具有一個完整計算機所需要的大部分部件:CPU、內存、內部和外部匯流排系統,目前大部分還會具有外存。同時集成諸如通訊介面、定時器,實時時鍾等外圍設備。而現在最強大的單片機系統甚至可以將聲音、圖像、網路、復雜的輸入輸出系統集成在一塊晶元上。
單片機也被稱為微控制器(Microcontroler),是因為它最早被用在工業控制領域。單片機由晶元內僅有CPU的專用處理器發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個晶元中,使計算機系統更小,更容易集成進復雜的而對提及要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以後,單片機和專用處理器的發展便分道揚鑣。
早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此後在8031上發展出了MCS51系列單片機系統。基於這一系統的單片機系統直到現在還在廣泛使用。隨著工業控制領域要求的提高,開始出現了16位單片機,但因為性價比不理想並未得到很廣泛的應用。90年代後隨著消費電子產品大發展,單片機技術得到了巨大的提高。隨著INTEL i960系列特別是後來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,並且進入主流市場。而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式操作系統被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統。
單片機比專用處理器更適合應用於嵌入式系統,因此它得到了最多的應用。事實上單片機是世界上數量最多的計算機。現代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及滑鼠等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數不少的單片機在工作。汽車上一般配備40多部單片機,復雜的工業控制系統上甚至可能有數百台單片機在同時工作!單片機的數量不僅遠超過PC機和其他計算的綜合,甚至比人類的數量還要多。