《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于STM32的逐陽帆控制系統(tǒng)設計
基于STM32的逐陽帆控制系統(tǒng)設計
2015年電子技術應用第12期
王長清1,2,余丙濤1,3,潘德強3
1.河南師范大學 物理與電子工程學院,河南 新鄉(xiāng)453007; 2.河南師范大學 電磁波特征信息探測河南省高等學校重點學科開放實驗室,河南 新鄉(xiāng)453007; 3.上海摩昆新能源科技有限公司,上海201100
摘要: 針對傳統(tǒng)太陽能跟蹤系統(tǒng)現(xiàn)場調試復雜、可靠性不夠高的問題,提出一種基于STM32的太陽能跟蹤系統(tǒng)設計。該系統(tǒng)為單軸跟蹤系統(tǒng),通過獲取太陽能板的地理位置和當前時間信息用一定算法算出太陽的方位角,驅動電機,實現(xiàn)對太陽的跟蹤;采用基于ZigBee技術的無線通訊系統(tǒng),具有群簇控制能力,簡化現(xiàn)場調試過程;通過ModBus協(xié)議實現(xiàn)控制系統(tǒng)信息上報,便于后臺管理;提供多種工作模式,提高系統(tǒng)的抗風、抗雪性能;通過在控制芯片片內Flash寫入備份程序,保證系統(tǒng)主程序出現(xiàn)問題后,系統(tǒng)跳轉至備份程序繼續(xù)運行,提高系統(tǒng)的可靠性。
中圖分類號: TP212.6
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.005

中文引用格式: 王長清,余丙濤,潘德強. 基于STM32的逐陽帆控制系統(tǒng)設計[J].電子技術應用,2015,41(12):25-27,31.
英文引用格式: Wang Changqing,Yu Bingtao,Pan Deqiang. A solar tracker system based on STM32[J].Application of Electronic Technique,2015,41(12):25-27,31.
A solar tracker system based on STM32
Wang Changqing1,2,Yu Bingtao1,3,Pan Deqiang3
1.School of Physics and Electronic Engineering,Henan Normal University,Xinxiang 453007,China; 2.Henan Key Discipline Open Laboratory of Electromagnetic Wave Detecting,Henan Normal University,Xinxiang 453007,China; 3.Shang Hai Mokun New Energy Technology Co.,Ltd,Shanghai 201100,China
Abstract: In order to improve reliability of solar tracker control system and debug system facility, a solar tracker control system based on STM32 was designed. This is a single-shaft system,the system gets the solar panels’ location by GPS first, then an algorithm is used to calculate the azimuth of the sun, then driving motor and the solar panels will follow the sun. The system uses ZigBee to realize wireless IAP. The system sends all information to background by ModBus. There are multiple operation model to protect solar panels from winding or snowing weather. The system divides the flash of STM32 into BootLoader area, main program area and backup program area to improve the reliability of the system.
Key words : STM32;μC/OS II;ZigBee;ModBus;solar tracker

    

