APP下载

Arduino平台在机械手臂控制系统中的应用

2017-12-07赵丽丽

化工自动化及仪表 2017年11期
关键词:控制板舵机手臂

赵丽丽

(东北石油大学电气信息工程学院)

Arduino平台在机械手臂控制系统中的应用

赵丽丽

(东北石油大学电气信息工程学院)

为了提高机械手臂的可控程度,设计了应用Arduino平台的六自由度机械手臂可控系统,分别介绍了硬件系统和软件系统。测试结果表明该设计在实验室环境下可正常工作。

机械手臂 六自由度 Arduino平台

机械手型机器人作为现代机器人领域的重要构成部分,在现代社会的多个领域占主导地位。它由数学、机械工程、电气与电子工程、控制工程、计算机科学及认知科学等学科交叉产生,其系统及其设计代表着工程意义和理论意义。

Arduino平台是一款广泛应用的硬件开放平台[1],其相对简单的开放方式让设计者更专注设计的创新和应用,可更快地实现项目开发,节省了时间成本,减少了开发周期。

笔者综合机械手臂和Arduino平台的理论与技术,通过对机械手臂各个关节精确控制,实现了机械手臂对6个自由度关节的调整控制,继而进行简单的动作。笔者为了增强机械手臂的通用性,便于在不同应用环境下的使用,设计了多种不同控制指令的方式,包括声控、光控、手势识别、颜色识别、智能手柄及手机蓝牙等对机械手臂进行操控。

1 系统总体设计

机械手臂是一种同时兼具高度能动性和高度灵活性的自动化机器,它是机电一体化设备的典型代表之一。机械手臂控制系统(图1)的主要部分由Arduino主控制板、舵机控制板、舵机系统和外接传感器构成[2]。

图1 六自由度机械手臂构成框图

Arduino控制板负责搭载外接传感器,接收外接传感器发送的信号,并对这些信号进行处理[3]。再通过串口将信号上传至舵机控制器,即以多种不同的控制模式控制机械手臂。舵机控制板负责接收机械手臂的控制指令,并将信号放大以驱动各个舵机[4]。

舵机系统主要包括底座舵机、臂部关节舵机、腕部关节舵机及手部关节舵机等,分别用于模拟执行机械手臂的动作。也可以对6个舵机单独控制,从而实现对机械手臂6个自由度的调整控制。

外接传感器主要由声音传感器、光敏电阻传感器、红外避障传感器、三轴加速度传感器、超声波测距传感器、OLED液晶显示模块、手势感应传感器、蓝牙模块以及PS2无线遥控模块等部分组成。

2 系统硬件部分

机械手臂控制系统主要由主控制器系统、舵机控制板、舵机系统及各种传感器等构成[5]。舵机驱动板类似于人体小脑,里面存有已经下载好的动作指令代码,会根据接收到的指令驱动舵机做出相应的动作。Arduino相当于人体大脑,用于接收外界信息,感知环境,进行控制指令操作。

2.1主控制器系统

Arduino主控制器系统硬件部分包括ATmega328单片机、供电系统模块、6路传感器接口、通信模块、CH340下载调试模块、蓝牙电路模块和扩展板。此单片机是一种基于AVR架构体系的单片机。在电源电路中选择XL4015降压型DC-DC转换芯片。将外接锂电池36V电压降压为5V,为控制板提供稳定的电源,电源供电电路如图2所示。

图2 电源供电电路

2.2舵机控制板

舵机控制板的核心主要是STM32F103C8T6型单片机,用于系统发出的指令,并控制指令放大编码后控制舵机。主要包括STM32F103C8T6单片机、供电系统模块、6路PWM舵机接口、通信模块、CH340下载调试模块和Flash存储模块。供电系统电路与主控制器系统模块基本相同,有6路PWM舵机接口,将6个舵机分别与各引脚相连接,完成指定动作。

2.3舵机系统

舵机系统共由6个舵机构成,对应控制机械手臂的6个自由度。为了夹持器有更强的扭矩,选择TBSN-K15型耐烧数字舵机,其余舵机选择TBS2701型。它们的工作电压为直流4.8~7.2V,工作角度为0~270°。可支持机械手臂进行相应动作所需的扭矩。

2.4传感器

2.4.1声音传感器

声音传感器型号为CNZ-15E,可检测到周围环境中非特定频率或强度的声音信号,并以数字形式输出,且灵敏度可调,其电路如图3所示。工作原理:传感器内部设置一个对声音极敏感的电容式驻极体话筒[6]。声波使话筒内的驻极体薄膜振动,通过电容的变化会产生相应的微小电压。这一电压随后被转换成0~5V的电压,经过A/D转换被数据采集器接收,并传送给主控制器。

