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