0 引言

    太陽能作為一種清潔、可持續(xù)發(fā)展的新能源,目前已經(jīng)被大量利用。由于在同一地理位置觀測到的太陽方位角時刻處于變化當中,導致固定支架式太陽能電池板發(fā)電量較低。目前,國內部分光伏電站已經(jīng)大量采用可跟蹤式太陽能支架。光伏電站一般建于人煙稀少的荒漠地區(qū),占地面積大,系統(tǒng)維護較為困難,對跟蹤支架控制系統(tǒng)的可靠性和調試便利性提出了要求。文獻[1]提出的高精度太陽能跟蹤控制器解決了太陽跟蹤精度的問題,但是控制功能單一,實用性不強。文獻[2]提出的控制系統(tǒng)實用性較強,有大風天氣的保護模式,但是系統(tǒng)維護升級復雜,同時因為沒有備份系統(tǒng)程序,一旦程序出現(xiàn)不可恢復性問題,系統(tǒng)就不能正常工作,可靠性不高。

    針對以上方案存在系統(tǒng)維護升級困難、可靠性不高的問題,本文提出的基于STM32的太陽能跟蹤系統(tǒng),具有升級維護方便、系統(tǒng)可靠性高、實用性強的特點,目前已經(jīng)被應用于內蒙古自治區(qū)察右中旗庫倫光伏電站的跟蹤式光伏支架項目中。為了解決系統(tǒng)升級困難的問題,該系統(tǒng)創(chuàng)新性地將ZigBee技術和應用編程技術結合應用于工程之中,實現(xiàn)了無線升級的功能,將后期維護升級人員的工作量減小到最少。為了方便后臺管理,系統(tǒng)將信息通過ModBus協(xié)議上報。該系統(tǒng)有抗風和抗雪兩種保護模式,提高了系統(tǒng)抵抗自熱災害的性能。為了保證系統(tǒng)的可靠性,系統(tǒng)將控制芯片的片內Flash分為BootLoader程序區(qū)、主程序區(qū)和備份程序區(qū),當主程序因不可知因素擾亂不能正常工作時,系統(tǒng)通過BootLoader程序跳轉至備份程序區(qū)繼續(xù)運行。同時,系統(tǒng)通過μC/OS II操作系統(tǒng)對系統(tǒng)任務進行調度管理,保證系統(tǒng)的實時性和穩(wěn)定性。經(jīng)實際應用測試,該系統(tǒng)工作穩(wěn)定。

1 系統(tǒng)原理

    系統(tǒng)采用ST公司的STM32F103ZET6為主控芯片,外部掛載GPS模塊、角度傳感器、EEROM、ZigBee模塊以及獨立鍵盤。系統(tǒng)通過GPS模塊獲取當前經(jīng)緯度值,通過讀取STM32內部的時鐘模塊,計算出當前時間值,并通過經(jīng)緯度和時間值計算出太陽方位角。系統(tǒng)通過讀取角度傳感器獲取當前太陽能板的方位角度值,計算出太陽當前的方位角與太陽能板傾斜角的角度差,再根據(jù)該差值驅動電機將太陽能板轉動一定角度。由于光伏電站一般建于人煙較少的地區(qū),維護比較困難,所以對太陽追蹤系統(tǒng)的穩(wěn)定性要求較高。本系統(tǒng)通過對片內Flash進行分區(qū),將片內512 K Flash分為BootLoader程序區(qū)、主程序區(qū)和備份程序區(qū),保證系統(tǒng)在主程序卡死時能夠跳轉到備份程序區(qū)繼續(xù)運行,從而提高了系統(tǒng)的穩(wěn)定性。由于光伏電站占地面積太大,動輒多達1到2平方公里,動用人力來對區(qū)域內所有設備進行升級維護工作量太大,本系統(tǒng)通過ZigBee技術實現(xiàn)了區(qū)域內無線網(wǎng)絡覆蓋,使維護人員在一臺設備上即可對網(wǎng)內任一設備進行無線升級,減少了工作量。為了方便光伏電站對逐陽帆系統(tǒng)進行管理,本系統(tǒng)采用ModBus通訊協(xié)議提供RS485接口,以便后臺對追蹤系統(tǒng)進行參數(shù)設置和信息查詢。本系統(tǒng)設有獨立鍵盤,用于手動控制。由于系統(tǒng)較為復雜,對系統(tǒng)的穩(wěn)定性和實時性都有一定的要求,所以本系統(tǒng)采用μC/OS II 操作系統(tǒng)對任務進行管理。

2 系統(tǒng)硬件設計

    系統(tǒng)分為主板和從板,主板安裝在電控柜,用于控制三相交流電機。從板安裝于斜單軸主梁上,外部掛載角度傳感器,用于獲取角度信息。主板與從板通過RS485串行總線通信。主板的串口1用于獲取GPS信息,串口2用于與ZigBee模塊通信。串口3和串口4接RS485接口。串口5接RS232接口。電機驅動采用三相交流電機正反轉模塊。為了擴大ZigBee的通信范圍,系統(tǒng)通過CC2592進行功率放大。按鍵采用自鎖式按鍵開關。系統(tǒng)硬件結構圖如圖1。

