0 引 言
微操作已在许多应用领域得到了应用,特别是在纳微米级的定位系统中,要求传感器能检测出微小的力和位移的信息。目前用于微位移检测的原理较多,如光学式、磁和电感式、电容式和压电式等,但这些大多不便用于机器人对微小的多维力和位移信息的获取。为了将技术成熟的多维力传感器用于微力和微位移信息获取,中科院合肥智能所机器人传感器实验室在改造多维力传感器结构参数的同时,充分利用德州仪器(TI)的MSCl210单片机的许多新特性,如其自带的8路24位高精度∑-△A/D转换器、可编程增益放大(PGA)和滤波器等,实现了对力和位移的高精度测量。本文主要从微型机的应用角度展开探讨,希望能为提高传感器的集成化程度、分辨率、稳定性和人机交互能力有所帮助。
1 多维力传感器特点与MSCl210简介
微位移传感器结构主要借鉴实验室的机器人六维腕力传感器结构特点,在设计中同样采用双E型膜片结构。首先用改进的二维力传感器来检测作用于物体上的X和Y 两维上的力信息,再将其换算成平面的位移信息。同时,它在机器人六维力传感器基础上改变了相关的结构参数,如量程和灵敏度等,以便实现对微小的力和位移信息的获取。
MSCl210具有一些增强特性,特别适合测量高精度温度、压力传感器等输出的微弱信号。MSCl210主要包括增强型8052微控制器核心、闪存、高性能模拟功能和高性能外设。增强型8052微控制器核心包括双数据指示器,执行指令的速度比标准8052核心快3倍。这种MIPS功能使用户能够根据特殊需求优化速度、功率及噪声。图1是MSCl210 ADC的方框图。
高精度微位移传感器电路模块的核心是MSCl210单片机。它完成微弱信号的多路切换、信号缓冲、PGA编程放大、24位∑一△A/D转换、数字滤波、数据处理、信号校准以及UART通信等功能。以下结合微位移传感器的使用做简要介绍。
MSC1210输入复用器比一般ADG灵活,它的每个输入引脚均可针对特定的测量而配置成正输入或负输入。与启动ADC部件通常定义输入对相比,MSC1210可把一个引脚定义为负输入,把另一个定义为正输入,使设计方便自由。微位移传感器一组桥路输出分别接MSC1210 ADC的AIN0与AIN1,作为一路差分输入;另一组桥路输出分别接MSC1210 ADC的AIN2与AIN3,作为第二路差分输入。ADMUX寄存器初始化赋值为:ADMUX=Ox01。
按照TI公司的MSC1210的数据说明,输入缓冲器可降低ADC测量中偏移的可能性。只要输入信号的特征允许,就应该采用它。惟一不采用输入缓冲器的情况是,其中一个模拟输入上的最大电压低于正轨电压高于1.5 v。不带缓冲器时,MSC1210的输入阻抗是5 MΩ/PGA。启用缓冲器时,该阻抗一般为10 GΩ。输入电压范围缩小,同时模拟电源电流升高。在不是上述“惟一”的情况下,实验中并没有使用缓冲,而是清零ADC控制寄存器(ADCONO.3)中的 BUF位,即关闭缓冲,取得的效果却较为理想,传感器的零点输出偏差变化较小。
可编程增益放大器(PGA)的增益可设置为1,2,4,8,16,32,64或128。利用PGA可大大提高ADC的有效分辨率。当然增益设置要合理,否则噪声也随之放大。实验中微位移传感器的增益设置为64(准确地说,应该是MSCl210 ADC的PGA的增益)。
MSC1210数字滤波器有快速建立、sinc2或sinc3三种,还有一个自动模式。在输入信道或PGA改变后,自动模式可把sinc滤波器修改到最佳的可用选项。在切换到新的信道后,它可把快速建立滤波器用于下两次转换,其中的第一次转换应被抛弃。然后,使用sinc2、随后使用sinc3滤波器来提高噪声性能。这种操作可以同时融合sinc3滤波器的低噪声优势和快速恢复时间滤波器的快速响应。数字滤波器中的sinc是数字滤波器中FIR滤波器的一种,常用在△一∑的ADC。当输入信道突然变化时,输出需要一定时间来正确表示新的输入。所需要的时间取决于所采用的滤波器的类型。sinc2通常代表需要2个周期的数据输出时间,sinc3代表需要3个周期的数据输出时间,其他需要1个周期的数据输出时间。通俗地说,若采用sinc3滤波器,则当输入信道改变后,最先采样输出的3个数据不能使用,应该抛弃;只有第4个输出数据是可使用的。这一点至关重要。
MSC1210既可以采用内部参考电压,也可以采用外部参考电压。参考电压的开机配置是内部2.5 V。通过ADCON0寄存器可以选择参考电压。实验中启用了内部参考电压,通过设置ADCON0.4(VREFH)选择为1.25 v。需要注意的是,启用内部VREF并不会消除外部连接需要。REFOUT引脚必须仍连接到VREF+,而VREF-必须仍连接到AGND,以便内部 VREF能够正常操作。由于篇幅限制,MSC1210 ADC的其他功能在此不做介绍。
2 传感器的硬件组成
由于MSC1210 ADC的高度集成化,硬件系统构成很简洁。图2是微位移传感器的部分效果图。应变电阻片通过特殊的工艺,并且按照特定的方向被粘贴到E型膜片的表面上,连接组成两组自动解耦的惠斯通全桥电路,作为原始的力信息的模拟输出。小巧的电路板被放置于圆形的孔径之中。
图3为实验系统的电路结构示意图。实验系统主要由传感器本体(输出原始的模拟信号),MSC1210核心,串口通信电路和PC机组成。如前所述,微位移传感器一组桥路输出分别接MSC1210 ADC的AIN0与AIN1,作为一路差分输入;另一组桥路输出分别接MSC1210 ADC的AIN2与AIN3,作为第二路差分输入。MSC1210通过RS 232与PC机通信,实现信息的显示和对MSC1210的控制。
3 MSC1210数据采集系统的软件设计
对MSC1210 ADC的各个控制字的设置将会极大地影响传感器的最终分辨率和稳定性。例如,输入缓冲器使用与否、可编程放大器增益的选择、调制器时钟速度选择(决定模拟采样率以及滤波器型号的选择)等,这些参数的设定都不是一次完成的,有些要经过反复的组合、尝试,最终得到满意的结果。为了避免每次修改程序后必须重新下载到FLASH程序存储器中,MSC1210在工作之前的ADC的初始化工作由PC机完全控制。首先,PC机将各种必要的控制信息通过串口传给 MSC1210,MSC1210根据这些信息进行ADC的初始化工作。具体地说就是,PC机向MSC1210发送6个字节,这6个字节中包含了滤波器型号、ACLK、ADCON2和ADCON3寄存器中的抽样值、修改模拟输入信道后的延时值、必须抛弃的数据输出周期数和可编程放大器的增益。然后,MSC1210启动ADC的初始化工作。进入正常工作状态后,如果发现当前数据输出周期数已大于预先设置的必须抛弃的数据输出周期数,MSC1210 就认为这个输出数据及其以后的输出数据都是有效的了,但它并不立刻将数据发送给PC机,而是要马上修改模拟输入通道,然后再使前一输入通道的输出是无效的,紧接着进入下一个数据输出周期。MSCl210的工作流程可简单用图4表示。PC机除对MSC1210 ADC的初始化控制外,主要负责将MSCl210通过RS 232串口发送上来的数据用可视化的图形实时地显示在窗口适当位置。每次MSC1210向PC机发送4个字节。这4个字节是如下定义的:第1个字节表示传感器的通道号,0表示AIN0与AIN1差分输入,即X维的信息;1表示AIN2与AIN3差分输入,即Y维的信息。后三个字节是输出数据的24位二进制表示,是MSC1210 ADC的转换结果。当PC机处理进程检测到输入缓冲区满4个字节后,读取缓冲区的数据,同时清空输入缓冲区。根据第1个字节识别通道后,将数据转换为电压值后显示到相应位置(单位:mV),并且在窗口中开辟两块图形显示区域,分别实时显示X轴和y轴的信号变化情况。为了更好地观测到信号的微小变化,进程提供了图形的放大显示功能。为了方便,放大倍数可选为12.5倍和125倍。
4 实验结果
经过反复试验,结合实际的要求,最终把微位移传感器的数据输出率定位在10 Hz,分辨率高达15位,具有很高的稳定性,取得了良好效果。相关参数选择如下:MSC1210的滤波器型号为sinc3,ACLK为1,ADCON2和 ADCON3寄存器中的抽样值设为1 080,将模拟输入缓冲关闭,模拟输入通道改变后抛弃3个数据输出周期,采用偏移和增益内部自校正。图5就是微位移传感器在工作时的数据输出的图形显示,两条曲线分别表示其在X轴和Y轴上的受力情况。根据力信息可以方便地计算出位移信息。
在中科院合肥智能所机器人传感器实验室多维力传感器技术的基础上,利用MSC1210的优势研制成功的微位移传感器,具有体积小、分辨率高、稳定性能好等优点。MSC1210单片机是功能强大的数据采集芯片,可以广泛应用于仪器仪表、测控和导航等领域。