版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 仿生六足机器人教材基于 arduino 开发平台v1.0目录一、机器人的组装. 11.1. 组装工具 . 11.2. 装配步骤 . 1二、系统概述. 102.1. arduino 介绍 . 10arduino 仿生六足机器人教材2 2.2. arduino 驱动安装 . 132.3. arduino ide菜单介绍 . 20三、实验操作. 253.1 红外避障实验. 253.2 舵机实验 . 27四、使用说明. 314.1.接线端口介绍. 314.2.操作说明 . 32arduino 仿生六足机器人教材1 一、机器人的组装1.1. 组装工具工具:尖嘴钳、十字螺丝刀等。1.2. 装配步骤1)
2、首先是准备好机体2)在机体上装配 4 个 m3x15mm 的六棱铜柱, 所用到 4 个 m3x8mm 的螺钉如下图所示:我这里为了方便能够清楚看到螺钉与铜柱的连接把它分开了。arduino 仿生六足机器人教材2 arduino 仿生六足机器人教材3 3)完成组装4)下一步就是装两个模拟舵机和付板,所用到八个螺钉,八个螺母如下图所示 1 是分解装配arduino 仿生六足机器人教材4 5)完成装配6)这一步是两个十字舵盘的安装,这里用到两个m3x6mm 的螺丝arduino 仿生六足机器人教材5 7)完成组装8)组装m3x20mm 、m3x25mm 的六棱铜柱,这里中间部位是两个m3x20mm
3、六棱铜柱,两侧是 m3x25mm 的六棱铜柱,用到 m3x8mm的螺丝arduino 仿生六足机器人教材6 9)完成组装10) 中间脚的组装, m3x20 螺丝、 m3 螺母、钢纸垫片arduino 仿生六足机器人教材7 11) 组装连接杆12) 另一个连杆组装arduino 仿生六足机器人教材8 13) 两侧脚组装,这里用到m3x8 螺丝、 m3 螺母、钢纸垫片14) 固定完成arduino 仿生六足机器人教材9 15) 中间脚上部螺丝的固定,这里用到m3x8 螺丝、钢纸垫片arduino 仿生六足机器人教材10 二、 系统概述2.1. arduino 介绍要了解 arduino就先要了解什
4、么是单片机,arduino 平台的基础就是 avr 指令集的单片机。1、什么是单片机?它与个人计算机有什么不同?一台能够工作的计算机要有这样几个部份构成:中央处理单元cpu(进行运算、控制) 、随机存储器 ram(数据存储)、存储器 rom(程序存储)、输入/输出设备i/o(串行口、并行输出口等)。 在个人计算机(pc) 上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中, 这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换( a/d)和数字量 /模拟量转换(d/a)等。2、单片
5、机有什么用?实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?应用的关键是看是否够用,是否有很好的性能价格比。 如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。下图就是一个 atmega328p-pu单片机, 基于 avr 指令集的 8位处理器,频率 20mhz,存储器空间 32kb。arduino 仿生六足机器人教材11 3、什么是 arduino?arduino 是一个能够用来感应和控制现实物理世界的一套工具。它由一个基于单
6、片机并且开放源码的硬件平台,和一套为arduino 板编写程序的开发环境组成。arduino 可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。arduino 项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:flash,processing ,maxmsp)进行通讯。 arduino 板你可以选择自己去手动组装或是购买已经组装好的;arduino 开源的 ide 可以免费下载得到。arduino 的编程语言就像似在对一个类似于物理的计算平台进行相应的连线,它基于处理多媒体的编程环境。4、为什么要使用arduino?有很多的单
7、片机和单片机平台都适合用做交互式系统的设计。例如:parallax basic stamp, netmedia s bx-24,phidgets ,mits handyboard 和其它等等提供类似功能的。 所有这些工具,你都不需要去关心单片机编程繁琐的细节,提供给你的是一套容易使用的工具包。arduino 同样也简化了同单片机工作的流程,但同其它系统相比 arduino 在很多地方更具有优越性,特别适合老师,学生和一些业余爱好者们使用:arduino 仿生六足机器人教材12 便宜 和其它平台相比, arduino 板算是相当便宜了。最便宜的arduino版本可以自己动手制作,即使是组装好的成
8、品,其价格也不会超过200 元。跨平台 arduino ide 可以运行在 windows,macintosh osx,和 linux 操作系统。大部分其它的单片机编译软件都只能运行在windows 上。简易的编程环境 初学者很容易就能学会使用arduino 编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说, 一般都能很方便的使用 processing 编程环境,所以如果学生学习过使用processing 编程环境的话,那他们在使用arduino 开发环境的时候就会觉得很相似很熟悉。软件开源并可扩展 arduino 软件是开源的,对于有经验的程序员可以对其进行扩展。 ardu
9、ino 编程语言可以通过c+库进行扩展,如果有人想去了解技术上的细节,可以跳过arduino 语言而直接使用 avr c 编程语言(因为 arduino 语言实际上是基于avr c 的) 。类似的,如果你需要的话,你也可以直接往你的arduino 程序中添加 avr-c 代码。硬 件 开 源 并 可 扩 展arduino板 基 于atmel 的atmega8 和atmega168/328 单片机。arduino 基于 creative commons 许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解
10、arduino 是怎么工作的,省钱又省事。数字端口 013 6 组 pwm 端口tx 、rx 指示灯usb 插孔稳压芯片外部电源供电插孔模拟端口 05 icsp arduino 仿生六足机器人教材13 arduino 基于 avr 平台,对 avr 库进行了二次编译封装,把端口都打包好了,寄存器啦、地址指针之类的基本不用管。 大大降低了软件开发难度, 适宜非专业爱好者使用。优点和缺点并存,因为是二次编译封装,代码不如直接使用avr 代码编写精练,代码执行效率与代码体积都弱于avr 直接编译。性能:digital i/o 数字输入 /输出端口 013。analog i/o 模拟输入 /输出端口
11、0-5。支持 icsp下载,支持 tx/rx 。输入电压: usb 接口供电或者 5v-12v 外部电源供电。输出电压:支持3.3v 级 5v dc 输出。处理器:使用 atmel atmega168 328处理器,因其支持者众多,已有公司开发出来32 位的 mcu 平台支持 arduino。arduino 板子上基本端口如描述,对几个比较特殊的端口下面详细说明下:vin 端口:vin 是 input voltage 的缩写,表示有外部电源时的输入端口。如果不使用 usb 供电时,外接电源可以通过此引脚提供电压。(如电池供电,电池正极接vin 端口,负极接 gnd 端口)aref:refere
12、nce voltage for the analog inputs( 模 拟 输 入的 基 准 电 压 ) 。 使 用analogreference() 命令调用。icsp:也有称为 isp(in system programmer),就是一种线上即时烧录,目前比较新的芯片都支持这种烧录模式,包括大家常听说的8051 系列的芯片,也都慢慢采用这种简便的烧录方式。 我们都知道传统的烧录方式, 都是将被烧录的芯片, 从线路板上拔起, 有的焊死在线路板上的芯片, 还得先把芯片焊接下来才能烧录。为了解决这种问题,发明了icsp 线上即时烧录方式。只需要准备一条r232 线(连接烧录器) , 以及一条连
13、接烧录器与烧录芯片针脚的连接线就可以。电源的 +5v, gnd,两条负责传输烧录信息的针脚,再加上一个烧录电压针脚,这样就可以烧录了。2.2. arduino驱动安装首先在电脑上面打开光盘, 找到 arduino 项目开发 文件夹,拷贝到你的电脑上你想放到的盘符上,例如d 盘(建议不要放到桌面上) ,然后打开,可以看到如下:arduino 仿生六足机器人教材14 光盘中所带 arduino ide为 1.0.3版本, 是目前最新版本,ide 就是 arduino的软件程序开发环境, 里面已经集成了项目中所需要的很多外设库,还有一些其他设置, 比如添加中文注释, 为用户省去了很多麻烦。 ide
14、中所带库文件均经过调试,和光盘代码完全匹配。arduino 资料相关 文件夹中是一些入门资料以及我们提供的arduino电路板原理图。(注:光盘中所带软件仅支持windows 系统。其他系统请去官网下载。)arduino 控制板到手后,首先需要在电脑上把驱动装上,这样才可以进行各种实验。首先打开包装,找到蓝色usb 数据线,一端连接arduino 控制板另一端连接电脑 usb 端口。本文以 win7 32 位为例,会出现识别到新硬件显示。然后会开始查找系统内驱动。如果没有找到驱动,会显示这个画面。arduino 仿生六足机器人教材15 这时,需要在开始菜单,“ 计算机 ” 上面点右键,点 “
15、属性” 。然后点击设备管理arduino 仿生六足机器人教材16 会看到打了感叹号的未识别硬件在未识别硬件上点右键,点击“ 属性” ,选择更新驱动程序软件。arduino 仿生六足机器人教材17 选择浏览计算机以查找驱动程序软件然后目录选择你的arduino1.0所在目录的 drivers 目录arduino 仿生六足机器人教材18 注意,如果您的计算机提示无法找到驱动,需要将目录进一步定位到driversftdi usb drivers 即可点击下一步,就可以安装好驱动了。arduino 仿生六足机器人教材19 安装好驱动后,就可以显示是com 几端口,我这里显示的是com14端口。ardu
16、ino 仿生六足机器人教材20 2.3. arduino ide菜单介绍接着我们介绍下arduino 的 ide 界面,首先进入软件目录。 然后就可以看到 arduino.exe 文件,双击打开ide,可以生成桌面快捷方式,方便以后使用。首先映入眼帘的是下图的界面,工具栏按钮功能依次为“ 编译 ” -“ 上传” -“ 新建程序 ” -“ 打开程序 ” -“ 保存程序 ” -“ 串口监视器 ”arduino 仿生六足机器人教材21 菜单栏上,首先看file 菜单介绍如下:arduino 仿生六足机器人教材22 接下来看 edit 菜单介绍如下:sketch菜单介绍tools 菜单介绍arduin
17、o 仿生六足机器人教材23 arduino 也支持中文界面,如果英文界面看着不爽的话,只要打开file-preferences ,如下图中选择简体中文,点击ok,关闭后重新打开软件即可。在正常使用之前我们还需要对arduino 软件做如下设置:1)打开 arduino ide ,选择 文件-参数设置 ,按如下设置。arduino 仿生六足机器人教材24 2)选择工具-板卡,点选如图所示。因为我们用的是328 的芯片,如果为其他型号相应选择即可。串口就选择电脑 -设备管理器里面显示的串口号即可。至此 arduino ide的设置基本完成。可以编写编译代码进行开发了。arduino 仿生六足机器人
18、教材25 三、 实验操作3.1 红外避障实验3.1.1 红外避障原理红外线反射传感器是利用红外线反射的原理,根据反射的强度来判定前方障碍的有无。 在距离适中的时候测量精度很高。由于使用的是红外线,所以抗干扰能力很强。这样做更加确保了机器人的稳定性。管脚线定义:手动调节如图所示:可调电阻用于手动调节传感器的测量范围(顺时针旋转距离增大,逆时针旋转距离减小) 。3.1.2 红外避障实验操作利用红外避障传感器控制led 灯。接线图:红线电源( +)黑线(或绿线)电源( -)蓝线(或黄线 ) 控制线可调电阻arduino 仿生六足机器人教材26 例程:int sensor = 3; /把红外避障传感器
19、接到3 脚上int val = 0; /保存红外传感器状态值int led = 13; /定义 led 灯void setup() pinmode(sensor,input); /设置传感器引脚为输入模式pinmode(led,output); /设置传感器引脚为输入模式 void loop() val=digitalread(sensor); /采集传感器状态值0 或 1 if(val=0) /红外传感器检测到信号digitalwrite(led, high); / 打开 led if(val=1) /红外传感器没有检测到信号digitalwrite(led, low); / 关闭 led
20、知识点:pinmode() 描述将指定的引脚配置成输出或输入。arduino 仿生六足机器人教材27 语法pinmode(pin, mode) 参数pin:要设置模式的引脚mode:input 或 output 逻辑:红外传感器检测到信号, 打开 led。 红外传感器没有检测到信号, 关闭 led。实验现象:红外传感器前有障碍时, 打开 led 灯。 红外传感器前没有障碍时,关闭 led 灯。3.2 舵机实验3.2.1 舵机的介绍舵机,顾名思义,大海航行靠舵手, 舵机早期是应用在航模中控制方向的,在航空模型中, 飞行器的飞行姿态是通过调整发动机和各个控制多面来实现的,后来有人发现这种机器的体积
21、小、重量轻、扭矩大、精度高,由于具备了这样的优点, 很适合应用在机器人身上作为机器人的驱动。按照舵机的转动角度分有180 度舵机和 360度舵机。180 度舵机只能在 0 度到 180 度之间运动,超过这个范围, 舵机就会出现超量程的故障, 轻则齿轮打坏, 重则烧坏舵机电路或者舵机里面的电机。 360 度舵机转动的方式和普通的电机类似,可以连续的转动,不过我们可以控制它转动的方向和速度。按照舵机的信号处理分为模拟舵机和数字舵机,它们的区别在于,模拟舵机需要给它不停的发送pwm 信号,才能让它保持在规定的位置或者让它按照某个速度转动, 数字舵机则只需要发送一次pwm 信号就能保持在规定的某个位置
22、。关于pwm 信号在以后章节将会介绍。3.2.2 舵机的内部结构一般来说, 我们用的舵机有以下几个部分组成:直流电动机、 减速arduino 仿生六足机器人教材28 器(减速齿轮组)、位置反馈电位计、控制电路板(比较器) 。舵机的输入线共有三根,红色在中间,为电源正极线,黑色线是电源负极(地线)线,黄色或者白色线为信号线。其中电源线为舵机提供6v 到 7v 左右电压的电源。舵机的内部结构图3.2.3 模拟舵机的控制协议360 度舵机是怎样控制的呢?360 度舵机使用的场合基本上是在轮式机器人身上, 所以对应的上升沿和下降沿代表的意义也很不相同,图3-4 给出了 360度舵机 pwm 控制信号的
23、波形图。下图中, t1 表示上升沿, t2 表示下降沿, t 表示方波的周期。下面具体解释一下这种舵机的控制协议。我们是通过 pwm 信号的高电平占空比来控制360 度舵机的,通过实验我们发现pwm 信号的周期为20ms时控制效果是最好的。 在周期为 20ms情况下, 当 1.3mst11.5ms时,舵机反转,当1.5mst11.7ms时舵机正转,两种情况下当t1 越接近 1.5ms时,舵机转动速度越慢,当t1=1.5ms时,舵机停止转动,也就是说占空比为1.5/20=7.5%时舵机停止,这里的7.5 是允许有一定误差的,这就允许我们不改变t1 的情况下,可以稍微的改变周期,实验表明周期 t
24、可以再 19ms到 21ms之间。另外,这类360舵机身上有个微调电阻(见图),它的作用类似校零,当我们给舵机一个占空比为7.5%的 pwm 信号时,如果发现舵机没有停止转动, 可以通过调整这个微调电阻来让它停止。红、黑、白线舵 机上盖齿 轮组直 流电机固定螺丝舵机后盖位置反馈电位计控制电路板(比较器)arduino 仿生六足机器人教材29 1.3mst11.7ms t=20ms 3.2.4 舵机实验操作控制一个 360度舵机正反转,接线图如下。接线图:arduino 有舵机应用库,把 360 度舵机接在第6 接口,舵机控制程序如下。例程 1:#include arduino 仿生六足机器人教
25、材30 servo servo; /定义舵机void setup() servo.attach(6); /定义舵机接口 6 servo.writemicroseconds(1500);/高电平 1500微秒 此时舵机停止 void loop() servo.writemicroseconds(1500); /高电平 1500 微秒 此时舵机停止 把舵机接到第 6 口,烧录例程 1,调整微调电阻使舵机停止。例程 2:#include servo servo; /定义舵机void setup() servo.attach(6); /定义舵机接口 6 servo.writemicroseconds(1500);/高电平 1500微秒 此时舵机停止 void loop() servo.w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大班安全在走廊和楼梯上
- 大学生班会安全
- 2024年沙平坝区重庆市肿瘤医院重庆市肿瘤研究所高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024年江西省中医学院第七附属医院玉山县中医院高层次卫技人才招聘笔试历年参考题库频考点附带答案
- 2024小区绿化车位租赁及生态环保合作协议3篇
- 2024消防设施设备更新与改造合同
- 2024版高速公路管养劳务分包合同
- 中秋节活动方案及总结
- 反恐怖知识培训
- 高中信息技术浙教版:2-1 三维作品设计-说课稿001
- 重庆万科渠道制度管理办法2022
- 上海黄金交易所贵金属交易员题库
- 蒸汽管道设计表(1)
- 提捞采油安全操作规程
- 建筑工程质量管理体系文件
- in、ing对比辨音练习.doc
- 光刻工艺光刻对准
- 世界各国标准钢号对照表
- 文化部鼓励参加的国际艺术比赛
- 输卵管性不孕诊治的中国专家共识
- 除尘器安装技术交底记录
评论
0/150
提交评论