摘要:為了監(jiān)測無刷直流電機控制器的控制性能,在開發(fā)控制器過程中應(yīng)用了虛擬儀器技術(shù),設(shè)計采用LabVIEW編寫可與控制器交互的上位機軟件;通信部分采用成本低,易控制的標(biāo)準(zhǔn)串口總線來實現(xiàn)電機轉(zhuǎn)速、電壓、母線電流的PI參數(shù)的數(shù)據(jù)傳輸;設(shè)計的上位機PI參數(shù)調(diào)整方法優(yōu)于傳統(tǒng)的逐次燒寫法,從而降低了硬件損耗與時間成本;上位機軟件系統(tǒng)采用開放式設(shè)計,使之不依賴于下位機型號與工作模式,具有較強的通用性。測試表明,設(shè)計的系統(tǒng)能完成實時監(jiān)測以及控制器的控制參數(shù)設(shè)定等功能。
關(guān)鍵詞:虛擬儀器;直流電機;電機控制器;數(shù)據(jù)采集
虛擬儀器是基于通用計算機軟硬件的測試平臺,已經(jīng)在工業(yè)控制測試領(lǐng)域有了廣泛的應(yīng)用。LabVIEW是由美國國家儀器公司推出的虛擬儀器開發(fā)工具,應(yīng)用圖形化編程方式,功能強大,界面友好,擁有豐富的計算函數(shù),高級的采集和信號分析控件,完善的仿真調(diào)試工具,動態(tài)的連續(xù)跟蹤方式。目前國內(nèi)已開展將虛擬儀器應(yīng)用于電機測控方面的研究,但開發(fā)的系統(tǒng)檢測項目有限,如徐軍教授開發(fā)的基于NI數(shù)據(jù)采集卡的電機性能檢測系統(tǒng),只能測量電機三相功率,負(fù)載特性等。而進行電機控制器開發(fā)測試時還經(jīng)常要觀測電機的電壓、電流及轉(zhuǎn)速,它們是電機啟動及調(diào)速的關(guān)鍵參數(shù);另外目前電機調(diào)速常用的雙閉環(huán)PI算法中Pl參數(shù)的調(diào)整往往是根據(jù)經(jīng)驗及試驗的方式設(shè)定,過程相當(dāng)繁瑣。所以開發(fā)一款軟件解決這些問題很有必要。本文中應(yīng)用LabVIEW編寫上位機軟件,軟件分為數(shù)據(jù)檢測和PI參數(shù)設(shè)定兩個基本模塊。并應(yīng)用控制芯片獨立的串口通信接口與上位機實現(xiàn)了數(shù)據(jù)的檢測及PI參數(shù)的設(shè)定。
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)原理結(jié)構(gòu)框圖見圖1。
該設(shè)計中下位機可使用獨立于控制器的單片機或DSP,但為了能直接方便地設(shè)置電機控制PI參數(shù),直接使用了控制器上的控制芯片。主控制芯片采用瑞薩電子一款電機控制專用16位單片機R5F212L4SNFP,它自帶6路PWM,9路10位的A/D轉(zhuǎn)換器,1.5 KB數(shù)據(jù)FLASH,兩個獨立的串行通信接口,并擁有串口通信的獨立定時器;在完成控制功能之余有足夠的端口完成與上位機的通信。LabVIEW使用通用接口總線(GPIB),標(biāo)準(zhǔn)串行總線(RS 232),VME儀器擴展(VXI)和其他硬件標(biāo)準(zhǔn)與外部儀器通信及控制外部儀器??紤]到硬件成本及方便性這里采用RS 232標(biāo)準(zhǔn)串口通信方式。系統(tǒng)能觀測的數(shù)據(jù)有電壓、電流、轉(zhuǎn)速等。電流由毫歐級采樣電阻采樣并適當(dāng)上拉后接入A/D端(測量的是在每個方波的中點激發(fā)A/D轉(zhuǎn)換采集的值);電壓由精密電阻分壓后接入A/D端;電機轉(zhuǎn)速可由換相信號計算得出;電機轉(zhuǎn)速的設(shè)定是芯片外的一個線性電壓值經(jīng)A/D轉(zhuǎn)換后計算給定;控制芯片通過電平轉(zhuǎn)換芯片TC232與上位機完成串行通信,本文主要介紹上位機程序的設(shè)計,控制硬件因篇幅不作介紹。
2 通信協(xié)議設(shè)計
該設(shè)計通信約定由上位機軟件發(fā)送,包含PI參數(shù)和數(shù)據(jù)讀取設(shè)定的指令;下位機(R8C/2L)接收數(shù)據(jù)后解析數(shù)據(jù),若判斷系統(tǒng)工作于PI參數(shù)設(shè)定模式時,保存并更新PI參數(shù),若工作于數(shù)據(jù)采集模式,則根據(jù)命令符選擇電流電壓A/D轉(zhuǎn)換通道或計算電機轉(zhuǎn)速及設(shè)定轉(zhuǎn)速,并發(fā)送到串口。
2.1 數(shù)據(jù)長度協(xié)議
數(shù)據(jù)長度定義和命令符協(xié)議分別見表1、表2。當(dāng)系統(tǒng)工作于數(shù)據(jù)采集模式時,上位機依次發(fā)送字符1,2,3,4,并依次根據(jù)協(xié)議返回測量值。當(dāng)系統(tǒng)工作于PI參數(shù)設(shè)定模式時,由上位機依次發(fā)送速度環(huán),電流環(huán)的Kp,Ki值,并約定在數(shù)據(jù)之首添加參數(shù)識別符A,B,C,D;即速度環(huán)參數(shù)模式為A+Kp,B+Ki;電流環(huán)的參數(shù)模式為C+Kp,D+Ki。
[!--empirenews.page--]
2.2 LabVIEW通信編程相關(guān)
在LabVIEW中串口通信主要用到NI VISA編程,NI-VISA(Virtual Instrument Software Architecture)是美國國家儀器NI(National In-strument)公司開發(fā)的一種用來與各種儀器總線進行通信的高級應(yīng)用編程接口。VISA表示可視化儀器軟件結(jié)構(gòu),從本質(zhì)上講,VISA是用于控制GPIB,串口或VXI儀器以及根據(jù)根據(jù)儀器類型進行適當(dāng)調(diào)用的VI(類似于傳統(tǒng)語言的函數(shù)或子程序)庫。這里串口操作主要用到的4個節(jié)點見圖2,即串口的配置、串口寫、串口讀、串口關(guān)閉等。
3 LabVIEW程序設(shè)計
上位機程序功能為:配置串口,選擇工作模式;發(fā)送PI參數(shù)或發(fā)送采集數(shù)據(jù)指令,讀取數(shù)據(jù),轉(zhuǎn)換并顯示。程序流程圖見圖3。
串口配置完成后可由生成的前面板設(shè)置串口通信參數(shù),打開串口時,要設(shè)定串口的屬性需要設(shè)置串行通信的波特率,數(shù)據(jù)位數(shù),奇偶校驗和停止位的個數(shù)。正確打開串口后,就可以獲得一個VISA資源連接,將這個連接接到VISA串口讀/寫VI節(jié)點,就可以實現(xiàn)對計算機串口的讀/寫。串口前面板效果如圖4所示。用事件結(jié)構(gòu)可進行工作模式的設(shè)定判定。當(dāng)模式按鈕為TRUE時工作于數(shù)據(jù)采集模式,為FALSE時則工作于PI參數(shù)設(shè)置模式;當(dāng)工作于數(shù)據(jù)采集模式時完成字符1,2,3,4依次寫入VISA字符串寫節(jié)點。循環(huán)結(jié)構(gòu)中同樣套用了事件結(jié)構(gòu),相關(guān)程序如圖5所示。
當(dāng)工作于PI參數(shù)設(shè)定模式時完成PI參數(shù)的發(fā)送,程序中主要用到了字符串轉(zhuǎn)換節(jié)點和字符串連接節(jié)點,工作程序如圖6所示。為了能直觀地顯示檢測數(shù)據(jù),前面板采用表盤形式顯示,同時為了方便后邊的Graph方式的顯示,將讀回的數(shù)據(jù)轉(zhuǎn)換并設(shè)置成局部變量,相關(guān)程序見圖7。將數(shù)據(jù)讀回后顯示成Graph形式則更能展示出相關(guān)數(shù)據(jù)的橫向變化趨勢,程序采用了下拉菜單及Graph顯示模塊,用事件結(jié)構(gòu)完成下拉菜單,這樣設(shè)置可以同時顯示時時電機轉(zhuǎn)速與相關(guān)參數(shù)的關(guān)系,在事件結(jié)構(gòu)中分別設(shè)定顯示控件的顯示刻度屬性節(jié)點使其自動適應(yīng)所接受數(shù)據(jù)范圍。相關(guān)程序如圖8所示。實測中前面板效果如圖9所示。
[!--empirenews.page--]
整個程序的編程過程中主要采用了for循環(huán),順序結(jié)構(gòu)以及事件結(jié)構(gòu)等編程方法,整體程序如圖10所示。
4 系統(tǒng)測試
連接好電機與控制器,插接串口線,啟動主程序及控制器后,設(shè)定串口參數(shù),首先工作于PI設(shè)定模式,調(diào)整好PI參數(shù),然后切換至數(shù)據(jù)采集模式;即開始采集數(shù)據(jù),并調(diào)整轉(zhuǎn)速A/D端電壓設(shè)定電機速度。綜合實測效果如圖11所示,面板中表盤控件與Graph控件被拖入Tap con-trol控件中重疊顯示,Tap control第一部分(圖11)采用表盤形式,Tap control第二部分(見圖9)采用Graph形式顯示。實測中的電壓、電流、轉(zhuǎn)速分別與實體電壓表、電流表、測速機比對證實數(shù)據(jù)準(zhǔn)確;下位機設(shè)計了PI參數(shù)回讀程序,顯示結(jié)果一致。
5 結(jié)語
設(shè)計采用LabVIEW編寫輔助程序應(yīng)用于無刷直流電機控制系統(tǒng)開發(fā)過程中,利用少量軟件空間,不增加硬件負(fù)擔(dān)。實現(xiàn)了可根據(jù)用戶需要選擇工作模式,可根據(jù)需要擴展或更改測量項目、設(shè)置相關(guān)控制參數(shù)等功能,界面友好,操作簡單,減少了開發(fā)過程中的硬件損耗及時間成本。另外文獻提到在串口通信設(shè)計上應(yīng)用MSCOMM32.OCX控件(專門用于串口通信的Activex控件),將能提高上位機CPU的利用率,后續(xù)系統(tǒng)
也將做相應(yīng)的改進。