應用TMS32OF2812的振動主動控制系統(tǒng)設計
0 引言
在現(xiàn)代艦船和空間飛行器上,低頻振動是困擾人們的一大難題,如何快速消除振動,降低危害,成為人們比較關注的問題。振動抑制的方法主要有振動被動控制和振動主動控制,振動被動控制雖然不需要外界提供能量,容易實現(xiàn),但對低頻振動控制能力有限,對突發(fā)環(huán)境應變能力差;而振動主動控制則有較大的靈活性,對低頻振動抑制的效果尤其好,成為人們重點研究的方法。
本文針對某類結構的低頻振動控制,設計了以TMS320f2812(以下簡稱F2812)為核心,包含傳感器、調理電路、D/A轉換電路、功率放大器和作動器的多通道嵌入式振動主動控制系統(tǒng),結構如圖1所示。首先傳感器拾取振動信號,經(jīng)過電荷放大器轉換調理為0~3V的電壓信號,再經(jīng)濾波和限幅保護送至DSP內部A/D轉換模塊進行模一數(shù)轉換。DSP根據(jù)采集的各路振動信號,運行控制算法輸出控制量,經(jīng)過D/A轉換電路和功率放大器轉換成直接作用在被控對象上的力或力矩,抑制或消除對象振動。為了減小D/A轉換階梯信號產(chǎn)生的高頻噪聲,又加入了平滑濾波處理。DSP通過JTAG口、仿真器與主機相連,進行控制算法的編譯和載入,通過內置SCI模塊與主機串行通信,向主機傳送振動信號和控制量,以便對控制過程分析評價,對算法改進完善。
1 硬件設計
F2812是一款適用于自動控制的高性能芯片,具有32位定點處理器,150MHz時鐘頻率,18K×16位的SARAM和128K×16位的Flash存儲器,硬件實現(xiàn)乘法運算,處理速度較快;另外具有一些適用于控制系統(tǒng)的內設和接口,如16通道的12位A/D轉換器,外部存儲器并行接口,SCI串行通信接口和JTAG仿真器接口等,因此在本系統(tǒng)中也選用對電纜分布電容要求不高的電荷放大器作為前置放大器;作動器可以是壓電器件,也可以是電磁作動器件,根據(jù)對象的需求,需要配置相應的功放。F2812本身不具有D/A轉換模塊,本文利用MAX547設計實現(xiàn)了F2812的D/A轉換電路,可以同時輸出8路模擬信號。
1.1 電荷放大器
常用的電荷放大器是一個具有直流反饋的反相積分電路,若要改善電路的低頻特性,需要增大直流反饋電阻的阻值,為此我們采用了T型網(wǎng)絡來實現(xiàn)較大阻值。如圖2所示,Ral7、Ral8和Ral9組成T型網(wǎng)絡,等效電阻為:
通過調整Ral7、Ral8和Ral9的大小,可以獲得較大的阻值。但在調試的過程中,我們發(fā)現(xiàn)隨著測量時間的延長,輸出仍然會漂移至飽和,為此我們又利用一個一階同相積分環(huán)節(jié)取出輸出的直流分量,反饋至Ral9的一端,形成自跟隨網(wǎng)絡,如圖2左半部分所示。使用中積分電容要選擇漏電流比較小、溫漂小、性能比較穩(wěn)定的電容,放大器要選取高增益、高輸入阻抗、低偏置電流、低溫漂的運算放大器,才能保證電荷放大器的性能。
1.2 濾波保護電路
在振動主動控制實際應用中所關心的信號頻率一般在0.5~200Hz之間,為了濾除低頻漂移和不必要的高頻信號,本文設計了一個五階貝塞爾(Bessel)低通和一個一階高通組成的帶通濾波器,五階貝塞爾低通又分別由兩個二階低通和一個一階低通組成,它們的參數(shù)分別為:通帶增益1,截止頻率475Hz,Q值0.577;通帶增益1,截止頻率565Hz,Q值O.737;通帶增益1,截止頻率530Hz,一、二級二階低通由單位增益KRC電路實現(xiàn)。
信號在進入DSP的ADC之前應采用加法比例電路調整到0~3V之間,低于0V或超出3V均有損壞DSP的危險,為此我們又加了一個限幅保護電路,如圖3所示。
1.3 D/A轉換電路
本文采用MAX547為核心器件設計實現(xiàn)了F2812的D/A轉換電路。MAX547內部包含8個13位的電壓輸出型D/A轉換器,每個DAC之前均有一個輸入鎖存器和DAC鎖存器,可以分別單獨選通,進行8路D/A轉換。每兩路DAC共用一個參考電壓,共需要4個獨立外部參考電壓。MAX547接口信號有3位地址線,分別對8個通道編址選擇,有13位數(shù)據(jù)線,有片選/CS、寫入/WR、異步輸入/LD和清零/CLR等控制信號,控制信號均是電平觸發(fā)。這些接口信號均與TTL/CMOS電平匹配,故F2812可直接與MAX547相連而不需進行電平轉換。MAX547是±5V雙電源供電,輸出電壓擺幅-4.5 V~4.5V。
當MAX547的寫信號/WR和片選信號/CS均為低電平時,并且A0、A1、A2地址信號有效,則對應通道的輸入鎖存器開通,從數(shù)據(jù)線上讀取轉換數(shù)值,當/WR和/CS其中一個變?yōu)楦唠娖綍r,數(shù)據(jù)便被鎖入相應輸入鎖存器。/LD負責開關DAC鎖存器,當/LD為低時,DAC鎖存器開通,數(shù)據(jù)由輸入鎖存器進入DAC鎖存器,當/LD變?yōu)楦唠娖綍r,數(shù)據(jù)便保持在DAC鎖存器中,由DAC進行數(shù)一模轉換。當/LD、/WR和/CS均為低時,數(shù)據(jù)可以直接傳至DAC鎖存器,但/LD應比/WR推遲50ns反轉高電平。/CLR則可以把DAC轉換內容設置成1000H,使模擬輸出AGND電壓。
F2812具有外部接口(XINTF),可以映像五個獨立的外部存儲空間,每個存儲空間都有一個片選信號。把MAX54.7的8個通道地址分配在外部存儲區(qū)域0,通過外部接口總線與F2812的連接如圖4所示。要想啟動MAX547內部DACA、DACB、DACC、DACD、DACE、DACF、DACG、DACH進行數(shù)-模轉換,則分別向地址D9H、B2H、B3H、F4H、F5H、7EH、7FH寫入需要轉換的數(shù)據(jù)即可。對于MAX547需要的四個獨立參考電壓,系統(tǒng)中采用一個精密基準電壓芯片REF02提供標準電壓,經(jīng)過四個電壓跟隨器進行緩沖。REF02輸出5V標準電壓,經(jīng)過轉換以后,可以輸出大小可調的標準電壓。跟隨器選用MAX494,在PCB設計時,為減小電路引線的干擾,最好把MAX494運放的輸入端直接與MAX547參考電壓輸入端相連,如圖4所示。另外為了減小D/A轉換階梯波造成的高頻噪聲,還設計了低通濾波器。
1.4 RS232接口
F2812內部有兩個異步串行接口(SCI),每個都有收發(fā)緩沖寄存器、收發(fā)移位寄存器和用于接受發(fā)送的16級深度FIFO。接收和發(fā)送的波特率可以編程設定,最高可達64K。系統(tǒng)中F2812需要通過SCI與主機通信,而F2812外圍接口是3.3VCMOS色平,計算機串口是RS-232電平,故兩者之間需進行電平轉換。MAX3232是一款常用的RS-232電平轉換芯片,接口電路如圖5所示。
2 軟件設計
DSP控制算法由主程序和中斷服務子程序兩部分組成,程序流程圖如圖所示。在主程序中,主要是初始化系統(tǒng)控制寄存器、看門狗、系統(tǒng)時鐘、GPIO口、中斷向量表和一些外設等,設置ADC的采樣序列、SCI的通信波特率和外部存儲器接口的訪問時序,然后設置計時器的計時周期、計數(shù)模式和計時中斷等,進入等待計時中斷狀態(tài)。中斷服務子程序主要完成以下功能:首先關中斷,初始化計算變量;接著對ADC相應通道的輸入信號進行A/D轉換,取出采樣值預處理,運行控制算法計算出控制量,通過寫D/A的通道地址輸出控制量進行D/A轉換,最終輸出控制模擬信號驅動作動器減振;通過SCI與主機通信,上傳振動信號和控制量;最后則對ADC、SCI和計時器中斷進行相關設置,開全局中斷,為下次運行中斷服務子程序做準備。中斷服務子程序運行完畢則返回主程序,進入等待中斷狀態(tài),等待下一次的計時中斷,如此循環(huán)往復。
3 總結
本文設計的以TMS320F2812為控制核心的嵌入式振動主動控制系統(tǒng),利用F2812內置的A/D模塊可以同時采集多路振動信號,利用MAX547實現(xiàn)的D/A轉換電路可以輸出8路控制信號,能夠實現(xiàn)多輸入多輸出的振動主動控制,貼近工程實用。利用本系統(tǒng)已經(jīng)對一個艦船浮筏成功地進行了多輸入多輸出振動主動控制。