微型硬盘是本系统的受控对象。加速度传感器、前置放大器等构成系统的测量模块;控制器按基础传感信号和控制策略发出控制信号;电磁执行装置为作动器;功率放大器将控制信号放大并提供控制的能源,以驱动作动器产生执行动作。该控制系统的工作原理是先由基础加速度传感器拾取基础振动冲击加速度信号,经前置放大器后信号送入控制器,然后在控制器中完成对信号的一次积分(转换为速度信号)和二次积分(转换为位移信号)运算,并将二次积分结果做求和运算,之后控制信号输入功率放大器,最后将功率放大器输出信号以控制电压的形式加在执行机构上,这样执行机构便会产生相应的作动力,从而抵消来自基础的振动和冲击。& W" G6 j. Q8 L& i
; F$ [/ _8 l, Y1 r# T: u& L) b# m3 数字控制系统的硬件设计从1982年TI(美国德州仪器公司)推出通用可编程DSP以来,DSP技术取得了迅猛的发展。目前DSP市场主要由TI、ADI、ATT和Motorola公司占据。本文综合实际要求,采用一款由TI公司生产的TMS320F243型16位定点DSP。它集成了A/D、PWM调制等几种先进外设,特别适用于对电机的数字化控制。
3.1 控制系统的基本原理
数字信号处理器(简称DSP)具有实时信号处理能力和强大的运算功能。为此笔者构建了以DSP为核心的数字控制系统。它首先通过A/D转换器完成对电荷放大信号及一次、二次积分系统数的采样,再由DSP按照一定的控制算法对采样到的信号进行 运算,最后将结果经D/A转换器送入功率放大器后输出。由于DSP内集成了10位A/D转换器,所以可直接将模拟信号与DSP相接。
3.2 DAC接口与外部存储器扩展
系统中的D/A器件选用了URR-BROWN公司的DAC7611。由于DSP内部10位ADC的电压输入范围为0~5V,输入信号经ADC转换后用数值0~1023(10进制数)分别对于0~5V的电压信号。所以DSP的输入信号已不是正负对称信号。加之DAC7611的输出范围为0~4.095V,而系统后级中功率放大器的输入应是零均值的,所以需要对DAC输出信号利用运算放大器进行电平变换。另外,DAC7611对于时钟信号的要求非常严格,要求时钟信号的上升沿发生在每一位数据的传送过程中。而TMS320F243的SPI(串行外设接口)是一个高速、同步串行I/O口,它可以设置每次产生的串行数据流的位数(1~16位),并且位传输速度也可以编程控制。SPI的时钟输出信号线SPICLK能够提供4种类型的时钟信号。其中有一种带延时的上升沿时钟,可使SPI在上升沿之前的半个周期内发送数据,或在SPICLK信号上升沿后接收数据,这恰好符合DAC7611对时钟信号的要求。另外,由于DSP的片内资源有限,因此设计中在片外扩展了用于存放数据的CY71021型RAM,其读写时间为12ns,与DSP的速度匹配,并且该RAM不工作时会自动采用低功耗工作方式。在利用DSP的串行外设接口向DMA传送数据时,系统还采用光耦器件对数/模电路进行隔离。
由于系统加电后,程序首先是从片内的FLASHROM开始执行的,所以一定要把引脚MP/MC接成微处理器方式。
4 数字控制系统的软件设计
4.1 控制算法
经过深入研究和大量的分析、计算,得出该系统的机电动力学模型:
I, A) x, Z3 P+ d" ]
系统的传感检测方程:
2 ^# \4 u$ X/ B }% i) d+ @其中,u为基础振动加速度,C1和K1分别为与基础振动相关的二次积分和一次积分系数。
设u为u的电荷放大信号,根据控制要求,该系统主要利用DSP完成以下运算:
# t8 {5 U: Z: E采用均值补偿法对积分结果进行修正,从而实现数字系统的控制。将上式离散化则生成
- q& L$ i: _8 p8 x
显然,这需要二次积分运算,其运算过程如下:
& E* F' q$ y( h( J5 W其中,m1(n)和m2(n)分别是一、二次积分运算的均值。
4.2 系统软件设计与实现
系统头文件(扩展名为.h)的主要功能是将DSP内部的各个特殊功能寄存器的名称与其默认地址相对应。这样,在汇编语言的执行过程中,DSP指令便会直接按寄存器名称去访问头文件中规定的地址。命令文件(扩展名为.cmd)实际上是DSP的资源配置文件,在PAGE0页(程序空间)它定义了各程序模块的起始地址和空间长度、片内外各程序段和中断矢量表的定义等;在PAGE1页(数据空间)它定义了各数据模块的起始地址和空间长度、各种参数和片内外数据区的定义等。此外,应注意遵守DSP实际存储器及存储空间的约定。
5 m* g5 |- E; r# s0 `; `+ f' f- ~+ l* r) N' l7 r @