基于Arduino的远程勘探避障小车设计

2018-11-26 09:32许宗喆
电脑知识与技术 2018年22期
关键词:无线传输单片机

许宗喆

摘要:本文设计开发了一台基于Arduino Mega 2560单片机的可遥控智能勘探避障小车,小车由机械结构、控制系统、图传系统构成。机械结构包括车架与行驶单元,在物理层面保证小车的运动、抓取排障、电子元件布局等功能。控制系统包含上位机和下位机系统,上位机由显示屏、按键等构成,实现远程控制小车及开关车灯等功能;下位机由电机驱动、温湿度传感器等构成,实现运动、测量温湿度、距离和抓取障碍物等功能,两者由ZigBee模块实现数据交互,实现了实时传输图像、温湿度和距离数据,声光报警和智能排障等功能。图传系统将小车端周围的情境实时传回控制者,以便及时做出反应。实验证明小车的避障性能、排障性能、环境勘探功能良好,且抗干扰能力强。

关键词:远程勘探;无线传输;避障排障;单片机

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2018)22-0202-04

1如今,随着科技的发展,大量的机械自动化装置被人们广泛运用在工业生产与制造中,智能小车的运用却大部分被限制在自动化循迹避障方面。文献[1-4]都各自用了不同的方法,分别从循迹传感器、红外线传感器等多个方面开发了小车的循迹避障的功能。由于其体积小,可搭载多种传感器及电子元件的特点,智能小车在地质勘探中能起到很大的作用。过去地质探测通常由实验人员完成,该方法由于环境的未知因素往往会对实验人员造成安全隐患。智能小车的出现让机器代替了人工,为该问题提出了解决方案。但目前小车在地质勘探中更多的只起到了勘探的功能,在遇到障碍时更多采用人工排障,十分麻烦而且浪费时间。为了满足科学研究对未知区域探求日益增加的需求,研究设计并开发一台可以远程遥控的用于地质勘探的小车,在之前勘探功能中增加自动避障程序和机械臂,不仅具备排障功能,还使小车具备了采样功能,可以更好地代替人工在危险和狭小区域对地形和周围环境进行全面的检测,并在遇到小型障碍物时自动躲避或远程控制排除障碍,具有较强的越野及排障能力,能够自行采集环境数据并将其传送至上位机显示屏。

1 机械结构

机械结构作为所有指令的执行端,首先要搭载所有的电子设备并尽可能防止粉尘和水等的干扰,还要考虑机械臂在装夹和搬运物体时的重心问题,最后也必须保证小车有较强的越野能力。

根据其功能主要分为三部分构成:车架部分、行驶部分、抓取部分,如图1所示。其中,车架含有机械臂工作区、电子器件搭载平台及电池固定区;行驶单元主要是电机减速器和履带;抓取机构是由高转矩舵驱动的四自由度机械臂。

1.1 车架部分

预留出两块表面喷涂绝缘漆的平台分别用于安装电子元件和固定机械臂。电子器件搭载平台搭载了包含单片机、通讯模块等重要的硬件,位于小车顶部,部分传感器和电机驱动器的散热器直接与外界空气接触。由舵机搭载的超声波传感器与图传系统置于小车右侧,与置于左侧的机械臂分开,减小了由机械臂运动而对图传系统和超声波传感器带来的误差。声光报警器位于小车中心,方便观测。温湿度传感器远离机械臂,电机驱动等大功率元件放置,防止电流放热对测量数据造成影响。

机械臂工作区主要用于安装一个四自由度的机械臂,并有足够的運动空间。将其安装基座固定在小车运动前方的一块较小平台处,放置于小车中轴线上能快速地夹取四周障碍物,且在后端配重保证越野过程中的重心稳定。此抓取装置为四自由度空间关节机械臂,由四个MG996R高强度舵机实现旋转功能,每个关节的旋转范围为0-270度,可保障在小车运动时,机械臂在一定范围内能正常排障。

电池固定区位于车架内部,固定有一组电池,分别为一单片机为主的一系列硬件、图传系统和机械臂提供电源。

