0 引言
在现代舰船和空间飞行器上,低频振动是困扰人们的一大难题,如何快速消除振动,降低危害,成为人们比较关注的问题。振动抑制的方法主要有振动被动控制和振动主动控制,振动被动控制虽然不需要外界提供能量,容易实现,但对低频振动控制能力有限,对突发环境应变能力差;而振动主动控制则有较大的灵活性,对低频振动抑制的效果尤其好,成为人们重点研究的方法。
本文针对某类结构的低频振动控制,设计了以TMS320f2812(以下简称F2812)为核心,包含传感器、调理电路、D/A转换电路、功率放大器和作动器的多通道嵌入式振动主动控制系统,结构如图1所示。首先传感器拾取振动信号,经过电荷放大器转换调理为0~3V的电压信号,再经滤波和限幅保护送至DSP内部A/D转换模块进行模一数转换。DSP根据采集的各路振动信号,运行控制算法输出控制量,经过D/A转换电路和功率放大器转换成直接作用在被控对象上的力或力矩,抑制或消除对象振动。为了减小D/A转换阶梯信号产生的高频噪声,又加入了平滑滤波处理。DSP通过JTAG口、仿真器与主机相连,进行控制算法的编译和载入,通过内置SCI模块与主机串行通信,向主机传送振动信号和控制量,以便对控制过程分析评价,对算法改进完善。
1 硬件设计
F2812是一款适用于自动控制的高性能芯片,具有32位定点处理器,150MHz时钟频率,18K×16位的SARAM和128K×16位的Flash存储器,硬件实现乘法运算,处理速度较快;另外具有一些适用于控制系统的内设和接口,如16通道的12位A/D转换器,外部存储器并行接口,SCI串行通信接口和JTAG仿真器接口等,因此在本系统中也应用对电缆分布电容要求不高的电荷放大器作为前置放大器;作动器可以是压电器件,也可以是电磁作动器件,根据对象的需求,需要配置相应的功放。F2812本身不具有D/A转换模块,本文利用MAX547设计实现了F2812的D/A转换电路,可以同时输出8路模拟信号。
1.1 电荷放大器
常用的电荷放大器是一个具有直流反馈的反相积分电路,若要改善电路的低频特性,需要增大直流反馈电阻的阻值,为此我们采用了T型网络来实现较大阻值。如图2所示,Ral7、Ral8和Ral9组成T型网络,等效电阻为:
通过调整Ral7、Ral8和Ral9的大小,可以获得较大的阻值。但在调试的过程中,我们发现随着测量时间的延长,输出仍然会漂移至饱和,为此我们又利用一个一阶同相积分环节取出输出的直流分量,反馈至Ral9的一端,形成自跟随网络,如图2左半部分所示。使用中积分电容要选择漏电流比较小、温漂小、性能比较稳定的电容,放大器要选取高增益、高输入阻抗、低偏置电流、低温漂的运算放大器,才能保证电荷放大器的性能。
1.2 滤波保护电路
在振动主动控制实际应用中所关心的信号频率一般在0.5~200Hz之间,为了滤除低频漂移和不必要的高频信号,本文设计了一个五阶贝塞尔(Bessel)低通和一个一阶高通组成的带通滤波器,五阶贝塞尔低通又分别由两个二阶低通和一个一阶低通组成,它们的参数分别为:通带增益1,截止频率475Hz,Q值0.577;通带增益1,截止频率565Hz,Q值O.737;通带增益1,截止频率530Hz,一、二级二阶低通由单位增益KRC电路实现。
信号在进入DSP的ADC之前应采用加法比例电路调整到0~3V之间,低于0V或超出3V均有损坏DSP的危险,为此我们又加了一个限幅保护电路,如图3所示。1.3 D/A转换电路
本文采用MAX547为核心器件设计实现了F2812的D/A转换电路。MAX547内部包含8个13位的电压输出型D/A转换器,每个DAC之前均有一个输入锁存器和DAC锁存器,可以分别单独选通,进行8路D/A转换。每两路DAC共用一个参考电压,共需要4个独立外部参考电压。MAX547接口信号有3位地址线,分别对8个通道编址选择,有13位数据线,有片选/CS、写入/WR、异步输入/LD和清零/CLR等控制信号,控制信号均是电平触发。这些接口信号均与TTL/CMOS电平匹配,故F2812可直接与MAX547相连而不需进行电平转换。MAX547是±5V双电源供电,输出电压摆幅-4.5 V~4.5V。
当MAX547的写信号/WR和片选信号/CS均为低电平时,并且A0、A1、A2地址信号有效,则对应通道的输入锁存器开通,从数据线上读取转换数值,当/WR和/CS其中一个变为高电平时,数据便被锁入相应输入锁存器。/LD负责开关DAC锁存器,当/LD为低时,DAC锁存器开通,数据由输入锁存器进入DAC锁存器,当/LD变为高电平时,数据便保持在DAC锁存器中,由DAC进行数一模转换。当/LD、/WR和/CS均为低时,数据可以直接传至DAC锁存器,但/LD应比/WR推迟50ns反转高电平。/CLR则可以把DAC转换内容设置成1000H,使模拟输出AGND电压。
F2812具有外部接口(XINTF),可以映像五个独立的外部存储空间,每个存储空间都有一个片选信号。把MAX54.7的8个通道地址分配在外部存储区域0,通过外部接口总线与F2812的连接如图4所示。要想启动MAX547内部DACA、DACB、DACC、DACD、DACE、DACF、DACG、DACH进行数-模转换,则分别向地址D9H、B2H、B3H、F4H、F5H、7EH、7FH写入需要转换的数据即可。对于MAX547需要的四个独立参考电压,系统中采用一个精密基准电压芯片REF02提供标准电压,经过四个电压跟随器进行缓冲。REF02输出5V标准电压,经过转换以后,可以输出大小可调的标准电压。跟随器选用MAX494,在PCB设计时,为减小电路引线的干扰,好把MAX494运放的输入端直接与MAX547参考电压输入端相连,如图4所示。另外为了减小D/A转换阶梯波造成的高频噪声,还设计了低通滤波器。
1.4 RS232接口
F2812内部有两个异步串行接口(SCI),每个都有收发缓冲寄存器、收发移位寄存器和用于接受发送的16级深度FIFO。接收和发送的波特率可以编程设定,可达64K。系统中F2812需要通过SCI与主机通信,而F2812外围接口是3.3VCMOS色平,计算机串口是RS-232电平,故两者之间需进行电平转换。MAX3232一款常用的RS-232电平转换芯片,接口电路如图5所示。
2 软件设计
DSP控制算法由主程序和中断服务子程序两部分组成,程序流程图如图所示。在主程序中,主要是初始化系统控制寄存器、看门狗、系统时钟、GPIO口、中断向量表和一些外设等,设置ADC的采样序列、SCI的通信波特率和外部存储器接口的访问时序,然后设置计时器的计时周期、计数模式和计时中断等,进入等待计时中断状态。中断服务子程序主要完成以下功能:首先关中断,初始化计算变量;接着对ADC相应通道的输入信号进行A/D转换,取出采样值预处理,运行控制算法计算出控制量,通过写D/A的通道地址输出控制量进行D/A转换,终输出控制模拟信号驱动作动器减振;通过SCI与主机通信,上传振动信号和控制量;后则对ADC、SCI和计时器中断进行相关设置,开全局中断,为下次运行中断服务子程序做准备。中断服务子程序运行完毕则返回主程序,进入等待中断状态,等待下一次的计时中断,如此循环往复。
3 总结
本文设计的以TMS320F2812为控制核心的嵌入式振动主动控制系统,利用F2812内置的A/D模块可以同时采集多路振动信号,利用MAX547实现的D/A转换电路可以输出8路控制信号,能够实现多输入多输出的振动主动控制,贴近工程实用。利用本系统已经对一个舰船浮筏成功地进行了多输入多输出振动主动控制。