基于STM32变电站排障机器人的设计与实现
2022-03-07陈晓伟
陈晓伟
(广东精益电力设备有限公司,广东揭阳,522000)
0 引言
随着科学技术的快速发展,智能化技术的开发越来越快,在恶劣的环境或特殊环境下用智能机器人代替人类工作,让智能机器人为人类服务已成为人们研究开发智能机器人的方向之一。由于在恶劣和特殊环境下进行路面排障、货物搬运、军事侦察和处理危险物品,会造成人员和资源的大量浪费,甚至发生人身伤害,因此,设计制造一种智能排障机器人在特殊环境下排除障碍十分必要[1-2]。本文设计了基于STM32的智能排障机器人。排障机器人以STM32单片机作为系统的主控器,以履带式结构作为机械平台[3-5],结合红外测距传感器以及两自由度机械臂和OV7670 摄像头模块实现的智能排障机器人,具有远程视频遥控控制[6]、准确排除障碍物的功能。
1 系统整体设计方案
智能排障机器人的系统架构设计如图1所示。该装置系统由控制子系统、电源子系统、驱动子系统、机械手系统、外部传感子系统组成,其中控制系统分为主控系统和可控系统,主控系统为主控制器STM32单片机,可控制系统由各个模块组成;电源子系统为整个装置供电,包括镍镉蓄电池和电源管理模块;外部传感系统为主控制器提供输入信息,包括无线传输模块、红外测距模块,图像监测模块;机械手子系统主要由两自由度机械臂和夹爪组成,接收主控制器的输出信号并进行障碍物的夹取和搬运。智能排障机器人总体系统架构如图1所示。
图1 智能排障机器人总体系统架构
2 系统设计
2.1 控制子系统
为了满足本设计的无线监控排障机器人控制系统的需要,提出了一种STM32+PC+遥控手柄为控制模式和基于无线通讯的控制系统[7-11]。通过上位机对摄像头采集的图像进行实时监控,用遥控手柄对机械手和智能机器人平台发出控制命令,核心控制器STM32通过无线设备接收数据和传输数据给各个模块。
STM32F103ZET6的内核是ARM32位的Cortex-TM-M3 CPU,最高的工作频率高达72MHz,可以更好地完成高端运算。由于配置的存储器内存大,从256K至512K字节的内存存储器,高达64K字节的 SRAM,带有4个片选的静态存储器控制器,使得它可以存储大量信息。STM32核心控制板如图2所示。
图2 STM32的核心控制板
2.2 电源子系统
电源子系统由电池和电源管理模块组成。根据我们的需要,我们在设计中选用镍镉蓄电池。
电源管理模块的基本要求是提供稳定的电压,各路电压信号不能互相干扰。它的作用是对7.2V 1800mA镍镉蓄电池进行电压调节。根据系统各部分正常工作的需要,各模块的电压值可分为5V、6.5V、7.2V三个档,电源管理单元主要用于以下三个方面:
(1)采用稳压管芯片LM2576将电源电压稳压到5V后,给单片机系统电路供电。
(2)经过一个二极管降至6.5V左右后供给摄像头.
(3)直接给直流驱动电机、驱动芯片L298电路供电。
2.3 驱动子系统
驱动子系统的主要功能是通过控制子系统的指令对排障机器人的电机驱动模块进行控制,使其完成各种动作。排障机器人的驱动子系统由稳定性高的履带式平台和2个直流电机以及电机驱动器组成。
直流电机专用驱动器,所用芯片l298属于H桥集成电路,其输出电流为2000mA,最高工作电压是36V,最高工作电流是4A,可以驱动继电器,步进电机,同时驱动板设有与单片机直接相连的接口输入端,可以很方便地用单片机控制。并以7.2V直流电机驱动装置,最大运行度18m/min(0.3m/s),电机转矩1kg.cm,电机功率2.1W。
2.4 机械手子系统
机械手需要在高精度、负重的环境工作,其自身的结构必须要适应这样的工作强度,所以优良的选材和合理的结构设计能够给机械手的运行奠定扎实的基础[12]。机械手子系统采用两自由度的机械臂和夹爪,如图3所示,通过主控制器产生的PWM脉冲信号完成对舵机0到180度之间运转控制,使机械手完成对障碍物的夹取,起到排障的功能。
图3 排障机械手
机械手自由度选用金属数字舵机MG996R,该数字舵机不但拥有精准的定位能力,,而且面对高强度的运行场景,该数字舵机也在运行过程中保持平均的扭力,在一个位置上有更有力的固定力量。
2.5 外部传感模块
外部传感模块是整个机器人系统的检测反馈机构。它的作用是利用各种不同功能的传感器对周围环境的具体信息进行采集,然后将数据发送到决策模块,作为决策模块进一步分析与判断的依据。
(1)排障机器人采用红外测距传感器,具有一对完善的发射、接收装置,即为红外线的发射信号,设备内的二极管接收信号。其工作原理就是通过测距模块中的红外线发射器发射出一束红外线,当这束光线照到物体后就会反射回来,传导模块中的接收信号区,根据红外线的发射与接收之间的时间差,经过数据的处理运算得到两物之间的距离。而本论文所采用的红外测距模块GP2YOA02YKOF,如图4所示,GP2YOA02YKOF有3个端口,分别是电源端,信号端和接地端。GP2YOAO2YKOF测量距离的范围在20cm-150cm之间,测量误差小于0.5cm。
图4 红外测距传感器
(2)排障机器人采用NRF24L01无线数传模块,该无线数传模块是一款工作在2.4-2.5GHz世界通用ISM频段的芯片,其输出功率频道选择和协议的设置可以通过SPI接口进行设置极低的电流消耗。小型:内置2.4GHz天线,体积小;便于开发:由于链路层完全集成在模块上,非常便于开发;在空旷条件250Kb的波特率,在240米以上都有信号。在进行远程控制排障时,通过NRF24L01无线数传模块把单片机连接到机械手柄上。通过机械手柄控制排障机器人完成前进、后退、左转、右转及障碍物的抓取。
(3)排障机器人采用OV7670摄像头模块[13],如图5所示,它属于一种图像传感器,它的整体结构比较小,大大缩减机器人的空间。该摄像头模块在3.3V电压下进行工作,提供单片机VGA摄像头和影像处理器的所有功能。利用摄像头模块收集排障机器人周围的图像信息传回上位机软件中显示,通过实时监控,通过操作上位机控制软件让排障机器人完成排障工作。
3 程序设计
3.1 机器人排障主程序设计
排障机器人排障主程序流程图如图6所示。排障工作流程需要对各个模块进行初始化,设定各自的工作模式并对各个变量定义。初始化完成以后,开始检测摄像头模块,驱动模块,机械手模块与控制单片机的连接是否正常, 如果异常则查找原因,并进行调节。
图6 排障机器人排障主程序流程图
其次上位机对摄像头模块收集到的图像信息进行处理,呈现清晰的图像,通过手柄控制排障机器人完成前进后退以及转弯动作,向障碍物靠近,在机器人行走的过程中,实时检测障碍物是否在视野中,如果出现障碍物离开摄像头视野,需要通过及时调整机器人的前进方向,确保障碍物出现在上位机监控图像中。
再次,在机器人前进过程中,红外测距模块实时测量障碍物与机器人的具体距离,当机器人行进到距离障碍物一米距离时,机器人停止前进,然后控制机械手完成对障碍物的夹取工作。
3.2 控制机械手的流程设计
控制机械手的动作,需要各模块的配合工作,遥控手柄的无线传输信号传递到核心控制器中,核心控制器控制电机驱动模块驱动舵机,使机械手完成对障碍物夹取的动作。机械手控制流程如图7所示。
图7 机械手控制流程图
3.3 机器人动作流程设计
机器小车运动,需要依靠stm32核心控制模块控制电机驱动模块,通过控制单片机IO口输出电平的高低转换使小车实现前进后退以及转弯的功能,电机驱动模块的四个逻辑输入信号端口连接在单片机的IO口端,其中利用IN1、IN2来控制左轮,IN3、IN4控制右轮,单片机的PWM信号输入电机驱动模块的逻辑信号端,能使电机的转速发生变化。机器人动作程序流程图如图8所示。
图8 机器人动作程序流程图
3.4 红外测距的程序设计
我们采用红外测距传感器,当机器小车在运行过程中,测距模块实现测量机器小车与障碍物的距离,当测量距离达到临界距离(避免发生碰撞的最小安全距离)时,机器小车减速运行,并把测量距离与控制器设定的最小距离实时对比,当测量距离等于最小距离时,机器小车停止运动。
4 测试与分析
硬件和软件完成后,对整个系统进行了实际测试。选择5个宽为5cm,重0.3kg的塑料盒,让智能排障小车在不同距离进行抓举。如图9,图10和图11所示,排障机器人通过摄像头模块进行实时监控,利用红外线测距模块来计算车体与障碍物的距离,进行定位,进而对障碍物进行抓取。综合多次实验结果发现,智能车对障碍物的测距误差较少,定位准确率较高,能够实现连贯抓取,达到了研究的预期目的。
图9 排障机器人定位障碍物
图10 排障机器人夹取障碍物
图11 上位机监控图像
5 结语
设计完成了一款基于STM32智能排障机器人。该机器人自带机械臂, 可实现远程视频遥控控制、准确排除障碍物等功能。该智能排障机器人具有运行速度快且比较平稳、机械手工作精度高等特点, 可以在工业生产中推广。