1.2 行驶单元

小车的运动由行驶单元实现,两个包含减速器的直流电机分别对称放置于小车后端的两侧,分别作用于左右两个履带。单侧传动含有一个后驱动轮、一个前导向轮、一个张紧轮和三个支撑轮。前导向轮悬高,使小车具有翻越小型障碍的能力。履带则能让小车适应各种地形,起越障及防滑的作用。

1.3 抓取单元

抓取单元旨在将妨碍小车运动的所有障碍物移开,使用一个四自由度的机械臂实现全方位的排障,末端执行器是一个强力夹子。机械臂的运动由舵机驱动,每个关节的运动范围是0-180°,运动精度±0.5°,最大抓取质量5kg。操作臂由上位机的两个摇杆控制,并能通过图传系统的摄像头清晰地看到,实现了人机快速顺利交互的功能。

2 控制系统

控制系统由硬件和软件共同构成,分为上位机和下位机。上位机负责对小车运动进行控制,实现流畅地人机交互功能,下位机则对控制做出反应并把测量出的温湿度及距离等数据传送给上位机。上位机与下位机通过ZigBee通讯模块进行通讯,共同实现小车显示实时数据、排障避障等功能。并采用C语言进行系统的编程,程序分为上位机程序模块与下位机程序模块,分别编入上位机和下位机的单片机芯片中。

2.1 上位机系统

2.1.1 主要元件介绍

上位机由摇杆、按键传感器、TJC4024T032-011显示屏、ZigBee通讯模块以及arduino 2560单片机组成。

采用两个摇杆,一个摇杆的两个方向分别控制小车的进退和左右转动,另一个摇杆的x方向控制1号舵机的水平旋转,y方向控制2号舵机的垂直旋转,实现180度范围的超声波距离探测以及四分之一球面的图像传输。按钮传感器则负责小车前灯的开关。

显示屏选用TJC4024T032-011显示屏,用以显示下位机传感器通过通讯模块传送到上位机的数据。该显示屏需要在使用之前使用数据线进行处理来调整显示屏界面。单片机在收到数据以后,通过串口通讯将数据传输给显示屏。共分三栏,分别显示温度、湿度和距离。以此达到人机快速交流的目的,满足了勘探小车勘探地形地貌的基本需求。

选用Arduino 2560 单片机。Arduino 2560拥有四个通讯串口、53个数字引脚及15个模拟引脚,可以读取摇杆的模拟数据以及按钮的数字数据,并实现通讯模块与单片机、单片机与显示屏的串口交流,可以满足实验要求。并且Arduino 2560单片机易于开发,故采用Arduino 2560单片机作为主控板。

2.1.2 软件控制

上位机程序用于采集摇杆和按钮传感器数据,并将其转换为下位机程序可以识别的格式从通讯模块输出,以及从通讯模块接收下位机发出的数据显示在显示屏上。摇杆输出的模拟信号介于0到1023之间,处于中间位置时输出的信号为510。对于控制小车运动的摇杆,将运动数据前进设为“1”,后退设为“2”,左转设为“3”,右转设为“4”。分别将不同的摇杆信号对应的运动数据设为1、2、3、4。对于控制舵机旋转的摇杆,则直接将转动角度作为输出数据,对于摇杆不同方向传动带来的不同模拟数据,分别将转动角度循环加1或减1,达到持续转动的效果。按钮传感器控制小车前灯的开关,采用按下变换的方法。当单片机检测到由按钮传感器状态变化带来的电流变化时,则自动将电平信号在1和0之间变化,达成改变灯亮状态的目的。上位机程序中同时还具备将ZigBee通讯模块接收到的数据写入显示屏的功能。

2.2 下位机系统

2.2.1 主要元件介绍

下位机由L298N电机驱动、超声波传感器、温湿度传感器、三极管、arduino mega 2560单片机、舵机、蜂鸣器、ZigBee通訊模块等构成。

