耿 鵬,劉夢覺,王 勁
(武漢船用電力推進(jìn)裝置研究所,武漢430064)
電機(jī)轉(zhuǎn)速測量系統(tǒng)的設(shè)計(jì)和改進(jìn)
耿鵬,劉夢覺,王勁
(武漢船用電力推進(jìn)裝置研究所,武漢430064)
電機(jī)轉(zhuǎn)速測量系統(tǒng)是電力推進(jìn)控制系統(tǒng)中的重要組成部分,目前采用的轉(zhuǎn)速測量系統(tǒng)普遍存在測量精度和抗干擾性差的問題。本文研究了基于1784板卡和增量式光電編碼器的精確轉(zhuǎn)速測量系統(tǒng),通過硬件和軟件上的改進(jìn)有效提高了測量系統(tǒng)的精度和抗干擾能力,實(shí)現(xiàn)了轉(zhuǎn)速和轉(zhuǎn)子角的精確測量,為之后電機(jī)轉(zhuǎn)速測量系統(tǒng)的設(shè)計(jì)提供了借鑒。
轉(zhuǎn)速測量增量式編碼器QNX系統(tǒng)PCI-1784板卡
船舶電力推進(jìn)系統(tǒng)以其體積小、重量輕、配置靈活、高可靠性和低噪聲、高效率等優(yōu)點(diǎn)日益受到關(guān)注,并將逐步取代傳統(tǒng)的機(jī)械推進(jìn)方式,成為未來船舶的主要推進(jìn)方式。
如圖1所示,典型船舶電力推進(jìn)系統(tǒng)主要由船舶運(yùn)動(dòng)控制系統(tǒng)、電力系統(tǒng)和電力推進(jìn)系統(tǒng)構(gòu)成。船舶控制系統(tǒng)由駕控臺(tái)和通信線路組成,發(fā)送船舶控制指令到執(zhí)行系統(tǒng);電力系統(tǒng)由發(fā)電機(jī)組和配電板組成,提供電源和輸送電力;電力推進(jìn)控制系統(tǒng)由推進(jìn)變壓器、變頻器、推進(jìn)電機(jī)和控制系統(tǒng)組成,它接收船舶運(yùn)動(dòng)控制系統(tǒng)發(fā)出的指令,通過控制電機(jī)轉(zhuǎn)速以控制船速。由此可見,對(duì)船舶運(yùn)動(dòng)的控制最終歸結(jié)為對(duì)電機(jī)轉(zhuǎn)速的控制,而電機(jī)轉(zhuǎn)速的測量在整個(gè)控制系統(tǒng)中有重要地位。
目前大多數(shù)船舶推進(jìn)控制系統(tǒng)采用增量式光電編碼器完成對(duì)電機(jī)轉(zhuǎn)速的測量。增量式光電編碼器主要由與電機(jī)轉(zhuǎn)軸同軸旋轉(zhuǎn)的碼盤和靜止的光電元件構(gòu)成,碼盤上設(shè)計(jì)了不同的齒、槽結(jié)構(gòu)。電機(jī)轉(zhuǎn)子帶動(dòng)碼盤轉(zhuǎn)動(dòng),當(dāng)齒部擋住光電元件的光路時(shí),光電開關(guān)輸出高電平,反之輸出低電平,控制器通過檢測光電開關(guān)發(fā)出的電平信號(hào)來計(jì)算電機(jī)的轉(zhuǎn)速和轉(zhuǎn)子位置。其結(jié)構(gòu)和原理如圖2所示[1]。
對(duì)于分辨率為5000的增量式光電編碼器,編碼器每旋轉(zhuǎn)一周,輸出5000個(gè)A脈沖信號(hào),5000 個(gè)B脈沖信號(hào)和一個(gè)Z脈沖信號(hào)。A、B信號(hào)用來計(jì)數(shù)和判斷電機(jī)旋轉(zhuǎn)方向,Z信號(hào)則為校正信號(hào)。
對(duì)于轉(zhuǎn)速測量系統(tǒng),由于控制器不能直接采集高頻的A、B信號(hào),所以需要一個(gè)專用計(jì)數(shù)器對(duì)A、B信號(hào)進(jìn)行計(jì)數(shù),并利用Z信號(hào)作計(jì)算的校正。在工控機(jī)平臺(tái)上搭建的轉(zhuǎn)速測量系統(tǒng)結(jié)構(gòu)如下圖,其中PCI-1784板卡是編碼器專用計(jì)數(shù)器板卡。
Advantech公司生產(chǎn)的PCI-1784板卡是基于PCI總線的正交編碼器計(jì)數(shù)器板卡。該板卡采樣率最高可以達(dá)到8MHz,可支持4路32位正交AB相編碼器加減同步計(jì)數(shù),支持包括Z信號(hào)中斷在內(nèi)的多種中斷方式。通過對(duì)PCI-1784板卡內(nèi)部寄存器進(jìn)行配置,完成外部信號(hào)的輸入方式和計(jì)數(shù)模式、中斷源選擇等設(shè)定;通過對(duì)PCI-1784板卡內(nèi)部寄存器進(jìn)行訪問,可以得到當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值和中斷標(biāo)志等信息。
增量式編碼器的原理決定了若A、B信號(hào)受到干擾,會(huì)導(dǎo)致位置計(jì)數(shù)不準(zhǔn),角度計(jì)算產(chǎn)生偏差并累積,最終導(dǎo)致控制紊亂。為了消除這個(gè)偏差,需要通過Z信號(hào)的中斷服務(wù)函數(shù)對(duì)計(jì)算進(jìn)行定期校正。
2.1QNX系統(tǒng)下PCI-1784板卡的功能實(shí)現(xiàn)
本系統(tǒng)工控機(jī)中使用的QNX操作系統(tǒng)是遵從POSIX規(guī)范的類Unix實(shí)時(shí)操作系統(tǒng)。在QNX系統(tǒng)中,所有外設(shè)都被視為特定的寄存器并有唯一的中斷向量號(hào)。通過對(duì)應(yīng)寄存器的讀寫完成外設(shè)的操作,而中斷向量被用來作中斷標(biāo)志。
PCI-1784板卡在系統(tǒng)中的配置和操作包括以下幾個(gè)步驟[2]:
1)通過Pci_attach_device函數(shù)獲取PCI-1784板卡的基地址和中斷向量號(hào);
2)配置PCI-1784板卡,設(shè)定輸入方式為兩相輸入、計(jì)數(shù)模式為增量式、計(jì)數(shù)器初始值為0、中斷選擇為Z信號(hào)上升沿中斷;
3)通過InterrutAttachEvent函數(shù)對(duì)PCI-1784對(duì)應(yīng)的中斷向量設(shè)定CPU監(jiān)聽;
4)通過InterrpuUnmask函數(shù)開放中斷響應(yīng);
5)在中斷執(zhí)行函數(shù)中,通過InterruptWait函數(shù)監(jiān)聽中斷,等待中斷發(fā)生;
6)中斷到來后,讀取PCI-1784中斷標(biāo)志寄存器判斷中斷是否是PCI-1784板卡產(chǎn)生,并執(zhí)行相應(yīng)操作;
7)中斷函數(shù)完成后,需要讀取一次特定寄存器以清除中斷標(biāo)志并執(zhí)行InterrpuUnmask重新開放中斷;
總結(jié)PCI-1784板卡中斷服務(wù)進(jìn)程流程圖如下。
2.2轉(zhuǎn)速計(jì)算程序?qū)崿F(xiàn)與改進(jìn)
轉(zhuǎn)速測量采用固定周期的一次差計(jì)算方法[3,4],用相鄰兩個(gè)測量周期上的編碼器計(jì)數(shù)值的差值除以時(shí)間間隔得到轉(zhuǎn)速。在QNX程序中給轉(zhuǎn)速測量程序分配一個(gè)時(shí)鐘,每個(gè)時(shí)鐘周期內(nèi)讀取一次1784板卡的計(jì)數(shù)值,并計(jì)算當(dāng)前的轉(zhuǎn)子位置角,而轉(zhuǎn)速計(jì)算是在轉(zhuǎn)子轉(zhuǎn)動(dòng)一周后(即每一個(gè)Z信號(hào)產(chǎn)生中斷之后)完成的。這樣做即保證了轉(zhuǎn)子位置角和轉(zhuǎn)速測量的精度,也有效的節(jié)省了系統(tǒng)計(jì)算資源。
實(shí)際中由于AB信號(hào)脈沖計(jì)數(shù)的丟失會(huì)造成一定的測量誤差。在電機(jī)矢量控制過程中,前饋解耦計(jì)算對(duì)轉(zhuǎn)速的精度要求較高,誤差要求在1%以內(nèi),因此,需要對(duì)一次差方法做一些改進(jìn)。本文采用最小二乘法計(jì)算轉(zhuǎn)速,最小二乘法的公式為:
圖5(a),(b)分別為一次差計(jì)算和最小二乘法計(jì)算出的轉(zhuǎn)速。
轉(zhuǎn)速測量程序的程序流程圖如圖6。其中,計(jì)算使能在PCI-1784板卡的Z信號(hào)中斷中置位,在轉(zhuǎn)速計(jì)算后清零。計(jì)算校正量是為了校正每次計(jì)數(shù)器清零后第一次讀取編碼器的計(jì)數(shù)值偏差,同時(shí)對(duì)AB信號(hào)的丟失也有校正作用。程序執(zhí)行過程中,計(jì)數(shù)值的變化如下圖所示。
如前文所述,作為轉(zhuǎn)子位置角度計(jì)算值的校正信號(hào),Z信號(hào)的正確捕捉非常重要。然而,實(shí)際中可能出現(xiàn)Z信號(hào)丟失或誤捕捉的情況。主要原因有二:其一是由于Z信號(hào)為短脈沖,若捕捉單元靈敏度不夠,易造成Z信號(hào)丟失;其二是由于線路干擾,特別是長距離傳輸?shù)膽?yīng)用中,Z信號(hào)上會(huì)耦合出干擾脈沖,由于捕捉單元的靈敏度高,有可能將一些干擾脈沖也當(dāng)做Z信號(hào)造成識(shí)別錯(cuò)誤。
如圖8、9所示,當(dāng)Z信號(hào)到來時(shí)PCI-1784的計(jì)數(shù)器清零,轉(zhuǎn)子位置角的計(jì)算值跳變?yōu)槌跏贾?,若觸發(fā)正常,跳變的差值會(huì)是2PI的倍數(shù),對(duì)坐標(biāo)變換無影響;若是誤觸發(fā),則會(huì)造成角度上的跳變,坐標(biāo)變換發(fā)生錯(cuò)誤,直接影響之后的矢量運(yùn)算和反饋,導(dǎo)致控制紊亂。從圖8中可以看到控制器發(fā)送給變頻器的指令值Ua上出現(xiàn)的畸變,圖9是由此造成的電機(jī)轉(zhuǎn)子電流畸變的結(jié)果。
圖8 Z軸信號(hào)與角度計(jì)算的關(guān)系
圖9角度計(jì)算錯(cuò)誤引起的轉(zhuǎn)子電流畸變
為解決Z信號(hào)干擾問題,提出三種解決方案[5,6]:
1)軟件處理方案。通過上圖可知,計(jì)數(shù)器的值通常在20000左右清零,這是由于電機(jī)轉(zhuǎn)動(dòng)一圈編碼器輸出的A、B信號(hào)數(shù)量是固定的。所以,可以在Z信號(hào)中斷處理函數(shù)中加入條件判斷,只在計(jì)數(shù)器的值在20000附近時(shí)做處理。這種方法操作性強(qiáng)且可以有效地減少Z信號(hào)的誤采率,但是依賴AB信號(hào)的計(jì)數(shù)精度,若AB計(jì)數(shù)丟失較多,這種方法將使得計(jì)數(shù)器不能正常清零;
2)硬件處理方案。造成Z信號(hào)易受干擾的重要原因之一是由于它是一個(gè)短時(shí)脈沖,占空比不到1%,所以,可以在編碼器輸出后級(jí)將Z脈沖拉長再傳輸。下面是分別利用74HC123振蕩芯片和DQ鎖存器搭建的信號(hào)處理電路,可以將Z信號(hào)調(diào)理為長脈沖或方波。
Z信號(hào)脈沖寬度拉長之后,在接收端可以降低濾波電路的截止頻率以提高濾波效果。若濾波后Z信號(hào)上升沿變緩,可以在濾波之后加上一級(jí)施密特觸發(fā)器以改善Z信號(hào)的波形。
3)信號(hào)傳輸改進(jìn)。對(duì)于長距離傳輸,或者現(xiàn)場空間電磁干擾較大的情況可以將編碼器的電信號(hào)轉(zhuǎn)換成光信號(hào)進(jìn)行傳輸。這樣做在增強(qiáng)抗干擾性和拉長傳輸距離的同時(shí),也將編碼器和采集卡隔離,以免系統(tǒng)有電氣上的耦合。光電轉(zhuǎn)換模塊可以用1414和2412配合邏輯芯片構(gòu)成。
在本系統(tǒng)中,同時(shí)使用了以上方法對(duì)系統(tǒng)加以改進(jìn),得到了準(zhǔn)確的Z信號(hào)。經(jīng)計(jì)數(shù)器板卡和控制器處理后,得到的轉(zhuǎn)子角度比較準(zhǔn)確,指令值沒有發(fā)生畸變或者跳變,轉(zhuǎn)子電流波形良好,效果如圖。
本文通過一個(gè)基于工控機(jī)、PCI-1784板卡和增量式旋轉(zhuǎn)編碼器的電機(jī)轉(zhuǎn)速測量系統(tǒng)實(shí)例,說明了典型轉(zhuǎn)速測量系統(tǒng)的原理,并通過硬件和軟件的改進(jìn),提高了轉(zhuǎn)速的測量精度,提高了系統(tǒng)的抗干擾能力,最終實(shí)現(xiàn)了電機(jī)轉(zhuǎn)速和位置角的精確測量。
[1]T Senjyu, Y Kuwae, N Urasaki, K Uezato. Accurate parameter measurement for high speed permanent magnet synchronous motors[J]. Pesc Record-ieee Power Electronics Specialists Conference, 2001, 2:772-777.
[2]何王勇, 唐小琦, 曹毅. 基于 Linux 實(shí)時(shí)平臺(tái)的PCIl784 精密測量技術(shù)[J]. 控制與檢測, 2008, 7: 55-58.
[3]王麗梅, 郭慶鼎. 基于轉(zhuǎn)子凸極跟蹤的永磁同步電機(jī)轉(zhuǎn)子位置的自檢測方法[J]. 電工技術(shù)學(xué)報(bào),2001,(02): 28-31.
[4]貴獻(xiàn)國, 徐殿國, 王宗培. 電機(jī)轉(zhuǎn)子位置檢測方案評(píng)述[J]. 微電機(jī)(伺服技術(shù)), 1999.
[5]徐磊, 程明, 趙文祥. 一種增量式光電編碼器 Z信號(hào)處理方法研究. 微電機(jī), 2010,43(7): 85-87.
Design and Improvement of Motor Speed Measurement System
Geng Peng,Liu Mengjue,Wang Jin
(Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China)
The motor speed measurement system presented is one of the most important components of electric propulsion control system and the measurement accuracy and anti-jamming capability are the most common problems of the speed measurement system currently used.This paper studies an accurate speed measurement system based on PCI-1784 board and incremental optical-electrical encoder.By improving the hardware and software of the system,high accuracy and anti-jamming capability are increased.The system can be referenced in the designs of motor speed measurement system in the future.
motor speed measurement;incremental optical-electrical encoder;QNX system;PCI-1784
TM301.2
A
1003-4862(2016)07-0028-04
2015-12-09
耿鵬(1988-),男,碩士。研究方向:船舶電力推進(jìn)系統(tǒng)。