A. 請教各位大蝦 本人用單片機做太陽能熱水器控制系統 .. 程序編譯出現問題..~~
dis_write_cmd 這個函數在哪裡,在上面的程序中好像沒有聲明。子函數如果放在主函數之後的話是一定要聲明的。
B. 太陽能板如何接入單片機要加蓄電池嗎
要蓄電池,太陽能板給蓄電池充電,蓄電池經過電源轉換板給單片機供電。
有蓄電池才能保證單片機持續工作,直接把太陽能板輸出電壓轉換後供單片機使用,沒有光或光弱時,單片機無法工作。
原理可以到淘寶搜一下太陽能控制器,通常有6個介面,2個是太陽能的正負端,有2個是接蓄電池正負端,還有兩個是供電輸出端,在供電輸出端要自己再做個電壓轉換接單片機。
C. 太陽能燈用單片機選型
給大家介紹一個基於AT89S52單片機的太陽能路燈設計方案
1、太陽能路燈控制器設計
路燈控制系統工作原理:白天光伏電池向蓄電池充電,晚上蓄電池提供電力供路燈照明。所以蓄電池將構成一個充放電循環。太陽能路燈照明控制電路包括光伏電池、蓄電池、路燈和控制器四部分。設計中採用AT89S52單片機,並將其作為智能核心模塊。外圍電路主要包括太陽能電池電壓采樣模塊、蓄電池電壓采樣模塊、鍵盤電路模塊、LED顯示模塊、充放電控制模塊等。圖1是太陽能路燈控制器結構設計圖。
2、單片機智能控制模塊
太陽能路燈控制器選擇ATMEL公司的8位單片機AT89S52為核心的智能控制模塊,在整體上具有低功耗、性能高的特點。
2.1、單片機振盪電路
單片機振盪電路如圖2所示。
2.2、復位電路
復位電路如圖3所示,電路結構簡單,穩定可靠。
3、電源電路模塊設計
系統正常工作電壓為5V,系統採用12V/24V的鉛酸蓄電池供電,蓄電池電壓不穩定,所以需要對電源進行穩壓。本系統採用LM7805三端穩壓器,其輸入電壓在5~24V時均可以保證輸出為穩定的+5V。LM7805組成穩壓電源只需要很少的外圍元件,使用起來非常方便,工作穩定可靠J。系統電源電路如圖4所示。
4、采樣模塊設計
太陽能電池采樣和蓄電池采樣對於系統正常運行起著非常重要的作用。太陽能路燈控制器要對蓄電池充放電進行合理控制,即需對蓄電池、太陽能電池板電壓進行采樣。為此,AT89S52單片機就要外接A/D轉換模塊,把電壓轉換為數字信號,系統選用v/F轉換晶元LM331組成數模轉換電路。在系統采樣設計中,為了防止因為外部因素導致AT89S52程序跑飛或死機,提高系統穩定性,在LM331與單片機之間還需增加單通道的高速光電隔離器6n137J。圖5為太陽能電池板采樣電路圖。系統蓄電池采樣和太陽能電池板采樣電路相同。
D. 跪求...基於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 個按鍵的狀態,使得電機按照人們預想的方向進行運動,以此來得以控制四個方位的不同垂直轉動和水平移動的俯仰角和方位角。當程序判斷為自動模式後,開始自動讀取檢測電路的返回信號,當檢測到是各個方位的光照強度值有較大的的差異是,那麼單片機就發出控制指令控制步進電機進行轉動,升壓模塊是為了給整個系統穩定供電而存在。
E. 太陽能電池如何追蹤太陽光
tracking system的電路圖都是企業機密,怎麼會給你呢。
原理一般有兩種,一種是編程(PLC、單片機) 一種是利用光敏感測器
F. 單片機AD怎麼檢測不共地的電壓
首先記住一點,任何電壓都必須要有參考點,下面的圖簡單說一下,不對歡迎拍磚。
1;太陽能電池正極和蓄電池正極連接一起,兩個負極通過mos開關充電,因此不供地;
2;下圖中的Vbat就是12-24V 太陽能正極和蓄電池正極,
V太就是太陽能電壓;VGND就是太陽能負極對單片機地的電壓,Pv-vo就是單片機IO口電壓。
3;有人可能問入個蓄電池電壓變化,檢測到的太陽能電池電壓不也是變化嗎?放心,因為公式中所有的電壓都是以單片機地為參考0點平,因為太陽能電池正極和蓄電池正極是連接一起的,
我們換一個角度,以Vbat為參考0電平,單片機地和太陽能的地都是負電平,蓄電池電壓降低,說明單片機的地向0電平靠攏,VGND是不會變的,Pv-Vo電壓也會向0電平靠攏,最終的V太也是不會變的。