arduino简单机械手教材.docx_第1页
arduino简单机械手教材.docx_第2页
arduino简单机械手教材.docx_第3页
arduino简单机械手教材.docx_第4页
arduino简单机械手教材.docx_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

简单机械手教材基于Arduino开发平台V1.0目录一、机器人的组装11.1. 组装工具11.2. 机器人零部件11.3. 部件装配3二、系统概述82.1.Arduino介绍82.2.Arduino驱动安装122.3.Arduino IDE菜单介绍18三、实验操作233.1 舵机介绍233.2 舵机的内部结构233.3 模拟舵机的控制协议273.4 舵机实验操作28四、使用说明303.1. 接线端口介绍303.2.操作说明31注意事项 请认真阅读该手册并注意产品功能和用途说明。本手册在CD光盘上以PDF格式提供,如有需要可以进行复制或打印。 该手册内容可能因产品升级或其他原因而改变,本公司不另行通知客户。安全防备根据严重程度,安全防备分两种:警告和注意。在动手安装之前请先通篇阅读警告和注意事项。安装和操作注意本段包含防止机械损伤方面的内容。危险!当操作机器人的时候要注意安全。如果没有正确组装,机器人将不能正常工作甚至会损坏。组装方法详见第一章 机器人组装说明。在一个足够大的地方进行调试工作警告!远离小孩。尽管该产品看起来像个玩具,在无人照看的情况下,它可能会对小孩造成伤害。故障发生时,请立即关闭电源。如果电池被弄破,暴露在液体,火或其他热源面前,可能会导致电击。不要拆开或修改充电器和其电缆。当不充电时,请把充电器从电源上拔下。不要拆卸或修改电机里面的电路板。不要在热,潮湿或寒冷的环境下使用,因为该产品包含精密的元件。如果处在一个极端的条件下,错误可能发生。充电时请确认充电器插座是牢固的。请仔细阅读本手册,在调试时注意机器人各关节的方向,尽量避免关节相撞。注意!机器人的电机需要定期维护以获得和维持恰当的性能。在一个较大,平整的地方操作时机器人的表现效果会更好。如果工作空间很小又不平的话,机器人可能会摔倒甚至损坏。在启动了机器人或操作的时候请不要把住机器人。在程序的下载过程中不要关闭机器人电源,否则程序会丢失或损坏。电池!套件里面包含锂离子(LiIon)电池做电源。该锂离子(LiIon)电池是高能量可充电的电池,必须妥善保管,充电和使用。把充电器接入交流电源并把他连到电池的充电接口上。当充电器接到交流电源后,它上面的电源灯会亮起来并呈红色。状态指示灯会呈绿色,当电池充电完成,绿色指示灯熄灭。警告!电池管理:该锂电池在使用时不要把电能全部用光才充电,要保留一点点电量。如果电池充足电后放置很长一段时间,电池性能会降低。当不使用时,必须把电池与电路板或充电器断开,把电池存储在阴凉,干燥的环境中。充电时间。给电池充分充电需要大约40分钟。这个时间与充电前电池里原有电量有关。充电时要注意照看,当电池异常的发烫时应立即停止充电。过度充电可导致电池损坏。 注意!电池处理:不要拆开或修改电池的连接或更改导线。不要让物体进入电池的连接头,也不要让导体裸露在外。不要在高温和极端的环境下使用。把电池存储在阴凉,干燥的环境中。在运输或存储时,让电池远离其他导体。当电池的导线变破旧或磨损时,请更换这个电池。紧急处理:如果电池造破坏导致电解材料溅到皮肤上,立即用大量水冲洗皮肤。如果电解材料溅到眼睛里面,请尽快就医。电池里的电解材料是有毒物质,能对人和家庭环境、家具等造成污染和危害。如果电池不能再被充电,请按照垃圾的处理方法或本国家的规则妥善处理。不要通过焚烧来处理报废的电池。一、机器人的组装1.1. 组装工具工具:尖嘴钳、中号十字螺丝刀等。1.2. 机器人零部件1.左齿盘2.右齿盘3.右手抓4.左手抓14.小底盘10.连杆17.无丝舵盘18.舵机19.花舵盘20.M3X25mm六棱铜柱21.M3X35mm六棱铜柱22.M3X11mm六棱铜柱22.6X6支架23.3X7支架24.尼龙垫片25.圆柱形螺母1.3. 部件装配1) 手抓的组装,这里的用到的零件是比较多的,在组装时一定要仔细,准备好零件和M3X20的螺丝、M3X6的螺丝、蓝色圆柱形螺母、M3螺母、6X6塑料支架、3X7塑料支架、红色尼龙垫片2) 这些零件我们有些是要先进行部件组装的比如是,两个手抓(用M3X6的螺丝)、齿盘和舵盘的连接(M2X5圆头自攻螺丝)。(1)首先我们看一下手抓的组装(2)组装完成(3)下面是组装齿盘和舵盘这里用到M2X5的自攻螺丝(4)完成组装3) 现在部件安装就完成了,接下来是进行手抓机构的全部组装,组装时需要用到M3X20的螺丝,圆柱形蓝色螺母、尼龙垫片、塑料支架、M3X6的螺丝4) 完成装配见下图到这里部件装配就装完了。二、 系统概述2.1. Arduino介绍要了解arduino就先要了解什么是单片机,arduino平台的基础就是AVR指令集的单片机。1、什么是单片机?它与个人计算机有什么不同?一台能够工作的计算机要有这样几个部份构成:中央处理单元CPU(进行运算、控制)、随机存储器RAM(数据存储)、存储器ROM(程序存储)、输入/输出设备I/O(串行口、并行输出口等)。在个人计算机(PC)上这些部份被分成若干块芯片,安装在一个被称之为主板的印刷线路板上。而在单片机中,这些部份全部被做到一块集成电路芯片中了,所以就称为单片(单芯片)机,而且有一些单片机中除了上述部份外,还集成了其它部份如模拟量/数字量转换(A/D)和数字量/模拟量转换(D/A)等。2、单片机有什么用?实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能,一个控制电冰箱温度的计算机难道要用酷睿处理器吗?应用的关键是看是否够用,是否有很好的性能价格比。如果一台冰箱都需要用酷睿处理起来进行温度控制,那价格就是天价了。单片机通常用于工业生产的控制、生活中与程序和控制有关(如:电子琴、冰箱、智能空调等)的场合。下图就是一个Atmega328P-PU单片机,基于AVR指令集的8位处理器,频率20MHz,存储器空间32KB。3、什么是Arduino?Arduino是一个能够用来感应和控制现实物理世界的一套工具。 它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序 的开发环境组成。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。Arduino项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:Flash,Processing,MaxMSP)进行通讯。Arduino板你可以选择自己去手动组装或是购买已经组装好的;Arduino开源的IDE可以免费下载得到。Arduino的编程语言就像似在对一个类似于物理的计算平台进行相应的连线,它基于处理多媒体的编程环境。4、为什么要使用Arduino?有很多的单片机和单片机平台都适合用做交互式系统的设计。例如:Parallax Basic Stamp, Netmedias BX-24,Phidgets,MITs Handyboard 和其它等等提供类似功能的。 所有这些工具,你都不需要去关心单片机编程繁琐的细节,提供给你的是一套容易使用的工具包。 Arduino同样也简化了同单片机工作的流程,但同其它系统相比Arduino在很多地方更具有优越性, 特别适合老师,学生和一些业余爱好者们使用: 便宜 和其它平台相比,Arduino板算是相当便宜了。最便宜的Arduino版本可以自己动手制作,即使是组装好的成品,其价格也不会超过200元。 跨平台 Arduino IDE可以运行在Windows,Macintosh OSX,和Linux操作系统。大部分其它的单片机编译软件都只能运行在Windows上。 简易的编程环境 初学者很容易就能学会使用Arduino编程环境,同时它又能为高级用户提供足够多的高级应用。对于老师们来说,一般都能很方便的使用Processing 编程环境,所以如果学生学习过使用Processing 编程环境的话,那他们在使用Arduino开发环境的时候就会觉得很相似很熟悉。 软件开源并可扩展 Arduino软件是开源的,对于有经验的程序员可以对其进行扩展。Arduino编程语言可以通过C+库进行扩展,如果有人想去了解技术上的细节,可以跳过Arduino语言而直接使用AVR C 编程语言(因为Arduino语言实际上是基于AVR C的)。类似的,如果你需要的话,你也可以直接往你的Arduino程序中添加AVR-C 代码。 硬件开源并可扩展 Arduino板基于 Atmel 的ATMEGA8 和ATMEGA168/328 单片机。Arduino基于Creative Commons 许可协议,所以有经验的电路设计师能够根据需求设计自己的模块,可以对其扩展或改进。甚至是对于一些相对没有什么经验的用户,也可以通过制作试验板来理解Arduino是怎么工作的,省钱又省事。6组PWM端口TX、RX指示灯数字端口013USB插孔ICSP模拟端口05外部电源供电插孔稳压芯片 Arduino基于AVR平台,对AVR库进行了二次编译封装,把端口都打包好了,寄存器啦、地址指针之类的基本不用管。大大降低了软件开发难度,适宜非专业爱好者使用。优点和缺点并存,因为是二次编译封装,代码不如直接使用AVR代码编写精练,代码执行效率与代码体积都弱于AVR直接编译。性能:Digital I/O 数字输入/输出端口013。Analog I/O 模拟输入/输出端口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:Reference voltage for the analog inputs(模拟输入的基准电压)。使用analogReference()命令调用。ICSP:也有称为ISP(In System Programmer),就是一种线上即时烧录,目前比较新的芯片都支持这种烧录模式,包括大家常听说的8051系列的芯片,也都慢慢采用这种简便的烧录方式。我们都知道传统的烧录方式,都是将被烧录的芯片,从线路板上拔起,有的焊死在线路板上的芯片,还得先把芯片焊接下来才能烧录。为了解决这种问题,发明了ICSP线上即时烧录方式。只需要准备一条R232线(连接烧录器),以及一条连接烧录器与烧录芯片针脚的连接线就可以。电源的+5V,GND,两条负责传输烧录信息的针脚,再加上一个烧录电压针脚,这样就可以烧录了。2.2. Arduino驱动安装首先在电脑上面打开光盘,找到Arduino项目开发文件夹,拷贝到你的电脑上你想放到的盘符上,例如D盘(建议不要放到桌面上),然后打开,可以看到如下:光盘中所带arduino IDE为1.0.3版本,是目前最新版本,IDE就是arduino的软件程序开发环境,里面已经集成了项目中所需要的很多外设库,还有一些其他设置,比如添加中文注释,为用户省去了很多麻烦。IDE中所带库文件均经过调试,和光盘代码完全匹配。arduino资料相关文件夹中是一些入门资料以及我们提供的arduino电路板原理图。(注:光盘中所带软件仅支持Windows 系统。其他系统请去官网下载。)Arduino控制板到手后,首先需要在电脑上把驱动装上,这样才可以进行各种实验。首先打开包装,找到蓝色USB数据线,一端连接ARDUINO控制板另一端连接电脑USB端口。本文以win7 32位为例,会出现识别到新硬件显示。然后会开始查找系统内驱动。如果没有找到驱动,会显示这个画面。这时,需要在开始菜单,“计算机”上面点右键,点“属性”。然后点击设备管理会看到打了感叹号的未识别硬件在未识别硬件上点右键,点击“属性”,选择更新驱动程序软件。选择浏览计算机以查找驱动程序软件然后目录选择你的arduino1.0所在目录的drivers目录注意,如果您的计算机提示无法找到驱动,需要将目录进一步定位到driversFTDI USB Drivers即可点击下一步,就可以安装好驱动了。安装好驱动后,就可以显示是COM几端口,我这里显示的是COM14端口。2.3. Arduino IDE菜单介绍接着我们介绍下Arduino的IDE界面,首先进入软件目录。然后就可以看到arduino.exe文件,双击打开IDE,可以生成桌面快捷方式,方便以后使用。首先映入眼帘的是下图的界面,工具栏按钮功能依次为“编译”-“上传”-“新建程序”-“打开程序”-“保存程序”-“串口监视器”菜单栏上,首先看File菜单介绍如下:接下来看Edit菜单介绍如下:Sketch菜单介绍Tools菜单介绍Arduino也支持中文界面,如果英文界面看着不爽的话,只要打开File-preferences,如下图中选择简体中文,点击OK,关闭后重新打开软件即可。在正常使用之前我们还需要对arduino软件做如下设置:1)打开Arduino IDE,选择文件-参数设置,按如下设置。2)选择工具-板卡,点选如图所示。因为我们用的是328的芯片,如果为其他型号相应选择即可。串口就选择电脑-设备管理器里面显示的串口号即可。至此Arduino IDE的设置基本完成。可以编写编译代码进行开发了。三、 实验操作3.1 舵机介绍我们都知道,机器人有许多个关节,每一个关节我们称为一个自由度。一般的机体,都有十几个自由度,这样才能够保证动作的灵活性。在机器人机体上,我们通常使用舵机作为每一个关节的连接部分。它可以完成每个关节的定位和运动。舵机的控制信号相对简单,控制精度高,反应速度快,而且比伺服电机省电。这些优点是非常突出的。在下面的论述中,许多地方都会涉及到舵机相关的知识,读者应反复详细阅读。舵机(英文叫Servo):它由直流电机、减速齿轮组、传感器和控制电路组成的一套自动控制系统。通过发送信号,指定输出轴旋转角度。舵机一般而言都有最大旋转角度(比如180度。)与普通直流电机的区别主要在,直流电机是一圈圈转动的,舵机只能在一定角度内转动,不能一圈圈转(数字舵机可以在舵机模式和电机模式中切换,没有这个问题)。普通直流电机无法反馈转动的角度信息,而舵机可以。用途也不同,普通直流电机一般是整圈转动做动力用,舵机是控制某物体转动一定角度用(比如机器人的关节)。3.2 舵机的内部结构舵机的外观入下图所示:图2-1下图是一个普通模拟舵机的分解图,其组成部分主要有齿轮组、电机、电位器、电机控制板、壳体这几大部分。图2-2电机控制板主要是用来驱动电机和接受电位器反馈回来的信息。电机嘛,动力的来源了,这个不用太多解释。电位器这里的作用主要是通过其旋转后产生的电阻的变化,把信号发送回电机控制板,使其判断输出轴角度是否输出正确。齿轮组的作用主要是力量的放大,使小功率电机产生大扭矩。图2-3舵机底壳拆开后就可以看到,主要是电机与控制板图2-4控制板拿起来后下方是与控制板连接的电位器图2-5顶部来看电机与电位器,与电机齿轮直接相连的为第一级放大齿轮。图2-6经过一级齿轮放大后,再经过二、三、四级放大齿轮,最后再通过输出轴输出。图2-7通过上面两图可以很清晰的看到,本舵机是4级齿轮放大机构,就是通过这么一层层的把小的力量放大,使得这么一个小小的电机能有15KG的扭力。3.3 模拟舵机的控制协议舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值,和频率。一般而言,舵机的基准信号都是周期为20ms,宽度为1.5ms。这个基准信号定义的位置为中间位置。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。最重要的一点是,不同舵机的最大转动角度可能不相同,但是其中间位置的脉冲宽度是一定的,那就是1.5ms。如下图: 图2-8角度是由来自控制线的持续的脉冲所产生。这种控制方法叫做脉冲调制。脉冲的长短决定舵机转动多大角度。例如:1.5毫秒脉冲会到转动到中间位置(对于180舵机来说,就是90位置)。当控制系统发出指令,让舵机移动到某一位置,并让他保持这个角度,这时外力的影响不会让他角度产生变化,但是这个是由上限的,上限就是他的最大扭力。除非控制系统不停的发出脉冲稳定舵机的角度,舵机的角度不会一直不变。当舵机接收到一个小于1.5ms的脉冲,输出轴会以中间位置为标准,逆时针旋转一定角度。接收到的脉冲大于1.5ms情况相反。不同品牌,甚至同一品牌的不同舵机,都会有不同的最大值和最小值。一般而言,最小脉冲为1ms,最大脉冲为2ms。如下图:图2-9虽然舵机看起来很复杂,但是arduino IDE已经集成了舵机控制库,我们只需要在程序开头调用库Servo.h就可以了,省去了繁琐的信号控制,时序等问题,只要给舵机配置好端口,初始位置,然后给出目标角度,舵机就会转过去了。3.4 舵机实验操作Arduino有舵机应用库,把180在第6接口,接线图如下。舵机接线图: Arduino有舵机应用库,把180度舵机接在第6接口,舵机控制程序如下。例程1:#include /舵机的函数库Servo myservo; /定义舵机变量int pos = 80; /舵机初始化80度void setup() myservo.attach(6); /初始化使用第6个引脚 myservo.write(pos); /先让舵机回归80中心点 void loop() m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论