美章网 资料文库 管道机器人的通信系统剖析范文

管道机器人的通信系统剖析范文

本站小编为你精心准备了管道机器人的通信系统剖析参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

管道机器人的通信系统剖析

测控主机向分机命令(此命令也可来处管理服务器),同时接收来自测控分机的状态信息,通过运算,然后对分机下达精确的指示。测控分机收到命令后,通过执行机构控制机器人小车的运行、作出执行任务所需的相关动作。传感器向测控分机传递管道机器人的状态信息。当管道机器人在管道内作业距离较远时,管道外的测控主机与机器人小车上的测控分机相距较远,二者间的通信主要基于长距离串行通信模块如RS485进行。这种通信方式需要独立的串行通信线,因此测控主机与测控分机间的线缆内除了包含电源线外还包括串行通信信号线。当机器人行走距离远、管道转弯较多时,线缆与管壁的摩擦力会变得很大,从而严重限制了机器人作业时的最大行走距离,同时使机器人的可靠性降低。为了克服上述缺点,本文将电源线载波技术用于管道机器人的通信系统,线缆内电源线与串行通信信号线共用,大大减轻了线缆的重量及线缆与管壁的摩擦力,提高了管道机器人的可靠性,增大了其作业时的最大行走距离。

载波芯片选择

电源线载波通信是利用电源线作为信号的传输媒介,不需要单独的信号线,将信号通过载波方式从电源线进行传输的技术。为简化应用并提高载波通信的可靠性,国内外许多公司开发了电源载波芯片。国内科强电子技术公司开发的KQ-100F载波芯片模块可用于低压直流电源线载波,接收灵敏度好,性价比高。该芯片内置RS232接口,可在多种传输速率下传输,在传输波特率9600bps下,传输距离保证为300m。由于采用该芯片进行载波通信,通信软件的编程可按RS232方式进行,适宜于现有软件的移植,因此本管道机器人通信系统采用KQ-100F芯片进行信号的载波通信。

硬件设计

采用Atmel公司的ATmega16A单片机与KQ-100E模块连接,用半双工通信方式进行串行通信。KQ-100E模块负责将TTL电平信号转换后调制到电源线上和从电源线上解调出TTL电平信号。

KQ-100E模块的TX脚接单片机的TXD脚用于发送数据,RX脚接单片机的RXD脚以接收数据。KQ-100E模块的R/T脚为接收/发送控制端,接单片机的某一管脚。R/T为高时,模块处于接收状态;R/T为低时,处于发送状态。模块内有防过压和防瞬变抑制电路,以防过电压和雷电对模块的损坏。VAA端为发送功率电源,VAA接不超过18V的直流稳压电源,具体电源电压的高低视距离远近或干扰的大小而定。若距离远或干扰大VAA端接低压,反之则接高压。为了减轻VAA端所接电源对载波模块的干扰,在该电源与模块的VAA之间串接一只10mH的电感,在VAA与地之间接100pF的电容。

图3给出了测控主机中载波部分的电路图。24V直流电源由管道外的开关稳压电源提供,该电源变压后给电路提供12V及5V的电源。测控分机载波部分的电路图与此图相似,KQ-100E模块的C1、C2导线既为测控分机提供电源也是测控主机与测控分机之间的信号通道。测控分机载波部分的电路图不再给出。

软件设计

1通信协议

由于只有一个测控主机与一个测控分机,所以可以制定简单有效的通信协议以满足通信要求。采用数据包的形式组织数据,以包为单位进行数据的对外发送。每个数据包都有固定的格式,由起始码、长度码、类型码、数据、校验码、结束码等组成。起始码是每一包数据的引导头,用0FFH、0AAH表示;长度码是当前数据包的总长度,占一个字节。数据包的类型有两大类,分为命令信息包和应答信息包,由类型码来区分,占1个字节。当发送方发出命令信息包后,必须在规定时间内收到应答信息包,否则重发。若类型码为0FAH或0FBH,该数据包为应答信息包,表示所接收的信息正确或错误。当类型码为0FAH、0FBH以外的字符时,表示该数据包为命令信息包,具体是什么命令可根据需要进行定义。校验码是数据包的校验标志,是本数据包数据部分的所有字节进行异或后的结果,用以检验数据包发送后的正确性。结束码是每一包数据的结束标志,用0FFH、0EEH表示。命令信息包的格式如表1所示。当类型码为应答信息码时,为应答信息包,其格式与命令信息包相似,不再给出。

2通信流程

测控主机与测控分机都可以发送或接收数据。为了避免主机与分机同时发送数据,当发生冲突时(得不到对方响应),测控分机暂停1个时间间隔(如10个指令周期)再发送,测控主机不用暂停直接重发。测控主机与测控分机的主程序首先要进行串行通信的初始化设置,数据包的发送通过调用发送子程序进行,而接收则通过单片机的中断方式进行。在主程序中采用中断方式接收数据,可避免漏接数据,同时当没有数据需要传送时,正常运行程序的其他部分,从而提高了系统的实时响应能力。当没有数据需要发送时,测控主机与测控分机的KQ-100E模块的R/T端皆设置为高电平,模块都处于接收状态。当一方要发送数据时,先置其R/T为低,串行输出一个数据包,该数据包发送完毕后,发送方把本方模块的R/T端置高,设为接收状态。

测控分机的发送数据子程序流程如图4所示,发送时先置KQ-100E模块为发送模式,然后将待发送数据以数据包的形式进行发送,发送完后置KQ-100E模块为接收模式,若在规定时间内(不同的命令等待时间可不同)收不到应答信息,延时50us重发。测控主机的发送数据子程序流程与测控分机的相似,不同之处是收不到应答信息时直接重发,其流程图不再给出。测控主机与分机的接收数据中断程序流程相同,如图5所示。其中,接收方根据所收数据包的校验码正确与否,设置相应的类型码,连同发送方所要的数据打成一个数据包并回复,然后返回主程序。若发送方所收应答包的类型码为0FBH,则再次调用发送子程序重发。

结论

由于无缆管道机器人在供电及通信上存在着明显的缺点,很多场合下,管道机器人采用有缆方式。而有缆管道机器人当在管道内行走距离远、管道转弯较多时,由于线缆长度增加、重量增大,线缆与管壁的摩擦力会变得很大,严重影响了管道机器人作业时的最大行走距离及其可靠性。本文将KQ-100E电源线载波调制解调模块用于机器人的载波通信系统,从而实现了线缆内电源线与信号线的复用,设计了系统的硬件与软件,完成了软硬件测试,并在中央空调风管清洁机器人系统中进行了应用。应用结果表明,该通信系统大大减轻了线缆与管壁的摩擦力,对增大有缆管道机器人的最大行走距离、提高其可靠性,具有非常显著的作用。

作者:孙康岭杨兆伟单位:泰山职业技术学院机电工程系