(吉林大學 應用技術學院,長春 130022)
Arduino是一款靈動性較強的電子原型平臺,包含所有型號的Arduino板硬件設備和Arduino IDE操作軟件,具備極高的實用適應能力。這種單片機平臺組織的開放原始碼以simple I/O介面版語言作為編寫依據,且融合C語言、Java、Processing/Wiring等多種編程代碼作為新條件語句的生成環(huán)境。最基本的Arduino單片機包含軟、硬件組織兩種組成成分,其中硬件部分可以簡單概括為用作連接電路的Arduino電路板結構,而軟件部分則是具備更改操作能力的Arduino IDE代碼[1-2]。當系統(tǒng)計算機在IDE組織中編寫程序代碼時,輸出設備會將這些信息直接傳輸至Arduino電路板,并以此達到執(zhí)行系統(tǒng)語句指令的目的。
近年來太陽能智能充電控制器在多項工業(yè)領域中都出現(xiàn)迅猛發(fā)展的勢頭,但隨著器件設備運行時間的不斷增加,連接穩(wěn)固性下降、控制通路無序等問題,都對控制元件自身的應用執(zhí)行能力造成嚴重負面影響。為解決上述問題,搭建一種基于Arduino單片機的太陽能智能充電控制器監(jiān)測系統(tǒng),按照軟硬件平臺搭建、控制器監(jiān)測方案選型、實用誤差標定的操作流程,將相關系統(tǒng)執(zhí)行參數調試至最佳應用狀態(tài)。
在總體硬件結構的基礎上,連結Arduino單片機模塊,并對監(jiān)測協(xié)議進行有效移植,實現(xiàn)節(jié)點的定向傳輸,完成充電控制器監(jiān)測系統(tǒng)的結構組織搭建。
太陽能智能充電控制器監(jiān)測系統(tǒng)設計參數:采用atmega8515l-8muavr單片機,40S68S37N03芯片,CC2530F64兼容設備,772100 PNOZ m B0基礎繼電器,ARM8227嵌入式主板ARM9處理器,MC34063API 34063AP1 DIP8/DC-DC/轉換器設備。
太陽能智能充電控制器監(jiān)測系統(tǒng)的硬件總體結構包含感知數據采集、控制傳輸、監(jiān)測數據分析3個組成環(huán)節(jié)。其中,感知數據采集單元由Arduino單片機模塊、CC2530設備和基礎繼電器組成,在執(zhí)行充電數據選擇、控制連接、監(jiān)測對照功能的基礎上,實現(xiàn)充電控制器的監(jiān)測數據采集。系統(tǒng)硬件總體結構如圖1所示。
圖1 系統(tǒng)硬件總體結構圖
Arduino單片機的功能是促進太陽能智能充電控制器監(jiān)測程序的迅速執(zhí)行,并以此達到鞏固系統(tǒng)連接穩(wěn)定能力的目的[3-4]??刂苽鬏攩卧谔柲苤悄艹潆娍刂破鞅O(jiān)測系統(tǒng)中起到承上啟下的作用,在IEEE802.15數據傳輸模塊與ARM處理器的促進下,連結太陽能以太接口,并整合器件電路與系統(tǒng)電源,在符合控制調試接口傳輸要求的前提下,供應系統(tǒng)控制監(jiān)測數據的快速傳輸。監(jiān)測數據分析單元在CC2530設備的基礎上,利用DC-DC控制器截取充電控制器監(jiān)測數據的模式運行條件,并將其傳輸至太陽能充電板中進行深入分析研究。
單片機控制器在外接自主計算機組織的同時,可以接受7~12 V的直流輸入電壓。在模塊單獨運行的過程中,充電控制數據保持數字輸入狀態(tài),且可對器件電路提供5 V和3.3 V兩種備選輸出電壓條件。
Arduino單片機模塊采用BST-V51的智能集成底板,在太陽能充電線路處于閉合狀態(tài)的前提下,調整控制器電機轉速,使系統(tǒng)驅動能力在短時間內達到頂峰狀態(tài),并以此迫使未經完全利用的太陽能電子快速流入器件控制電路,達到減少無功監(jiān)測消耗的目的。
太陽能智能監(jiān)測協(xié)議是Light Weight IP協(xié)議與lwipopts協(xié)議的組合形式,既定義了固有的IP輕量級連接條件,也可在精簡控制條件下,更改充電控制器監(jiān)測源代碼的開放性強度。Light Weight IP協(xié)議可單獨移植充電控制器在監(jiān)測系統(tǒng)中的智能內核,并且只能在監(jiān)測程序保持自定義開發(fā)狀態(tài)的前提下,才能對控制器裝置起到太陽能充電調節(jié)作用。lwipopts協(xié)議是一種存在于宏觀狀態(tài)下的太陽能充電調節(jié)指令,可以根據監(jiān)測系統(tǒng)智能內核的連接情況,選擇控制器裝置所需的初始化條件[5-6]。根據上文可知,Arduino單片機是監(jiān)測系統(tǒng)硬件運行環(huán)節(jié)中的主要執(zhí)行設備,且BST-V51集成底板中的太陽能充電線路具備一定的電子輸出能力。太陽能智能監(jiān)測協(xié)議作為監(jiān)測系統(tǒng)中具有實體形態(tài)的軟件結構,可以通過編寫兩類分組小協(xié)議頭結點的方式,建立宏觀模式下的臨界代碼框架,再借助特定的子網掩碼,實現(xiàn)從基礎系統(tǒng)執(zhí)行記錄數據到完整監(jiān)測指令的協(xié)議移植操作。具體太陽能智能監(jiān)測協(xié)議移植操作流程如圖2所示。
圖2 太陽能智能監(jiān)測協(xié)議移植流程圖
充電控制器監(jiān)測節(jié)點始終按照IEEE802.15.4規(guī)則排列,且直接受到太陽能智能監(jiān)測協(xié)議的干擾影響。在充電控制器監(jiān)測節(jié)點的傳輸過程中,Arduino單片機首先根據太陽能智能監(jiān)測協(xié)議的移植程度,來判斷臨界代碼框架的完整情況。再在滿足系統(tǒng)監(jiān)測要求的情況下,排查可供選擇智能控制器執(zhí)行數據的解析結果。若排查結果為通過,則太陽能智能控制器數據自發(fā)進入充電監(jiān)測節(jié)點中,并跟隨系統(tǒng)的運行速度,完成整體的監(jiān)測循環(huán)流程;若排查結果為未通過,則智能控制器數據再需要經歷太陽能監(jiān)測協(xié)議的解析處理,直至排查結果為通過,方可自發(fā)進入充電監(jiān)測節(jié)點中,完成系統(tǒng)的監(jiān)測循環(huán)操作。在整個監(jiān)測節(jié)點的傳輸過程中,智能控制器數據始終遵循Coord偽代碼編寫原理,且在接入監(jiān)測申請后的節(jié)點覆蓋情況由局部狀態(tài)直接轉化為全網覆蓋狀態(tài),在不改變系統(tǒng)運行監(jiān)測初衷的前提下,可根據如下所示程序語言完成監(jiān)測節(jié)點傳輸的偽代碼編譯處理。
void main (void);
{
Protocol stack initialisation;
Global Enable Interrupy(); //臨界代碼框架生成
aplJoinNetwork(); //智能控制器執(zhí)行數據解析
APS DSTMODE SHORT;
If 'YES';
apl SendMSCi; //充電控制器監(jiān)測節(jié)點定向傳輸
If 'NO';
aplJoinNetwork();
Until 'YES';
apl SendMSCi;
Return;
}
利用充電控制器監(jiān)測系統(tǒng)軟硬件平臺結構,循跡太陽能控制器的監(jiān)測流程,并對其中的重要處理節(jié)點進行避障處理,完成智能充電控制器監(jiān)測方案的選型操作處理。
太陽能控制器循跡分為內監(jiān)測走線、外監(jiān)測走線、環(huán)形走線3種選型方向,由其中兩種或兩種以上循跡方式結合,又額外獲得4種選型方向,故基于Arduino單片機的太陽能智能充電控制器監(jiān)測系統(tǒng)共包含7種循跡選型方式。
1)內監(jiān)測走線型太陽能控制器循跡:配置兩個減速電機作為輔助太陽能智能充電控制器的輔助監(jiān)測設備,所有連接走線均采用杜邦線。這種控制器循跡方式從系統(tǒng)內部直接連接了Arduino單片機與監(jiān)測控制器,既節(jié)省了架構搭建費用,也提升了系統(tǒng)監(jiān)測精準性,但整體后期循跡避障處理過程的運算量相對較大,不利于系統(tǒng)的綜合誤差標定處理。
2)外監(jiān)測走線型太陽能控制器循跡:配置一個SMARTDUINO裝置并外接一個電機固定件,用以獲取太陽能智能充電控制器的實際監(jiān)測消耗情況,所有連接走線均采用Web數據線。這種控制器循跡方式完全暴露于監(jiān)測系統(tǒng)外部,且整個操作過程中,太陽能充電控制器的實時消耗情況始終保持明朗狀態(tài),具備最大化系統(tǒng)監(jiān)測精度的應用能力[7]。
3)環(huán)形走線型太陽能控制器循跡:僅配置一個平臺共享裝置,位于監(jiān)測系統(tǒng)內部的走線采用杜邦線、位于監(jiān)測系統(tǒng)外部的走線采用Web數據線[8]。這種循跡方式的監(jiān)測精準性相對受限,但總體消耗費用極地,應用范圍也不受系統(tǒng)監(jiān)測運行周期的絲毫影響。
4)內監(jiān)測走線+外監(jiān)測走線型太陽能控制器循跡:這種循跡方式既具備較好的監(jiān)測精準性,又不需經歷復雜的誤差數據處理過程。
5)內監(jiān)測走線+環(huán)形走線型太陽能控制器循跡:免去了監(jiān)測系統(tǒng)內部走線對太陽能智能充電控制器實時消耗數據獲取的限制,且使系統(tǒng)的監(jiān)測精確度得到了最大化提升。
6)外監(jiān)測走線+環(huán)形走線型太陽能控制器循跡:可同時獲取監(jiān)測系統(tǒng)內、外部太陽能智能充電控制器的實時消耗數據,且可將系統(tǒng)的監(jiān)測精確度長時間保持在最佳狀態(tài)。
7)內監(jiān)測走線+外監(jiān)測走線+環(huán)形走線型太陽能控制器循跡:融合3種循跡方式的所有優(yōu)點。
(1)
其中,w1、w2、w3分別代表內、外、環(huán)3種走線循跡方式監(jiān)測避障指標,f′代表杜邦線中太陽能充電電子的平均傳輸速率,y1、y2分別代表兩個減速電機的輔助監(jiān)測參量,|e|代表SMARTDUINO裝置的智能充電系數,ut代表最長充電時間條件下Web監(jiān)測數據線的消耗常量,p代表太陽能充電控制器的實時消耗狀態(tài)參量,k代表環(huán)形循跡方式的物理監(jiān)測周期。
復合型太陽能控制器循跡方式不具備明確的計算公式,只是在公式(1)的基礎上,通過分布加工w1、w2、w3三類監(jiān)測避障指標的方式,得到全新的復合型避障處理規(guī)則,其具體運算原理如公式(2)所示:
(2)
上式中,w4、w5、w6、w7分別代表內監(jiān)測走線+外監(jiān)測走線型太陽能控制器循跡的避障指標、內監(jiān)測走線+環(huán)形走線型太陽能控制器循跡的避障指標、外監(jiān)測走線+環(huán)形走線型太陽能控制器循跡的避障指標、內監(jiān)測走線+外監(jiān)測走線+環(huán)形走線型太陽能控制器循跡的避障指標,i、l、j分別代表與內、外、環(huán)3種走線循跡方式監(jiān)測避障指標相關的監(jiān)測利用系數。
在太陽能智能充電控制器監(jiān)測系統(tǒng)運行過程中,產生誤差的因素來自多個方面。特別是在控制器設備循跡等多個執(zhí)行處理流程中,往往不僅要考慮到多種應用線路器件間的結合適配性,還要通過多種技術手段,使系統(tǒng)的監(jiān)測精準程度不斷向預期標準數值靠近[9-10]。簡單來說,誤差標定就是在保持系統(tǒng)運行設備主觀能動性完整的前提下,利用數據逼近的處理手段,使與監(jiān)測精準度相關的可變偏差結果逐漸縮小,直至最終結果滿足人為可接受物理范圍需求。
控制器數據采集誤差、監(jiān)測目標選取誤差、運行環(huán)境誤差是三類主要系統(tǒng)誤差條件??刂破鲾祿杉`差多發(fā)生于監(jiān)測系統(tǒng)軟、硬件設備原件的安裝過程,受到Arduino單片機充電干擾條件χ的直接影響,取D作為控制器數據采集上限條件,可將該項采集誤差結果表示為:
(3)
其中,d代表控制器數據的隨機采集向量,λ代表Arduino單片機的智能化干擾頻率,s代表太陽能控制器所承受的平均監(jiān)測干擾數據量。
監(jiān)測目標選取誤差標定以避障處理原則選取作為執(zhí)行依據,在默認基于Arduino單片機太陽能智能充電控制器監(jiān)測系統(tǒng)采用內走線循跡方式的前提下,可將該項誤差采集結果表示為:
(4)
δ代表與內走線循跡方式相關的選取系數,s代表與監(jiān)測目標選取相關的被積向量,F(xiàn)(w1)代表監(jiān)測系統(tǒng)默認定義的、與內走線循跡相關的目標函數,?F(w1)代表該函數定義式的定積分表達式。
運行環(huán)境誤差是與太陽能充電控制器監(jiān)測系統(tǒng)執(zhí)行結果最相關的物理系數條件。設ξ1、ξ2代表兩個不同的監(jiān)測系統(tǒng)默認控制器充電偏移向量,F(xiàn)3代表該項誤差采集結果,則其具體表達式如下。
(5)
聯(lián)立公式(3)、(4)、(5),利用數據逼近處理要求,可將基于Arduino單片機太陽能智能充電控制器監(jiān)測系統(tǒng)的誤差標定結果表示為:
(6)
上式中,n代表太陽能智能充電控制器的監(jiān)測可信賴度,x代表平均誤差標定系數。
系統(tǒng)運行調試主要包括監(jiān)測太陽能控制器連接穩(wěn)固能力測試、通路控制曲線繪制兩個方面。已知控制器穩(wěn)固性越高、通路曲線密集區(qū)域越多,系統(tǒng)監(jiān)測精準程度越高,反之則越低。
在40S68S37N03芯片的支持下,將8個外接充電腳柱樁分別與Arduino單片機、IEEE802.15數據傳輸模塊、ARM處理器、CC2530設備順次相連,其中每2個腳柱樁對應一個系統(tǒng)原件,按照從上之下、從左至右的連接順序。C18、R11、C8、U5是4個相同的定向設備控制開關,其中C18、R11開關直接控制40S68S37N03芯片的連接閉合狀態(tài),C8、U5則與外接電阻相連,通過相同的連接或閉合狀態(tài)來控制電阻是否接入電路。
在確保40S68S37N03芯片正常運行,C18、R11、C8、U5開關同時閉合,外接電阻直接連入充電電路的前提下,開始對太陽能智能控制器監(jiān)測效果的實驗檢測。
分別將基于Arduino單片機太陽能智能充電控制器監(jiān)測系統(tǒng)和普通監(jiān)測系統(tǒng)與實驗用外界檢測采集裝置相連,前者為實驗組、后者為對照組。多次調節(jié)CC2530設備,使監(jiān)測用控制器設備的充電頻率處于30~50 Hz之間,為減少實際操作次數,本次實驗共取30 Hz、40 Hz、50 Hz三種控制器設備充電頻率作為實驗備選條件。每次調節(jié)操作后保持1 min的靜置時間,使外界檢測數值表中數據趨于穩(wěn)定,并記錄此時數值表中所顯示的NS數值(控制器連接穩(wěn)固系數),詳細實驗數據結果如表1、表2所示。
表1 實驗組NS數值表 Mb
表2 對照組NS數值表 Mb
縱向觀察實驗組NS數值可知,隨著充電頻率不斷增加,NS數值增加明顯。已知NS數值與系統(tǒng)監(jiān)測精準性呈現(xiàn)正相關影響關系,在整個實驗過程中,實驗NS數值最大值可達0.96,即為接近1(NS數值永遠不可能超過1),極為符合系統(tǒng)實際監(jiān)測需求。而對照組NS數值僅能在充電頻率處于30~40 Hz之間時,保持明顯上升情況,充電頻率達到50 Hz時,對照組NS數值變化異常,甚至有可能低于30 Hz情況下的NS數值,且最大值也遠低于1,對系統(tǒng)實際監(jiān)測需求的符合程度遠低于實驗組。
監(jiān)測通路控制曲線由多個degee節(jié)點連接而成,在保持4.2中操作步驟不變的前提下(已知控制器設備充電頻率對degee監(jiān)測器數值并無影響,本次實驗默認頻率參量為30 Hz),在每次CC2530設備調節(jié)操作后,觸動ARM處理器,直至degee監(jiān)測器數值發(fā)生改變,并記錄第一次改變時的數值情況,作為一個degee節(jié)點,經過多次記錄后,可繪制如圖3所示的監(jiān)測通路控制曲線。
圖3 監(jiān)測通路控制曲線圖
由圖3可知,基于Arduino單片機的太陽能智能充電控制器監(jiān)測系統(tǒng),信號波形較為穩(wěn)定、規(guī)律。該系統(tǒng)能有效地改變傳統(tǒng)系統(tǒng)在檢測過程中,檢測通路信號突變較大的問題。
為保證實驗結果的真實性,取第10~40次的中端實驗數據作為主要參考依據。分析圖3可知,在該段時間內,實驗組監(jiān)測通路控制曲線出現(xiàn)了相對明顯的周期性變化趨勢,且最大值、最小值的變化趨勢均有據可循,對于太陽能智能充電控制器監(jiān)測系統(tǒng)來說,這種周期性波動趨勢極易提升系統(tǒng)自身的監(jiān)測精準性。對照組監(jiān)測通路控制曲線在該段時間內,無明顯波動變化趨勢,且最大值、最小值的變化狀態(tài)也不唯一,不利于系統(tǒng)監(jiān)測精準度的提升。
在Arduino單片機的支持下,太陽能智能充電控制器監(jiān)測系統(tǒng)具備了一定的穩(wěn)固能力,且使控制通路信號突變的物理現(xiàn)狀得到了有效改善。軟硬件設備方面,也不再受到節(jié)點傳輸限制等條件的影響,可對系統(tǒng)誤差等運算物理量進行基本標定處理,對提升系統(tǒng)自身的監(jiān)測精準度具備極強的促進意義。