基于Arduino的红外避障玩具设计

2017-03-06 20:52王丽梁永辉黄晓圳
电子技术与软件工程 2016年23期
关键词:舵机

王丽 梁永辉 黄晓圳

摘 要

本文设计了一款基于Arduino硬件平台的红外避障玩具---“别摸我”小黄人,制作灵感来自于电影《神偷奶爸》中可爱的小黄人。在本设计中“别摸我”小黄人拥有4个红外传感器、5个舵机,能在4个轴向上进行6种动作。采用红外避障设计思想制作的小黄人动作起来十分的憨态可掬,趣味性、互动性极强,同时本设计可方便的移植到其他火爆的动漫形象上,可移植性好,具有广泛的应用前景。

【关键词】Arduino 红外避障 红外传感器 舵机

1 系统构成及功能介绍

本文设计了一款Arduino硬件平台的红外避障玩具。该系统主要由三部分组成,即红外传感器信号采集部分、舵机驱动控制部分以及Arduino信号处理部分。

1.1 Arduino硬件平台介绍

Arduino是一款便捷灵活、方便上手的开源电子原型平台,包括各种型号的Arduino板硬件和Arduino IDE软件。其硬件包含一个以Atmel AVR单片机为核心的开发板和其他各种I/O板,适用于愛好者、艺术家、设计师和对“互动”有兴趣的朋友们。本设计中使用的具体型号是Arduino UNO R3。

目前,UNO已经发布到第三版,与前两版相比有以下新的特点:在AREF处增加了两个管脚SDA和SCL,支持I2C接口;增加IOREF和一个预留管脚,将来扩展板将能兼容5V和3.3V核心板。改进了复位电路设计USB接口芯片由ATmega16U2替代了ATmega8U2处理器。 Flash Memory 32 KB,其中0.5 KB用于bootloader,SRAM 2 KB EEPROM 1 KB,工作时钟16 MHz。

1.2 红外传感器

本设计采用博光E18-D80NK红外光电接近开关,它是一种集发射与接收于一体的光电传感器,检测距离可以根据要求进行调节。

光电开关E18的技术参数如下:

(1)输出电流DC/SCR/继电器Control output:100mA/5V供电。

(2)消耗电流DC<25mA。

(3)响应时间<2ms。

(4)指向角:≤15°,有效距离3~80CM可调。

(5)检测物体:不透明体。

(6)工作环境温度:-25℃~+55℃。

(7)标准检测物体:太阳光10000LX以下 白炽灯3000LX以下。

(8)外壳材料:塑料。

这是NPN型光电开关,当检测到目标时输出低电平,未检测到目标时(正常状态)输出高电平。该红外传感器有三根线,分别是电源线(红色)、地线(蓝色)、信号线(黑色),使用时可将信号线接上拉电阻后直接连接Arduino板的数字信号输入脚。编程时通过判断这个数字端口的值是否为0,就可判断传感器前方是否有手靠近了。

1.3 舵机

本设计采用辉盛大扭力金属齿轮舵机MG996R。该舵机的技术参数如下:

(1)产品拉力:12kg/cm(6V)。

(2)反应速度:0.17sec/60度(4.8v无负载)0.14sec/60度(6v无负载)。

(3)工作电压:4.8~72V。

(4)工作温度:0℃~55℃。

(5)齿轮形式:金属齿轮。

(6)工作死区:5us。

该舵机有三根线,分别是信号线(黄色),电源正极(红色)和电源负极(褐色)。

舵机主要包括直流电机、减速齿轮组、传感器和控制电路几部分,是一个自动控制装置,具有一个闭环反馈控制回路不断校正输出的偏差,使系统的输出保持恒定。对于舵机而言,位置检测器是其的输入传感器,舵机转动的位置一变,位置检测器的电阻值就随着发生变化,通过控制电路读取该电阻值的大小,就能适当调整电机的速度和方向,使电机向指定角度旋转。

2 系统硬件实现过程

考虑到舵机扭力、系统重量等因素,决定使用木头制作红外避障玩具的骨架。图1为调试过程的产品,使用压缩木加塑料支架组成,配有2舵机,可以通过1个Arduino板控制舵机在两个方向上进行运动。

