周奇勛,李鵬博,劉 娜,馬存超
(1.西安科技大學(xué)電氣與控制工程學(xué)院,陜西西安 710054;2.同濟大學(xué),嵌入式系統(tǒng)與服務(wù)計算教育部重點實驗室,上海 200092)
伺服系統(tǒng)在航空航天領(lǐng)域中的應(yīng)用頗為廣泛,系統(tǒng)在運行過程中出現(xiàn)故障的情況是不可避免的,其在航空航天應(yīng)用中出現(xiàn)故障后帶來的損失也是不可估量的。為了增強系統(tǒng)應(yīng)對故障的適應(yīng)能力,通常采用余度控制技術(shù),當(dāng)系統(tǒng)的某一部分出現(xiàn)故障時能夠保障整個系統(tǒng)的可靠運行,同時可以滿足一定的性能要求。
但余度間強耦合特征尤其是余度間負荷狀態(tài)差異將導(dǎo)致伺服系統(tǒng)的協(xié)調(diào)控制難度增大[1],為了縮短雙余度永磁同步電機余度協(xié)調(diào)技術(shù)的開發(fā)周期,減少研究成本,本文采用虛擬儀器技術(shù)搭建雙余度伺服測控系統(tǒng)。
系統(tǒng)整體構(gòu)成如圖1所示。由上位機和下位機組成的人機交互界面、串行通信接口、永磁同步電機控制器3個部分組成。系統(tǒng)的主要功能分為以下幾個部分:
(1)采用RS422串行通信連接實現(xiàn)上位機與DSP之間通信;
(2)使用2套旋轉(zhuǎn)變壓器檢測電機轉(zhuǎn)子位置,實現(xiàn)電機轉(zhuǎn)子位置檢測的容錯伺服控制;
(3)使用電流傳感器測量電機繞組電流,提高系統(tǒng)的伺服性能;
(4)根據(jù)采集的溫度、電流、電壓和旋變等信號,綜合檢測系統(tǒng)故障。
圖1 雙余度伺服測控系統(tǒng)整體構(gòu)成
根據(jù)對控制系統(tǒng)功能分析,系統(tǒng)設(shè)計的控制器主要包括電源管理模塊、DSP模塊、RVDT激勵和解算模塊、電壓電流檢測模塊、功率驅(qū)動模塊、硬件邏輯與保護電路模塊,除此之外,還有系統(tǒng)串口通信模塊以及開關(guān)量處理模塊等。
電源管理模塊主要實現(xiàn)對系統(tǒng)所需不同電源的處理和轉(zhuǎn)換,對系統(tǒng)的各模塊進行供電;通過RVDT檢測轉(zhuǎn)子位置信號,采用旋變解算電路進行轉(zhuǎn)子位置的解算,進而將得到的數(shù)字信號傳輸給主控芯片;電壓檢測模塊用于實時檢測電機母線電壓大?。浑娏鳈z測模塊實時檢測電機三相繞組電流大??;功率驅(qū)動模塊轉(zhuǎn)換PWM信號驅(qū)動功率管,從而控制三相全控橋的輸出電壓;串口通信模塊實現(xiàn)上位機與下位機之間的通信。
根據(jù)硬件需求,采用模塊化設(shè)計思路,雙余度伺服測控系統(tǒng)軟件設(shè)計主要分為參數(shù)設(shè)置模塊和監(jiān)測系統(tǒng)模塊。其中參數(shù)設(shè)置模塊包括通信端口設(shè)置、閉環(huán)控制設(shè)置和控制信號設(shè)置;監(jiān)測系統(tǒng)模塊包括通道工作狀態(tài)監(jiān)測、系統(tǒng)工作狀態(tài)監(jiān)測、閉環(huán)控制反饋、電機轉(zhuǎn)速監(jiān)測、電壓電流監(jiān)測、功率模塊和電機溫度監(jiān)測、旋變信號監(jiān)測。
LabVIEW上位機軟件程序工作流程如圖2所示。在系統(tǒng)開始工作之前,首先進行狀態(tài)檢測,當(dāng)整個系統(tǒng)處于正常狀態(tài)時,設(shè)置相關(guān)參數(shù)系統(tǒng)繼續(xù)運行,此時上、下位機之間通過RS422串口通信判斷電機轉(zhuǎn)子的起始位置。之后上位機向下位機發(fā)送速度指令使系統(tǒng)處于工作狀態(tài),與此同時上位機可以準(zhǔn)確、實時接收到下位機回傳的各種數(shù)據(jù),將這些數(shù)據(jù)進行解包、賦值反饋到前面板得到系統(tǒng)的穩(wěn)/動態(tài)性能指標(biāo)。
雙余度伺服測控系統(tǒng)軟件界面設(shè)計如圖3所示。
圖2 上位機軟件工作流程圖
根據(jù)設(shè)計需求,將前面板劃分為9個區(qū)域:
(1)通信端口配置區(qū)域(確保上、下位機之間正常通信);
(2)閉環(huán)參數(shù)設(shè)置區(qū)域(設(shè)置PID參數(shù),根據(jù)系統(tǒng)誤差,利用比例、積分、微分計算出控制量);
(3)控制信號設(shè)置區(qū)域(選擇信號類型,設(shè)置信號源的幅值、頻率和幅值偏移);
(4)運行狀態(tài)監(jiān)測區(qū)域(監(jiān)測系統(tǒng)的運行狀態(tài)并進行故障報警);
(5)轉(zhuǎn)速監(jiān)測區(qū)域(可直接繪制出轉(zhuǎn)速指令、反饋和誤差曲線,監(jiān)測電機實際轉(zhuǎn)速隨時間的變化及與給定轉(zhuǎn)速的誤差);
(6)三相電流監(jiān)測區(qū)域(監(jiān)測電機三相繞組電流);
(7)母線電壓監(jiān)測區(qū)域(監(jiān)測電源供給系統(tǒng)母線電壓);
(8)功率模塊和電機溫度監(jiān)測區(qū)域(監(jiān)測控制器功率模塊溫度和電機溫度);
(9)旋變信號監(jiān)測區(qū)域(監(jiān)測電機轉(zhuǎn)子位置)。
圖3 雙余度伺服測控系統(tǒng)軟件界面
2.2.1 參數(shù)設(shè)置模塊
參數(shù)設(shè)置模塊的功能有通信端口設(shè)置、閉環(huán)控制PID參數(shù)設(shè)置和控制信號設(shè)置。在PID參數(shù)設(shè)置中,帶有增量/減量按鈕的PID數(shù)值設(shè)置框下傳PID參數(shù)至下位機,不帶增量/減量按鈕的PID數(shù)值框上傳PID參數(shù)至上位機。在信號設(shè)置中,通過信號類型選擇、幅值、頻率、幅值偏移的數(shù)值輸入框進行信號的相關(guān)設(shè)置。參數(shù)設(shè)置模塊程序工作流程如圖4所示,配置通道端口,點擊通道內(nèi)“設(shè)置確認”按鈕,若系統(tǒng)狀態(tài)檢測正常則依次進行閉環(huán)控制和控制信號設(shè)置;否則退出檢查系統(tǒng)硬件連接和端口配置。
圖4 參數(shù)控制模塊工作流程圖
程序中將事件結(jié)構(gòu)放入while循環(huán)。事件結(jié)構(gòu)中不僅包括通道端口確認分支、PID設(shè)置確認分支和信號設(shè)置確認分支,還有啟停和一些功能性分支觸發(fā)后可以給控制器發(fā)送各種指令控制電機,并查看電機的各種狀態(tài)。
控制信號指令在超時事件分支中,指定事件結(jié)構(gòu)等待事件發(fā)生的時間為5 ms,當(dāng)前面板“啟動”或“總啟動”按鈕按下又無其他事件觸發(fā)時,while循環(huán)中每隔5 ms觸發(fā)一次超時事件,即上位機將控制信號指令每隔5 ms發(fā)送一次給下位機控制器控制電機運行。
2.2.2 LabVIEW串行通信設(shè)計
監(jiān)測電機時,由于上位機接收的數(shù)據(jù)量大且每幀數(shù)據(jù)接收時間間隔僅有10 ms,傳統(tǒng)的數(shù)據(jù)收發(fā)處理結(jié)構(gòu)容易丟失數(shù)據(jù),在解析數(shù)據(jù)幀過程中程序復(fù)雜且耗時較多,很難滿足實時監(jiān)測系統(tǒng)的需求。本上位機將通信分為接收數(shù)據(jù)和解包處理數(shù)據(jù)2個循環(huán),具體工作流程如圖5(a)和圖5(b)所示。當(dāng)接收循環(huán)內(nèi)VISA讀取數(shù)據(jù)檢測到有N(N≥1)個字節(jié)時,將接收到的數(shù)據(jù)按字節(jié)依次取出存放到指定數(shù)組“讀取緩沖數(shù)組”中,讀取緩沖數(shù)組內(nèi)每存放一個字節(jié)“讀取緩沖數(shù)組存指針”加1。此時解包處理循環(huán)內(nèi)“讀取緩沖數(shù)組存指針”和“讀取緩沖數(shù)組取指針”不相等,程序進入解包循環(huán)開始解析數(shù)據(jù)幀。
(a)接收數(shù)據(jù)循環(huán)
(b)解包處理循環(huán)
“讀取緩沖數(shù)組取指針”將“讀取緩沖數(shù)組”內(nèi)的數(shù)據(jù)索引至“解包臨時字節(jié)”,再將該“解包臨時字節(jié)”存入新的數(shù)組“解包數(shù)組”中。設(shè)置布爾量“幀頭標(biāo)志”位,在“解包數(shù)組”中找到幀頭后“幀頭標(biāo)志”布爾值為真,進入條件判斷結(jié)構(gòu)真,“解包指針”從0至1,依次向后加3個字節(jié),“解包指針”為4即找到一幀完整的數(shù)據(jù)。此時再將“幀頭標(biāo)志”至為假,“解包指針”至為0方便下一幀數(shù)據(jù)查詢。尋找到的每幀數(shù)據(jù)再通過CRC校驗后即為正確數(shù)據(jù),賦值到前面板顯示。
在解包處理數(shù)據(jù)循環(huán)中,當(dāng)讀取緩沖數(shù)組“存指針”和“取指針”在某一時刻相等時,“解包數(shù)組”會通過條件判斷結(jié)構(gòu)“真”將數(shù)據(jù)重復(fù)發(fā)送給數(shù)據(jù)處理部分,導(dǎo)致在處理數(shù)據(jù)時重復(fù)或丟失數(shù)據(jù)。此時結(jié)合邏輯“與”并在解包條件結(jié)構(gòu)“真”內(nèi)設(shè)置布爾常量“假”,可有效防止該錯誤。接收處理數(shù)據(jù)程序如圖6所示。
圖6 接收處理數(shù)據(jù)程序
2.2.3 監(jiān)測系統(tǒng)模塊
監(jiān)測系統(tǒng)模塊各功能的實現(xiàn)與參數(shù)設(shè)置模塊一樣,在同一事件結(jié)構(gòu)中添加觸發(fā)事件分支。
測試時,通過上位機軟件既可以控制每條通道單獨運行,也可以協(xié)調(diào)控制兩條通道同時或切換運行。當(dāng)其中有一條通道單獨啟動運行時,另一通道所有設(shè)置及啟動禁用,防止余度間產(chǎn)生沖突。在每一個測試部分,可以對采集到的數(shù)據(jù)進行顯示、分析并畫出波形曲線,還可以根據(jù)采集到的數(shù)據(jù)判斷系統(tǒng)的工作狀態(tài),進行故障報警等操作。
前面板設(shè)置了1號通道和2號通道,2個通道實現(xiàn)的功能完全一樣。指令、反饋、誤差中,指令指上位機發(fā)送給下位機的控制信號波形值,反饋指電機轉(zhuǎn)動后下位機反饋給上位機的實際值,誤差指信號波形值與實際值之間的差值;三相電流指監(jiān)測電機的三相繞組電流;母線電壓指監(jiān)測電源母線電壓;溫度模塊監(jiān)測功率模塊溫度和電機溫度;旋變傳感器信號檢測轉(zhuǎn)子位置;通道工作狀態(tài)反饋系統(tǒng)的工作狀態(tài);系統(tǒng)狀態(tài)進行故障報警等操作。
采用速度閉環(huán)控制方式,通過上位機給定3×103r/min速度指令,在上位機監(jiān)測指令、反饋和誤差速度曲線如圖7所示。從圖7(a)階躍響應(yīng)曲線可以看出,系統(tǒng)響應(yīng)速度快,在轉(zhuǎn)速響應(yīng)過程中,系統(tǒng)運行狀態(tài)平穩(wěn);從圖7(b)正弦跟隨曲線可以看出,系統(tǒng)整體跟隨性能良好,在電機轉(zhuǎn)向發(fā)生變化時誤差會相應(yīng)增大,但整體誤差在允許范圍內(nèi)。
本文根據(jù)雙余度永磁同步電機余度協(xié)調(diào)技術(shù)的要求,設(shè)計了基于LabVIEW的上位機測控系統(tǒng)。針對上位機要求通信速度快、接收處理數(shù)據(jù)量大的特點,提出了一種雙循環(huán)并行數(shù)據(jù)接收處理方法。經(jīng)過試驗驗證表明,該方案可以在極短的時間內(nèi)處理龐大的數(shù)據(jù)量,在保障通信完好的前提下,對雙余度伺服系統(tǒng)進行有效的控制和監(jiān)測。極大地降低了余度協(xié)調(diào)技術(shù)的研究成本和開發(fā)周期,具有一定的參考應(yīng)用價值。
(a)階躍響應(yīng)曲線
(b)正弦跟隨曲線圖7 速度曲線