qrs3-t1.gif

3 系統(tǒng)軟件設計

3.1 從板軟件設計

    從板用于采集太陽能板當前方位角度值并通過RS485總線反饋給主板。從板的程序流程圖如圖2。

qrs3-t2.gif

    系統(tǒng)首先配置時鐘,本系統(tǒng)采用外部8  MHz晶振,經(jīng)芯片內部倍頻后,系統(tǒng)時鐘為72 MHz。外設初始化包括IIC、定時器和串口。MPU6050的初始化包括解除休眠狀態(tài)、設置陀螺儀采樣率選擇量程等。主程序通過檢測接收完成標志位來判斷一幀數(shù)據(jù)是否接收完成,并檢測是否是關鍵字,若是關鍵字,則讀MPU6050,計算三軸角度并通過串口發(fā)送。

3.2 主板軟件設計

    主板的程序分為BootLoader部分和APP部分。

    BootLoader部分用于無線IAP和處理系統(tǒng)異常,代碼存放在片內Flash 0x8000000到0x8002FFF 12 KB空間范圍內。程序首先解鎖Flash,然后初始化串口和IIC。IIC掛載24C02,用于存放系統(tǒng)標識字。初始化完成后,讀取存在24C02中的標識字,并進行加1操作,再存入24C02。在主循環(huán)中讀取存放在24C02中的標識字,通過標識字的值來判斷系統(tǒng)當前的狀態(tài)。如果標識字為1,說明此刻在進行IAP應用程序升級,此時系統(tǒng)通過Ymodem協(xié)議接收.bin文件并執(zhí)行新程序。如果標識字為2,說明App程序卡死,導致系統(tǒng)沒有及時復位,此時程序跳轉至備份程序區(qū)。當標識字大于2時,說明備份程序也卡死,此時程序不再跳轉,點亮LED進行報警。BootLoader程序的地址偏移量為0,共12 K 地址空間;App程序的地址偏移量為0x3000,250 K 地址空間;備份程序的地址偏移量為0x41800,250 K地址空間。BootLoader程序流程圖如圖3。

qrs3-t3.gif

    App部分程序流程圖如圖4。系統(tǒng)通過μC/OS II 操作系統(tǒng)來對各個任務進行管理。由于App部分的代碼存放在Flash中的地址偏移量為0x8003000,所以在程序開始時,需要設置地址偏移量:SCB->VTOR=Flash_BASE | 0x3000。設置完后初始化各種外設并初始化系統(tǒng),創(chuàng)建開始任務,最后開始對系統(tǒng)的各個任務進行處理。

qrs3-t4.gif

    啟動任務主要是用于創(chuàng)建二值信號量、郵箱、內存區(qū)和系統(tǒng)的各種任務。在完成創(chuàng)建后,需要刪除啟動任務。

    系統(tǒng)設置任務用于設置系統(tǒng)參數(shù),由于系統(tǒng)設置任務是關鍵任務,所以其優(yōu)先級僅次于起始任務。系統(tǒng)設置任務通過串口1與上位機連接,設置的參數(shù)有時間、經(jīng)緯度、板長、板間距、限位角、避風角、避雪角度。系統(tǒng)首先通過SETSYSTEM指令進入系統(tǒng)設置狀態(tài),并通過串口在上位機界面上打印提示信息。進入系統(tǒng)設置狀態(tài)以后,通過不同的指令進行不同參數(shù)的設置。在設置RTC時間時,需要將時間換算成秒數(shù),再將該值寫入RTC的秒寄存器,同時注意閏年換算。由于電站后臺需要對系統(tǒng)信息進行查詢,所以需要將系統(tǒng)參數(shù)寫入到保持寄存器中,方便后臺查詢管理。在系統(tǒng)設置的循環(huán)中加入系統(tǒng)延時,即將該任務掛起,提高系統(tǒng)的實時性。保證在進行系統(tǒng)設置時,系統(tǒng)的各個任務仍然可以調度。系統(tǒng)設置任務的程序流程圖如圖 5。