2.4.2三轴加速度传感器模块

ADXL335是一款小尺寸、薄型、低功耗、完整的三轴加速度计,提供经过信号调理的电压输出,再以最小±3g的满量程范围计算加速度,其电路如图4所示。

它可以测量倾斜检测应用中的静态重力加速

图3 声音传感器电路

度和运动、冲击或振动导致的动态加速度。本设计中,只用到x轴和y轴两个方向上的加速度,并分别将x、y两轴的输出引脚与Arduino上的5、6端口相连接。

图4 三轴加速度传感器模块电路

2.4.3姿态感应模块

APDS-9960芯片是一款集成红外LED、接近检测器的光学模块和环境亮度感测的传感器,使用双光二极管来近似0.01lux照度近似人眼的视觉反应。

本设计采用内置APDS-9960传感器的小接口板,它是一个RGB和手势传感器,内置紫外线和红外线阻隔滤镜,有4个单独的二极管分别对不同方向进行检测,还有一个I2C兼容接口。用来实现颜色识别和非接触手势检测,姿态感应模块的电路如图5所示,SCL、SDA引脚连接至Arduino上的5端口和4端口。

图5 姿态感应模块电路

3 系统软件部分

3.1舵机控制板代码设计

舵机控制软件是用来进行动作调试,下载动作组或其他扩展功能的PC机控制软件。本设计中使用的PC控制软件界面如图6所示,共设计了12组动作组以进行12个指定的动作任务。编辑动作组中的单个动作时,需要给出各路舵机的位置和到达该位置的时间,进而得到动作指令代码命令。代码命令格式如下:

#P#P……#PT

图6 舵机控制界面

其中为舵机号,编号1~32;为脉冲宽度,取值范围为500~2 500μs;

编写好所有的12个动作任务对应的动作组之后,将动作组下载到驱动板内,为之后的工作做准备。

3.2系统主程序

本软件设计程序主要实现的是利用各种传感器模块操纵机械臂完成指定动作。程序设计在于利用Arduino UNO读取相应数据并发送相应的指令,通过串口通信将指令传递给驱动板。因为在驱动板内已经下载好动作组,驱动板可根据接收到的指令驱动舵机执行相应的动作。当动作执行完后,LED和蜂鸣器进行声光报警。程序流程如图7所示。

4 结束语

实验室测试结果表明:基于Arduino平台的机械手臂控制系统,采用六自由度机械手臂,可以完成指定任务和规定动作,关节操作更灵活;通过外接多种传感器,为机械手臂添加了“听觉”、“视觉”及“触觉”等感知功能,使得它可以感知多种不同环境下发出的指令信号;系统采用双电源供电(锂电池和市电供能),便于使用。

图7 主程序流程

[1] 张涛,王炎.基于单片机和Arduino平台的六自由度可控机械手臂[J].电气自动化,2016,38(6):97~99.

[2] 谢杰腾,颜晓文.基于Android手机语音和Arduino控制板的机器人控制系统[J].物联网技术,2015,(3):101~102.

[3] 刘俊畅,芦利斌,谭力宁.基于Arduino的自动避障技术实现[J].信息技术,2014,(12):170~172.

[4] 孟浩,王妍玮.基于Arduino的双足仿人机器人设计[J].林业机械与木工设备,2014,(2):38~40.

[5] 杨志鹏.导游机器人的设计与实现[D].杭州:浙江大学,2010.

[6] 李超.声音识别传感器设计与应用[J].传感器与微系统,2014,33(12):51~53.

TheApplicationofArduinoPlatform

ZHAO Li-li

(CollegeofElectricalEngineeringandInformation,NortheastPetroleumUniversity)

In order to improve the controllability of mechanical arm, an Arduino platform-based controllable system for the manipulator with six degrees of freedom was designed and its hardware and software system were introduced respectively. The test results show that this design can work well in the laboratory environment.

manipulator, six degrees of freedom, Arduino

赵丽丽(1992-),硕士研究生,从事检测技术与自动装置的研究,18545772186@163.com。

TP241

A

1000-3932(2017)11-1073-05

2017-07-06,

2017-09-09)

猜你喜欢

控制板舵机手臂
手臂上的抓痕
含齿隙弹载舵机的全局反步模糊自适应控制
轨道交通AFC导向标识控制板设计
基于dsPIC单片机的飞艇舵机控制实现
一种集成脚本控制单元的设计与实现
一种全隔离的无刷直流电机的反馈制动控制板的研究
基于高速同步485总线通信的多通道舵机控制器设计
一种机载SAR中心控制板的设计
完美的手臂
基于云模型的舵机同步控制