姚碧輝,竺春祥,鄧立唯,王斌銳
(中國計量大學(xué) 機電工程學(xué)院,浙江 杭州 310018)
電機測試的準(zhǔn)確度和便利性在電機的生產(chǎn)評價過程中占據(jù)了重要的地位。在電機測試中,臺架測試為主流的測試方法[1],即在國標(biāo)要求下,先將電機置于一定的工作條件,如相應(yīng)的負(fù)載、轉(zhuǎn)速、溫度、濕度等,再通過各種技術(shù)手段采集電機的各項工作參數(shù)[2]。其中包括電參量和非電參量,電參量主要包括電壓、功率、效率等,需要通過一定的調(diào)理電路來獲得。而非電參量主要包括轉(zhuǎn)矩和轉(zhuǎn)速信號,一般通過傳感器來獲得。
現(xiàn)行的測試系統(tǒng)有許多缺陷,大多測試系統(tǒng)的信號采集處理模塊和控制輸出模塊是兩個獨立的模塊,無法實現(xiàn)閉環(huán)測試的功能。而兼顧采集和輸出的系統(tǒng)大部分情況下功能單一,只能在單一的測試平臺中的針對性測試項目中使用,可升級性較差,無法兼容現(xiàn)在基于負(fù)載模擬等研究的各種測試項目[3]。
因此,本文研制一套用于電機-測功機測試平臺的測試系統(tǒng),舍棄現(xiàn)在常用的板卡結(jié)構(gòu),將采集和輸出功能兼容在一個較小的核心板中,在能夠高速高精度采集轉(zhuǎn)矩轉(zhuǎn)速信號的同時,可以輸出多種模擬信號,甚至任意輸入的外部信號,在滿足基本測試要求的同時還提供更多樣的測試可能。
非電參量測試的結(jié)構(gòu)如圖1[4]:被測電機的運動軸與測功機的運動軸通過聯(lián)軸器相連。通過電機測試系統(tǒng)給控制系統(tǒng)命令,令控制系統(tǒng)輸出電機控制器的相應(yīng)參考信號,分別控制被測電機和測功機,以此來模擬電機的工作條件。而聯(lián)軸器中間接轉(zhuǎn)矩轉(zhuǎn)速傳感器采集電機的非電參量,并反饋給控制系統(tǒng)。
圖1 電機-測功機平臺示意圖Figure 1 Schematic diagram of motor-dynamometer platform
為了實現(xiàn)可以搭載復(fù)雜系統(tǒng)的測試平臺,鑒于FPGA時鐘頻率高、內(nèi)部延時小、邏輯速度快的優(yōu)點[5],結(jié)合STM32強大的內(nèi)核,成熟的開發(fā)體系和豐富的外設(shè)資源[6],該測試平臺設(shè)計使用FPGA結(jié)合STM32的雙核心體系。
具體設(shè)計框圖如圖2,FPGA和STM32使用FSMC進(jìn)行通信,在FPGA中實現(xiàn)數(shù)據(jù)采集測量和模擬控制量輸出的功能,在STM32中進(jìn)行上位機通訊,實現(xiàn)數(shù)據(jù)中轉(zhuǎn)和人機交互的功能。
圖2 電機測試系統(tǒng)功能示意圖Figure 2 Schematic diagram of motor test system function
為了滿足實際中復(fù)雜多變道路環(huán)境的高精度模擬,結(jié)合現(xiàn)行電機測試系統(tǒng)的設(shè)計參數(shù),設(shè)計模擬信號的輸出頻率范圍為1 Hz~1 MHz,模擬信號可以輸出標(biāo)準(zhǔn)的正弦波信號,方波信號和三角波信號,標(biāo)準(zhǔn)信號的頻率幅值相位等均可調(diào)。還提供外部信號類型輸入,峰峰值范圍為1~10 V,輸出誤差低于1%。
根據(jù)上述設(shè)計要求,該模塊選擇使用直接數(shù)字合成(Direct Digital Synthesuzer,DDS)原理。這種技術(shù)不僅可以產(chǎn)生高帶寬高精度可變頻的各種調(diào)制信號,同時還能產(chǎn)生用戶自定義的有限帶寬任意信號。并且該技術(shù)產(chǎn)生的波形輸出相位是連續(xù)變化的,具有很好的頻譜特性[7]。圖3為該系統(tǒng)的DDS的設(shè)計原理圖,與基礎(chǔ)DDS設(shè)計相同,由參考時鐘、相位累加器、波形存儲器、DAC和低通濾波器(Low Pass Filter,LPF)組成。圖3中,fdclk為參考時鐘頻率,Afre為頻率控制字,Bpha(為相位累加器位數(shù),Bwma為波形存儲器地址位數(shù),Lwmd為波形存儲器的數(shù)據(jù)位字長和DAC位數(shù)[8]。
DDS系統(tǒng)的核心是波形儲存器,即對目標(biāo)波形做離散化處理后將數(shù)字信息通過存儲技術(shù)在硬件中進(jìn)行儲存,每個數(shù)據(jù)都有相應(yīng)的地址位,然后在軟件中做相位累加器,對波形儲存器做循環(huán)尋址,將目標(biāo)地址的數(shù)據(jù)按順序輸出給DAC進(jìn)行連續(xù)的輸出,生成離散的波形圖像,最后通過LPF生成連續(xù)平滑的目標(biāo)曲線,具體生成流程如圖4。
圖3 系統(tǒng)DDS設(shè)計原理圖Figure 3 Schematic diagram of DDS design in the system
圖4 DDS模擬信號生成流程圖Figure 4 DDS analog signal generation flowchart
頻率控制字實際上是波形存儲器中的地址增量值,即尋址步長,根據(jù)參考時鐘fdclk的頻率在加法器中進(jìn)行累加,當(dāng)相位累加器溢出后,再開始尋址的下一個周期。重復(fù)輸出波形儲存器相應(yīng)地址的寄存數(shù)據(jù),生成一串連續(xù)的離散信號。因此,頻率控制字Afre越大,相位累加器產(chǎn)生溢出的速度越快,完成一個輸出周期的速度就越快。所以改變頻率控制字,可以改變輸出波形的頻率,輸出頻率為
(1)
當(dāng)Afre=1時,系統(tǒng)有最小分辨率,即
(2)
在此基礎(chǔ)上,在相位累加器中設(shè)置初始相位Apha,實現(xiàn)對初相位的設(shè)置,對波形儲存器的輸出進(jìn)行Aamp倍的放大,對幅值進(jìn)行控制。對完整波形進(jìn)行Aoff位的偏移,即可實現(xiàn)偏移功能。因此瞬時輸出為
y=AampF(TAfre+Apha)+Aoff。
(3)
DDS誤差主要來源有相位截斷,幅度量化和DAC的非理想特性。具體來源如圖5。
圖5 DDS誤差模型Figure 5 DDS error model
相位截斷誤差是由相位累加器的位數(shù)大于波形存儲器地址寬度造成的[9],誤差的平均功率為[10]
E[Pa]=(-6.02Lwmd-4.77)dB。
(4)
幅度量化誤差是由波形存儲器的字長限制造成的,誤差的平均功率為[10]
E[Pp]=(-6.02Bwma+8.18)dB。
(5)
而DAC誤差是由器件誤差造成的,可以通過選擇精度更高的DAC進(jìn)行改善[11]。
根據(jù)式(4)和式(5),當(dāng)Bwma=Lwmd+2時,相位截斷誤差和幅度量化誤差的噪聲功率差不多,因此Bwma的取值一般可以選擇等于或稍大于Lwmd+2。
在GB/T18488.2—2015《電動汽車用驅(qū)動電機系統(tǒng) 第2部分:試驗方法》中,對電機測試的取點原則進(jìn)行了規(guī)定,即取點必須包含必要的特征點[12]。而現(xiàn)在先進(jìn)的電動汽車電機,加速時間已經(jīng)低于3 s。為了滿足在短時間內(nèi)采到足夠多的點來覆蓋標(biāo)準(zhǔn)點,系統(tǒng)設(shè)計為最低1 ms的采集測試時間。再綜合考慮市面上的先進(jìn)產(chǎn)品,設(shè)計測頻最大誤差為0.1%。
與此同時,該系統(tǒng)應(yīng)用的數(shù)字式轉(zhuǎn)矩轉(zhuǎn)速傳感器JN338的輸出最大頻率為6 000 Hz,綜合測試頻率范圍和對于測試的實時性要求,該系統(tǒng)選擇測周法(T法)作為系統(tǒng)的測頻模塊設(shè)計方法。
圖6為測周法的原理圖,信號b為被測信號,信號a為參考信號,通過測量信號a在被測信號b周期內(nèi)計數(shù)次數(shù)m,用計數(shù)次數(shù)m乘以Ta,其中Ta是信號a的周期,得到的結(jié)果可以近似為被測信號的周期時間長度Tb:
Tb=mTa。
(6)
考慮到測試上升沿的時間差,測試誤差為
ΔN=Δt1-Δt2。
(7)
而信號b的測量精度為
(8)
圖6 測周法原理示意圖Figure 6 Schematic diagram of the cycle- measuring method
根據(jù)上節(jié)分析,在精度要求為0.1%的情況下,最大輸出頻率為6 000 Hz,所以基頻在大于等于360 MHz時滿足測試要求。
該系統(tǒng)選擇了Altera Cyclone Ⅳ系列的FPGA,基頻為120 MHz左右,最高可倍頻到600 MHz,為了滿足要求,選擇將基頻倍頻到400 MHz,即滿足設(shè)計要求,也不過于高頻影響設(shè)計的基本時序。被測頻率的計算公式為
(9)
式(9)中,f為被測頻率,m為基礎(chǔ)頻率計算數(shù)量,即輸出數(shù)據(jù)。
根據(jù)轉(zhuǎn)矩轉(zhuǎn)速傳感器的計算公式,可以得到被測的轉(zhuǎn)矩轉(zhuǎn)速與被測頻率的關(guān)系如式(10)~(11)所示。式中,n為轉(zhuǎn)速,Mp為正向轉(zhuǎn)矩,Mr為反向轉(zhuǎn)矩,N為轉(zhuǎn)矩滿量程,f為實測轉(zhuǎn)矩輸出頻率值,fp為正向滿量程輸出頻率值,fr為反向滿量程輸出頻率值。
n=f,
(10)
(11)
(12)
因此轉(zhuǎn)速轉(zhuǎn)矩和系統(tǒng)中的采集計數(shù)值的關(guān)系為
(13)
(14)
(15)
其中mT和mv分別為轉(zhuǎn)矩測試輸出頻率的系統(tǒng)計數(shù)值和轉(zhuǎn)速測試輸出頻率的系統(tǒng)計數(shù)值。
為了保證數(shù)據(jù)的連續(xù)性,系統(tǒng)分別在FPGA和STM32上都設(shè)計了兩個ROM緩沖區(qū)用作乒乓操作,乒乓模塊的原理如圖7[13]。
圖7 乒乓操作示意圖Figure 7 Schematic diagram of ping-pong operation
圖中黑色箭頭為數(shù)據(jù)流方向,為模塊設(shè)計一個開關(guān),當(dāng)Bank A未滿,Bank B滿時,開關(guān)為開,數(shù)據(jù)流如圖7所示,輸入數(shù)據(jù)選擇進(jìn)入Bank A,而Bank B的數(shù)據(jù)輸出,再經(jīng)過FSMC到STM32。當(dāng)Bank A存滿后,將Bank B清空,新的數(shù)據(jù)再進(jìn)入Bank B,由Bank A輸出數(shù)據(jù)。周而復(fù)始,達(dá)到數(shù)據(jù)的穩(wěn)定傳輸。
雙核心板之間的通信使用FSMC總線協(xié)議[14],而STM32與上位機的通信使用LwIP協(xié)議[15]。
本文設(shè)計采用AD9767為波形發(fā)生主芯片。AD9767是一種高速處理芯片,其中信號以電流的形式輸出,滿量程輸出為20 mA。在實際應(yīng)用中,使用了ACM9767的DA集成模塊,該模塊在DA芯片輸出口,使用兩級運算放大電路,第一級將輸出放大為-1~+1 V,第二級將輸出放大到-5~+5 V。
電機轉(zhuǎn)速傳感器輸出信號可能包含電機干擾,需要在FPGA和傳感器中間設(shè)計一個隔離模塊,保護系統(tǒng)不受輸入端干擾甚至損壞。為了高性能和壓縮空間,該系統(tǒng)選擇ADUM1210隔離模塊,該芯片為高性能雙通道數(shù)字隔離器,低頻通道寬度失真低于3 ns,帶寬達(dá)到10 Mbps,滿足系統(tǒng)設(shè)計需求,硬件電路設(shè)計圖如圖8。
圖8 隔離電路設(shè)計圖Figure 8 Isolation circuit design diagram
在選擇完核心硬件后,還需要將硬件模塊集成到一個底板上,由于輸入輸出信號涉及到高速高頻,為了保證數(shù)據(jù)的準(zhǔn)確傳輸,在底板設(shè)計中需要對同一數(shù)據(jù)源的線路進(jìn)行等長處理,最后設(shè)計完成的集合板如圖9。
圖9 系統(tǒng)底板實物圖Figure 9 Physical map of the system backplane
3.1.1 模擬量加載模塊
信號加載的設(shè)計使用DSP Builder的設(shè)計方法,在Matlab/Simulink中直接對整個系統(tǒng)進(jìn)行設(shè)計模擬,仿真成功后,通過Signal Compiler對模型進(jìn)行編譯,生成可以直接導(dǎo)入FPGA軟件的程序文件模擬量加載的實現(xiàn)框圖如圖10,該系統(tǒng)設(shè)計采用位寬14位的DAC來進(jìn)行波形的數(shù)模轉(zhuǎn)換,分辨率可以達(dá)到1/214。根據(jù)上文的誤差分析,正弦波的波形存儲器地址位數(shù)設(shè)計為14+2=16,因此尋址范圍達(dá)到216=65 536個點。系統(tǒng)時鐘fdclk為100 MHz,相位累加器的位寬為27,由此計算頻率的最小分辨率為
(15)
對Simulink模型驗證無誤后,打開模型中的Signal Compiler模塊,設(shè)置好相應(yīng)參數(shù)后,把模型文件轉(zhuǎn)換成VHDL代碼、綜合及Quartus Ⅱ適配。最后生成.qip文件,在工程中將該文件進(jìn)行例化。
3.1.2 數(shù)字量采集測試模塊
該模塊直接在Quartus Ⅱ中對代碼進(jìn)行編寫,在設(shè)計中使用測周法對頻率進(jìn)行測試,具體設(shè)計框圖如圖11,對輸入信號先進(jìn)行同步,再進(jìn)行邊沿檢測,然后對基頻進(jìn)行計數(shù),到第二次上升沿到來后,將計數(shù)值送入寄存器。而為了保證數(shù)據(jù)的時序,對輸出設(shè)置使能,1 ms輸出一個數(shù)據(jù)入FIFO。
圖10 DDS軟件設(shè)計原理圖Figure 10 DDS software design schematic diagram
圖11 測頻軟件設(shè)計原理圖Figure 11 Schematic diagram of frequency measurement software design
為了保證系統(tǒng)的可升級性和有序性,為STM32設(shè)計了基于FreeRTOS的輕量級操作系統(tǒng)。操作系統(tǒng)中設(shè)計五個線程,分別為網(wǎng)絡(luò)連接,網(wǎng)絡(luò)通信,信息分析,模擬信號指令處理和測頻數(shù)據(jù)中轉(zhuǎn),其中網(wǎng)絡(luò)連接的優(yōu)先級高于其他線程。線程中間的信息傳輸使用消息隊列的方式,具體線程和消息隊列框圖如圖12。
圖12 STM32操作系統(tǒng)設(shè)計圖Figure 12 STM32 operating system design diagram
需要設(shè)計完整可操作的上位機,設(shè)計框圖如圖13。設(shè)計完成后的交互界面如圖14。
圖13 上位機軟件設(shè)計圖Figure 13 Host computer software design drawing
圖14 上位機前面板示意圖Figure 14 Schematic diagram of the front panel of the host computer
通過上位機給系統(tǒng)輸出1 MHz三種波形的指令,并通過示波器對輸出波形進(jìn)行記錄。輸出示意圖如圖15~17,可以看到該模塊輸出頻率可達(dá)到1 MHz,且輸出穩(wěn)定。
圖15 正弦波信號輸出示波器圖Figure 15 Sine wave output oscilloscope diagram
圖16 方波輸出示波器圖Figure 16 Square wave output oscilloscope diagram
圖17 三角波輸出示波器圖Figure 17 Triangle wave output oscilloscope diagram
動態(tài)模擬量的調(diào)制參數(shù)有頻率、峰峰值、偏置,因此分別對這些參數(shù)進(jìn)行誤差測試。首先對頻率誤差進(jìn)行測試,針對每種波形,從低頻到高頻,取40個測試點,按照低頻間隔小,高頻間隔大的規(guī)律進(jìn)行取點,測試結(jié)果圖如圖18。
圖18 輸出頻率相對誤差Figure 18 Relative error of output frequency
由圖18可知,正弦波在1 MHz時有最大誤差0.7%,三角波在1 MHz時有最大誤差2%,方波在700 kHz時有最大誤差0.4%。正弦波和方波在范圍內(nèi)頻率均滿足設(shè)計要求,三角波在800 kHz內(nèi)滿足設(shè)計要求。
然后對輸出峰峰值進(jìn)行誤差測試,對頻率取對數(shù),從1 Hz到1 MHz,共取6個點,針對每個頻率點,再取10個峰峰值點,每個峰峰值間隔1 V,共10×6=60個測試點進(jìn)行測試,測試結(jié)果如圖19~21。
圖19 正弦波輸出峰峰值相對誤差Figure 19 Sine wave output peak-to-peak relative error
圖20 方波輸出峰峰值相對誤差Figure 20 Square wave output peak-to-peak relative error
圖21 三角波輸出峰峰值相對誤差Figure 21 Triangle wave output peak-to-peak relative error
該系統(tǒng)輸出正弦波在峰峰值為1 V,頻率值為1 Hz時有峰峰值最大相對誤差0.3%,方波在峰峰值為1 V,頻率值為10 kHz時有最大峰峰值相對誤差0.36%,而三角波在峰峰值為1 V,頻率值分別為1 kHz和100 kHz時有最大相對誤差0.2%。均滿足設(shè)計要求。
最后對偏置進(jìn)行誤差測試,只取直流偏置進(jìn)行計算,在偏置范圍內(nèi),從-5 V到+5 V,共取10個點進(jìn)行測試。輸出的相對誤差如圖22,即輸出偏置最大相對誤差不超過0.2%。
圖22 偏置電壓相對誤差Figure 22 Relative error of bias voltage
由信號發(fā)生器在輸入端輸入不同的標(biāo)準(zhǔn)頻率信號,記錄由系統(tǒng)輸出數(shù)據(jù)后根據(jù)公式計算頻率結(jié)果,誤差精確到小數(shù)點后三位,結(jié)果如表1。由表1可知,在測試范圍內(nèi),誤差均在0.01%以下,滿足測試要求,且頻率越低,精度越高。
表1 頻率測試結(jié)果
為了對數(shù)據(jù)采集的實時性進(jìn)行測試,同時進(jìn)一步確認(rèn)該系統(tǒng)可以應(yīng)用于電機測試平臺,因此在電機測試臺架上進(jìn)行進(jìn)一步的測試,實物平臺如圖23。
圖23 電機測試系統(tǒng)實物平臺Figure 23 Motor test system physical bench
對被測電機取900 r/s為目標(biāo)轉(zhuǎn)速,參考電壓為3 V。測功機不給轉(zhuǎn)速和轉(zhuǎn)矩信號。首先將測試系統(tǒng)接上電機測試平臺,開始接收數(shù)據(jù),然后輸出直流偏置電壓3 V,一段時間后停止數(shù)據(jù)接收。取其中一段離線數(shù)據(jù)進(jìn)行繪圖分析,如圖24。
圖24 電機測試平臺階躍響應(yīng)Figure 24 Step response of motor test platform
圖中2~2.5 s中間有50個數(shù)據(jù)點,根據(jù)國標(biāo)要求,可以完整地繪制出電機轉(zhuǎn)速階躍響應(yīng)的幾個標(biāo)準(zhǔn)點。因此,該測試系統(tǒng)的數(shù)據(jù)接收可以實時地測試出電機的轉(zhuǎn)速變化,提供可靠的電機測試環(huán)境。
本文設(shè)計了一個兼容性強,具有較大升級空間的綜合測試系統(tǒng)??梢约虞d高精度的動態(tài)模擬信號,并且能夠?qū)?shù)字信號進(jìn)行采集測頻。模擬信號采用DDS的方式進(jìn)行合成,可對幅值、頻率、偏置等參數(shù)進(jìn)行范圍內(nèi)的調(diào)制,輸出波形的相位連續(xù)性高,可提供更豐富的測試內(nèi)容,模擬電機運行場景。測頻使用測周法可滿足低頻段測頻精度高且實時性高的要求。經(jīng)過驗證,該系統(tǒng)在測頻范圍內(nèi)的輸出相對誤差小于等于0.01%,滿足設(shè)計要求。