Software design of station controller for lightninng rod against shielding fail ureinsulating and removing robot system
程志勇1,2,郭 亮3,贾永刚1,2,郭 锐1,张 峰1,2
(1.国网山东省电力公司电力科学研究院,济南 250002;2.山东鲁能智能技术有限公司,济南 250101;3.国网山东省电力公司,济南 250001)
CHENG Zhi-yong1,2, GUO Liang3, JIA Yong-gang1,2, GUO Rui1, ZHANG Feng1,2
防绕击避雷针装卸机器人系统地面站控制软件设计
Software design of station controller for lightninng rod against shielding fail ureinsulating and removing robot system
程志勇1,2,郭亮3,贾永刚1,2,郭锐1,张峰1,2
(1.国网山东省电力公司电力科学研究院,济南 250002;2.山东鲁能智能技术有限公司,济南 250101;3.国网山东省电力公司,济南 250001)
CHENG Zhi-yong1,2,GUO Liang3,JIA Yong-gang1,2,GUO Rui1,ZHANG Feng1,2
摘要:针对架空输电线路防绕击避雷针装卸的需要,设计了由防绕击避雷针机器人及地面站组成的自动装卸机器人系统。搭建了由PC机、USB/RS232转换器及无线通信单元组成的地面站控制系统硬件,在Win XP系统下采用SPCOMM控件和Turbodelphi Lite软件设计了地面站控制软件,自定义了简洁的通信协议,在4800,8N1无线通信协议下进行了不同速度的自动安装和自动拆卸实验。结果表明,系统遥控距离超过1000米,无丢码,机器人运动速度在0~50m/min范围内连续可调。控制实验证实了地面站控制软件的可靠性和稳定性。
关键词:USB/RS232转换器;SPCOMM控件;Turbodelphi Lite软件
为提高输电的安全性,开展了防绕击避雷针装卸技术的研究,研发了由地面站、防绕击避雷针装卸机器人组成的自动装卸机器人系统。
本文以机器人系统安装防绕击避雷针为目标,研究地面站控制系统设计方法,并进行实验验证。
地面站控制系统包括硬件及软件两部分。其中,硬件完成电平转换及无线信号发送和接收功能。地面站硬件主要包括如下个部分。
1.1USB/RS232转换模块
1.2SM51高速无线数传单元
用于实现信号调制及无线发送功能。其主要参数:工作电压3.3V~5.5V,调制方式GFSK,发射频率433MHz,发射功率-3dbm(500mW),最大接收灵敏度-132dbm,发射电流≤380mA,接收电流≤30mA,休眠电流≤5uA,唤醒时间≤1us。SM51通过RS232串口与UT-880 USB/RS232转换器相连。
1.3433MHz吸盘天线
433MHz吸盘天线通过SMA接口与SM51高速无线数传单元接收模块相连,用于地面站与防绕击避雷针装卸机器人之间信号的增益接收和发送。
UT-880转换器、SM51数传单元与433MHz吸盘天线构成地面站与机器人间的信号通道。地面站发送的控制信号经笔记本PC USB串口、UT-880转换器、SM51数传单元、433MHz吸盘天线调制处理后发送至机器人。机器人的反馈数据调制后经433MHz吸盘天线、SM51数传单元、UT-880转换器及USB串口反馈给地面站PC。
3.1安装SPCOMM控件
TurboDelphi未含MSCOMM通信控件,只能采用第方控件。本文采用免费的SPCOMM控件进行USB虚拟串口开发。
下载SPCOMM源代码后,需按照如下顺序进行安装:
1)启动TurboDelphi,注意右上侧的ProjectGroup对话框。在ProjectGroup1.bpl名称上右击,在弹出的菜单中点击“Rename”,名称为SPCOMM,定义SPCOMM.BPL打包文件。
2)在SPCOMM.BPL上右击,选择弹出菜单上的“Add...",再选择下载的spcomm.pas源码文件。
3)点击 ProjectGroup对话框上的Activate按键,激活这个打包文件和选择的spcomm.pas文件。
4)右击SPCOMM.BPL,在弹出的菜单中点击“Install”,即完成SPCOMM控件的安装。
3.2通信协议
为实现防绕击避雷针装卸机器人机载控制系统与地面站之间的通信,者除工作于相同的频率和调制方式外(由SM51数传单元确定),软件上还需要采用致格式的通信协议。为简化数据处理,采用8位数据格式,地面站发送给机器人的通信协议如表1所示。
表1 地面站至机器人控制指令协议
位0的R表示机器人。位1的1表示机器人编号,1为防绕击避雷针装卸机器人。位2至位4的CMD表示控制指令。位5的0表示指令开始。位7的X表示指令结束。位六的x表示不同的指令。例如,0为通信测试,1为压紧,......,G为手提触摸屏控制系统发送的速度减1指令信号。根据不同的功能,x在机器人控制系统中可能具有不同的含义。机器人发送给地面站的通信协议也采用8位数据格式,协议如表2所示。
表2 机器人至地面站反馈数据协议
与表1类似,位0的R表示机器人。位1的表示机器人编号,1为防绕击避雷针装卸机器人。位7的Y表示反馈数据的结束。位2至位6则有不同含义,分四种情况:
1)位2为D,位3为0,位5为O,位6为K,位4与表1位6相同的数字,则表示机器人报告地面站指令执行完毕。
2)位2为P,位3至位6则用于表示通过伺服驱动器监测到的与机器人前进或后退速度对应的脉冲数。
3)位2为V,位3至位6则用于表示通过机载控制系统监测到的与驱动电池电压对应的10位二进制数据(与机载控制系统Atmega128A MCU 10位A/D功能对应)。
4)位2为L,位3至位6则用于表示通过机载控制系统监测到的与导线倾角对应的10位二进制数据(与机载控制系统Atmega128A MCU 10位A/D功能对应)。
3.3功能设计
根据防绕击避雷针装卸机器人需要完成的功能,地面站控制系统需要具有如下功能:
1)串口相关功能
也就是UT-880 USB/RS232转换器虚拟出来的串口(般为COM4)设定问题,尤其是开关控制、波特率、数据位、起始位、停止位、奇偶校验、缓冲区、接收函数设定等。其中,波特率、数据位、起始位、停止位、奇偶校验等需与SM51串口参数致,以实现串口参数匹配和二者间的数据交换。
2)防绕击避雷针装卸机器人运动控制
为实现灵活和解耦控制,将防绕击避雷针装卸机器人运动控制分解为压紧、行走速度调节与控制、运动方向控制(前进/后退)、开始运动、停止运动、紧固防绕击避雷针、拆卸防绕击避雷针、检测使能及检测禁止等独立功能,通信协议如表1所示。
3)反馈数据处理
按表2所示,对接收到的数据进行处理并显示防绕击避雷针装卸机器人的当前运动速度、驱动电池当前电压、导线当前倾角等。
3.4界面设计
根据地面站控制系统功能设计,与串口打开、关闭、波特率设定、起始位设定、数据位设定、奇偶校验相关的功能使用个GroupBox组合在起,与防绕击避雷针装卸机器人相关的功能分别使用个GroupBox组合在起以增强易用性。
3.5软件代码设计
1)串口操作
Comm1有众多属性。其中,最为关键的是Comm1控件属性的设定及接收程序的编写。
在Comm1控件属性中,较为重要的是CommName(串口名称)、BaudRate(波特率)、ByteSize(数据位)、Parity(奇偶校验方式)、ParityCheck(是否奇偶校验)、PortOpen(是否打开)、StopBits(停止位),分别设置如下:
Comm1.CommName:=COM4; //如果是计算机原生串口,则是COM1
Comm1.BaudRate:=4800;
Comm1.ByteSize: =8;
Comm1.Parity: =None;
Comm1.ParityCheck: =False;
Comm1.PortOpen:=False;//默认关闭
Comm1.StopBits=1;
这些属性可由相应的ComboBox控件选择和设定。
点击“打开串口”按键,打开COM4串口的指令为:
Comm1.PortOpen:=True;
点击“关闭串口”按键,关闭COM4串口的指令为:
Comm1.PortOpen:= False;
为与SM51串口协议相对应,UT-880虚拟出来的串口参数设置为4800,8N1。
2)指令发送
指令发送就是点击相应按键后,按照如表1所示协议向机器人发送指令数据的过程,可通过将指令数据写入Comm1控件Output属性的方法实现。
例如,向防绕击避雷针装卸机器人发送通信测试指令的代码是
Comm1.Output:=’R1CMD00Y’;
3)反馈数据处理
SPCOMM控件是采用线程技术编程和实现的,可采用线程方法对机器人反馈给地面站的反馈数据进行处理并显示的过程和技术。
SPCOMM控件的接收软件代码较为复杂。点击SPCOMM控件,在属性框中点击Event选项卡,新建DatRCV事件。
inBuff:array[0..10] of char;
读取缓冲区数据的代码是:
Move(Buffer,inBuff,bufferlength);
参见表2,在反馈数据处理的DatRCV事件框架内,处理反馈数据的流程图如图1所示。
图1 反馈数据处理流程图
if AnsiSameStr(lastchar,'X') then
//处理语句
tmpstrid:=Copy(RcvData,3,1); //获得第个字符
if (SameText(tmpstrid,'P'))
//处理语句
根据不同的反馈数据,循环使用这些语句即可得到防绕击避雷针装卸机器人的驱动电池电压、运行速度及导线倾角等当前参数。
操作系统为Win XP sp3。将UT-880转换器插入任USB接口,安装驱动程序。在桌面“我的电脑”图标上右击,在弹出的“系统属性”对话框中选择“硬件”选项卡,在“设备管理器”框架中点击“设备管理器”按键,系统弹出“设备管理器”对话框。右击“端口(COM和LPT)”下的“通信端口(COM4)”,在弹出的COM4端口属性设置对话框内,将通信协议设置为4800,8N1。
使用本文设计的控制系统在GJ-90架空电力线上进行了机器人安装防绕击避雷针实验。机器人将防绕击避雷针推送至目标位置,并进行紧固,如图2所示。机器人将防绕击避雷针安装完毕后退回,如图3所示。
结果表明,1)系统遥控距离超过1000米,无丢码;2)机器人行走运动速度在0~50m/min范围内连续
【】【】可调,实现了机器人拖动防绕击避雷针前进、后退、紧固防绕击避雷针、紧固后退回等功能控制,及10位分辨率的速度、驱动电池电压及导线倾角检测,圆满达到实验效果。
图2 机器人安装防绕击避雷针
图3 机器人安装防绕击避雷针后退回
本文设计了由防绕击避雷针装卸机器人及地面站组成的防绕击避雷针装卸系统以实现架空输电线路防绕击避雷针装卸作业。搭建了由PC机、UT-880 USB/RS232转换器及SM51高速无线通信单元组成的地面站控制系统硬件,采用Turbodelphi Lite软件和SPCOMM控件设计了地面站控制软件,设计了地面站至机器人系统及机器人系统至地面站的8位格式的通信协议,在4800,8N1无线通信协议下进行了防绕击避雷针安装实验。实验结果证实了地面站控制软件的可靠性和稳定性。
参考文献:
[1] Paul Kimmel.Delphi 6应用开发指南[M].郭旭,周建明,译.北京:清华大学出版社,2002.
[2] 龙启明,刘斌,程捷.Delphi 7高级编程范例[M].北京:清华大学出版社,2004.
[3] 伍俊良.Delphi 6控件应用实例教程[M].北京:北京希望电子出版社,2002.
[4] 张志远,毕海深,赵宝光.种全自动软袋物料再包装生产线的设计[J].制造业自动化,2013,35(2):128-131.
[5] 许松清,吴海彬,林宜,等.基于DSP的半自主远程控制移动机器人系统[J].单片机与嵌入式系统应用,2005(8):58-60,70.
[6] 方鹏程,胡征峰,补家武.移动机器人无线通讯扩展[J].微计算机信息,2003,19(11):74-75.
[7] 谢振宇.电缆隧道综合检测机器人控制系统研究[D].上海:上海交通大学,2008.
[8] 庄严,刑睿智,王伟.XO/2实时操作系统在嵌入式移动机器人中的应用[J].中南大学学报,2005,36(1):359-364.
作者简介:程志勇(1986 -),男,工程师,硕士,研究方向为电力机器人控制系统设计。
收稿日期:2015-12-04
中图分类号:TP373
文献标识码:A
文章编号:1009-0134(2016)03-0094-04