APP下载

基于nRF24L01的钢管内窥无损检测机器人设计*

2021-07-14徐海达谢星宇周赵凤

机电工程技术 2021年4期
关键词:摇杆舵机调用

陈 勇,徐海达,谢星宇,周赵凤

(浙大城市学院工程学院,杭州 310015)

0 引言

中国的钢管产业的技术装备水平、技术含量、钢管品种规格接近强国水平,同时中国的钢管产量占世界钢管产量的50%以上[1]。不合格的焊管会对日常生产生活产生极大的危害,为保障焊管产品的生产质量,焊管的无损检测极为重要。目前已有采用超声、电磁和涡流等检测系统对焊管进行探伤检测[2]。本文设计的于钢管内窥无损检测机器人具有适应性强、结构简单等特点,具有遥控操控、实时图像采集与传输等功能,应用于焊管检测上可减少工人工作量和提高生产效率。

1 总体方案

机器人基于Arduino UNO R3开发板与nRF24L01芯片的无线信号的传输通讯,实现远距离的小车操控,同时利用Robot-Link V5.0 MT型WiFi模块搭配支持UVC免驱和mjpeg输出的摄像头完成焊管内壁的图像采集及传输的任务。机器人工作原理如图1所示。

图1 工作原理

2 结构设计

为了简化钢管内窥无损检测机器人的机械结构,便于后期的组装、调试和升级优化,决定使之模块化,将小车的整体结构分为底盘模块和机械臂模块两大部分。底盘模块实现小车在管道内的移动,机械臂模块实现管道内的图像采集。机器人结构设计如图2所示。

图2 机器人装配图和爆炸图

底盘模块主要由车底板、电机以及电机支架、车轮和其他连接件组装而成。其中底板采用亚克力板,板上均布M3大小的圆孔,方便底板与其他配件组装,并为其增加功能预留空间。为了提高机器人的机动性,使之能够轻易避障,适应更加恶劣的地形和环境,本文设计的异形轮具有较强的针对性,如图3所示,主要由圆柱和圆锥两部分组成,其锥形母线是与管壁的曲率半径一致的曲线,这使得轮子能更好地贴合管道内壁,增加摩擦力,提高了牵引力,降低了小车打滑的几率。同时车轮的圆柱部分的保留使其可像普通车轮一样在水平的路面上行驶。同时采用橡胶材质,制作工艺比较成熟,橡胶在一定程度上还可以吸收地面的少量震动。小车采用JGB37-520型电机提供动力,能满足其工作的动力要求。

图3 异形轮

机械臂模块由图像采集模块、二自由度云台、U型短板、L型短板和若干连接件按图4所示的1、2、3顺序依次连接而成。可按照焊管的管径大小或者其他具体情况用不同的连接件组装,灵活性大。

图4 机械臂模块

其中机械臂中起到主要作用的就是舵机,是实现图像大范围采集的活动载体,选择合适扭矩和转动范围的舵机十分重要,本文采用DS3218型数字舵机。该舵机运行的时候可以产生一个周期为20 ms,宽度为1.5 ms基准信号,这个基准信号就是电位器的基准。将获得的直流偏置电压与舵机内部的电位器的电压比较,获得电压差输出[3]。电压差的数值大小决定电机的角度,正负号决定电机的转动方向。假设电压差的绝对值等于零,说明当前角度与所给角度相同,电机停止转动,其工作原理如5所示。

图5 舵机工作原理

3 机器人系统设计

3.1 控制系统设计

3.1.1 主控板以及扩展板

Arduino Uno是一款基于ATmega328P的单片机控制板[4]。Bigfish扩展板和扩展板Birdmen是“探索者”平台设备中的两块综合扩展板,通过扩展板连接的电路可靠稳定。

Arduino UNO R3硬件主板与扩展板Bigfish、扩展板Birdmen各接口是一一对应的,只要上下堆叠即可使用。

3.1.2 nRF24L01与通信

nRF24L01是一款工作在2.4~2.5 GHz通用ISM频段的单片无线收发器芯片,可以通过SPI接口设置其输出功率、协议的设置和频道选择等。Arduino Uno与nRF24L01连接如图6所示。

图6 Arduino发送端、接收端与nRF24L01无线芯片连接

Arduino Uno与nRF24L01之间的通信采用SPI方式。由Motorola公司提出的一种同步串行数据传输标准[5]。使用RF24库的SPI的通信过程简述如下。

(1)进行初始化,使用const uint64_t pipe=0xE8 E8F0F0E1LL语句定义一个通道(其中“0xE8E8F0F0 E1LL”可替换为其他传输通道编号),每个设备都会自动配对一样通道编号设备。然后用RF24.begin()语句开启芯片,使芯片处于工作状态。

(2)发送数据。调用RF24.openWritingPipe(uint64_t pipe),这个参数是之前一开始定义的传输通道编号,然后调用RF24.write(const void*buf,uint8_t len)来传输信息。

(3)接收数据。调用RF24.openReadingPipe(int num,uint64_t pipe)来声明接收数据的通道(可用共6个渠道),调用RF24.startListening()方法来开始接收数据,调用RF24.available()来知道是否有信息传进来,若有数据传输,返回true,否则返回false。数据内容可以调用RF24.read(void*buf,uint8_t len)来获取。

