履带装卸机器人遥控系统的通信策略研究

2021-07-18 07:12姜玉亭杨建波陈康李佳康佳胜
电子制作 2021年12期
关键词:误码率遥控遥控器

姜玉亭,杨建波,陈康,李佳,康佳胜

(桂林电子科技大学,广西桂林,541004)

1 机器人遥控系统的总体设计

■1.1 遥控系统总体需求与总体设计方案

考虑到作业环境的复杂性和通信可靠性要求,可采用有线和无线相结合的通信方式,根据作业情况进行合理选择。为保证装卸机器人控制系统具有良好的响应特性和模块扩展性,采用基于无线射频技术的无线遥控系统、基于485总线的有线遥控系统和基于CAN总线的控制器间通信系统。无线遥控系统由用户手持操作终端和车载终端两部分组成,支持两终端间的双向通信。用户手持操作终端,集成模拟手柄、钮子开关、急停开关、旋钮等操控部件,接受用户操作指令,通过数据采集模块将操控部件的状态信息转换为数字信息,按照固定的编码协议打包封装,通过无线通信模块传送出去,并通过液晶模组显示遥控状态与车载终端回传的信息。车载终端负责接收、解码并执行用户的控制指令,通过CAN 总线将控制指令传输给车载主控制器,由主控制器驱动现场电磁泵、比例阀、继电器等设备动作,并接受现场设备状态信息,反馈给手持操作终端。

■1.2 对无线通信的要求及无线通信模块选型

无线遥控系统发出的指令要准确地被执行,否则将造成严重的安全隐患和难以挽回的损失;装卸机器人对无线遥控的实时性要求较高,过长的延时会降低设备工作效率或造成误动作;装卸机器人常工作在室外,其无线信号传输易受各种干扰信号的影响;履带机器人装卸作业属于对安全性要求较高的情况,需保障其作业控制的可靠性;因此,对于履带机器人的无线遥控系统的要求其传输距离远、传输准确度高、抗干扰性强、工作安全可靠、低功耗等[1]。

通过对比蓝牙、ZigBee 以及无线射频等无线通信技术,本系统采用无线射频技术,选用射频模块并通过设计通信协议来完成无线数据通信的功能。依据工信部《无线电频率划分规定》和我国无线电其他相关法律法规,工业遥控器的无线通信频段多为ISM 频段,即工业、科学、医用频段,包括433MHz、869MHz、2.4GHz等[2]。其中433MHz具有穿透性强、通讯距离远、功耗低等优点,在工业领域应用较为广泛,技术相对成熟。因此,选择433MHz 频段的射频模块E62-433T20D。

E62-433T20D 是“点对点”传输的全双工无线数传模块(UART 接口),透明传输方式,工作在425~450.5MHz频段(默认433MHz),发射功率100mW,使用串口进行数据收发。模块具有跳频扩频功能(FHSS),支持FEC 前向纠错,抗干扰性好,通信稳定性高,且具有时分全双工特性(TDD)。

2 无线通信协议设计

■2.1 可靠通信的策略研究

(1)选择通信可靠性高的无线数传模块

选用的E62-433T20D 模块具有跳频扩频功能(FHSS),模块在数传过程中收发双方会根据跳频算法自动在多至52个频点中同步跳变,模块的抗干扰性好。模块支持FEC 前向纠错,通信稳定性高。

(2)设置遥控器配对地址码

针对一个工业现场可能存在多台遥控设备同时使用的情况,且这些设备处于同一频段时,势必造成相互间通信干扰的情况。本遥控系统在每台遥控设备上都嵌入了唯一标识码,称为地址码。配对地址码信息也嵌入到遥控器终端硬件中。在在通信时发送端将地址码同数据一同打包传输,当接收端收到数据包,先判断是否为正确的发送端地址,若是,则接收;若不是,则丢弃。

(3)设计通信链路状态识别功能