接着加入红外传感器,通过用一个红外传感器来控制一盏发光二极管亮的小实验测试红外传感器的使用方法,然后将红外传感器加入到两个舵机的实验中,用红外传感器的输出信号来控制舵机的动作。

经过上述两个小实验已经掌握了舵机和红外传感器的使用方法,此时可以规划最终的系统功能并设想的硬件结构。经过设计,小黄人拥有4个红外传感器、5个舵机,能在4个轴向上进行6种动作。当前面(小黄人的鼻子上)的传感器检测到有人或物接近时小黄人会向后躲避;当左侧(小黄人的左耳)传感器检测到接近信号时会向右躲避;当右侧(小黄人的右耳)传感器检测到接近信号时小黄人会向左躲避;当左右两侧传感器同时有信号时小黄人会向前躲避;当上方(小黄人的头顶)有信号时也就是人们做出抚摸小黄人头部的动作时,小黄人会左右摇摆同时摆手敬礼。采用此设计思想制作的小黄人动作起来十分的憨态可掬、呆萌可爱。

将挖好孔的饮料瓶套在制作好的骨架上,小黄人的外形就有了雏形了,然后披上小黄人的衣服,红外避障玩具—“别摸我”小黄人就制作完成了。图2为小黄人的骨架雏形,图3为制作好的小黄人的总体外观。接下来就需要编程来赋予它灵魂了。

3 系统软件设计

本系统需要对舵机、红外传感器进行编程,最终达到所要的控制效果。

3.1 首先是舵机的控制编程

控制信号是一种脉宽调制(PWM)信号,凡是微控制器都能轻松的产生这种信号。在此本设计中直接使用Arduino开发环境下的微控制器。脉冲的高电平持续1~2ms,也就是1000~2000?s。在1000?s时,舵机左满舵;在2000?s时,右满舵,可以通过调整脉宽来实现更大或者更小范围内的运动。控制脉冲的低电平持续20ms。每经过20ms(50次/s),就要再次跳变为高电平,否则舵机就可能罢工,难以保持稳定。

3.2 对红外传感器进行编程

经过测试发现红外传感器当检测到有人或物靠近时输出为低电平,否则为高电平。接下来通过一个简单程序了解红外传感器的编程使用方法。程序功能为有人接近时LED灯亮,没人接近时LED灯灭。

3.3 将红外传感器与舵机联合调试

用红外传感器控制舵机转动,程序功能为若有人接近舵机转动90°,否则舵机保持原位。

4 结论

综上所述,本文介绍了一种新颖的互相玩具的设计制作方法,详细描述了红外避障玩具——“别摸我”小黄人的设计思路、制作过程及原理。“别摸我小黄人”拥有4个红外传感器,5个舵机,能在4个轴向上进行6种动作。当前面的传感器检测到有人或物接近时小黄人会向后躲避,当左侧传感器检测到接近信号时会向右躲避,当右侧传感器检测到接近信号时会向左躲避,当左右传感器同时有信号时小黄人会向前躲避,当上方头顶有信号时小黄人会左右摇摆同时摆手敬礼。如此呆萌、互动性良好的玩具还可以方便的移植到其他动漫形象上去,满足不同喜好的人群,可移植性好,具有较高的推广价值和应用前景。

参考文献

[1]程晨.Arduino开发实战指南:AVR篇[M].北京:机械工业出版社,2012:18-247.

[2]Masimo Banzi著,于欣龙,郭浩赟译.爱上Arduino[M].北京:人民邮电出版社,2011:4-102.

[3]谭浩强.C程序设计(第4版)[M].北京:清华大学出版社,2010:1-218.

作者简介

王丽(1986-),女,山东省临沂市人。研究生学历。现为深圳第二高级技工学校中级讲师,从事单片机控制教学工作。

作者单位

深圳第二高级技工学校 广东省深圳市 518049

猜你喜欢
舵机
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于LabWindows/CVI的导弹舵机测控系统设计
基于高速同步485总线通信的多通道舵机控制器设计
菜鸟看模型
基于云模型的舵机同步控制