馮 濤,李 擎,王常策,崔家瑞,潘月斗,庫都斯
(北京科技大學a.自然科學基礎實驗中心;b.自動化學院,北京 100083)
資源枯竭已經(jīng)成為當前制約人類經(jīng)濟社會持續(xù)發(fā)展的重大困擾和難題,太陽能熱發(fā)電技術因其顯著的優(yōu)點而成為新能源開發(fā)和利用的重要發(fā)展方向[1-4]。太陽能熱發(fā)電系統(tǒng)有多種形式,其中塔式太陽能發(fā)電系統(tǒng)是通過大規(guī)模的反射鏡群將太陽光聚焦到發(fā)電場中央集熱塔頂部的接收器上,對其中的工質(zhì)進行高溫加熱產(chǎn)生蒸汽來驅(qū)動發(fā)電機發(fā)電,實現(xiàn)太陽能到電能的轉(zhuǎn)換。這種太陽能熱發(fā)電形式因其熱傳輸路徑短、發(fā)電效率高、熱損耗小等特點成為世界各國研究的重點[5-6],其中定日鏡對太陽位置及光線角度的持續(xù)精確跟蹤是塔式太陽能熱發(fā)電系統(tǒng)中的重點和難點[7-9]。由于需要對太陽的高度角和方位角進行同步跟蹤,塔式太陽能熱發(fā)電的定日鏡需要實現(xiàn)雙軸獨立控制,由獨立的步進電機分別控制定日鏡的水平角度和俯仰角度以實現(xiàn)對太陽追蹤。
目前市面上成品的運動控制器均采用ARM/DSP+CPLD/FPGA的架構,這種架構具有極強的運算能力,能夠?qū)崿F(xiàn)4 軸甚至6 軸的曲線、圓弧插補[10-11]。定日鏡的運動控制只需要2 軸插補,使用成品運動控制器性能嚴重過剩。對于塔式太陽能熱發(fā)電場來說,其定日鏡規(guī)模龐大,考慮到鏡群組網(wǎng)和遠程控制的要求,定日鏡運動控制系統(tǒng)占電場總體建設成本的比例較大,采用這種成品的運動控制器會造成極大的成本壓力。因此有必要專門針對塔式太陽能發(fā)電場的定日鏡控制需求,開發(fā)一款成本低、控制靈活、易于大規(guī)模組網(wǎng)的雙軸運動控制系統(tǒng)。
定日鏡需要根據(jù)當前所在的經(jīng)度、緯度,以及當前的時間和季節(jié),利用太陽在天空的軌跡運行規(guī)律調(diào)整自身的角度來實現(xiàn)對太陽的追蹤,整體控制流程如圖1 所示。
圖1 定日鏡太陽追蹤控制流程圖
根據(jù)地球繞太陽旋轉(zhuǎn)的規(guī)律,可以得到太陽的高度角為[12]
式中:H為太陽高度角;φ為定日鏡當前所在位置的緯度;α為赤緯角;ω為太陽時角。
太陽方位角為
式中,β為太陽方位角。通過式(1)、(2),系統(tǒng)可以計算出當前太陽的所在高度角和方位角,驅(qū)動步進電動機實現(xiàn)對太陽的追蹤。
根據(jù)定日鏡控制流程,定日鏡雙軸控制系統(tǒng)的總體要求如下:
(1)要求實現(xiàn)Modbus-TCP工業(yè)總線協(xié)議,并且數(shù)據(jù)響應延遲要低于50 ms,能夠與中央控制主機進行實時穩(wěn)定通信;
(2)能夠驅(qū)動兩路步進電動機,分別控制定日鏡的俯仰角度和水平旋轉(zhuǎn)角度,并要求根據(jù)步進電動機的機械特性,對步進電動機實現(xiàn)平滑加減速控制,避免步進電動機失步與過沖;
(3)要求具備非易失性數(shù)據(jù)存儲和完善的過熱報警、保護功能。
系統(tǒng)方案整體框圖如圖2 所示。
圖2 系統(tǒng)整體框圖
系統(tǒng)主要由微控制器及其外圍電路、WiFi 通信模塊、步進電動機驅(qū)動器等組成。系統(tǒng)可以實現(xiàn)Modbus-TCP通信協(xié)議,具備現(xiàn)場大規(guī)模組網(wǎng)和通信能力,以集中對發(fā)電場內(nèi)所有定日鏡進行遠程控制。系統(tǒng)可產(chǎn)生兩路脈沖及方向信號輸出給專用的步進電動機驅(qū)動器,以驅(qū)動兩臺步進電動機分別控制定日鏡的俯仰角度和水平角度,并能實現(xiàn)步進電機的平滑加減速。系統(tǒng)帶有RS-232 接口,以和專用的手持操作器通信,方便維護人員對定日鏡進行現(xiàn)場控制。此外,系統(tǒng)還集成有非易失性數(shù)據(jù)存儲器,以存儲經(jīng)緯度、通信地址和其他控制參數(shù)。系統(tǒng)同時還帶有溫度傳感和報警功能,以監(jiān)測當前環(huán)境溫度,防止系統(tǒng)在室外工作過程中出現(xiàn)過熱等現(xiàn)象。
根據(jù)上面的總體設計要求,選用STM32F407VGT6單片機作為主控芯片。STM32F407VGT6 單片機集成的是高性能的Cortex-M4 內(nèi)核,工作頻率在168 MHz,并且?guī)в懈↑c計算功能,運算能力得到進一步加強[13]。該單片機內(nèi)部集成了極為豐富的外設資源,如I/O口、定時器、UART、I2C接口等,各個外設模塊可以與多個I/O口進行功能復用,使用相當靈活。在本系統(tǒng)中單片機的內(nèi)部資源分配如表1 所示。
表1 系統(tǒng)功能與資源分配
系統(tǒng)使用EEPROM 芯片24LC02 來存儲經(jīng)緯度、通信地址等非易失性參數(shù)。24LC02 內(nèi)部包含有256 Byte的存儲空間,采用I2C 接口,并帶有寫保護功能,可防止系統(tǒng)出現(xiàn)意外故障使得程序意外寫入導致數(shù)據(jù)損壞。24LC02 的電路原理圖如圖3 所示。
圖3 24LC02電路原理圖
在軟件實現(xiàn)上,這里使用STM32 單片機I/O口軟件模擬的方式來實現(xiàn)與24LC02 芯片之間的I2C 總線通信和數(shù)據(jù)讀寫。I2C協(xié)議使用SCL與SDA兩根線來實現(xiàn)雙向數(shù)據(jù)傳輸,SCL 作為時鐘線,SDA 作為數(shù)據(jù)線。將STM32 的對應I/O 口進行相應的配置,根據(jù)I2C總線協(xié)議規(guī)范和24LC02 的手冊要求,來實現(xiàn)對SCL和SDA 線的控制,從而實現(xiàn)對24LC02 的數(shù)據(jù)讀寫。
為了對塔式太陽能熱發(fā)電場的定日鏡進行統(tǒng)一的控制和狀態(tài)監(jiān)測,要求控制系統(tǒng)具有較強的數(shù)據(jù)通信能力,這里采用的是Modbus-TCP 協(xié)議來實現(xiàn)定日鏡控制系統(tǒng)的大規(guī)模組網(wǎng)。Modbus-TCP 協(xié)議是運行在TCP/IP網(wǎng)絡協(xié)議上的Modbus 通信規(guī)約,廣泛地應用于工業(yè)控制領域,能夠與多種PLC、通用控制器實現(xiàn)對接[14]。
本系統(tǒng)中Modbus-TCP 協(xié)議的實現(xiàn)以WiFi 模塊USR-WiFi232-B作為物理層。USR-WiFi232-B 模塊是一款一體化的802.11 b/g/n WiFi模塊,采用工業(yè)級高性能嵌入式架構,在本系統(tǒng)中它的電路如圖4 所示。
圖4 USR-WIFI232-B模塊電路原理圖
USR-WiFi232-B模塊已經(jīng)處理了WiFi 數(shù)據(jù)通信中的大部分細節(jié),系統(tǒng)根據(jù)Modbus 通信規(guī)約要求來實現(xiàn)Modbus-TCP通信協(xié)議。Modbus-TCP協(xié)議的實現(xiàn)采用有限狀態(tài)機模型來實現(xiàn),狀態(tài)轉(zhuǎn)移圖如圖5 所示。
圖5 Modbus-TCP數(shù)據(jù)處理狀態(tài)轉(zhuǎn)移圖
沒有收到網(wǎng)絡數(shù)據(jù)時,系統(tǒng)處于“空閑”狀態(tài)。收到網(wǎng)絡數(shù)據(jù)后,系統(tǒng)轉(zhuǎn)移到“數(shù)據(jù)接收”狀態(tài),此時隨著數(shù)據(jù)傳輸?shù)牟粩噙M行,會根據(jù)Modbus-TCP 的協(xié)議約定,對數(shù)據(jù)幀完整性進行持續(xù)判斷。當接收到完整的數(shù)據(jù)幀之后,進入“數(shù)據(jù)幀解析”狀態(tài),會對數(shù)據(jù)幀的正確及有效性進行進一步的判斷,驗證訪問的寄存器有沒有超過范圍等。如果數(shù)據(jù)幀驗證通過,則對其中的功能碼進行對應的處理。Modbus 協(xié)議支持多種功能碼,針對不同的功能碼,系統(tǒng)對相應地址的寄存器進行讀寫,然后把讀寫結果組成回復數(shù)據(jù)幀進行數(shù)據(jù)發(fā)送。數(shù)據(jù)發(fā)送完畢,再次進入“空閑”狀態(tài),一次通信即告結束,等待遠程控制主機發(fā)起下一次Modbus通信。
Modbus協(xié)議支持多種功能碼,在本系統(tǒng)中實現(xiàn)的功能碼見表2。
表2 系統(tǒng)已實現(xiàn)的Modbus功能碼
本系統(tǒng)中,對步進電機的控制需要由系統(tǒng)提供相應頻率的脈沖輸出,脈沖輸出的頻率決定了電動機的旋轉(zhuǎn)速度,脈沖輸出的數(shù)量決定了步進電機的旋轉(zhuǎn)角度,因此需要實現(xiàn)脈沖頻率、數(shù)量的可控輸出[15-16]。相對于采用CPLD/FPGA 的較為復雜的方案,本系統(tǒng)采用STM32 單片機內(nèi)部的高級多功能定時器進行相互級聯(lián)使用,實現(xiàn)步進電機脈沖信號頻率和數(shù)量的可控輸出。該方案的組成框圖如圖6 所示。
圖6 STM32單片機定時器級聯(lián)框圖
圖6 中,定時器1 由STM32 的內(nèi)部高頻時鐘提供時鐘源,時鐘經(jīng)過分頻和定時器1 的計數(shù)器計數(shù),產(chǎn)生PWM信號輸出到外部。同時定時器2 對PWM信號進行計數(shù),當計數(shù)個數(shù)達到設定值時,進入定時器2 的ISR,改變定時器1 的寄存器設置,從而改變脈沖輸出的頻率。脈沖輸出都是由定時器硬件完成,軟件只需要在預設的脈沖個數(shù)輸出完畢時才會介入以對后續(xù)的脈沖頻率、個數(shù)進行修改,實現(xiàn)了系統(tǒng)的軟硬件優(yōu)化,對硬件結構實現(xiàn)了簡化,在保證系統(tǒng)性能的基礎上,實現(xiàn)了系統(tǒng)成本的顯著降低。
在實驗室環(huán)境下,采用數(shù)字存儲數(shù)字示波器以及專用的通信測試軟件對系統(tǒng)進行了詳盡的實驗測試??刂葡到y(tǒng)電路板及測試環(huán)境如圖7 所示。
圖7 定日鏡雙軸控制系統(tǒng)電路板及實驗室測試環(huán)境
將系統(tǒng)與上位機接入同一個局域網(wǎng),然后在上位機上運行Modbus Poll 測試軟件,對系統(tǒng)進行連續(xù)的Modbus寄存器讀寫操作,同時讓系統(tǒng)對24LC02 芯片進行連續(xù)的讀寫操作,并與此同時輸出頻率、數(shù)量可控的脈沖信號。使用這樣的方式,對系統(tǒng)的Modbus-TCP通信、24LC02 芯片讀寫、脈沖信號可控輸出等功能進行完整的壓力測試。
Modbus通信波形如圖8 所示,圖中,通道1 是中央主機發(fā)送過來的控制和查詢指令,通道2 是本系統(tǒng)的回復數(shù)據(jù)。由圖可見,從主機指令發(fā)送結束到本系統(tǒng)數(shù)據(jù)回復起始之間的時間延遲約為10 ms,滿足系統(tǒng)的實時性要求。Modbus通信測試界面如圖9所示。經(jīng)過24h的連續(xù)測試運行,上位機與系統(tǒng)總計進行了6.5 ×105包的Modbus-TCP 通信數(shù)據(jù)交換,出錯次數(shù)為0,這說明本系統(tǒng)實現(xiàn)的Modbus-TCP具有較高的通信穩(wěn)定性,滿足系統(tǒng)的穩(wěn)定性需求。
圖8 Modbus-TCP通信波形圖
用示波器抓取的系統(tǒng)對24LC02 芯片進行讀寫操作的I2C通信波形如圖10 所示,波形滿足I2C 協(xié)議中所規(guī)定的操作時序要求和建立保持時間條件。測試過程中,對24LC02 芯片整個數(shù)據(jù)區(qū)域進行了連續(xù)104余次的讀寫操作,數(shù)據(jù)讀取與寫入均成功,達到系統(tǒng)設計要求。
圖9 Modbus-TCP通信測試界面圖
圖10 I2C總線操作波形圖
在系統(tǒng)進行Modbus-TCP通信與EEPROM數(shù)據(jù)讀寫操作的同時,讓系統(tǒng)周期性地輸出兩路頻率、數(shù)量可控的脈沖信號,如圖11 所示。
圖11 脈沖可控輸出波形圖
對上面兩路輸出脈沖的數(shù)量、周期進行統(tǒng)計分析,結果見表3~5。
表3 兩路脈沖輸出數(shù)量統(tǒng)計
由上面的測試可見,系統(tǒng)穩(wěn)定的實現(xiàn)了Modbus-TCP協(xié)議通信、EEPROM 數(shù)據(jù)讀寫、脈沖信號可控輸出等各項功能。由于使用了STM32單片機內(nèi)部的高級定時器,以硬件的方式來產(chǎn)生可控的脈沖輸出,將CPU的工作負載大大降低,使得CPU有足夠的時間去處理Modbus-TCP 通信、24LC02 的I2C 讀寫操作等其他功能,使系統(tǒng)的整體穩(wěn)定性和響應速度得到了有效保證。
表4 兩路脈沖最大輸出周期統(tǒng)計
表5 兩路脈沖最小輸出周期統(tǒng)計
本系統(tǒng)已經(jīng)成功應用于位于北京某太陽能熱發(fā)電實驗電站。該實驗電站是國家“十一五”863 計劃重點項目的一部分,是我國首個、同時也是亞洲最大的塔式太陽能熱發(fā)電電站。電站總占地面積約19 200 m2,集熱塔高119 m,鏡場安裝有100 面定日鏡,總發(fā)電規(guī)模為1 MW,年可發(fā)電量達2 ×107kW·h。經(jīng)過實驗電站長期的運行測試表明,本系統(tǒng)能夠?qū)Χㄈ甄R群實現(xiàn)平滑穩(wěn)定的逐日跟蹤,并且能夠在中央控制室調(diào)度下對定日鏡群實現(xiàn)實時遠程統(tǒng)一控制,達到了預期的設計目標。應用調(diào)試現(xiàn)場如圖12 所示。
圖12 定日鏡控制系統(tǒng)應用現(xiàn)場
本文基于STM32F407 單片機,設計了一套定日鏡雙軸運動控制系統(tǒng),實現(xiàn)了定日鏡對太陽的獨立連續(xù)跟蹤。系統(tǒng)實現(xiàn)了Modbus-TCP 遠程通信、步進電機脈沖信號可控輸出、EEPROM 參數(shù)本地存儲等功能。相對于成熟的通用運動控制器,該系統(tǒng)結構精簡,能大幅降低塔式太陽能熱發(fā)電場的建設成本,同時具有運行穩(wěn)定、響應速度快、聯(lián)網(wǎng)能力強的特點,取得了明顯的經(jīng)濟社會效益。