在控制距离超过限值、信道受到电磁干扰、发射器电源电压过低等造成遥控指令无法可靠传送传时,系统可识别此状态并自动切断机器人电源。通信链路状态识别功能采取的是心跳包技术,即发射器需定时向接收器发射一个固定信号(心跳信号),当接收器接收到心跳信号之后,立即向发射器发射回应信号,反馈通信链路状态,以此来检测无线通信链路是否正常。

(4)优化程序控制逻辑

遥控发送和接收双方的程序逻辑是否合理也影响到双方通信的可靠性。程序执行时也可能出现跑飞现象,也需要在程序跑飞时保证通信收发的可靠性,防止误动作。主要采用在遥控发送和接收双方程序中设计看门狗程序,监控程序运行状况,在监控到程序跑飞时,做好输出、通信等程序初始化,执行保守控制策略,发出故障警报,确保安全直到通信恢复。

■2.2 通信协议设计

(1)数据格式的定义

遥控器系统主要功能是通过收发设备传输控制指令和数据指令,从而控制设备的运作和获得设备工作状况。因采用透传模块,则不需要考虑传输差错控制问题,参考MODBUS 协议,可定义数据格式:地址码(一个字节)+功能码(一个字节)+数据域(N 个字节)。

装卸机器人是一个较为复杂的智能设备,其工作时的待控动作和待传输信息类型较多,需要用功能码进行区分。

装卸机器人的指令共有15 个。因此,指令信号中指令功能码字段长度设为1 个字节(8 位),是足够使用的。

(2)地址码与配对指令

遥控器手持端与遥控器机载端分别配置唯一的1 个字节地址码,地址码取值范围为OxO1~OxFE,允许现场可以有254 台遥控终端设备同时工作,只有地址码匹配才接收数据。在遥控器手持端与遥控器机载端开机后,手持端要向外发送请求配对信号,机载端需等待配对请求信号,收到请求信号后应回应,从而通信链路建立成功。

(3)心跳指令

为了使遥控器双方了解当前无线传输信道状态,保障通信系统的可靠性,需要遥控器手持端定时向机载端发送心跳信号。当遥控器机载端收到心跳信号后,向遥控器手持端发送心跳回应信号,从而双方得到当前通信链路状态。

(4)控制指令

装卸机器人控制指令有12 个,每个指令带1~2 个字节的数据域。如启停指令,其数据域为开关量信号,OxO0 代表停机,OxFF 代表启动;行走指令其数据域为模拟量信号,两个字节分别保存了双轴摇杆X 轴和Y 轴的0~255 量级数据。

(5)工作状态信号

遥控器机载端向手持端发送机器人工作状态数据,其数据域占8 个字节。开关量数据主要有发动机启停状态、速度模式、大灯状态、蜂鸣器状态;模拟量数据主要有左右轮速度、发动机转速、燃油液位、油温等。

3 无线通信程序设计

■3.1 主要软件设计内容

遥控终端的主控芯片均采用STM32F103 微处理器,遥控系统软件基于FreeRTOS 操作系统。在STM32F103 芯片中移植FreeRTOS,可以参考FreeRTOS 官方提供的实例工程进行移植[3]。在KeilμVision4 开发环境,对机器人遥控系统的软件进行设计,主要包括遥控器手持端、机载端程序设计。

遥控器手持端软件设计需要完成的工作如下:

(1)系统初始化。包括硬件配置与软件配置,主要有外部中断初始化、串口初始化、ADC 初始化工作等;

(2)创建多任务。主要创建通信任务、GUI 任务、按键扫描任务等;

(3)数据采集程序设计。通过GPIO 以中断方式采集按键开关量信号和摇杆、推杆、旋钮等模拟量信号,即实现操作指令的釆集;

(4)无线收发通信程序设计。根据前面设计的通信协议,定义数据包,依据可靠通信策略通过串口收发数据,使整个遥控通信系统可靠运行;

