侯 凡,孟祥印,2,唐志锋,谢江鹏
(1.西南交通大学机械工程学院,四川 成都 610036;2.轨道交通运维技术与装备四川省重点实验室,四川 成都 610036)
目前,随着我国智慧城市管网系统的逐步建立,排水管沟的应用日益广泛。排水管沟广泛应用于城市排水、公路排水、铁路隧道排水。大多数排水管沟的工作环境非常恶劣,随着作业年限的增长,管沟内壁和外壁将随着排水和外力的冲击、矿物质腐蚀、淤泥义务等因素影响,出现管沟裂纹、扭曲、磨损变形问题[1],这将给工程的继续运转带来巨大压力。基于此,管道质量的定期检测尤为重要。由于管径的限制,人工无法进入管沟,目前主要是采用量泥斗法、反光镜法等。量泥斗法检测淤泥效果较好,但是无法检测管沟内壁的结构性问题。反光镜法只能对没有液体的管道内壁进行检测[2],否则误差较大。可见人工检测效率低下,不适用于对日益庞大的管沟进行维护。近二十年来,随着微电子技术、精密传感器设备、通讯、工业设计等多个领域的迅速发展。在隧道排水管沟的巡检中运用机器人技术来逐渐成为研究的热点[3]。管沟机器人的控制命令依赖于各传感器采集反馈的数据,其中管沟采集图像的清晰度直接决定了操作者对管沟环境的判断,进而对机器人的运动控制、故障识别和故障诊断都有着非常重要的影响[4]。摄像云台系统被称为隧道排水管沟机器人的“眼睛”,该系统的摄像头像素、云台升降角度、摄像头转动角度、俯仰角度、照明设备、防水等级等参数决定了管沟机器人在隧道排水管沟中的工作精度。
本摄像头云台主要是应用在隧道管沟中,受限于管沟的高度限制,摄像头云台系统的体积应当比较小,以提高管沟机器人对不同管径的适应能力。摄像头云台系统的前视摄像头需要较高的像素,用以确保机器人在隧道中巡检时能清晰显示管沟情况,保存高质量的管沟故障点图像。在完成巡检任务后,为避免回退过程中线缆和障碍物对机器人造成影响,需设计后视方案。在故障点处,需采集不同的角度的故障点图片,便于后续工作人员对故障点进行判断,摄像头的转动速度和俯仰速度要确保稳定且匀速。在实际的管沟环境中,可能存在大量积水的情况,摄像头云台系统需要有一定的密封措施。此外在无巡检任务时,摄像头可拆卸单独保存。
因此,根据上述需求,摄像头云台系统应具有如下特点:
(1)转轴360°的无限制旋转;
(2)俯仰180°,速度平稳;
(3)镜头具有高清晰度,具备变焦变倍功能;
(4)具备可调的光源,用于照明,照明距离不能小于2.5m;
(6)云台为可拆卸结构,便于无任务时的保养;
(6)具备后视摄像头,便于机器人回到巡检起点;
(7)安全可靠的供能、通讯电路。
摄像头云台系统的核心控制部分采用STM32最小核心板,该控制板具备通信和控制功能。当上位机控制面板输入指令时,上位机控制器对指令进行量化并打包,通过RS485通信传输到云台控制器。当接收到数据时,云台控制器对数据进行验证,验证通过后进行解码,并驱动执行机构完成对应功能。
这里设计的摄像头云台体积为:长30cm,宽5cm,高15cm。摄像头云台系统三维图,如图1所示。
图1 云台三维设计Fig.1 3D Design of Pan Tilt
这里设计的摄像头云台控制系统具有两个自由度,分别为轴向360°转动,上下180°俯仰。齿轮传动是现代各种设备中应用最广泛的一种机械传动方式,它的效率比较准确、效率高,但是占用空间较大且不宜用于相对距离较大的场合[5],故这里采用其它机构进行传动。
俯仰功能的实现采用同步带进行传动。同步带工作时无滑动、有准确的传动比、效率高、可用于远距离传输,中心距10m以上,符合云台系统的设计要求[6]。采用舵机作为执行机构实现。它由直流电机、减速齿轮组、传感器和控制电路组成,适用于需要角度不断变化并可以保持的控制系统。在高档遥控玩具,如飞机、潜艇模型,遥控机器人中已经得到了普遍应用[7]。舵机的输入仅有三根线,电源线VCC、GND 和信号线,三根线通过杜邦线固定在云台部分的控制板IO引脚。控制舵机的时候,需要不断的给PWM波才能使得舵机在某个角度有扭矩。转动功能的实现采用反作用机构,如图2所示。可拆卸摄像头通过电机转动的反作用力带动,电机延长轴通过轴端固定架(键连接限制转动,再通过锁紧螺母进行轴向限位)固定,当电机转动时,电机延长轴不动,电机的反作用力带动前方云台实现360°的转动。
图2 转动结构图Fig.2 Rotation Structure Diagram
该系统板配置STM32 芯片,具有72M 主频、64K-FLASH、20K-RAM,具有多个定制器通道、20个IO引脚,足够满足摄像头云台系统的控制输出。此外,它具有全双工的可编程串行通信接口,保证与上位机通信的可靠性[8]。
本项目设计的摄像头轴向角度范围为(0~360)°,采用鸣志MS11HS3P4067步进电机。该电机尺寸小、力矩高、低噪音。由于对转动的速度、位置没有精确的要求,使用开环控制即可。电机驱动器采用鸣志SR3-mini,该驱动器具有抗共振、低速力矩平滑、输入信息平滑等功能。使用云台控制器控制该驱动器。测得该驱动器和电机在不同电压下的速度转矩曲线,如图3所示。
图3 速度转矩曲线图Fig.3 Speed Torque Curve
隧道排水管沟常深埋在地下没有光源,为了提供更好的拍摄条件,管沟机器人必须有充足的光源去照明,LED 模组控制电路[9],如图4所示。
图4 LED灯驱动电路Fig.4 LED Lamp Driving Circuit
该项目LED 灯设计思路:一块LED 模组选用6 颗同规格的LED 灯珠,使用PT4115芯片进行恒流控制,PT4115输入电压范围为(6~30)V,输出电流可调。当外部接入电压为12V 时,通过Rs采样电阻进行电流采样,通过PT4115芯片的DIM引脚可以接入PWM波进行控制,考虑到单路PWM波输入驱动不足的情况,设计了两个PWM输入端口。当DIM的电压低于0.3V时,功率开关关断,PT4115进入极低工作电流的待机状态,如此保证了整个模组的可靠性。LED的最大平均电流由在VIN和CSN两端的电阻Rs决定,计算方法如下所示:
式中:D—PWM波的占空比;
RS—采样电阻,本项目选用电阻为300MΩ。
由于隧道机器人的单次巡检距离较长,摄像头必须具备远距离图像传输接口。摄像头前视部分选用数字和模拟信号一体的SONY-EV7100机芯,该机芯有效像素为238万,光学变焦40倍,具有防抖及透雾功能;后视镜头选用imx385模组,最大分辨率为(1920×1080)。前后摄像头均能输出SDI信号,通过同轴线缆即可进行远距离视频传输,连接简单可靠。
摄像头云台系统电源及通信设计,如图5所示。爬行器与云台摄像头的控制板使用USB线进行供电和通讯,LED 灯通过IO引脚输出PWM波进行亮度控制,爬行器的输出电压为12V,通过分线板输出3路12V电路,一路给摄像头部分供电,一路给电机驱动器进行供电,最后一路通过降压模块给舵机进行供电。
图5 摄像头云台供电及通信设计Fig.5 Power Supply and Communication Design of Camera Pan Tilt
这里设计的防水等级要求为IP68,为实现该要求,在云台系统无相对运动部分采用静密封,并在壳体内填充硅胶发泡条。俯仰转动出使用双层O型密封圈进行密封,在可拆卸处使用航空插头进行密封。将云台放置在云中30min取出,各接口出没有进水现象,表明本云台的密封性能[10]。
摄像头云台系统软件部分主要实现以下功能。(1)控制芯片接收上位机的数据指令,数据解析;(2)轴向转动控制;(3)俯仰角度控制。控制程序整体设计流程,如图6所示。这里所涉及的控制程序采用C语言编写,编译环境选用Keil5,库函数丰富、代码紧凑,容易理解。
图6 控制程序流程图Fig.6 Control Program Flow Chart
云台控制器与步进电机驱动器及电机典型接线图,如图7所示。脉冲信号主要是通过控制器的定时器TIM8_CH2 产生,仅需要通过杜邦线将IO引脚连接即可。在本程序中,先初始化定时器的溢出时间为一个时间周期,设定控制器定时器模式为脉冲宽度调制模式2,设置输出极性高。
图7 典型接线图Fig.7 Typical Connection Diagram
PWM2模式时序图,如图8所示。计数值CNT以每周期固定从0开始计数,一直累加到ARR,通过设置CCR值输出不同占空比的PWM波[11],PWM的周期时间由式(1)获得:
图8 PWM原理示意图Fig.8 Schematic Diagram of PWM Principle
式中:Arr—定时器重装载值;
Psc—时钟预分频数;
Tclk—TIM的输入时钟频率(单位为MHz);
Tout—TIM3溢出时间(单位为μs)。
摄像头转动电机的位置控制采用手动按键控制,通过按钮的按下和弹起状态调整摄像头转动电机的开闭状态,通过左右方向控制摄像头的转动方向,考虑到复位情况在上位机预留复位按键,在控制过程中由式(2)设定电机转动速度。通过上位机按键的状态触发中断处理函数,在中断处理函数中根据具体按键执行相关函数。
式中:Ω—转速单位转/分;f—频率Hz;x—细分倍数;T—步距角。
根据上述功能编写如下函数控制电机:
void Driver_Ini(tvoid);//驱动器初始化(初始化ENA+、DIR+IO引脚)。
void TIM8_OPM_RCR_Init(u16 arr,u16 psc);//TIM8_CH2初始化单脉冲+重复计数模式。
void Locate_Rle(long num,u32 frequency,DIR_Type dir)//相对定位函数,带方向控制,主要用于控制电机正反转。
void Locate_Abs(long num,u32 frequency);/绝对定位函数,主要用于电机回0。
本项目使用的舵机就是根据云台控制器高电平持续时间(0.5~2.5)ms来实现(0~180)°的转动的。通过改变TIMx_CCRx寄存器的值调整每个周期内高电平的持续时间,如图8所示。本程序设定在上位机控制面板采集的AD 量化后的数值范围为(0~1024),角度和数值比为1:5.7,通过式(3)带入参数即可求得当前AD 数值下所对应的CCR寄存器数值。当数据传送到云台控制器后,通过转化改变CCRx寄存器的数值来控制舵机在(0~180)°。设置占空比的函数如下:
void TIM_SetComparex(TIM_TypeDef* TIMx,uint16_t Compare2)。
式中:Arr—定时器重装载值;psc—时钟预分频数;Tclk—TIM的输入时钟频率(单位为MHz);value—上位机AD量化数值。
本项目中LED灯模组亮度调节的实现原理,如图9所示。控制面上的亮度调节旋钮变动,其电位计在被上位机控制器AD采集量化后,根据通信协议打包并传输到云台控制器。云台控制器对AD量化值进行解码后,求出当前量化值对应的占空比,根据占空比的值,求出CCRx 应该设置的具体数值,并通过函数void TIM_SetComparex(TIM_TypeDef*TIMx,uint16_t Compare2)确保定时器输出的PWM占空比为上述计算值。通过杜邦线将PWM输出引脚连接到LED 模块中PT4115 芯片的DIM 引脚。通过上述方式,改变占空比来改变LED回路中的电流,使LED模块实现调光功能。
图9 LED模组控制流程图Fig.9 Module Control Flow Chart
上位机将数据线通过RS485传输到爬行器的下位机控制器,下位机控制器与云台控制器使用串口进行数据传输。RS232、RS422 还是RS485 这些典型的串口标准通讯协议,只是定义了部分物理层,对于数据链路层基本没有涉及,需要使用者自己来定义合适的数据协议来传输自己的数据[12]。根据摄像头云台系统的功能需要,我们指定了如下表1的通信协议格式。其说明如下[13-14]:(1)起始标志:是协议数据帧的开始标志,本协议规定起始标志有1字节(0X55)。(2)指令类型:根据不同的功能要求自定义,使目标设备按照指令数据做出对应的动作,主要是告诉接收方“做什么”。其中0X0f轴向正转,0X10轴向反转,0X11上俯仰,0X12下俯仰。(3)应用数据:它包含详细的数据,可以理解为补充“做”的内容以及一些具体的参数。(4)CRC检验:是对协议数据帧中检验字段之前的字节进行检验的结果。本协议采用CRC16进行检验。这种编码的基本思想是将要传递的信息M(X)表示为一个多项式L,用L除以一个实现预定的多项式G(X),得到的余式就是所需要的循环冗杂编码[15]。(5)结束标志:表示协议数据帧的结束特性标识,通常和起始标志一起用于通信两端的数据同步和完整性判断。本协议中规定结束字为0XBB。
表1 通信协议数据帧格式Tab.1 Communication Protocol Data Frame Format
为验证本模组设计的LED模组在云台控制器下调光的性能,设计检测方法:Led灯珠的一端焊接在PCB上,另一引脚脱开,再通过导线将万用表打在相应电流档位串接在电路中即可。实验过程:通过上述将硬件连接好后,通过改变定时器PWM输出的占空比来测量流过LED模组的电流。实验图片,如图10所示。对2次实验数据进行记录结果,如图11所示。由图11可知:LED模组在占空比50%内存在较为明显的波动,50%以后,波动较小。通过分析推测波动的出现原因有如下两点。(1)电路中电阻和电感的物理特性导致;(2)测试过程中操作不当造成误差。尽管存在些许波动,但是还是能够验证LED模组电路及程序设计满足功能需求。
图11 输出电流与占空比关系曲线Fig.11 Relation Curve Between Output Current and Duty Cycle
为验证本云台通信是否正常、控制程序是否合理,设计如下验证实验:将轴向转动电机轴与角度传感器链接,传感器的数据通过串口反馈至检测设备,测试云台复位函数的准确性。实验图片,如图12所示。8组实验结果,如表2所示。表2实验数据及图13表明:本系统通信正常,控制程序准确。实际值与期望值存在部分误差,误差范围在(-2~3.5)°方位内,分析在转动过程中存在摩擦力的影响,本设计符合预期设计的定位精度。
表2 复位函数实验数据Tab.2 Reset Function Experimental Results
图13 轴向转动误差变化Fig.13 Variation of Axial Rotation Error
(1)本设计将STM32控制器、步进电机、舵机、摄像头、LED模组整合为摄像头云台系统,建立该系统三维模型。硬件设计合理,确保体积小、结构简单。(2)控制程序的详细设计确保系统能够按照指令完成对应功能。(3)通过LED模组实验及轴向转动实验,验证了该系统的可靠性和稳定性。