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