呂存璞,葉 明,姚志遠
(南京航空航天大學機械結構強度與振動國家重點實驗室,江蘇 南京 210016)
超聲電機是一種新型微特電機,其工作原理是通過壓電材料的逆壓電效應,使定子在超聲頻段微幅振動,依靠摩擦將振動轉換成動子的旋轉(直線)運動。超聲電機具有體積小,重量輕、結構緊湊、響應快、無電磁干擾等優點,在航天宇航和軍事裝備等領域有著廣泛的應用前景[1]。
近些年來,我國在超聲電機控制方面,提出了一些控制理論,并搭建了一些用于超聲電機驅動的實際驅動與控制電路。2010年,薛雯玉碩士研究了基于DSP芯片的超聲電機驅動控制器,但驅動電路仍以傳統的模擬電路為主,精度不高,不能實時的調頻、調相。2011年,孫霖碩士研究了基于DSP/FPGA的超聲電機驅動控制器,利用DDS技術產生數字正弦波,雖然提高了精確度和實時性,但是浪費了很多芯片的邏輯資源,也不利于驅動控制電路的小型化。
本文使用Altera公司的EP3C40Q240C8芯片設計了一種以FPGA為核心、基于SOPC技術和NiosⅡ軟核處理器的新型超聲電機驅動控制器。在FPGA內部用SOPC(可編程片上系統)的思想定制了一個NiosⅡ軟核處理器作為控制運算部分,用Verilog語言編寫出了頻率、相位、幅度都可調的DDS模塊和光柵反饋計數模塊,這樣的一個閉環系統在滿足控制精度和實時性的同時具有良好的靈活性和可重構性,并且做到了以極少的硬件資源和高度集成的系統結構去控制超聲電機運行,便于驅動控制電路的小型化。
本文提出的超聲電機驅動控制系統由控制驅動器和功放/升壓電路組成。圖1是以FPGA為核心構建的超聲電機驅動控制電路。超聲電機的驅動機理要求驅動器必須提供在超聲頻段內兩相具有一定相位差的同頻、等幅正弦交流電,電壓在幾十伏到幾百伏之間。該電路的功能全部由FPGA的軟件實現,控制和輸出正弦交流電,大大提高了控制系統的穩定性和精確性,并使控制系統電路板的面積大幅度縮小,一塊控制板可以同時控制數個超聲電機。

圖1 超聲電機驅動控制電路框圖Fig.1 Drive control circuit of ultrasonic motor
此驅動控制系統用FPGA內部編寫的DDS模塊輸出兩路具有一定相位差的正弦波數據,然后通過DA芯片轉成正弦波信號,經過功率放大之后,最后用變壓器抬高電壓。
該電路加載超聲電機后輸出的波形如圖2所示,波形變的光滑很多。當超聲電機在運行過程中發生頻率漂移的情況時,系統也能夠從速度的改變量來調整相應的驅動輸出,不會出現電機速度不穩定的現象[2]。

圖2 加載電機后的輸出波形Fig.2 Output waveform after loading the motor
圖3是超聲電機控制驅動電路中FPGA內部的構架。其設計的核心是可裁剪的Nios II軟核和發出正弦信號的DDS模塊以及讀取光柵編碼器反饋脈沖的計數模塊。