3.2 功能实现

3.2.1 实现遥控移动与转向

(1)摇杆控制

利用扩展板Birdmen上的双摇杆分别实现小车的移动控制和云台舵机的转动。具体操作方式如图7所示。

图7 摇杆操作方式

扩展板Birdmen上的双摇杆实质上是两个摇杆电位器,扩展板Birdmen上的每个单独的摇杆有2个输入接口和2个模拟量输出接口。输入接口包括电压+5 V接口和接GND接口,模拟量输出接口包括1个对应X轴电压变化量的接口和1个对应Y轴电压变化量接口。每个10 kΩ的电位器的阻值会随着摇杆摆动的方向及其程度的不同而变化。摇杆电阻器在初始状态下接通5 V电压后,模拟量接口X、Y输出的数字量映射为电压是2.5 V左右,当摇杆在X轴方向偏移时,输出的电压值在0~5 V之间变化;当摇杆在Y轴方向偏移时输出电压值的变化和摇杆在X轴方向偏移时类似。

(2)机器人移动与转向

本文采用4电机驱动,此方案是指4个车轮由单独的电机各自驱动,通过调节不同驱动电机或不同组驱动电机的转速或转向,而改变各车轮组的运行速度或者转动方向(即差速原理),实现机器人在复杂弯管道内的差动转向功能[5]。这个方案具有过弯管时电机控制多样化和电机布置方式多样化等特点。

移动具体控制方式如图8所示。

图8 差速原理

在Arduino中调用pinMode(D5,OUTPUT)(“D5”处可替换成任意D系列接口,即与直流电机连接的扩展板Bigfish接口)初始化扩展板Bigfish接口。调用digitalWrite(D5,HIGH/LOW)使D5接口输入高/低电平,因为直流电机有两个针脚,所以要再使用该语句,但该语句的“D5”要替换成另一个D系列接口,比如digitalWrite(D6,HIGH/LOW),这样才可以实现电机转动/停转。当两个针脚输出有压差的时候,电机转动。

(3)二自由度云台的控制

如图9所示,该云台由2个舵机组成,具有2个旋转自由度,分别可以绕图中1轴和2轴旋转,两个舵机分别有180°的旋转角度,将图中位置设置为舵机的中间位置,则每个舵机可以旋转范围为-90°~90°。当右舵机保在中间位置时左舵机可绕2轴上下旋转180°,当右舵机绕1轴旋转90°的时候左舵机绕2轴转动90°,此时左舵机可绕2轴左右旋转180°,从而使得摄像头可以在空间中的半球内区域旋转。将图像采集模块安装在二自由度云台上,满足图像采集的任务要求。

图9 二自由度舵机云台

在Arduino中调用Servo库中的Servo number(“number”可输入任意英文/数字名称)定义舵机名称,调用number.attach(3)(“3”处可替换成可输出PWM波的任意D系列接口)语句将舵机名称与Arduino的I/O接口相绑定。调用number.write(90)(“90”处可任意替换为0~180范围内的数字)控制舵机转动至的角度值。

3.2.2 实现图像采集与传输

视频传输采用基于MTK7620N芯片的Robot-Link V5.0 MT型WiFi模块,预刷open wrt固件,采用DSSS、OFDM、BPSK、QPSK、CCK和QAM基带调制技术,能自适应路由器等设备的无线热点。支持MIMO技术,最大连接速率可达300 Mb/s。外接2T2R双天线,传输距离可达30 m。

为配合该模块,图像采集由支持UVC免驱和mjpeg输出的摄像头来实现。模块与摄像头通过USB接口连接。模块与摄像头需要5 V供电,因此直接由Arduino 5 V输出供电,连接方式如图10所示。

图10 图传模块与arduino接线方法

与Robot-Link V5.0 MT型WiFi模块有配套的图像显示软件,其客户端界面如图11所示。只要电脑连接上wifi-robots.com开头的信号即可使用,软件还支持拍照及录像功能。

图11 图像显示软件客户端界面

4 结束语

本文在通信和供电两个方面上,使用无线模块和电池供电,避免长距离的电缆外接,减少小车负重,便于小车行进。机器人上安装的摄像头带有转动功能,远程操作器可以操作摄像头方位调整动作,支持对管道进行全方位扫描。通过Arduino与nRF24L01的数据通信实现远程遥控,对小车进行灵活、精准地控制,并为管内检测提供了一种可行的方案;机器人车型也为钢管内窥无损检测机器人提供了一个可拓展可实践的结构设计方案。

猜你喜欢

摇杆舵机调用
曲柄摇杆机构的急回程度分析与探讨*
曲柄与摇杆摆角的关系
基于ANSYS的曲柄摇杆机构的仿真分析及优化设计
核电项目物项调用管理的应用研究
含齿隙弹载舵机的全局反步模糊自适应控制
LabWindows/CVI下基于ActiveX技术的Excel调用
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
曲柄摇杆行星系取苗机构参数匹配与优化
基于系统调用的恶意软件检测技术研究