基于LabVIEW的電機(jī)轉(zhuǎn)速監(jiān)測系統(tǒng)的設(shè)計
掃描二維碼
隨時隨地手機(jī)看文章
摘要 在電機(jī)控制系統(tǒng)中,轉(zhuǎn)速測量的精確度、實時性和穩(wěn)定性直接影響電機(jī)調(diào)速系統(tǒng)的性能。文中設(shè)計了一種基于LabVIEW軟件平臺的電機(jī)轉(zhuǎn)速監(jiān)測系統(tǒng),選擇絕對式光電編碼器和單片機(jī)作為前端轉(zhuǎn)速信號的采集系統(tǒng),通過RS-232串口通信將數(shù)據(jù)傳送至上位機(jī);利用LabVIEW的數(shù)據(jù)處理和顯示動能,對轉(zhuǎn)速信號進(jìn)行實時地處理、顯示和保存。該設(shè)計在開關(guān)磁阻電機(jī)調(diào)速系統(tǒng)中進(jìn)行了實驗測試,結(jié)果證明,該方法人機(jī)界面良好、測速范圍寬、精度高、響應(yīng)速度快、抗干擾能力強(qiáng)。
關(guān)鍵詞 LabVIEW;絕對式光電編碼器;單片機(jī)
LabVIEW是美國國家儀器司(National Instrument)開發(fā)的一種虛擬儀器平臺,是一種用圖標(biāo)代碼來代替文本式編程語言的開發(fā)工具。其通過在表示不同功能節(jié)點的圖標(biāo)之間連線來完成上位機(jī)的程序,在這一點上,其完全不同于以往基于文本的傳統(tǒng)開發(fā)語言。LabVIEW功能強(qiáng)大、操作靈活,使用圖形化的編程語言,大幅節(jié)省了程序的開發(fā)周期,且其運行速度不受影響,體現(xiàn)出較高的效率,被廣泛應(yīng)用于自動測量系統(tǒng)、工業(yè)過程自動化、實驗室仿真等領(lǐng)域。
以往利用LabVIEW設(shè)計數(shù)據(jù)采集監(jiān)測系統(tǒng)時,通常采用數(shù)據(jù)采集卡進(jìn)行前端信號的采集,但是其價格昂貴。文中設(shè)計了一種基于LabVIEW和STC12系列單片機(jī)的電機(jī)轉(zhuǎn)速監(jiān)測系統(tǒng),不僅節(jié)約了設(shè)計成本,且系統(tǒng)操作簡便,穩(wěn)定可靠,滿足電機(jī)的測速要求。
1 系統(tǒng)的總體方案設(shè)計
系統(tǒng)由上位機(jī)和下位機(jī)組成。下位機(jī)采用STC12C5410AD單片機(jī)作為主控芯片,絕對式光電編碼器的脈沖輸出信號通過信號調(diào)理電路后送至單片機(jī),單片機(jī)通過自帶的脈沖捕獲模塊,接受連續(xù)的編碼器脈沖信號并計算電機(jī)轉(zhuǎn)速;上下位機(jī)采用RS-232串行接口進(jìn)行通信,將轉(zhuǎn)速計算值傳送到上位機(jī)LabVIEW,通過LabVIEW對轉(zhuǎn)速值進(jìn)行實時處理、顯示和保存?;贚abVIEW的電機(jī)轉(zhuǎn)速監(jiān)測系統(tǒng)總體方案如圖1所示。
2 電機(jī)的測速原理
2.1 絕對式光電編碼器簡介
系統(tǒng)采用A-JXW-12A-11-G8-30C絕對式光電編碼器,該編碼器為11位絕對式軸角編碼器,具有零點固定、單值函數(shù)、抗干擾能力強(qiáng)等特點。結(jié)構(gòu)上采用防塵、防潮措施、耐沖擊、耐振動、體積小、重量輕。能夠測量角位移,旋轉(zhuǎn)速度等,并能將所測結(jié)果以自然二進(jìn)制碼形式輸出。供電電壓12 V,集電極開路輸出,圖2為A-JXW-12A-11-G8-30C絕對式光電編碼器實物圖。
2.2 轉(zhuǎn)速計算方法
設(shè)計采用T法測速,即利用計數(shù)器對已知頻率為的高頻時鐘脈沖進(jìn)行計數(shù),測出電機(jī)相鄰兩個轉(zhuǎn)子位置脈沖信號的時間間隔來計算電機(jī)的轉(zhuǎn)速。在T法測速中,測速時間T是通過記錄高頻時鐘脈沖個數(shù)m得出,即
T=m/f (1)
電機(jī)轉(zhuǎn)動一周轉(zhuǎn)子位置信號含有的脈沖個數(shù)為PN,設(shè)計采用編碼器的最低位進(jìn)行計算,因此PN為1 024,則轉(zhuǎn)速計算公式為
高頻時鐘脈沖為單片機(jī)的晶振頻率2分頻所得,即22.1184/2 MHz,當(dāng)電機(jī)轉(zhuǎn)速為500r/min時,理論上高頻時鐘脈沖計數(shù)值m為1296,若記錄值m為1 295或1 297,T法計算的電機(jī)轉(zhuǎn)速分別為500.4 r/min或499.6 r/min,計算誤差為-0.08%≤△e≤0.08%;當(dāng)電機(jī)轉(zhuǎn)速為1 500 r/min,理論上高頻時鐘脈沖計數(shù)值m為432,若記錄值m為431或433,T法計算的電機(jī)轉(zhuǎn)速分別為1503.5r/min或1496.5r/min,計算誤差為-0.23%≤△e≤0.23%。本方法完全滿足所試驗的開關(guān)磁阻電機(jī)調(diào)速系統(tǒng)的誤差范圍,且測量方法簡單可靠,實用性強(qiáng)。
3 系統(tǒng)硬件電路的設(shè)計
3.1 STC12C5410AD單片機(jī)簡介
STC12C5410AD單片機(jī)是一款單時鐘/機(jī)器周期的微控制器,是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)的8051,但速度快8~12倍。其片上集成了10 kB的程序存儲器Flash、512 Byte的SBAM,有1個可編程的異步串行UART接口,1個可工作于主從模式的SPI串行接口,共2路16位的定時器/計數(shù)器,2路外部中斷,8路10位的高速A/D轉(zhuǎn)換器,速度可達(dá)100 kHz,集成了4路可編程計數(shù)器陣列(Programmable Counter Array,PAC),簡稱PCA,可用于軟件定時器、外部脈沖的捕獲、高速輸出及脈寬調(diào)制輸出。
3.2 編碼器脈沖信號調(diào)理電路
信號調(diào)理電路主要包括:光電隔離電路、施密特整形電路和RC濾波電路。光電隔離采用快速光耦A(yù)2630芯片,完成電平的轉(zhuǎn)換,同時對編碼器信號和單片機(jī)電路進(jìn)行隔離,起到一定的保護(hù)作用。最大輸入頻率為1 MHz,而編碼器的最低位輸出脈沖頻率為26 kHz,因此完全滿足實驗要求;施密特整形電路采用六反相施密特觸發(fā)器74HC14,可將邊沿變化緩慢的周期性信號變換為邊沿較陡的矩形脈沖信號;RC濾波電路主要用于消除矩形脈沖上的高頻干擾信號。
3.3 串行接口通信電路
系統(tǒng)采用STC12C5410AD單片機(jī)作為下位機(jī),PC機(jī)作為上位機(jī),二者通過RS-232串口進(jìn)行通信。單片機(jī)輸出的TTL電平與PC機(jī)串口的RS-232電平不一致,因此需采用MAX232芯片進(jìn)行電平轉(zhuǎn)換,Tin和Rout輸入的是TTL電平,經(jīng)過轉(zhuǎn)化后Tout和Rin輸出為RS-232電平。
系統(tǒng)硬件總體電路如圖3所示。
系統(tǒng)軟件設(shè)計包括下位機(jī)單片機(jī)的軟件設(shè)計和上位機(jī)LabVIEW的軟件設(shè)計。
4 系統(tǒng)軟件設(shè)計
4.1 單片機(jī)的軟件設(shè)計
下位機(jī)程序采用C語言編寫,主要完成脈沖信號捕獲、轉(zhuǎn)速計算和上下位機(jī)串口通信。程序中首先進(jìn)行系統(tǒng)的初始化,包括串口初始化和PCA初始化。在串口初始化中,給寄存器TMOD賦值0x20,將設(shè)定T1定時器工作在方式2,用定時器T1產(chǎn)生波特率,將波特率設(shè)置為115 200;給寄存器SCON賦值0x50使串口工作在方式1下,為10位數(shù)據(jù)的異步通訊,1起始位,8數(shù)據(jù)位,1停止位,無奇偶校驗位。STC12C5410AD單片機(jī)有4路PCA模塊,這里用到PCA模塊0,在PCA初始化中,PCA模式寄存器CMOD賦值0x02,選擇PCA時鐘源為系統(tǒng)時鐘的2分頻;PCA控制寄存器CCON賦值0x00,關(guān)閉PCA計數(shù)器并清除中斷標(biāo)志位;PCA模塊0模式寄存器CCAPM0賦值0x21,設(shè)置PCA0脈沖上升沿捕獲,并使得寄存器CCON的捕獲標(biāo)志CCF0,用來產(chǎn)生中斷;PCA0的16位計數(shù)器CH0和CLO分別賦值0x00,用于存儲時鐘脈沖計數(shù)值。當(dāng)單片機(jī)檢測到脈沖信號上升沿時,進(jìn)入PCA0捕獲中斷,得到PCA0時鐘脈沖的計數(shù)值,并判斷計數(shù)值m是否溢出,再利用式(2)進(jìn)行電機(jī)轉(zhuǎn)速的計算,最后調(diào)用串口發(fā)送程序?qū)?shù)據(jù)傳送到上位機(jī)。單片機(jī)軟件流程圖如圖4所示。
4.2 上位機(jī)LabVIEW程序設(shè)計
上位機(jī)的操作界面采用LabVIEW進(jìn)行可視化編程,主要完成上位機(jī)和下位機(jī)的通信、電機(jī)轉(zhuǎn)速波形的顯示和數(shù)據(jù)保存。設(shè)計使用LabVIEW 8.6版本,其豐富的函數(shù)庫中提供了串口通信函數(shù),使程序的編寫方便快捷。首先通過VISA配置串口(VISA Configure Serial Port)函數(shù)配置串口參數(shù),包括VISA資源名稱、串口波特率、數(shù)據(jù)位、奇偶校驗位和停止位,上位機(jī)的串口配置應(yīng)與單片機(jī)的串口初始化相同,這才能保證數(shù)據(jù)的正確傳輸;VISA讀取(VISA Read)函數(shù)將讀取指定字節(jié)的數(shù)據(jù)到計算機(jī)內(nèi)存中,這里讀取的Byte個數(shù)為4;最后用VISA關(guān)閉(VISA Clo se)函數(shù)關(guān)閉串口資源。
電機(jī)轉(zhuǎn)速波形的顯示是通過波形圖表控件來繪制的,波形圖表控件能夠?qū)崟r顯示若干個數(shù)據(jù)點,而且新輸入的數(shù)據(jù)點添加到已有曲線的尾部進(jìn)行連續(xù)顯示,因此可直觀地反映被測量的變化趨勢。LabVIEW從串口接收到的數(shù)據(jù)形式為字符串,所以在波形數(shù)據(jù)顯示之前需利用十進(jìn)制字符串至數(shù)值轉(zhuǎn)換(Decimal Strings to Number)函數(shù)將字符串中的數(shù)字字符轉(zhuǎn)換成十進(jìn)制整數(shù)。數(shù)據(jù)的保存用寫入文本文件(Write to Text File)函數(shù),將采集數(shù)據(jù)以txt形式進(jìn)行保存,同時可方便地設(shè)置保存路徑和文件名稱。LabVIEW程序框圖如圖5所示。
5 實驗結(jié)果
設(shè)計方案在開關(guān)磁阻電機(jī)調(diào)速系統(tǒng)中進(jìn)行了測試,實驗中電機(jī)的調(diào)速范圍為0~1 500 r/min,對電機(jī)的快速啟動、運行穩(wěn)定性以及快速制動進(jìn)行了實時監(jiān)測。圖6為電機(jī)帶載20N·m,穩(wěn)定運行轉(zhuǎn)速為1 250 r/min時的轉(zhuǎn)速波形圖,測試結(jié)果證明,系統(tǒng)簡潔直觀、動態(tài)實時響應(yīng)快、穩(wěn)定可靠。
6 結(jié)束語
文中設(shè)計了一種基于LabVIEW的電機(jī)轉(zhuǎn)速監(jiān)測系統(tǒng),對系統(tǒng)的硬件和軟件分別進(jìn)行了論述,并在0~1 500 r/min轉(zhuǎn)速范圍內(nèi)的開關(guān)磁阻電機(jī)調(diào)速系統(tǒng)中進(jìn)行了實驗,實驗結(jié)果驗證了設(shè)計方案的可行性。同時,還具備了用LabVIEW編寫上位機(jī)界面,使得系統(tǒng)具有界面友好、操作簡單、調(diào)試方便、可擴(kuò)展性和可移植性強(qiáng)等優(yōu)點。