(5)串口通信程序设计。遥控器上433MHz 无线通信和USART 接口有线通信均通过USART 接口收发数据。其串口通信功能配置较为简单,与基本串口通信配置一致。

遥控器机载端软件设计需要完成的工作大致类同手持端,只是无数据采集部分,但增加了CAN 通信程序设计。

■3.2 遥控器程序流程

(1)遥控器主函数

遥控器双端主要完成系统初始化和启动各处理任务,手持端和机载端主函数软件流程如图1 所示。

图1 遥控器主函数软件流程图

(2)遥控器通讯过程程序状态机

遥控器通讯过程中会有一个表征通信状态的标志量。手持端启动后,进入“搜索目标”状态。系统向信道发出“搜索命令”,并等待应答信号。如果接收到应答,进入“建立连接”状态。如果在一定的时间内接不到接收到目标端的可连接应答,终止此次遥控任务。此后,系统进入“遥控通讯”状态。空闲时,系统将自动定时向目标端发射“心跳”指令,如果“心跳”指令多次无应答,则退回到“搜索目标”状态。如果用户结束遥控任务,系统处“断开连接”状态,并向目标端发出一个“断开连接”的指令,等待应答超时后不必重发。

4 实验结果与分析

主要测试无线通信距离,无线通信误码率和无线遥控工作的可靠性。测试过程:

(1)在场地空旷,无遮挡物,电磁干扰小的环境下测试,测试距离点为:20m、50m、80m、100m、120m、150m、180m、200m、220m、250m、280m、300m。距离150m 内时,模块工作正常,基本无误码。距离150m时,每10ms 发送一次数据,数据包大小为10 字节,连续发送10min,共发送数据60000 条,总数据大小为600000字节,接收误码为17,误码率为0.03%,模块无发热。距离150~200m 时,模块误码增加,200m 时,误码率约为0.5%,模块无明显发热。距离200~250m 时,接收误码增加,250m 时,误码率约为3%,模块轻微发热。距离250~300m 时,接收误码急剧增加,300m 时基本无法接收到数据,模块明显发热,发送卡顿明显。

(2)在场地空旷,无遮挡物,有烟尘干扰的环境下测试。距离200m 内,接收误码率低于1%,模块无发热。

(3)在有树木和矮墙遮挡物的环境下测试。距离200m 内,接收误码率低于1%,模块无发热。

(4)在有高大砖墙或有铁门遮挡物的环境下测试。距离150m 内,接收误码率低于1%,模块无发热。距离200m 时,接收误码率接近5%,模块轻微发热。

(5)在场地空旷,无遮挡物,有其他频段干扰信号的环境下测试。距离200m 时,误码率低于1%,模块无明显发热,在干扰信号环境中依然工作稳定。

综述测试结果,空旷情况下该无线通信系统实际最远通信距离为250m,考虑到实际工作环境可能存在遮挡或其他干扰信号的情况,推荐可靠通信距离为200m。

5 结论

文中设计了基于STM32 处理器和433MHz 扩频通信收发模块的无线遥控系统,可实现履带装卸机器人的无线遥控、实时状态监测和精准控制。针对无线通信可靠性问题,从无线数传模块选择、地址码设置、通信链路状态监测、通信程序逻辑优化等方面着手以提高遥控系统的通信可靠性。经实测系统可在200m 无线通信距离下实现对履带装卸机器人各个动作的有效控制,对于提高履带装卸机器人控制可靠性具有参考价值。

猜你喜欢
误码率遥控遥控器
“遥控”老师
我是“糊涂虫”
时间遥控器
爸妈有个“遥控器”
他是如何遥控引爆的
行走的飞行遥控器
失效网络中节点可通信性能评估方法研究
D—BLAST基带系统的FPGA实现研究
线性调频扩频技术的研究与分析
非线性效应对OOFDM系统的影响研究