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