圖3 FPGA內部系統設計Fig.3 Internal system design of FPGA
1.2.1 Nios II系統的搭建
Nios II是Altera公司開發的軟核32位的RISC微處器,作為一個采用硬件描述語言編寫的軟核,Nios II可以通過內帶的Avalon總線機制與其他采用HDL語言描述的硬件接口模塊組成 Nios系統一起嵌入到 Altera的 Stratix、Cyclone或APEX系列的FPGA中,從而構成一個可編程片上系統設計[3]。
首先要構建一個基于Nios II的最小系統,這個系統的組件都在SOPC Builder提供的IP核中,依次選擇Nios II處理器、EPCS控制器、SDRAM控制器、JTAG模塊。其中,Nios II實現MCU的功能,SDRAM和EPCS控制器組件用來連接外部存儲器,JTAG模塊實現程序的調試與下載。除此以外,我們還需要用到串口接收上位機發送來的數據以及定時器中斷,因此在系統中添加UART模塊和定時器模塊。最后,處理器要控制DDS模塊的運行并且接收光柵計數模塊計算出的脈沖數,還需要添加一些I/O口用作數據的傳輸。這樣,FPGA內部的一個NIOS系統就構建完成了[4]。
1.2.2 DDS模塊
直接數字頻率合成器(Direct Digital Frequency Synthesizer)是一種基于全數字技術,從相位概念出發直接合成所需波形的一種頻率合成技術。基本原理是以數控振蕩器的方式,產生頻率、相位可控制的正弦波、余弦波、三角波、三角波、方波等波形[5]。圖4所示為DDS的基本結構。

圖4 DDS的基本結構Fig.4 Basic structure of DDS
圖4中,fc為時鐘頻率,K為頻率控制字,N為相位累加器的字長,D為ROM數據線寬度。
輸出頻率fo由fc和K共同決定,即

從而,DDS的最小分辨率Δ fmin可達

本文的DDS設計主要分為3個模塊:控制字接收模塊,用來與NIOS系統進行通信,接收來自上位機的控制字;波形存儲器模塊,用來產生驅動信號所需要的波形,本文只需要產生正弦波;相位累加器模塊,用來產生頻率和相位,本文是將接收到的頻率和相位控制字轉化為實際的頻率和相位。
1.2.3 脈沖計數模塊
脈沖計數模塊由濾波和計數兩部分構成,主要是為了讀取光柵編碼器反饋回來的信息,從而實現對電機的精確定位和速度控制。本文使用的光柵編碼器,其分辨率為0.5um/count,輸出A+/A-、B+/B-2路差分信號,為將編碼器的差分輸出轉換成單端脈沖信號,本文選用了26LS32AC差分轉單端芯片實現差分信號的轉換[6]。轉換后的兩路信號A、B是一組正交脈沖信號,電機朝不同方向運動時,A、B兩路信號之間的相位關系會發生轉換,從而判斷電機運行的方向。因此,根據這一特性,在FPGA中,用Verilog語言編寫了一個實現正交編碼脈沖電路的功能的計數模塊。
同時,為了進一步消除光柵反饋信號可能產生的窄脈沖干擾信號,本控制器將轉換后的單端信號進一步濾波。主要過程是:在采集某一狀態信號時,利用比該狀態信號更高頻率的采樣時鐘對其進行多次重復采集,直到多次采集結果完全一致時才視為有效信號輸出。然后再將濾波過后的信號發送給正交編碼脈沖電路進行辨向和計數。
電機工作時,FPGA通過串口接收來自上位機發送的數據至Nios II處理器中,經過程序處理之后,得出電機運行的方式(步進、連續)、運行的距離等信息,Nios II處理器通過控制DDS模塊的起停時間來控制驅動信號的有無進而控制電機的運動過程。電機運行時的位移和速度的實際信息可以從光柵編碼器的反饋信號中得出,計數器模塊計算出脈沖數的值發送給Nios II處理器,處理器通過具體的控制算法改變DDS輸出信號的幅值、頻率、相位從而對電機的運行狀態做出進一步的調整[7]。這樣,一個完整的閉環控制系統就由一塊FPGA芯片實現了。
由于超聲電機在一定的頻率范圍內,它的速度隨著頻率的增大而減小,因此我們可以通過控制正弦信號的頻率來保證超聲電機速度的穩定性[8]。
本實驗使用的直線超聲電機在33.8 kHz附近運行的比較穩定,所以選用33.8 kHz作為直線超聲電機的實驗頻率。首先研究直線超聲電機在不加入任何的控制算法時,它的速度穩定性,實驗結果如圖5所示。