电机驱动采用L298N,精度高并且稳定,有很高的可行性[5]。具有可以在接收单片机的运动指令后同时驱动两个直流电机的优点。可以在单片机的控制下完成对两个履带动力轮的驱动,并通过改变电流方向改变动力轮的转动方向,用差速实现小车车身的转动。驱动器同时具有将小车携带12v电源转换为5v为单片机的功能。

同样使用Arduino 2560单片机作为主控板,被用于控制电机驱动、舵机旋转和前灯的开关。同时可以接收传感器数据,并传送给通讯模块。由于单片机没有足够的正负极电源串口,采用将正负极引出的方法为小车硬件提供电源。

1号舵机搭载超声波传感器及二号舵机,可进行在水平平面180度的旋转。二号舵机搭载图传系统,可在竖直方向进行90度的旋转。在1号舵机和2号舵机的共同作用下,图传系统可以进行四分之一球面的旋转并传输图像。可以满足勘探小车全面探测地形的要求。

同时小车还搭载LED灯,以5v电磁继电器为开关,提供光源,为图传系统提供清晰的图像。

2.2.2 软件控制原理

下位机程序用于读取上位机通讯模块输出的控制数据,控制小车运动以及从通讯端口输出传感器读取的数据。采用servo库函数,通过读取上位机发送的转动角度可以对舵机转动角度简便地进行控制。通过读取运动信号来控制电机的正反转,从而实现小车前进后退左右转的功能。同时还能够按照车前灯控制数据来控制LED串口的高低电平,达到开关灯的目的。超声波传感器采用HC-SRO4,要采集超声波数据,先对trigpin出发串口发出一个持续10微秒的高电平来启动传感器,然后从echopin串口读取传感器收集到的数据。为了实现小车避障的功能,写入紧急制动程序。若超声波距离小于30cm(含车身)而且运动数据为1(前进),则将运动数据改为0(停止)。所以当前方障碍物与小车相距极近时,小车将不能前进,只能左右转与后退。

2.2.3 机械臂控制原理

机械臂在整个排障避障小车中有着极其重要的作用,对机械臂灵活准确地控制是该控制系统中的关键环节。本系统中机械臂的运动控制不需工业现场中那样精确,而是需要远端操作者在控制时机械臂能快速灵活地响应运动指令,主要包括机械臂的下列动作:基座左右旋转、手臂下垂上扬、手臂前伸和后退、夹子夹紧和松开。因此采用运动开关[7],在使用单片机编程过程中,参照文献[11],将上述8个动作的运动函数经由机械臂逆运动学和位姿变换等理论模块化[11],操作者在远端只需要根据图传系统传回的实时环境画面控制8个运动开关即可。

2.3 通讯模块

采用ZigBee通讯模块,将上位机与下位机分别设为主节点与从节点。上位机的ZigBee通讯模块被设置为主节点,可以接收下位机ZigBee从节点发送的温湿度数据以及距离数据,同时发送摇杆及按钮传感器的数据给下位机。下位机ZigBee通讯模块设为从节点,负责发送传感器数据以及接受上位机发送的摇杆及按钮等数据。通过主从两个节点的不断通讯,实现的小车快速流畅的人机交互。

为了解决两个单片机互相的通讯问题,在两个程序中分别写入拆分合并程序模块。由于ZigBee通讯模块无法一次性传输多个数据,需要将需传输的多个数据合并输出。但得到传输数据的单片机并不能自动将合并的数据分开。为了使单片机能够识别合并在一起的各种数据,巧妙使用了分隔符的方法,在数据与数据之间加入分隔字母如a,b,c,d。例如 1a20b30c1d代表小车前进(“1”),1号舵机旋转20度,2号舵机旋转30度,车前灯亮。在单片机内拆分时,对字符串依次进行检测,若检测到分隔字母,则把该字母以前,上一字母之后的字符串提出形成需要的数据。结果证明,该模块可以将需要在通讯模块之间传输的数据合并,然后转换成可被传输的字符串形式输出,并在单片机内对字符串进行拆解,形成不同的数据,已达到保持流畅通讯的目的。

3 图像传输

