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