韩团军
(陕西理工大学 物理与电信工程学院, 陕西 汉中 723000)
在恶劣和特殊环境下进行路面排障、货物搬运、军事侦查和处理危险物品,会造成人员和资源的大量浪费,甚至发生人身伤害。因此,设计制造一种智能排障小车十分必要[1-3]。本文提出了基于STM32RCT6的无线地面智能排障小车系统。该系统在设计上采用无线遥控对小车进行控制。整个系统可分为主从两部分:主控模块采集到控制信息并通过无线模块将数据发送出去;从模块接收到主控模块发来的信号并对信号进行处理,然后输出控制信号控制车身的运动和机械臂的抓举动作。小车采用无线控制,操作灵活。如果在车身上安装摄像头,智能排障小车可用于军事侦察和拆弹防爆等用途[4-6]。
系统硬件主要由主控模块STM32RCT6、无线模块NRF2401、液晶显示OLED等模块组成。主控模块得到控制信号并进行处理后,通过NRF2401无线模块发送到从模块上,同时在主控模块上显示当前的数据信息。从模块接收主控模块发送的信号并将其处理为电机转速和舵机方向的控制信息。主控模块通过几个外围输入(主要是2个操控杆的模拟电压输入)以及操控杆的按键开关调节档位、锁定按键和6个三档开关控制机械臂运动。单片机读取这些数据,然后通过配置NRF2401,将信号发送到从模块上。从模块接收到主控模块发来的原始数据后进行处理优化。转化成为控制从机的电机、机械臂、方向舵机等功能的信号,并且主从模块上都具有OLED实时显示数据功能,能够检测模块是否工作正常。系统整体结构如图1所示。
图1 系统的整体结构
无线模块采用NRF24L01+PA+LNA,它可以在几千米距离保证数据稳定传输。采用2.4 GHz 全球开放ISM频段免许可证使用,最高工作速率2 Mbit/s,高效GFSK调制,抗干扰能力强,特别适合用于工业控制。该模块用软件设地址,只有在收到本机地址时才会输出数据,可连接各种控制器使用[7]。无线模块电路如图2所示。
舵机采用型号为S3010的模拟舵机,供电电压为4.8~6.0 V。由于舵机内部是一个小的空心杯电机,所以需要较强带负载能力的芯片供电。供电电路选用的芯片为LM2940-5.0稳压芯片,该芯片具有输出波纹小、内部静态电流小、不易发热、输入压差小、设计电路简单等优点。2节18650锂电池串联形成7.4 V电压,经LM2940降压到5 V给舵机供电[8]。
图2 无线模块电路
电机驱动模块为MOS管全桥驱动模块。MOS管的输入阻抗一般为1 TΩ。但是场效应管完全导通时,它的等效电阻只有几毫欧姆。所以发热量非常小,适合于大电流器件。MOS管的另一个显著特点是开关性比较好,所以经常用作直流电机的驱动。MOS管导通时的电流可以默认为0,且比较容易导通。驱动电路图如图3所示。
无线地面智能排障小车的机械臂由6个KS-3518舵机构成。此款舵机内部为全金属齿轮,扭矩大、反应迅速,并且具有防水功能。设计的工作电压为5 V,在5 V的电压下反应速度为0.07 s,扭矩为12.0 N·m 。6个舵机需要同时工作,所以需要较大的驱动电流。控制方向的舵机由一个LM2940稳压芯片便足以提供所需的电流。机械臂舵机选用LM2954S开关稳压芯片,电压输入范围为3~40 V,输出为1.5~35 V连续可调直流电压,长时间工作时可保持的最高电流为2.5 A。供电部分采用两节18650锂电池串联组成7.4 V的电源,然后经LM2954S模块稳压到5 V,给6个舵机同时供电。机械臂驱动电路原理图如图4所示。
图3 电机驱动电路
图4 舵机驱动电路
主机工作流程如图5所示。主机工作流程需要对各个模块进行初始化,设定各自的工作模式并对变量定义。初始化完成以后,开始检测NRF2401模块与单片机的连接是否正常,如果异常则报错。
图5 主机工作流程
然后,主控模块给从模块发送一串测试数据,检测是否与从模块连接上,如果接收到从模块发回来的数据,则表示主/从机联机成功,如果没有接收到数据,则在此处等待,直到与从机联机正常,开始进入主函数的while(1)循环。发送数据的时间间隔恒定为0.2 s,单片机开始读操控杆采集的AD模拟量值,并且将其转换成12位二进制数,进而转换成十进制数进行处理。
再后,读取控制机械臂的键值并存入变量,将所有变量发送出去,继续读数据。发送的变量有2路AD值、3位二进制数字、2路速度档位信号、1路机械臂状态锁定信号,还有6位三进制数字控制舵机的状态[9-12]。
从机工作流程如图6所示。
图6 从机工作流程图
与主机工作流程相似,从机开机以后也需初始化各个模块,然后检测接收模块是否在位,若不在则需等待;开始检测有没有数据,没有的话等待接收,接收到数据说明联机成功,开始循环处理。当接收到主控模块发来的9个数据以后,需要逐个处理。由于主控模块的AD值是原始采样信号,是0~4096之间的数字,所以需要进一步处理。控制电机转速的频率为10 kHz,单片机的处理速度为72 MHz,所以当控制电机满占空比时的转速为7 200 r/min。由于将转速分为6个档位,所以每个档位对应的转速分别为720、1 440、2 160、2 880、3 600、7 200 r/min。
然后,通过AD值和目标输出的比例关系,将AD值转换为电机PWM的输出信号。舵机的控制信号也同理,只是不需要进行档位的细分,直接运用AD值和PWM输出信号的比例关系即可。
机械臂输出信号由6位三进制数字控制,每一位可出现的数字有0、1、2。每一位对应着一个舵机,分别对应6个舵机。当某一位的数字为0时,则表示这一位对应的这个舵机状态不变;当为1时,则此刻这个舵机缓慢顺时针转动;当为2时,逆时针转动。
在控制方面,则是开机时给机械臂的6个舵机一个固定的初始位置。机械臂是由舵机组成的,所以控制其运动也是控制输出PWM信号的占空比。当控制机械臂收到信号以后,判断这位是0,是1,还是2。是0时,占空比不变;是1时,PWM占空比缓慢增加,加上延时;是2时,缓慢减小,从而控制舵机转动。6个舵机可以同时工作,并且运动互不干扰。
控制速度和方向的装置选用操控航模的操控杆,这种操控杆可以360°转动,如果松手则操控杆能自动归中。可以将操控杆的方向分为X轴、Y轴,无外力施加时操控杆的坐标可以表示为(0,0)。操控杆内部带有2个电位器,一个是沿X轴,一个是沿Y轴。选用的操控杆电位器的阻值为10 kΩ,则操控杆在中间时X轴方向和Y轴方向电位器的阻值都为5 kΩ。这种操控杆模块有个5个引脚,其中2个引脚分别接参考电压(VCC)和地(GND)。引脚VRX和VRY接电位器中间滑片的引脚,当VCC和GND加载在电位器的两端,改变阻值,则输出电压也会改变。操控杆在不同位置对应不同电压值,单片机读取操控杆模块VRX和VRY引脚的电压值,从而判断操控杆当前所在的位置,继而发出指令。
用了2个操控杆:左边的是方向操控杆,只用了X方向的电位器;右边的是控制油门的操控杆,只用了Y轴方向的电位器。操控杆上还有一个SW引脚,连接按键开关的一端,按键开关的另一端接地。当操控杆按下去时相当于按键开关被按下。为了保证信号的稳定,在按键开关连接单片机的引脚上增加1个上拉电阻。如果没有按下按键,单片机读到的是高电平;如果按键按下,读到的则是低电平。发射端被做成操控杆状,如图7所示。
图7 发射端实物图
接收端被做成车身+机械臂的结构,主要由车身、机械臂、舵机、2节18650锂电池、一节7.2 V氢镍电池、电机驱动模块、机械臂驱动模块、稳压芯片组成,需精心设计每一个模块应该安放的位置。接收终端如图8所示。
图8 接收终端
硬件和软件完成后,对整个系统进行了实际检测。选择8个直径为5 cm的塑料球,让智能排障小车在不同距离进行抓举。抓举的结果如表1所示。
表1 动态实际测试数据
通过表1数据可以看出:在100 m以内,智能小车可以用机械臂对设置物进行精确抓取;随着距离的增加,抓取精度会相对变低。这是由于人为原因产生的误差,如果为智能排障小车加上摄像头,可以提高系统精度。
设计完成了一种基于STM32RCT6的无线地面智能排障小车系统。该系统自带机械臂,可实现远距离无线控制,完成复杂环境的路面排障、货物抓取等功能。通过实验测试证明,该智能无线排障小车具有运行速度快且比较平稳、机械臂工作精度高等特点,可以在工业生产中推广。
[1] 殷继花,侯荣国,陈保胜,等.基于无线网络控制技术的智能搬运小车的设计[J].机床与液压,2016,44(3):46-48.
[2] 李波,张瑾,李国栋.排爆机器人机械臂控制系统设计[J].机电工程,2015(8):1111-1114.
[3] 冷雪锋.基于PID的STM32智能小车机器人的设计[J].自动化技术与应用,2016(11):121-126.
[4] 闫继宏,郭鑫,刘玉斌,等.一种模块化机械臂的设计与运动学分析[J].哈尔滨工业大学学报,2015(1):20-25.
[5] 张勤,王帅,范长湘.轮椅带绳驱动机械臂结构设计[J].机械设计与制造,2014(1):8-11.
[6] 宋冲,王洪涛,吴聪,等.基于HT32F1765机械臂小车设计[J].机床与液压,2017,45(5):21-25.
[7] 王子辉,叶云岳.基于CMOS传感器的智能循迹小车图像识别技术研究[J].传感技术学报,2009,22(4):484-487.
[8] 刘军梅,龚朝晖,侯运锋.一种适用于多机器人搜索动态目标的改进粒子群算法[J/OL].计算机应用研究,2018,35(4).http://kns.cnki.net/kcms/detail/51.1196.TP.20170401.1739.076.html.
[9] 吴硕,吴桐.五自由度机械臂运动学系统建模与仿真[J].自动化与仪器仪表,2017,48(2):73-79.
[10] 杜凯,张年松,贾召敏.一种排爆机械臂控制系统设计[J].机床与液压,2017,45(17):40-46.
[11] Murphy D A, Miller J S, Langford D A, et al.Endoscopic robotic mitral valve surgery[J].The Journal of thoracic and cardiovascular surgery,2006,132(4):1119-1120.
[12] Goto S, Usui T, Kyura N, et al. Forcefree controlwith independent compensation for industrial articulated robot arms[J].Control engineering practice,2007,15(6):627-638.