采用1024*600,7寸的高清显示屏,具有高亮度、高清晰度的特点,与12V电源相连接,同时使用高清摄像头。为了防止由于摄像头功率过大导致的电路过热,在摄像头接受端口放置一个散热风扇,能够在图传系统运行时对摄像头实施快速降温。显示屏搭载于上位机上,摄像头放于下位机,通过天线进行无线通讯。显示屏搭载于下位机的二号舵机上,通过上位机摇杆的信号输出,可实现在小车上半球面内任意角度的旋转。使观察的方位更加全面。达到对四周环境进行全面侦察的目的。

4 实例分析

在完成硬件组装及软件编写后,为了对小车性能进行更好的测试,分别在山地与城市中进行实验。分别在距离上位机20m、50m、100m、200m处设置障碍,并遥控小车前进,对障碍进行抓取。经过多次实验,发现小车可以正常测量环境的温湿度和障碍距离。发现山地平均温度為28摄氏度,平均湿度为72%,城市的平均温度为32摄氏度,平均湿度为67%。发现ZigBee的最大通讯距离为200米左右,图传系统的最大通讯距离为100米左右。在一百米以内小车可以实现正常工作,并成功抓取物体并挪开物体,具有良好的勘探作用。

5 结束语

本文设计并开发了一种基于arduino的远程勘探避障小车。可以通过小车搭载的图传系统及温湿度传感器让控制者全面地了解被勘探环境,同时具有机械臂使小车具有小规模排障功能。实验证明,小车具有良好的勘探及排障功能,可以在实际生活中被应用推广。创新之处在于结合了勘探小车的勘探功能与机械臂的排障功能,为探索工作提供了极大的便利,不足之处在于上位机的控制与下位机的执行之间存在可察觉的时间差,系统整体的反应速度还有待提升,可在上位机与下位机的执行程序中进行结构优化来弥补此缺陷。

参考文献:

[1] 张军, 张海云,等. 基于Arduino单片机的微型智能自动循迹搬运车的设计[J]. 机床与液压, 2018, 46(3): 43-46.

[2] 牛闯, 玉翰章,等. 基于STC89C52单片机的循迹智能车控制系统设计[J]. 电脑知识与技术, 2013, 9(10): 2488-2492.

[3] 任艳艳, 宗占元. 基于STC单片机的红外遥控智能车的设计[J]. 济源职业技术学院学报, 2012, 11(1): 29-33。

[4] 龙桂铃, 徐磊, 侯英龙. 基于单片机的智能车避障的实现[J]. 计算机与数字工程, 2011, 39(3): 182-184.

[5] 冷雪锋. 基于PID的STM32智能小车机器人的设计[J]. 自动化技术与应用,2016(11):121-126.

[6] 宋冲, 王洪涛, 吴聪,等. 基于HT32F1765机械臂小车设计[J]. 机床与液压,2017, 45(5): 21-25.

[7] 韩团军. 基于STM32RCT6的无线地面智能排障小车的设计[J]. 实验技术与管理,2018,35(6): 151-155.

[8] 吴硕, 吴桐. 五自由度机械臂运动学系统建模与仿真[J]. 自动化与仪器仪表,2017,48(2):73-79.

[9] 张杰, 舒志兵, 张海荣. 基于计算机串口通信的机械臂运动控制[J]. 电气应用, 2007, 26(7):88-90

[10] 余乐,李庆,郑力新,朱建清. 六自由度机械臂运动轨迹自动生成方法仿真与实现[J]. 华侨大学学报(自然科学版). 2018(03).

[11] John J. Craig. Introduction to Robotics: Mechanics and Control[M]. 2006: 78-100

[12] 李宪华, 张雷刚,等. 六自由度模块化机械臂腕部工作空间量化对比分析[J]. 计算机应用研究. 2017, 34(9):2666-2669.

【通联编辑:张薇】

猜你喜欢
无线传输单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
基于无线传输的LED灯远程控制系统设计
公路路面现场检测数据无线传输系统的设计
基于LABVIEW的温室管理系统的研究与设计
Microchip推出两个全新PIC单片机系列