基于单片机的管道机器人多路数据实时采集系统的设计

《工业控制计算机》2010年第23卷第11期
基于单片机的管道机器人多路数据实时采集系统的设计MuIli—ChanneIDafaandReaI—timeAcquisitiOnOfPipeI.neRObOtBasedOnMCU谭兴军王宇俊何新强(西南大学计算机与信息科学学院,重庆400715)
摘要
分析了多路模拟选通器74HC4051、仪表放大电路AD620、A/D转换电路ADC0809及8位单片机AT89S51的主要性能.并结合管道机器人的特点,设计了一个有效的多路数据实时采集系统。讨论了数字低通滤波算法与A/D转换及多路选通的程序控制方案。
设备管理系统
关键词:数据采集,单片机,管道机器人
Abst旧ct
ThispaperdiscussesthemainprOpertiesoftheanaIOgmuItipIexer74HC4051,themeteranlpIifierAD620.theADCcircuitADC0809.andthe8一bitmicrOcOntrO¨erAT89S51first。thenexplicatedthedesignOfamuIti—
channeIdataandreal—timeac—quisitiOnsystem0fapIpe¨nerObOtbasedOnthesecIrcuils.TheaIgOmhmoflOw—passfi|ter。theimplementatiOnofprep恰
grammedautOmaticcontrOIOnA亡)candselectionOfmuIti—channeIareaIsoanaIyzedinthispaper.
K唧rds:dataacquisitiOn,MCU,pipe¨nerObot
1系统概述
管道机器人可广泛应用于石油、天然气、化工、核工业、通讯、建筑等领域,为大量管、孔类设施和零部件提供内壁缺陷检测、管内修复等服务。当管孔内径发生变化时,管道机器人必须能够准确识别并实时调整以适应变化。在这一过程中,控制系统需要对各种传感器。特别是各个压力传感器的信号进行综合分析。因此,设计一个有效的多路数据实时采集系统是至关重要的。
该管道机器人含有8个压力传感器,这些传感器将力学量转变成电信号输出,输出范围为O一20mV。机器人控制系统要求对这8路模拟电信号进行数据采集,采集频率为1kHz。如图1所示为多路数据实时采集
系统的结构框图。传感器采
集的多路模拟信号通过多
路开关选择其中一路信号
进行放大,放大之后的模拟
信号经过低通滤波后送入
A/D转换器,A/D转换结果
经过微处理器的数字低通
滤波后存储到片外数据存
储器,在接到上位机发来的
请求命令后系统便通过串
口电路以9600bps的波特
率将数据发送给上位机。图1多路数据实时采集系统结构框图2电路设计
2.1微处理器电路
微处理器选择ATMEL公司的AT89S51单片机。考虑到数据采集系统数据量较大,而AT89S51的片内RAM仅为128B,远远不能满足该数据采集系统对数据存储的要求,必须增加片外数据存储器。在对数据传送速度、容量、系统复杂度及价格方面的综合分析后决定选用32K×8bit的SRAM62256。AT89S51的PO口既作为地址低8位线也是数据线,因此单片机与SRAM之间还需要一个地址锁存器,本系统按照常见的方案选择74Ls373作为地址锁存器。这样,在8路信号采集频率都为1kHz的条件下保证了至少4s内不中断上位机且数据不会丢失。
2.2多路模拟选通电路
4051是常用的8选1多路模拟选通器,本系统即选用74HC4051作为多路开关。4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。但由于其地址线与A/D转换电路共用了单片机的P1口,因此也选用了74LS373作为它的地址锁存器。同时,单片机的P2.7脚作为74LS373的使能输出端。
2.3信号放大电路
由于感器采集的信号电压仅为0—20mV,而ADC0809输入电压要求0~5V,因此要将其更精确地数字化就必须设计一个放大电路将O~20mV的电信号放大到0—5V。本系统选用仪表放大电路AD620,这是一款精密高倍放大电路,它由三个放大器共同组成,如图2。
V・
圈2AD620原理图
如果固定电阻R的值。则可以通过调整Rx的值来调整放大的增益值。因此可以在AD620的1脚和8脚之间接一个适当的电阻RG来调节电信号放大倍数。RG的确定方法可通过如下公式计算:
R一49.4}乱
“G—G一7
式中G为增益值,本系统要将电信号从20mV放大到5V,增益值为250,但考虑到后面的滤波电路还有2倍的增益,G值
取125即可。计算得RG约为398Q,选取与之接近的400Q标万方数据测试44
24基于单片机的管道机器人多路数据实时采集系统的设计
准值电阻。
2.4低通滤波电路
根据系统特性选择二阶有源低通滤波,并对滤波器作如下性能要求:截止频率fc=1kHz,电压增益忙2。滤波器设计如下:滤波电路类型为压控电压源(VCVS)电路,放大电路选择通用放大
器LM741,选择标称电容C=0.01“F,再根据C的值计算电阻系数K:
b舆:7D
‘o
根据二阶低通滤波器(巴特沃斯响应)设计表查得K=1时各元件值为:
RI-1。126m,R2=2.250}cn,R,=R4=6i752}cn.clIC
将各电阻值乘以电阻系数K即得设计值:
R1-11.26娥。R产22.50瓶l。R产Rt-6752跹I.
最终设计得二阶有源低通滤波电路如图3。其中sin为经过放大的输入信号,sout为滤波器输出信号。
ⅫD
.15v
圈3二阶有源低通滤波电路图
2.5A/D转换电路
本系统选用ADC0809八位模数转换电路对经过放大和滤波的信号进行A/D转换。ADC0809是CMOS单片型逐次逼近式A/D转换器.8路输入通道。8位采样分辨率,O~+5V模拟输入电压范围,且只需单个+5V电源供电。这些特性使得ADC0809被广泛使用。虽然ADC0809内部有多路模拟选通功能,但为了不至于对每一路信号独立设计放大电路和低通滤波电路,降低硬件规模和成本,本系统在信号输入端进行多路模拟选通,而不用A/D转换电路内部的多路模拟选通功能。本系统中输入信号从IN0脚进入,并使三位地址选择端A、B、C都置零。
处理器对ADC0809的控制一般有查询方式、定时扫描方式和中断方式,本系统中选择中断方式。A/D转换完毕后EOC通过取反向AT89S51外部中断信号脚INTO发送中断,A丁89S51的P3.5和P3.4分别控制ADC0809的STAR丁、ALE和OE。
透平式压缩机要使ADC0809能正常工作,还必须为其提供10kHz~1280kHz的外部时钟,这个时钟可由单片机的定时器产生。但本系统中单片机的机器周期为1“s,对于提供这样一个频率的信号,定时器势必频繁中断,这不仅会占用大量处理器资源,甚至可能引起系统混乱。考虑到单片机ALE的功能,本系统将ALE的信号通过两个D触发器进行四分频。AT89S51主频为12MHz,ALE的频率即为2MHz,四分频后的频率为500KHz,满足ADC0809正常工作的需要。因此电路中使用了二D触发器CD4013以保证系统性能。
3程序设计
系统程序全部用C语言编写,采用模块化设计方法,并在Ke¨pVision3环境下调试通过。主要包括系统主程序、SRAM控制与数据管理模块、数字低通滤波模块、芦/D转换与多路选通控制模块和串口通信模块。本文着重对数字低通滤波算法和A/D转换与多路选通控制算法进行介绍。
3.1数字低通滤波程序
数据低通滤波的方法有多
种,分别适合不同的应用,本系统
采用算术平均值滤波方法。即对
采集的一组数据(本系统对每路
信号8次采样分为一组)分别对
每路数据求算术平均值,删除偏
离平均值20%以外的采样点。并
将剩余的数据存人数据队列中。
图4为此部分程序流程图。
3.2Ao转换及多路选通控制程序
数据采集系统要求对每路数
据采样频率为1kHz,8路数据即
需要一个8kHz的中断源信号。本
系统将定时器0(TIme巾)作为这
一中断的中断源。Time巾工作方
式为方式2(8位自动重置),初始
值为256—125=131(oX83),这样
在主频12MHz情况下可以获得
一个较精确的8kHz中断源信号。
A/D转换系统采用的是中断控制圈4数字低通滤波程序流程图方式,转换完后ADC0809向
AT89S51的外部中断O(E×0)发出中断信号,数据的读取与存储在该中断响应程序中完成。ADC0809的数据接口与多路选择器的地址口共用了AT89S51的P1口,除了硬件电路上的可控制性,软件控制也很关键。程序流程图见图5。
圈5程序流程图
4实验结果分析
实验结果表明,当输入信号为最强电信号(20mV时)经放大和滤波电路后输出4.85V,与理论值5.00V相差0.15V;当输入信号为最弱电信号(20mV/28—0.08mV时)经放大和滤波电路后输出0.04V,与理论值O.02V相差O.02V。因此信号放大电路和滤波电路的设计对弱电信号的放大状况是基本满足要求的。
为验证数字低通滤波算法的有效性,本文在MatIab环境中
白细胞介素4
(下转第26页)
万方数据
基于ZigBee的移动广告词更换
计数器的值一起发送出去。显示终端接收到信息后解析出更换装置发来的计数器值,并与自身的计数器值进行比较,如果两个值不相同则更换广告内容,并更新自身计数器的值为更换装置计数器的值。
圈2ZigBee协议数据段格式划分
3广告更换装置设计
广告更换装置是广告信息的发布者,更换装置需要与众多显示终端进行通信,是一种全功能器件(FFD),起到网络协调的作用,其能以网络协调者的身份启动一个ZigBee网络。同时更换装置会自动发现显示终端的连接尝试,与显示终端间建立会话。广告内容经过Unicode编码后作为ZigBee模块的发送数据经编译工具编译后一起下载到ZigBee模块的RAM中,这样更换装置就可以随处移动,只要显示终端在其通信范围内,且属于同一个网络标识,这样显示终端就可以加入到更换装置所启动的一个无线网络,实现广告内容的更换。
4广告显示终端设计
显示终端主要完成三个方面的功能:广告内容的接收、存储与显示。显示终端的处理中心是ARM处理器,处理器通过RS232接口与JN51××一xx)(一Myy系列的ZigBee无线收发模块连接,ZigBee模块收到信息以后对信息进行解析,首先对计数器的值进行比较,若计数器值
相同则丢弃信息,否则将信息通过串口发往ARM处理器,处理器再将广告内容的Unicode编码以文件的形式存储在Flash中。处理器采用多任务的斗COS—II操作系统,系统中定义两个用户任务,一个用于完成上述接收广告内容的Unicode编码并将其以文件的形式存入FIash中,另一个任则完成从文件中读取广告内容并将内容显示到LED屏上。由于从文件中读出的数据为字符类型,还需要对读出的字符进行Unicode编码还原。两个任务的流程图如图3、图4所示。
图3将广告内容写入文件流程图图4读取文件并显示流程圈5结束语
大众理财顾问
本设计通过JN51)(x—xxx—Myy系列的ZigBee无线收发模块与ARM处理器相结合实现广告词的移动更换,使得像出租车这种处于移动状态的户外广告媒体,只要出租车进入更换装置的通信区域,即可轻易的实现广告词的更换,同时也将大大降低广告运营成本,具有很好的实用价值。
参考文献
[1]张辉宜,陶永.智能公交系统的设计与实现[J].中国仪器仪表,2007(11)
[2]刘恺.基于ZigBee协议的智能仪表数据采集系统的设计[J].自动化仪表,2007(4)
国家公路网规划发布
[4]邵贝贝,等.嵌入式实时操作系统肛COS—II[M].2版.北京:北京航空航天大学出版社。2005
[5]管耀武,杨宗德,等.ARM嵌入式无线通信系统开发实例精讲[M].北京:电子工业出版社,2006
[6]王璐.LED大屏幕显示系统设计浅谈[J].邮电设计技术,2009(7)
[收稿日期:2010.6.28]
.‘止舢舢舢j止.‘IL.‘.LjIL.‘.LJLJ上.4王-.‘t.‘-L.‘‘.‘屯.‘‘jlL.‘IL.‘‘L.‘屯.‘‘LJ‘LJ也.‘lLJ‘L.‘‘LjIL.‘lL.‘IL舢.‘IL.‘‘L“越.‘止.‘‘L.‘‘.‘.L.‘‘L.‘屯.‘lL.‘.L一‘lL.‘-L.‘止-‘‘L
(上接第24页)
实现了同样的滤波算法。图6为在MalIab中对一路信号进行数字低通滤波的效果图。从图中可以看出,滤波后的波形比原始波形平滑了许多,多数峰值被平滑掉,特别是对信号较弱的阶段。在
疲始输入数据
滤波输出数据
圈6数字低通滤波效果图管道机器人实际行走过程中,与管壁的摩擦和自身抖动都会使原始波形产生轻微抖动,只有管孔内径改变或遇到障碍等情况才会持续地强烈抖动。因此,有效地滤掉这些轻微抖动是必须的。
5结束语
本多路数据实时采集系统将用对于管道机器人各关节处的压力传感器的信号进行采集,以供上位机进行综合分析以监控管孔内径的变化状况。随着管道机器人模型机的逐步完成,更多的传感器,如位移传感器、距离传感器、速度传感器等也会逐步加入,一个功能更强大、性能更优秀的数据采集系统将会被设计。
参考文献
[1]穆洪伟.赖康生.基于DSP的高精度多路数据采集系统的设计[J].工业控制计算机,2009,22(2)
[2]夏世长,陈迪平,王镇道,等.一种多通道数据采集电路的设计[J].湖南大学学报(自然科学版),2000,27(6):80一84
[3]黄凯.AD620仪表放大器使用说明[EB/OL】.(2006一05).http://de.signer.mech.yzu.edu.tw
[4]万文略,赵利,蔡静之.单片机原理及应用[M].重庆:重庆大学出版社,2004(3)
[收稿日期:2010.6.29]万方数据

本文发布于:2024-09-22 11:34:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/519623.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   数据   采集   电路
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议