qrs3-t5.gif

    由于ModBus任務的實時性較高,可用信號量或者郵箱來觸發(fā),在實際測試中發(fā)現(xiàn)將ModBus處理函數(shù)放在定時器中斷服務程序中更好。本系統(tǒng)支持ModBus的命令有01,02,03,04,05,15,16。保持寄存器中包含的信息為從機地址、時間信息、經(jīng)緯度、限位角、工作模式等信息。

    按鍵任務用于檢測按鍵事件,保證系統(tǒng)可以手動控制。任務輪詢模式按鍵是否有按鍵按下,如果按下,進行消抖,發(fā)送郵箱。在按鍵任務中需要注意的是系統(tǒng)必須是輪詢電平而不是上升沿或者下降沿。在模式按鍵按下之前,正轉和反轉按鍵按下,系統(tǒng)不做任何操作。

    電機驅動任務用于獲取GPS、RTC、角度數(shù)據(jù)。并根據(jù)當前系統(tǒng)模式來驅動電機。電機驅動任務的程序流程圖如圖6。

qrs3-t6.gif

    經(jīng)計算,太陽方位角基本上為2分鐘轉0.5度,因此程序對實時性要求不高。當模式按鍵按下以后,按鍵任務會發(fā)送郵箱給電機驅動任務。當電機驅動任務接收到郵箱以后,會檢測正轉反轉以及模式按鍵是否按下。3個按鍵均為自鎖按鍵,只有在模式按鍵有效的情況下,正反轉按鍵才有效。如果在1秒之內沒有收到郵箱,此時電機驅動任務結束掛起,取得CPU所有權。申請內存存放GPS、角度、時間信息。讀GPS,如果當前GPS無效,讀RTC時間,并將時間值寫入時間寄存器。讀角度值,如果角度值無效,電機停止轉動,并點亮LED報警。讀模式寄存器的值,1為自動模式,2為避風模式,3為避雪模式。如果是自動模式,需要根據(jù)時間、經(jīng)緯度、板子參數(shù)計算出太陽的方位角,驅動電機。

3.3 ZigBee程序設計

    ZigBee部分主要是透傳作用。系統(tǒng)采用的ZigBee協(xié)議版本為ZStack 2.5.1a。協(xié)調器與上位機相連,在協(xié)調器收到串口數(shù)據(jù)以后,將收到的數(shù)據(jù)進行廣播。所有子節(jié)點收到協(xié)調器廣播的數(shù)據(jù)以后,將數(shù)據(jù)通過串口發(fā)送給控制板。如果當前的控制板處于BootLoader模式,則控制板將ZigBee模塊通過串口發(fā)送過來的數(shù)據(jù)寫入Flash。子節(jié)點將控制板通過串口發(fā)送過來的數(shù)據(jù)單播給協(xié)調器,協(xié)調器收到子節(jié)點單播的數(shù)據(jù)以后,通過串口發(fā)送給上位機。系統(tǒng)需要預編譯MT_TASK,在MT層處理串口數(shù)據(jù)。在MT層接收完一幀數(shù)據(jù)以后,將數(shù)據(jù)打包,發(fā)往應用層。應用層收到數(shù)據(jù)以后,將數(shù)據(jù)解包,然后調用AF_DataRequest()函數(shù)將串口字符串發(fā)送出去。當收到空中發(fā)過來的數(shù)據(jù)以后,應用層會有AF_INCOMING_MSG_CMD事件產(chǎn)生,在該事件的處理函數(shù)中對數(shù)據(jù)進行解包,然后將有效數(shù)據(jù)通過串口發(fā)送出去。

4 結論

    該系統(tǒng)的創(chuàng)新處為把ZigBee技術應用于光伏電廠,通過ZigBee技術和應用程序編程技術實現(xiàn)了系統(tǒng)程序無線更新,減輕了調試人員的工作量。通過對片內Flash分區(qū),寫入備份程序,保證了系統(tǒng)的可靠性。同時系統(tǒng)的多種工作模式保證了系統(tǒng)的抗風、抗雪性能。在實際現(xiàn)場的測試,該系統(tǒng)運行穩(wěn)定。目前,該系統(tǒng)已經(jīng)被應用于上海摩昆新能源科技有限公司承擔的內蒙庫倫光伏電站二期可跟蹤光伏支架的項目中。

