摘 要: 以研制的机器人多指灵巧手微型五维指尖力/力矩传感器为基础,基于单片机AT89C52设计了高性能的数据采集系统和数据处理系统,实现了与主计算机的RS422串行通讯,从而构成了一套完整的智能化的五维力/力矩测量系统。
关键词: 传感器 单片机 数据采集 串行通讯
多维力传感器的发展已经有几十年的历史。以机器人的腕力传感器为主要应用背景,国内外的很多公司制造了多种规格的多维力传感器[1,2]。为了满足医疗仪器、航空航天等领域对于微型多维力传感器的需求,以研制的机器人多指灵巧手微型五维指尖力/力矩传感器为基础,研制了一种基于单片机AT89C52的智能微型五维力传感器测量系统。
本文将首先介绍我们所研制的五维指尖力/力矩传感器的本体和应用表面封装技术设计的信号调理电路,然后着重介绍基于微处理器AT89C52的数据采集系统、数据处理系统和RS422串行通讯系统。
1 五维指尖力/力矩传感器及信号调理电路简介
为多指灵巧手所研制的微型五维指尖力/力矩传感器基于电阻应变原理。利用有限元方法,设计了具有很小尺寸的传感器弹性体结构(应变梁的厚度只有0.35mm)。将BLH公司生产的微型高阻金属应变片SR-4贴在应变梁上组成五个应变半桥,用高精度的+5V电压调节器给电桥供电,由此将传感器所受的五维力(包括X,Y,Z方向的力Fx,Fy和 Fz以及X,Y两个方向的力矩Mx,My)转换成五路电压输出。采用表面贴装技术设计了传感器的信号调理电路,将小电路板内置于传感器本体之中,实现了传感器体积的微型化,整个传感器的外形尺寸只有Φ19mm×12.5mm。三维力Fx,Fy和Fz的测量范围是10N,二维力矩Mx和My 的测量范围是0.2N·m。
用有限元方法对传感器的弹性体进行应力分析,可以计算出,在+5V恒压源供电的情况下,每路电压输出值不超过±25mV。因此,信号必须经过高性能的信号调理电路,才能达到较好地测量精度;同时,必须将电路板就近地放置在传感器的本体之中,以避免噪声的引入。为此,我们应用表面贴装技术设计制作了以精密仪表放大器AD623为核心的信号调理电路板,通过高性能元器件的选择、电路的高质量滤波以及电路板的合理布线,将五路电桥的输出电压信号放大到数据采集系统所要求的输入范围:0~5V。为了实现单电源供电的AD623对双极性传感器输出电压的放大,在AD623的参考电压端加上2.5V的参考电压,实现双极性电压的直流偏置。为了测量环境的温度以便对传感器的输出进行温度补偿,在信号调理电路板上还放置了三脚SOT封装的集成温度传感器LM50B。
2 基于单片机AT89C52的传感器数据采集系统
和串行通讯系统的电路设计
为了实现五维指尖力/力矩传感器的智能化,使之成为一个完整的力测量系统,选用了ATMEL公司生产的AT89C52微处理器作为传感器数据采集和处理系统的核心。AT89C52的管脚和指令与传统的MCS-51系列单片机完全兼容,并且芯片内部集成了8K的可编程Flash内存。对于本系统而言,只需很少的外围芯片就可以构成一个单片机应用系统。
为了实现传感器信号调理电路七路输出信号(包括五路应变输出信号、温度输出信号和参考电压信号)的数据采集,我们选用了MAXIM公司生产的MAX197A作为A/D转换芯片。MAX197A是12位的快速A/D转换芯片,它有几个显著特点:单+5V电源供电;有八个模拟电压输入通道,每个输入通道的量程范围可用软件独立地设定;芯片内部集成了5MHz带宽的采样保持电路;有两种节电工作方式,可以实现很低的功耗等。
为了实现AT89C52与上位机的串行通讯从而将传感器的测量数据传送给上位PC机,我们利用MAX491构成RS422串行通讯接口。与传统的RS232C接口相比,RS422是差分传输,具有数据传输速率高(最大传输速率为10MB/s)和传送距离长(在最大传输速率的情况下,电缆允许长度可达120m)等优点。数据传输率的提高对减少整个测量系统的响应时间是至关重要的。
为了保证微处理器AT89C52的正常工作,我们使用了MAXIM公司生产的MAX708来实现整个系统的硬件监控。MAX708有以下几个主要功能:实现AT89C52的上电自动复位和手动复位;芯片内部集成有独立的“看门狗”电路,这可以保证系统的可靠运行;内部有电源电压监视电路,可以用来实现系统的掉电保护。
数据采集系统和RS422串行通讯系统的电路原理框图如图1所示。
为了提高数据采集系统的精度,在电路板的设计中,将模拟地与数字地分开,在主要芯片的电源端就近地放置滤波电容,这些措施取得了很好的效果。
3 基于单片机AT89C52的微型五维力/力矩传感器的软件设计
系统软件采用模块化的设计方法,共分为四个模块:系统初始化模块、数据采集模块、数据处理模块和串行通讯模块。主程序流程图如图2所示。
3.1 系统初始化模块
系统初始化模块包括串行通讯接口波特率、奇偶校验、数据位个数等的初始化,A/D转换器MAX197的初始化,MAX491接收、发送使能的初始化。
3.2 数据采集模块
在系统初始化完成以后,等待上位机的开始工作命令,接收到开始命令以后,单片机系统开始数据采集,采集到的结果放入AT89C52的内部RAM中,系统进入数据处理模块。需要说明的是,对A/D转换结果的读取是通过中断方式来进行的,提高了系统的响应速度和微处理器的利用效率。
3.3 数据处理模块
数据处理模块的组成框图如图3所示。
我们用采集到的五路力传感器输出电压减去同时采集到的2.5V参考电压,实现了对参考电压的实时补偿,然后通过低通数字滤波进一步提高对噪声的抑制能力,得到的数据根据当时的温度情况进行补偿。传感器的温度特性表离线测量后存储在AT89C52的Flash存储器中,查表后经过线性插值得到温度修正值,经过修正以后的测量值乘以标定矩阵得到五维力和力矩。标定矩阵是由离线的静态标定所得到的,也保存在AT89C52的Flash存储器中。
3.4 串行通讯模块
由数据处理模块得到的五维力数据通过串行通讯传输给上位机。为了实现数据可靠准确的传输,我们采取了以下措施:对每个数据进行奇偶校验;对每组数据进行累加和校验。实验表明,这些协议的采用取得了很好的效果。
为了进行整个系统的实验,我们在PC机上利用可视化编程语言VC++的串行通讯控件编制了数据采集和串行通讯软件。
实验表明,该系统具有较好的精度和很强的可靠性,实现了设计要求。今后,在改进多指手指尖力传感器弹性体结构的基础上,我们将从硬件和软件两个方面进一步提高测量系统的动态响应,使之更好地满足实际使用要求。
参考文献
1 王国泰,易秀芳,王理丽.六维力传感器发展中的几个问题.机器人,1997;19(6):474~478
2 王军,黄心汉.机器人六维腕力传感器及其信号处理系统的研制.机器人,1995;17(1):17~20
3 何立民著.MCS-51系列单片机应用系统设计.北京:北京航天航天大学出版社,1993:369~416