圖5 電機速度曲線Fig.5 Speed curve of the motor
由上圖可以看出不加控制算法直接運行,超聲電機的速度不是很穩定。如果在Nios II處理器中加入一些控制算法去控制電機運行時的頻率,速度的穩定性會有顯著的改善。以增量式PID算法為例:

u(k)是頻率,e(k)是第 K次采樣時目標速度與當前速度的差值[9]。通過上面的公式算出頻率的改變量,發送新的頻率控制字給DDS模塊,改變驅動信號的頻率,從而達到控制電機運行速度的效果。圖6為加入PID算法后電機的速度曲線。

圖6 加入PID算法后電機的速度曲線Fig.6 Speed curve after adding PID algorithm
由此可見,引入控制算法的超聲電機驅動,電機的速度波動要遠遠的小于直線超聲電機在不引入算法時的波動。這很好的解決了直線超聲電機在運動過程中的速度穩定性問題。
對一個單軸直線超聲電機運動平臺進行精確定位實驗。此精密運動平臺在脈沖寬度為3.5 μs時有著比較穩定的輸出特性,步進距離大約在100 nm左右。使用“連續+步進”的方式進行精度測試,連續運動至預定目標處,然后利用微小步進進行調整。英國REN-ISHAW公司的XL-80激光干涉儀系統作為本次實驗的測定系統,將激光干涉儀顯示數據與定位距離進行比較[10]。實驗表明,此超聲電機直線運動平臺的定位精度可以達到1 μm。

圖7 平臺的測試系統Fig.7 Test system for the platform

表1 電機在定位距離1 000 μm下的實際運行距離Tab.1 Actual operation of the motor under the positioning clistance of 1 000 μm
文中利用SOPC技術,將波形發生模塊和微處理器模塊以及脈沖計數模塊巧妙地集成到一片FPGA內部,利用可編程邏輯的靈活性和Nios II的強大處理能力,實現了超聲電機驅動控制電路的設計。采用SOPC方案進行系統設計,充分利用FPGA的可編程性,整個開發過程變得靈活方便,在不改變任何外圍電路的情況下可以對系統進行軟硬件升級,延長系統的壽命周期,同時大大提升了系統的性能和系統的集成度,降低了系統的開發成本,這正是相對于其他方案的優勢,也符合當今科技的發展方向。
[1]趙淳生.超聲電機技術與應用[M].北京:科學出版社,2007.
[2]周余地.基于DSP的超聲電機驅動控制電路[C]//第十六屆中國小電機技術研討會,2011:221-225.
[3]TIAN Li-yu.Implementation of a kind of FPGA-based binary phase coded radar signal processor architecture[J].Journal of Beijing Institute ofTechnology,2012,24(4):526-531.
[4]蘭林俊.基于NIOS的SCSI應用系統設計[J].微型電腦應用,2008,24(7):38-41.
LAN Lin-jun.SCSI application system design based NIOS[J].Microcomputer Applications,2008,24(7):38-41.
[5]孫霖.基于DDS技術的直線型超聲電機驅動信號的實現[C]//第五屆全國振動利用工程學術會議,2012.
[6]馬熠.基于NIOS的數據采集系統網絡接口設計[J].計算機測量與控制,2005,13(12):1419-1422.
MA Yi.The network interface design of data acquisition system network interface design based NIOS[J].Computer Measurement and Control,2005,13(12):1419-1422.
[7]HUI Dong.Combining Task Scheduling in Power Adaptive Dynamic Reconfigurable System[J].Journal of Electronic Science and Technology,2012,10(4):296-301.
[8]ZHANG Jian-tao.Development of servo control technique on ultrasonic motors[J].Electric Machines and Control,2009,13(6):879-885.
[9]LI Hua-feng.A novel ultrasonic motor driver with independently controllable variables[J].Electric Machines and Control,2010,14(9):88-92.
[10]薛雯玉.直線超聲電機的三維運動平臺和驅動控制系統[C]//第十六屆中國小電機技術研討會,2011:226-232.