參考文獻

[1] 王小鑫,胡紅利,王博.高精度太陽能跟蹤控制器[J].光電與控制,2012(12):80-83.

[2] 仲玉芳,王慧芬,葉建鋒.光伏發(fā)電系統(tǒng)太陽跟蹤裝置的研究[J].太陽能學報,2013(10):1762-1767.

[3] 萬蓉鳳,修春波,盧少磊.基于ZigBee技術的風速測量系統(tǒng)的設計[J].中南大學學報(自然科學版),2013(S1):162-165.

[4] 丁力,宋志平,徐萌萌.基于STM32的嵌入式測控系統(tǒng)設計[J].中南大學學報(自然科學版),2013(S1):260-265.

[5] 王鈺博,黃凱,陳辰.嵌入式Flash讀取加速技術及實現(xiàn)[J].浙江大學學報(工學板),2014(09):1570-1579.

[6] 張猛,房俊龍.基于ZigBee和Internet的溫室群環(huán)境遠程監(jiān)控系統(tǒng)設計[J].農(nóng)業(yè)工程學報,2013(S1):171-176.

[7] 肖振鋒,袁蓉湘,鄧翔天.基于MSP430F169的遠程智能故障檢測器[J].電力自動化設備,2013(01):160-164.

[8] 李鵬,黃新波,趙隆.智能輸電線路狀態(tài)監(jiān)測代理的研究與設計[J].中國電機工程學報,2013(16):153-161.

[9] 李傳偉,常關羽,于振興.基于無線傳感網(wǎng)絡的石油鉆機設備遠程監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].西北工業(yè)大學學報,2013(02).

[10] 王林軍,許立曉,邵磊.碟式太陽能自動跟蹤系統(tǒng)傳動機構的誤差分析[J].農(nóng)業(yè)工程學報,2014(18):63-39.

[11] 劉琨,鄒琴梅,胡玉超.塔式太陽能熱發(fā)電自主式定日鏡系統(tǒng)設計[J].北京工業(yè)大學學報,2014(07):1073-1078.

[12] 邸斌,宋宏明.一種新型太陽能跟蹤系統(tǒng)的研究[J].哈爾濱理工大學學報,2012(02):67-71.

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
主站蜘蛛池模板: 国内精品久久精品 | 九九视频高清视频免费观看 | 久久久久久88色愉愉 | 一区二区三区四区五区六区 | 久久国内免费视频 | 一级a性色生活片久久毛片 一级a做爰片欧欧美毛片4 | 日韩不卡一区二区三区 | 国产无卡一级毛片aaa | 精品国产品香蕉在线观看 | 亚洲mm8成为人影院 亚洲m男在线中文字幕 | 精品综合久久久久久88小说 | 色在线看 | 国产成人在线免费观看 | 九九九在线视频 | 亚洲精品人成网在线播放影院 | 中文字幕亚洲不卡在线亚瑟 | 在线a视频网站 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 欧美怡红院在线观看 | 日本乱理伦中文三区 | 精品国产一级毛片 | 亚洲男人天 | 久久久久依人综合影院 | 国产精品日韩欧美一区二区三区 | 毛片免费观看视频 | 久久精品一品道久久精品9 久久精品一区 | 国产免费高清在线精品一区 | 1a级毛片免费观看 | 国产aⅴ精品一区二区三区久久 | 欧美级| 她也啪在线视频 | 午夜a毛片 | 免费男女视频 | 久久国产一区二区三区 | 国产九九免费视频网站 | 久久国产乱子伦精品免费不卡 | 特级毛片全部免费播放a一级 | 欧美视频在线观看免费精品欧美视频 | 窝窝社区在线观看www | 久草久视频 | 全黄a一级毛片 |