梁學(xué)修,陳 志,趙 博
(1.中國農(nóng)業(yè)機械化科學(xué)研究院土壤-植物-機器系統(tǒng)技術(shù)國家重點實驗室,北京 100083;2.中國機械工業(yè)集團有限公司,北京 100080)
近年來,隨著現(xiàn)代工業(yè)技術(shù)的快速發(fā)展,在航空、工業(yè)、機械制造領(lǐng)域等的高精度運動控制系統(tǒng)越來越多,對控制精度要求越來越高,而轉(zhuǎn)速測量的方法對整個控制系統(tǒng)的穩(wěn)態(tài)誤差和動態(tài)響應(yīng)性能有至關(guān)重要的作用,其速度分辨能力的高低是實現(xiàn)高精度、大范圍速度測量的重要因素[1]。故實現(xiàn)對電機轉(zhuǎn)速的高精度測量技術(shù)是十分重要的。
光電脈沖編碼器憑借其在價格和性能方面的優(yōu)勢一直是轉(zhuǎn)速檢測的主要器件,本文通過比較分析幾種常用編碼器脈沖檢測的方法[2~4],在原有方法的基礎(chǔ)上采用了一種高精度轉(zhuǎn)速檢測的方法,即等精度測頻法,該方法利用二個計數(shù)器分別計算標(biāo)準(zhǔn)信號的脈沖個數(shù)與實測信號的脈沖個數(shù),最后由公式進行換算。此方法的優(yōu)勢是,不用再進行多個頻段的轉(zhuǎn)換,如果標(biāo)準(zhǔn)頻率高,測量的精度也是會相應(yīng)提高。將此方法用硬件描述語言在FPGA上實現(xiàn),由于FPGA器件具有門時延小、電路穩(wěn)定及良好的時序特性,可方便的對編碼器脈沖進行精確計數(shù),為后續(xù)的轉(zhuǎn)速計算提供保障,可以提高整個測速范圍內(nèi)的檢測精度和動態(tài)響應(yīng)性能。
本文通過檢測光電編碼器的脈沖信號計算電機的轉(zhuǎn)速,其測頻方法采用等精度測頻方法,此方法是在直接測頻方法的基礎(chǔ)上發(fā)展起來的。它的閘門時間T不是固定的值,而是被測信號周期的整數(shù)倍,即與被測信號同步,因此,消除了對被測信號計數(shù)所產(chǎn)生±1的誤差,并且達到了在整個測試頻段的等精度測量[5,6]。其測頻原理時序圖如圖1所示。
圖1 測頻原理時序圖
通過測頻時序圖可看到,在檢測過程中,計數(shù)器同時對被測信號和標(biāo)準(zhǔn)時鐘進行計數(shù)。在預(yù)置門限信號到來時,此時計數(shù)器不開始計數(shù),只有等到被測信號上升沿到來,計數(shù)器開始計數(shù)。之后預(yù)置門限關(guān)閉,如被測信號不是上升沿,則計數(shù)器不停止計數(shù),而是等到被測信號上升沿到來才結(jié)束,如此則消除了對被測信號計數(shù)所產(chǎn)生±1的誤差,完成了1次測量過程。
若被測信號頻率值為fc,標(biāo)準(zhǔn)時鐘頻率fb,光電編碼器線數(shù)為Ze,計數(shù)器對被測信號和標(biāo)準(zhǔn)時鐘信號測得的脈沖數(shù)值分別為Nc和Nb,由于被測時間T相同,故他們之間的關(guān)系為:
設(shè)被測信號的真實頻率為fct,光電編碼器能夠準(zhǔn)確的測試出旋轉(zhuǎn)脈沖,其真實轉(zhuǎn)速為nt,由于被測光電編碼器的頻率信號的計數(shù)器是由該信號的上升沿觸發(fā)計數(shù),下降沿停止計數(shù),故在計數(shù)時間內(nèi)的脈沖個數(shù)Nc為真實值,無誤差。而另一計數(shù)器對標(biāo)準(zhǔn)時鐘頻率信號計數(shù)Nb,在計數(shù)時間內(nèi)最多相差一個脈沖,及有 ,則可推出其真實值為:
從式(6)可以看出,其相對誤差的大小取決于標(biāo)準(zhǔn)時鐘頻率的大小,在被測頻率固定(即電機轉(zhuǎn)速恒定)的時候,標(biāo)準(zhǔn)時鐘頻率越大,誤差也就越小。
本研究采用ALTERA公司2009年推出的Cyclone IV系列FPGA(現(xiàn)場可編程門陣列),其具有較高的集成度、良好的用戶定制性、內(nèi)部電路的穩(wěn)定性也優(yōu)于一般電路,芯片結(jié)構(gòu)主要由六部分組成:基本邏輯單元,時鐘管理電路,嵌入式存儲器,嵌入式乘法器,輸入/輸出單元和大量的布線資源。本文基于性能好成本的考慮,采用60nm低成本的FPGA芯片- EP4CE6F17C8,其速度等級為C8,目的是希望得到最小的門時延[7,8]。
轉(zhuǎn)速測量硬件原理如圖2所示。
圖2 轉(zhuǎn)速測量硬件原理圖
光電編碼器與電機旋轉(zhuǎn)軸直接相連,從而保證編碼器轉(zhuǎn)速與電機同步。在旋轉(zhuǎn)過程中,光電編碼器所產(chǎn)生的兩相(A相、B相)正交編碼脈沖與轉(zhuǎn)速成正比,其相差90°相位角,A相和B相兩個通道關(guān)系是唯一的。如果A相超前B相90°,那么電機的旋轉(zhuǎn)方向被認(rèn)為是正向的。如果A相落后B相90°,那么電機旋轉(zhuǎn)方向則為反向的。Z相位每旋一圈轉(zhuǎn)產(chǎn)生一個脈沖,作為基準(zhǔn)用來確定絕對位置[9]。這三個信號的時序圖如圖3所示。在FPGA內(nèi)進行鑒向和計數(shù),最后按照一定的轉(zhuǎn)速計算公式進行快速計算,繼而獲得電機的實時轉(zhuǎn)速。
圖3 光電編碼器脈沖時序圖
為了方便調(diào)試,縮短開發(fā)周期和工程應(yīng)用方便,本研究采用模塊化方法設(shè)計IP核,IP核采用Verilog HDL的硬件描述語言和Quartus II 開發(fā)軟件。
Verilog HDL的硬件描述語言可以形式化地抽象表示電路的行為和結(jié)構(gòu)[10],采用從上到下的設(shè)計理念,從基本單元出發(fā),對設(shè)計進行逐層劃分,完成對脈沖信號的采集、計數(shù)及旋轉(zhuǎn)方向的判別,其程序原理框圖如圖4所示。
本研究采用配有增量式編碼器的伺服電機作為試驗對象,其編碼器的線數(shù)為2500P/R,轉(zhuǎn)速脈沖信號通過光電隔離等調(diào)理電路進入FPGA,試驗過程中首先通過ModelSim SE軟件進行仿真,之后通過搭建試驗平臺進行電機轉(zhuǎn)速檢測。
圖4 軟件實現(xiàn)原理圖
Verilog HDL程序編譯完成后,為了驗證其正確性,編寫TestBench并在ModelSim SE軟件上直接對代碼進行仿真試驗,檢測源代碼是否符合功能要求,完善設(shè)計。仿真程序編寫了三個模塊:初始化模塊(時鐘和復(fù)位),被測脈沖信號生成模塊和預(yù)置門限信號生成模塊。其仿真結(jié)果如圖5所示,假設(shè)電機轉(zhuǎn)速為500r/min、1000r/min、4000r/min,其對應(yīng)的轉(zhuǎn)速脈沖信號頻率為1.25MHz、2.5MHz、10MHz。
圖5 軟件仿真結(jié)果
通過軟件仿真可以清楚的看到其被測信號檢測脈沖數(shù)為9,標(biāo)準(zhǔn)脈沖信號個數(shù)分別為360、180、45,在時鐘頻率為50MHz情況下,通過式(3)可以得到其被測信號頻率分別為1.25MHz、2.5MHz、10MHz,和設(shè)置頻率一致,并且從仿真結(jié)果中可以看到其旋轉(zhuǎn)方向判斷正確,故說明源代碼其符合功能要求。
在試驗臺上同樣采用低速、中速、高速三種情況下進行測試,其測試曲線如圖6所示。
從圖6可以看出,無論電機處于低速、中速、高速,測試出的電機轉(zhuǎn)速都非常準(zhǔn)確,達到了設(shè)計要求。
試驗結(jié)果表明,用FPGA實現(xiàn)的等精度頻率測量來檢測電機轉(zhuǎn)速,程序設(shè)計簡單,占用系統(tǒng)資源比較少,能夠大大的提高系統(tǒng)的可靠性和穩(wěn)定性,其動態(tài)響應(yīng)性能和測量精度都可以達到很好的效果,在電機伺服控制中可以得到很好是應(yīng)用。
圖6 轉(zhuǎn)速曲線圖
[1] 裘祖榮,石照耀,李巖.機械制造領(lǐng)域測量技術(shù)的發(fā)展研究[J].機械工程學(xué)報,2010,46(14):1-10.
[2] RyszardS, Jozef K.Interpolating time counter with 100 ps resolution on a single FPGA device[J].IEEE Trans.on Instrumentation and Measurement,2000,49(4):879-882.
[3] Jozef K, RyszardS,Ryszard P. Singlechip interpolating timecounter with 200 ps resolution and 43 srange[J].IEEE Trans.on Instrumentation and Measurement,1997,46(4):851-856.
[4] Jozef K. RyszardS.Jerzy P. et al. Field-programmable-gate- arraybased time-to-digital converter with 200 ps resolution[J].IEEE Trans on Instrumentation and Measurement,1997,46(1):51-55.
[5] 莫林.基于FPGA的等精度頻率計的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2004,10(10):81-82.
[6] 李紅剛.基于FPGA的高速等精度頻率測量系統(tǒng)設(shè)計[J].微計算機信息,2008,24(11):218-220.
[7] Cyclone IVDevice Handbook[Z].Volume 1:Altera Corporation,2011.
[8] EDA先鋒工作室.Altera FPGA/CPLD設(shè)計(高級篇)[Z].北京:人民郵電出版社,2005.
[9] 何勇,王生.光電傳感器及其應(yīng)用[M].化學(xué)工業(yè)出版社,2004.
[10] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2003.