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

中文引用格式: 王長清,余丙濤,潘德強. 基于STM32的逐陽帆控制系統設計[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 引言

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

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

1 系統原理

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

2 系統硬件設計

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

qrs3-t1.gif

3 系統軟件設計

3.1 從板軟件設計

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

qrs3-t2.gif

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

3.2 主板軟件設計

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

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

qrs3-t3.gif

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

qrs3-t4.gif

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

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

qrs3-t5.gif

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

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

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

qrs3-t6.gif

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

3.3 ZigBee程序設計

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

4 結論

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

參考文獻

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

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

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

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

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

[6] 張猛,房俊龍.基于ZigBee和Internet的溫室群環境遠程監控系統設計[J].農業工程學報,2013(S1):171-176.

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

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

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

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

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

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

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠色狠狠色综合日日32 | 国产线路一 | 男女视频免费 | 欧美一区二区高清 | 亚洲精选在线观看 | 亚洲一区二区三区久久久久 | 日韩成人免费在线 | 亚洲国产成人久久一区www妖精 | cao美女视频网站在线观看 | 91精品全国免费观看 | 亚洲成a人在线观看 | 一级特黄牲大片免费视频 | 免费看欧美一级特黄a大片一 | 一级一黄在线观看视频免费 | 亚洲欧美片 | 国产日韩欧美中文字幕 | v视界影院视频一区二区三区 | 亚洲国产经典 | 人人干人人玩 | 一级片黄色免费 | 中国孕妇孕交xxx | 九九久久99 | 国产精品丝袜视频 | 国产成人欧美一区二区三区的 | 一区二区三区欧美在线 | 外国毛片大全免费看 | 午夜亚洲精品 | 免费羞羞视频 | 好吊色几万部永久免费视频 | 亚洲欧洲视频 | 羞羞视频在线免费 | 最好看的中文字幕2019免费 | 国产成人精品三级在线 | 好逼天天操 | 91精品国产三级在线观看 | 免费观看成人久久网免费观看 | 一级一级 a爱片免费视频 | 亚洲欧美日韩在线观看播放 | 午夜在线| 日韩性公交车上xxhd免费 | 狼人香蕉网 |