资源简介 机器人天空(http://www.robotsky.com)************************************************************************机器人制作天空宝典***********************************************************************编者:机器人天空网站(http://www.robotsky.com)2010.04.012机器人天空(http://www.robotsky.com)版 权 声 明本书中所收录的文章除《用 Arduino 控制的三轮小车》一文外,其余文章全部原创首发于机器人天空(http://www.robotsky.com),转载请注明出处和作者。3机器人天空(http://www.robotsky.com)目 录前言……………………………………………………………………………………………… 5理论篇…………………………………………………………………………………………… 6如何制作机器人小车---给初学者 ……………………………………………………… 9概念剖析:什么是 BEAM 机器人? ………………………………………………………18经验篇……………………………………………………………………………………………20制作机器人常用的单片机性能特点及使用经验…………………………………………21制作机器人常用传感器盘点………………………………………………………………35制作机器人机械结构的一些经验…………………………………………………………41看看你的实验室还缺了什么………………………………………………………………45项目篇……………………………………………………………………………………………51瓢虫机器人制作教程………………………………………………………………………52日本爱好者制作的微型巡线小车…………………………………………………………68如何制作你的第一个机器人………………………………………………………………74基于笔记本电脑的移动机器人……………………………………………………………92一个 BEAM 四足机器人的制作过程………………………………………………………105用 Arduino 控制的三轮小车 ……………………………………………………………116国内机器人爱好者的作品 ………………………………………………………………123资源篇 …………………………………………………………………………………………1344机器人天空(http://www.robotsky.com)写在前面一转眼机器人天空已经运行维护了四年多了,在这四年中认识了全国各地众多热爱机器人技术的朋友,很多朋友都为机器人天空的发展做出了自己的贡献。像早期的网友留心、肉粑粑、wen2xiao1、 yiyix……还有后来的 hym523、yunkangliu、刘天龙等等我叫得上名字的,许许多多我叫不上名字的。虽然有人离开,却总是有更多的人进来,这一切给了我莫大的信心,使我一直坚信机器人事业必定大有可为。但同时也有一个问题一直在困扰着我:每天来浏览网页,学习知识的人很多,真正动起手来做一个哪怕最简单的机器人小车的朋友却都少之又少,这是为什么?和网友们交流的时候我发现,很多人都表示机器人技术非常有趣,看到别人制作的机器人能跑能跳自己也欢欣鼓舞,可等到自己真正动起手来的时候却发现问题总比办法多。有的人看着别人的电路图原理图如坠雾中,完全摸不着头脑;有的人做到一半发现遇到了自己解决不了的问题,时间一长最后便不了了之;有的人受身边条件所限,想动手却什么都买不到 ;时间、金钱……障碍一层又一层。特别是一些非理工科出身的爱好者,满怀着儿时的机器人梦想,却被一堆专业名词将梦想击得支离破碎。我也曾浏览过很多的机器人制作相关资料和书籍,也发现现在很多资料和论文还带有很浓厚的大学教材气息,满篇都是抽象概念和抽象的原理图,很多东西啃了半天弄明白了它的原理和功能,却连它长什么样子,可以到哪里购买都弄不清楚。这让很多知识结构不够健全的朋友完全不知该如何下手。最后的感觉就是画张图纸简单,做个实际的东西却是难于登天 。意识到这个问题以后,在维护机器人天空网站的过程中我便有意识地去搜集、翻译、原创了一些非常适合初学者的图文并茂的文章,在文章中多以实物图为主,抽象图为辅,力图可以将更多徘徊在门外的爱好者拉进到这扇门里来。直到去年春节前,我忽然意识到机器人天空网站上现有的一些精品文章已经足够可以拼出一本专门针对入门者的电子书籍来。春节过后便一直忙于收集资料,请朋友帮忙写一些补充的文章,终于拼出了大家现在看到的这篇文档。希望它可以让更多的机器人爱好者走进到精彩无限的机器人世界中来。我曾在一篇文章的结尾处这样写到:“我们的作品基本上不会有什么科技价值,也不会填补什么技术空白,不会为社会主义建设添什么砖加什么瓦,纯粹只是自娱自乐。不过我想 ,当更多的人——尤其是学生,以制作机器人作为一种娱乐项目的时候,应该也是一件令人高兴的事吧”。直至今天,这仍然是我的目标,希望可以有更多的年轻人投入到哪怕是最简单的机器人活动中来,那么也不枉本书中收录的那些文章作者的辛勤劳动了。5机器人天空(http://www.robotsky.com)理 论 篇6机器人天空(http://www.robotsky.com)如何制作机器人小车---给初学者作者:胡泊最近接触了很多机器人爱好者,很多人都对机器人技术展示出了浓厚的兴趣,也在计划如何动手制作自己的第一个机器人。但是似乎很多的人都摸不到门路,只能是站在大门外满怀兴趣的向内观望,观望了一阵兴趣渐失只好叹口气走开……很多初学者可能都是看了一些视频或是现场的比赛,勾起了儿时的美好回忆,兴起了自己动手制作机器人的念头,很多人可能并不是嵌入式开发的业内人士,甚至没有听说过单片机、步进电机这些名词,看着别人满地乱跑的各种机器人,颇有无处下手7机器人天空(http://www.robotsky.com)的感觉。有的人一上来就准备做一个可以双足行走的人形机器人,可以平稳行走,可以靠摄像头来读取环境信息,可以语音识别,最好还可以变形……我的意见是:新手最好还是老老实实的从小车开始吧。人形机器人可以说是一个系统的大工程,不是一个人玩的起来的,而且资金上的投入也是不可计量的。一个人形机器人的成型产品最少要卖到几千块——要知道,你在开发过程中是不可能没有错误投入的。机器人小车技术上门槛较低,资金投入也少,市场上的各种产品和零配件的支持也较多,虽然简单,但可以实现的功能可一点也不少。我在这里凭自己的经验介绍一些自己动手制作机器人小车的基础知识,如果你是曾经自己动手做过的高手,那么你可以绕行,我这里介绍的都是为未入门者准备的最基本的理论知识和一些动手经验。那么现在我们开始,首先是理论部分——小车的控制结构。[一]小车的整体控制系统小车是怎么来控制的?为什么小车判断出障碍物后可以自动的绕开?理论:控制工程——处理自动控制系统各种工程实现问题的综合工程技术。包括对自动控制系统提出要求(即规定指标)、进行设计、构造、运行、分析、检验等过程。它是在电气工程和机械工程的基础上发展起来的。闭环控制:闭环控制有反馈环节,通过反馈系统是系统的精确度提高,响应时间缩短,适合于对系统的响应时间,稳定要求高的系统。开环控制:开环控制没有反馈环节,系统的稳定不高,响应时间相对来说很长,精确度不高,使用于对系统稳定精确度要求不高的简单的系统。一般稍微复杂一点的机器人小车都是闭环控制,也就是说它有一个反馈机制,会根据自己配备的各种传感器来读取环境信息,并且根据这些环境信息来决定自己下一步的行动,决定好后将行动指令发给执行系统,使机器人做出合适的动作。当然也有的机器人小车是开环控制,我就见过一个机器人小车配了一支笔,将机器人放在纸上,机器人一转,刷的一下在纸上画出一个圈来,当然由于摩擦力和机械误差等原因,画出来的圆圈可能不闭合,也可能不圆。不过人家阿Q都说了:“孙子才画的圆呢……”8机器人天空(http://www.robotsky.com)有点迷糊?没关系,其实简单一点说就是这样:机器人可以分为三部分——传感器部分 、控制器部分、执行器部分。传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关 。好比人的眼睛、耳朵等感觉器官。控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序 ),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。好的,现在我们来分析一下机器人小车的避障行为控制:机器人正在行走过程中(人在路上走),忽然接收到装在机器人前部的传感器发来的一个“左前方有障碍物”的信号(人眼发现左前方有一根电线杆),我们事先写在机器人控制芯片中的程序算法要求机器人发现左前方有障碍物就往右边转(人发现左前方有电线杆就应该往右躲——什么,你还要继续往前走?你牛!那我就等着听响了,哦,原来你只是想去看上面的小广告……),控制芯片对机器人的驱动器——或是轮子,或是双足——发出向右转的指令(人大脑发出向右转的指令 ,通俗点说就是“拐了拐了”),此时机器人的执行器部分应该立即响应控制器的指令,改变自己的状态,使机器人的前进方向改变,避开障碍物(恭喜你,躲开了电线杆)。怎么样,是不是有了点机器“人”的意思?那么这三部分是怎么联系起来的呢?很简单:电!其实机器人小车就是一个电子作品,传感器将外部的光信号、声音信号、温度信号等全部转换为控制部分可以接受的电信号,控制系统发出的指令也是各种电信号,通过执行部分转变为电机输出的扭矩、声音、光信号等等。下面我来分别介绍一下这三个部分。[二]传感器部分传感器是机器人的眼睛,想要小车完成不同的任务就要配备各种不同的传感器。现在市场上林林总总的传感器数不胜数,一般个人机器人爱好者经常使用的有碰撞检测传感器(碰撞开关)、红外测障传感器、红外测距传感器、光敏电阻、电子温度计、电子指南针等等。一般机器人用的传感器返回的信号分两种:一种返回值很简单,只有两个状态:“有”9机器人天空(http://www.robotsky.com)或者“没有”;“是”或者“不是”;“0”或者“1”。我一般习惯把这种量称为“状态量”。它所反映的是一种状态,只是简简单单的“是”或“否”。比如“机器人左边有没有障碍物”,“有没有声音信号”等。还有一种返回值返回的是一个已知范围内任意值,比如一只光敏电阻返回的信号就可能是 0~5V范围内的任意电压信号。我一般把这种量称为“强度量”。它所反映的是一个有效范围内的强度。比如“机器人左边的障碍物有多远”,“现在的声音信号有多强”等。“状态量”反映的信息较简单,相应的传感器也较简单,成本较低。而“强度量”反映的信息则较丰富,相应的传感器的成本就会比较高,同时给控制上也带来了更大的灵活和复杂 。下面我们来看一些常用的传感器:碰撞开关:电路常开,碰到障碍物后连通,可以用来检测机器人是否发生碰撞。光敏电阻:光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、10机器人天空(http://www.robotsky.com)光的控制和光电转换(将光的变化转换为电的变化)。可以用来检测光线强度。红外测障传感器:红外测障传感器利用红外线遇到障碍物会反射的原理,来检测某一方向上是否有障碍物的存在。红外测距传感器:红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测。红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号。超声波测距传感器:超声波测距传感器利用声音在空气中的传输距离和传输时间成正比的原理,通过检测不同远近的反射面对超声波反射回去的时间不同来检测障碍物的距离。11机器人天空(http://www.robotsky.com)对于传感器,很多人觉得只要看看文档,知道怎么用了就行。但我的建议是:不但要知道怎么用,还要知道其检测原理。只有深刻的理解了传感器的检测原理,才能具有更好的发散思维。我举一个例子:当初在学校开展机器人灭火比赛,我们用了厂家提供的地面灰度传感器依靠可见光反射来检测地面白线,效果一直不是很理想。后来有同学仔细研究了当时电机上配备的光电编码器,发现其原理就是利用红外线在不同颜色表明上反射率不同检测高速旋转的电机上黑白相间的码盘来测出电机的旋转速度,动手将光电编码器上的红外检测模块拆下来装在机器人底部,用来检测地面白线,检测效果一下子好了很多。购买途径:当地的电子市场,或是网上购买(现在很多机器人商家都有各种各样的传感器提供,其实原理和适用范围都差不多,很多都可以互换通用)。购买时需要注意的是传感器的电压范围和有效范围。终极开发:图像识别 依靠一只摄像头,根据摄像头返回的视频信号,计算出各个不同物体距自己的距离以及其运动速度等等。如果你可以迈入这一步,那么,有一门叫做“机器视觉”的学科的大门也就向你敞开了。[三]控制器部分适合机器人的控制芯片有很多:单片机、DSP、甚至我们计算机上所用的 CPU,都可以。不过我们这里主要介绍的针对机器人小车的技术,所以把其他的先放一放,让我们把注意力放到物美价廉的单片机上来。首先还是理论课,不要抱怨,我的信条是:不懂理论的开发者永远只能是一个拼装师。单片机:单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。小芯片有大智慧12机器人天空(http://www.robotsky.com)单片机是自动控制系统中应用非常广泛的控制芯片,现在就在我们身边的许多的电器中都有单片机的身影。想自己动手制作机器人的话,相应的单片机知识是必不可少的。系统的单片机知识我这里不想多说,想要对单片机系统有一个深入的理解,还是要找一本比较好的单片机教材一页一页的看下去,网上的任何“技巧”“快速入门”(包括本文)都只能算是水果、零食之类,闲暇无事时可以拿来开开胃,真正想要吃饱吃好,还是要用大饼卷馒头就着米饭吃才行。我这里只提一些基础的入门概念,给真正的入门者起一点抛砖引玉的作用。一块我们刚刚从商家手里拿到的单片机芯片,还是一块空白,什么也做不了。如同一个刚出世的孩子,我们开发人员要做的,就是教会单片机处理各种各样的问题,给单片机配备上各种各样的扩展工具,使单片机可以将复杂的问题简单化,数字化。单片机开发涉及两方面:硬件、软件。单片机不同于其他电器,拿过插销直接插在电源上就可以使用,一块空白的单片机想要使用,还需要一些其他的电路来支持。一般来说,最基本的电路就是单片机最小系统:所谓的单片机最小系统就是指可以让单片机工作起来的最基本的电路,在所有的单片机系统中,你都可以找到类似的电路。至于它的原理,我这里就不累述了,找本书看去吧。我再介绍一些做机器人需要的扩展电路:程序下载电路:单片机最终需要程序来控制,一般都是在 PC上编写好程序,通过下载线来下载到单片机中执行。下载需要一个电路来支持,以前的通常做法是连接到 PC的串口,不过现在有很多通过 USB下载程序的电路。13机器人天空(http://www.robotsky.com)以上两个电路就是机器人开发所需要的最基本的单片机电路,其他也许还需要一些电机驱动、A/D转换、开关选择等电路。也许你有些迷糊,可以有一点感到棘手了,这些电路对于一个从未接触过单片机的新手来说可能有些头大,没关系,现在市场上有很多成熟的单片机开发系统出售,价格极为低廉 ,如果不想在底层电路上多花精力的话,到一些电子商务网站上搜索一下“单片机开发板”,一百多就可以买到功能十分齐全,赠送软件+教程还有技术支持服务的适用开发板了(当然,你如果自己动手的话,成本会更低)。软件:说白了就是你自己给单片机开发的智能程序,让机器人可以具有最简单的智能。不要看到“智能”这两个字就觉得多么高深,看到前面有电线杆知道要拐,这,就是智能。不同的单片机需要不同的开发环境,这个要在购买的时候就弄清楚,很多单片机公司都有自己配套的开发软件,很多都是可以在公司网站上免费下载。一般来说,国外的很多芯片公司在自己的网站上都有非常丰富和适用的资料,抱本英汉词典,将网站上的资料浏览一下 ,你会发现一切都变得十分简单。以前一说起单片机开发就会想起汇编语言,那时候的芯片成本很高,芯片的运算开销和存储开销都要精打细算,高效率的汇编语言是单片机的最佳选择。而现在随着芯片成本的降低,开销问题已经不再是制约单片机程序开发的瓶颈,所以很多类 C或 Basic语言的开发环境都已经出现。只要有一定的程序开发基础,对单片机的各种引脚足够熟悉,那么相信写出一个简单的智能程序将是很容易的事。购买途径:电子市场或是网购。现在单片机的价格已经十分低廉,价格上无需考虑太多,关键是要选择一款合适的,资料较多,容易上手的就可以。就机器人开发来说,要满足以下几个条件:有程序下载线,可以方便的将程序从 PC上下载到单片机上;集成了 A/D转换;有 PWM输出(便于控制电机)。终极开发:单片机终究能力有限,想要做一些运算量较大的应用时(例如音频视频的处理),就需要一些更高端的芯片,比如DSP等,或者干脆把你的电脑机箱加上几个轮子,让你的电脑跑起来吧!相关名词:C51,PIC,AVR,PWM……啥意思?自己搜去!14机器人天空(http://www.robotsky.com)[四]执行器部分对于机器人小车来说,最基本的执行器部分就是轮子。要有轮子,小车才能被称为小车。这部分可能也是各位爱好者最发愁的部分,传感器和控制器到处都有的卖,而一般适合机器人小车上用的轮子,机械结构,车体等部分却很难寻觅。找人订做成本极高,现在很多朋友都用玩具小车来进行改装。其实现在已经开始有机器人小车底盘出售,不过在电子市场很难见到,多数都要在网上一些教育机器人公司的网店里邮购。机器人常用的电机分为三种:普通的直流电机、步进电机、伺服电机。直流电机:输出或输入为直流电能的旋转电机,称为直流电机,它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。步进电机:步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载15机器人天空(http://www.robotsky.com)的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线关系的存在,加上步进电机只有周期的误差而无累积误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。伺服电机:伺服电动机又称执行电动机,在自动控制系统中,用作执歇件,把所收到的电信号转换成电动机轴上的角位移或角速度输出。分为直流和交流伺服电动机两大类,其主要特点是,当信号电压为零时无自转现象,转速随着转矩的增加而匀速下降。这三种电机一般来说成本是 直流<步进<伺服,控制精度是直流<步进<伺服(当然也有不一般的时候,并不是说伺服电机就一定比步进电机便宜)。初学者对单片机控制电机不太熟悉,起步可以先用单片机输出的 PWM信号来控制直流电机,更进一步可以试着控制步进电机,以求更高的控制精度。对于小车的运动驱动来说,一般可以选用直流电机或步进电机,而伺服电机一般用在机械臂上,用来得到精确的旋转角度 。一般单片机要通过驱动电路来控制步进电机、伺服电机。有专门的模块来负责驱动电机,单片机只需要为这样的模块提供一定频率的脉冲和控制信号就可以了。网上相关的资料很多,大家需要的话可以去自己找一下。购买途径:电子市场、五金商店、网购、旧家电。终极开发:当你可以自如的控制机器臂的时候,你就会发现,一个类人机器人将不再遥远。其他的常用驱动装置还有机械臂机械手等,装在小车上去抓取东西。可以自己利用伺服电机开发(初学者最好绕行),也可以选择市面上的成型产品,这些产品一般都有完整的文档,仔细阅读,使用起来都是很方便的。[后记]最后再介绍一点电子电路开发的东西吧,提起电路,可能很多朋友首先想起来的就是墨绿色的印刷电路板,现在很多电子市场都有人可以根据你的电路图为你加工印刷电路板。不过在设计阶段,很多东西都会改来改去,每次都去重新制作电路板效率和成本都是大问题,一般在电路开发中,有一种专门的实验板(也叫面包板),适合在开发阶段使用。以上就是我写的一点经验之谈,没有写什么具体的技术,只是将新手可能会感到迷茫的16机器人天空(http://www.robotsky.com)一些问题列出来,就像我在前面说的,这篇小文章只能算是一点小点心,真正想要成为机器人高手,还是需要埋头啃一些专业书籍。学习没有捷径,如果你走了捷径,那只能说明你比别人少看了风景。这篇文章的目的只是想让一些对机器人有兴趣而又不知如何着手的朋友知道制作机器人需要些什么东西,需要哪些知识准备,不入大家法眼,只是希望能有更多的朋友加入到机器人开发的行列中,当然了,我们的作品基本上不会有什么科技价值,也不会填补什么技术空白,不会为社会主义建设添什么砖加什么瓦,纯粹只是自娱自乐。不过我想,当更多的人——尤其是学生,以制作机器人作为一种娱乐项目的时候,应该也是一件令人高兴的事吧,呵呵 。*******************************************************************************作者简介胡泊:机器人天空网站副主编。毕业于河海大学常州校区,现居南京。在校期间曾参加过全国机器人大赛,喜欢研究一些虽然实用意义不大,但好玩有趣的机器人。电子邮箱:hupo1982@*******************************************************************************公司网址:www. 电话:18945688768 机器人技术博客:http:///robotbase淘宝店网址:http://robotbase. Arduino 教学博客:http:///Arduino机器人互动社区:www. 旗下视频播客:http://u./user_show/uid_robotbase17机器人天空(http://www.robotsky.com)概念剖析:什么是 BEAM机器人?作者:胡泊经常浏览一些国外机器人网站的朋友们可能经常见到“BEAM Robotic”这个名词,但在一些机器人学的教科书上却找不到这个名词的解释。那么“BEAM Robotic”到底指的是哪一类的机器人呢?“BEAM Robotic”的概念是由著名的机器人爱好者 Mark Tilden 提出的。现在实验室里的多数机器人都是一开始为实现一个复杂的任务而设计,技术门槛高,成本也绝非一般个人爱好者所能够承担。而 Mark Tilden 则反其道而行之,主张从最基本的模仿自然生物某一功能的简单机器人坐做起,如同自然界生物进化一样,逐渐从简单到复杂的实现机器人的“进化”。正是因为如此,“BEAM”机器人技术门槛低,成本不高的特点吸引了众多业余爱好者的加入。“BEAM”是以下几个单词的缩写:Biology- 生物学:BEAM 机器人都是模仿自然界某些生物来设计自己的电路和机械结构。Electronics-电子学:用最简单的电路来实现自己的功能。BEAM 机器人所用的电路都是最基本的简单电路,这也是 BEAM 机器人吸引了众多入门者的原因。Aesthetics-美学:任何作品都需要一个漂亮的外观。Mchanies-机械:机器人中机械部分与电子部分同样重要。好的机械结构同样是一个成功作品必不可少的部分之一。以上是 BEAMers 挂在嘴边的几个关键词汇,在实际作品中可能做不到面面俱到(尤其是第三点),但也应该作为最基本的设计出发点来考虑。概括起来说,BEAM 机器人主要是指个人爱好者业余制作的,由最简单电路驱动的模仿自然界某一生物的某一项基本行为的机器人。大多 BEAM 机器人的控制芯片都采用普通的8位单片机或是直接由 PC机做上位机通过有线或无线连接直接控制;驱动方式多用双轮差速驱动实现,有一小部分机器人还实现了简单的四足或双足驱动;大多 BEAM 机器人所配备的传感器也比较简单,多由碰撞开关或红外传感器来实现避障,另外用的比较多的还有光敏电阻和红外测距传感器等等。大多业余机器人爱好者所制作的机器人或多或少都包含了一些BEAM 的元素。18机器人天空(http://www.robotsky.com)一般常见的 BEAM 机器人多为以下功能:1、避障:这是最基本的 BEAM 机器人,也是大多 BEAM 机器人所必须的功能,多采用两个或三个红外测障传感器或碰撞开关来检测障碍物,机器人由一片单片机控制,多为电机驱动。可实现机器人无障碍的躲避各种障碍物。2、趋光:机器人主体部分与避障机器人无异,只是传感器略有不同。一般在机器人前部安装两个光敏传感器,靠两个传感器的不同返回值的差速来判断光源的方向并逐渐趋近。3、循迹:此类机器人的基本功能是靠机器人底部的光敏或红外之类的传感器来发现地面上的标志(多为黑地白线或白地黑线),并循线前进。近几年,随着各种机器人比赛在国内的蓬勃开展。国内的机器人爱好者也越来越多,但由于技术或经济上的原因,使众多机器人爱好者难以开展较为复杂的项目,而 BEAM机器人由于成本低,资料丰富,较易上手,成为众多爱好者们首选的项目。人物简介:马克 特尔顿马克博士是机器人物理学家,曾为美国国家航空和宇宙航行局(NASA)工作,而且曾为美国的其他政府机构提供机器人制造技术。他是一个有着丰富机器人知识的物理学家。在 1988 他设计了第一个仿生机器人, 近几年推出了几款他设计的智能玩具机器人,都取得了不错的反响。Robosapien 是第一个根据他的理论设计制作的商业机器人。19机器人天空(http://www.robotsky.com)经 验 篇20机器人天空(http://www.robotsky.com)制作机器人常用的单片机性能特点及使用经验作者:刘天龙摘要:很多接触机器人或单片机不久的朋友面对种类繁多的单片机常会困惑,到底它们之间有何不同?制作机器人到底用哪种单片机控制比较好?当我们选择了一种单片机后,有何捷径能迅速掌握并应用这种单片机?本文尝试用一种通俗易懂的方法解读上述问题,并设计了一种有深度的单片机控制机器人的实例,希望能起到抛砖引玉的作用。我与大家分享我使用单片机的一些经验,希望能让初学者少些迷茫,让已经入门的朋友思维开阔。写本文时我仅有 3年单片机实践经验,比较了解 51系列和 AVR系列单片机,因此着重讨论了 AVR单片机,我经验有限,有错误在所难免,希望朋友们批评指正!一 单片机和 CPU、个人电脑的区别和联系这部分内容比较初级,但很多朋友刚接触单片机时或许对下面的问题不是很清楚。1 什么是 CPU?CPU中文名称为“中央处理器”,典型代表为英特尔 8086处理器,现在的奔腾 X处理器都是 8086的直系后代。处理器,顾名思义,其功能是处理数据,对于中央处理器,就是在数据处理中处于核心地位的处理器,听起来似乎很复杂,但实际上核心就是一个 ALU“算术逻辑单元”。这个单元由一些数字门电路组成,仅能完成括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作。CPU内部包含 ALU,除此之外 CPU还有时钟电路,CPU运行的基本原理是:时钟电路产生计数脉冲,这个脉冲控制着一个累加器,即每产生一个时钟脉冲,累加器加 1,这个累加值以 16进制数字的形式通过地址总线唯一选通程序储存器中一个储存单元(在 CPU外部),这个单元将内部储存的程序命令代码通过数据总线送到 ALU中,ALU根据代码不同执行不同操作,比如把某寄存器数值和某数值相加等,然后将计算结果输出到 IO口或者各个总线上。总之,CPU的工作就是把程序中的命令代码翻译成不同任务,然后执行,输出执行结果。CPU在一切数字计算机中都发挥了核心作用,即计算机都有 CPU。2 什么是个人电脑?由于 CPU只有计算功能,其计算的结果需要通过显示器、音箱输出,而其工作的依据,即程序命令则依靠硬盘储存,其执行任务时动态存取的数据要保存在内存中,而人可以通过键盘控制程序命令的执行过程,把所有这些 CPU的外设组合在一起就叫做“个人电脑”。3 什么是单片机?个人电脑功能强大,计算速度快,是较为理想的计算机。但当我们需要用一个小装21机器人天空(http://www.robotsky.com)置控制微波炉定时开关时,个人电脑就显得笨重和昂贵。因此人们设计出一种浓缩型电脑,大的有几平方厘米,小的比米粒还小,它们叫做“单片机”——单片微型计算机。CPU是一个芯片,单片机也是一个芯片,看起来外观差不多,它们有什么不同呢?答案是:单片机内除了集成有 CPU外,还集成了程序储存器 ROM(可理解为硬盘)、数据储存器 RAM(可理解为内存),输入输出接口(可理解为显示器、键盘插座),有的单片机内还集成了电机驱动电路、视频解码电路、AD转换器、无线传输电路等,使得单片机功能变得非常强大。单片机的特长在于可以用单个芯片和简单外部电路去实现复杂的控制操作,因此非常适合机器人控制。其实在绝大多数机器人中都有单片机的影子。简单的和中等复杂的机器人可以用单片机直接控制,高度复杂的机器人用“个人电脑”或者“超级计算机”指挥许多单片机来完成机器人控制。4 学习单片机的捷径是什么?所谓捷径就是少走弯路。我刚开始学单片机时走了不少弯路,很多朋友和我都有相似的经历,刚开始接触单片机,面对琳琅满目的图书教材,不知选择哪本;想实践时不知到哪买单片机;不知如何编程下载程序……A 对于初学者仔细看本文就是学习单片机的捷径之一。B 到图书馆或者书店在数十本单片机书中选一本你能看懂,而且觉得案例有趣的“实在、生动、活泼”的单片机书做为你的入门读物。C 建议先从 51单片机学起。掌握 51后再学 AVR,然后学 ARM、DSP等。D 在学习过程中实践非常必要。你需要一台电脑。如果是台式电脑,你可以花十几元购买 25针并口下载线,如果是笔记本电脑,你只能购买几十元到几百元的 USB ISP编程器。E 用万用板自己焊一个单片机最小系统,或者购买开发板。没有必要使用昂贵的仿真器。F 你需要上网下载单片机编程软件,比如 51用 Keil编程,AVR用 CVAVR编程,在编程软件中编好程序,然后生成 HEX文件,再上网下载并口烧程序软件或者 USB ISP烧程序软件,用烧程序软件加载 HEX文件,然后将编程线查到你的单片机电路板上,即可把程序烧到单片机中。G 拔下编程线,然后接通单片机板电源,你可以看到单片机系统在运行。H 如果系统不能正常运行,首先检查电路是否接错,然后检查程序是否烧错,如果以上都没毛病,研究程序是否编错。有时系统不能正常运行并不意味着有什么地方错了,只是某些参数没设置好,你需要不断运行、修改程序、调试参数、再运行如此往复,直到你对系统运行满意为止。有时这是一个非常艰苦的重复劳动,调整数百次上千次,你无法回避 ,只能坚定信念,勇往直前。I 到淘宝网上买东西更方便、更便宜。二 在单片机诞生前人们用什么控制机器人1 模拟计算机在数字计算机诞生前,人们用电子管、电容器和电感线圈、电阻搭建模拟计算机,能够完成许多简单的计算和控制任务。所谓模拟计算机就是其计算采用的信号不是 1、0数字信号,而是电压连续变换的模拟信号,类似于自动控制原理中的各种控制器采用的运算。别小看了模拟计算机,上世纪 80年代中东战争时,阿拉伯国家使用的苏制全自动自行防空炮内采用模拟计算机实现22机器人天空(http://www.robotsky.com)计算飞机轨迹并控制火炮射击目标。2 齿轮和凸轮组成的控制器在模拟计算机诞生前,也就是蒸汽机时代,有些机械天才硬是用数百个齿轮和凸轮搭建出机械计算机,人们通过转动印有数字的各种齿轮,另一些齿轮就将运算结果显示出来。机械计算机在人类史上上曾经是高科技产品,第二次世界大战时,德国著名的密码机就是一种机电混合式计算机,它当时是最保密的通信工具。3 发条和秒表和继电器组成的控制器在电气时代开始时,人们用钟表内机械的旋转分时控制一些继电器的通断,从而控制一些机床和生产线的运行。这种装置类似于早期洗衣机内的定时器。23机器人天空(http://www.robotsky.com)三 入门首选 AT89S51系列单片机1 简介1980,英特尔公司开发出一种简易的 8031CPU,在当时该 CPU性能不比 8086差很多,但价格较便宜,因此被很多低端应用选中。由于市场看好,ATMEL公司购买了8031的内核,把 Flash存储器和加强型 IO 口融入进去开发出了 AT89系列单片机。所有兼容 8031指令和内核相似的单片机统称为 51单片机,它是目前应用最广泛的 8位单片机之一。因 51单片机结构简单,指令易学,应用广泛,因此是初学单片机首选机型。如果有人想不学 51,直接学 AVR,那么此人一定会遇到很多难题,困惑和郁闷将伴随着学习过程。如果学了 51再学 AVR和其他单片机,人们会发现“所谓单片机都不过如此”。2 性能根据任务具体需要选择最合适的单片机,使单片机资源充分利用,使系统性价比达到最高,同时兼顾未来扩展需要,不一味追求高性能单片机,这就是选单片机的原则。AT89S51有 4K的 Flash程序存储器,128字节的 RAM,32条 IO口,中断系统具有 6个中断源、5个终端矢量、2个中断优先级的中断结构;串行口是一个全双工的串行通信口;AT89S51的电源电压为 4.0-5.5V,AT89LS51的电源电压为 2.7-4.0V;振荡器频率 0-33MHz(AT89S51), 0-16MHz(AT89LS51); 有 ISP 在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。AT89S52程序储存器容量为 8KB,还有 AT89S55,ROM容量更大。有很多公司生产了很多扩展型 51系列单片机,有的带有 AD转换器,有的带有比较器,有的带有 PWM,读者可以根据自身需要选择合适的 51单片机,但要注意他们的管脚定义和编程方式。3 使用方法AT89S51 适于做单片机学习板、电子时钟、超声波测距仪等不需要采集模拟量和控制大功率外部元件的电路。S51与过去的 C51的区别在于 S51支持 ISP在线编程,即 C51需要几百元的编程器编程,而 S51仅需一条 25针并口线和非常简单的转换电路即可接在台式电脑打印机接口烧程序,下载烧程序小软件即实现可对 S51单片机编程。对 51单片机编程一般选用 Keil软件,可采用 C语言或者汇编语言,编完程后选择输出 HEX文件,然后用烧程序小软件读取 HEX文件,再烧写到单片机中。4 实践经验A 刚开始看书时,按照书上的电路图连线然后通电调试,但总不成功,将自己的电路和书上的电路仔细对照发现不了问题。原因在于很多书上的电路图都是“简化图”,即省略了一些电路,而这些被省略的电路却关乎系统的运行。比如,当单片机书讲到 AD转换电路,给出的电路图多省略了晶振和复位电路,按照 AD转换电路图搭出来的系统自然不能运行。B 51单片机 P0口输出信号时需要上拉电阻,我经常忘记加电阻,导致电路不好使 。C 51单片机 31引脚需要接正极,以选择采用内部程序存储器。如果忘记给这个引脚以正确的电压,你的单片机可能不能执行程序。24机器人天空(http://www.robotsky.com)4 应用举例25机器人天空(http://www.robotsky.com)四 爱好者制作机器人首选 AVR系列单片机1 简介AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC(ReducedInstruction Set CPU) 精简指令集高速 8位单片机。高可靠性、功能强、高速度、低功耗和低价位一直是衡量单片机性能的重要指标,而 AVR 单片机是典型高性能单片机。早期单片机,比如 51 单片机为了提高可靠性(防止数据误读或跑飞)采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。例如 51 单片机需要 12 个晶振周期才能组成 1 个机器周期,而且很多指令需要 2 个机器周期才能执行。AVR 单片机的推出,彻底打破这种旧设计格局,废除了机器周期,采用精简指令集,取指周期短,又可预取指令,实现流水作业,故可高速执行指令。AVR 单片机在 12 个晶振周期中能执行 12 条指令,从这个角度看,如果晶振频率相同,AVR的速度是 51 的 12 倍到 24 倍。AVR 有 32 个通用寄存器,在进行大量复杂运算时,AVR 的 32 个寄存器可相当于 51 的 32 个累加器,克服了 51 系列单片机只有单一累加器数据处理造成的瓶颈现象,在复杂运算时速度比 51 快 5 倍以上。由此可看出,51 与 AVR 相比是多么慢,AVR 是多么快。AVR 系列单片机多内部集成了多路 AD 转换器、电压比较器、 ISP、I2C、JTAG 总线电路、UART 串口、大功率 IO 口、看门狗等实用电路,并且很多 AVR单片机型号有 EEPROM、FLASH、SRAM 三种存储器,可以实现实时修改程序存储器中的内容,即 AVR 单片机可以自己修改自己的程序。同时 AVR 一般能工作在宽电压范围(2.7~6.0V),有的居然可以在 1.8V 电压下工作。以上这些性能只是 AVR众多性能中的一部分,然而已经让 51 系列单片机望尘莫及了。如此高性能的单片机价格居然和 51 单片机差不多,比如 ATmega8 价格为8 元左右,ATmega16 在 13 元左右,这是 AVR 有极高性价比的真实写照。26机器人天空(http://www.robotsky.com)2 性能AVR 家族人丁兴旺,包括 ATinyAVR(微小型)、低功耗类、ATmegaAVR高中低档 5 类单片机。它们都基于同一核心技术,但在内部集成的电路多少上有不同。不论你要做电子手表还是视频处理,都有一款合适的 AVR 单片机能满足你的需要。本文只列出 ATmega16 中档单片机的性能:16KB 的 FLASH 程序存储器;512B 的 EEPROM;1KB 的 SRAM;32 个快速寄存器;32 个大功率 IO 口;20 个中断;2 个外部中断口;有 SPI、SUART、I2C总线接口;2 个 8 位定时器;1 个 16 位定时器;3 个 PWM 通道;有实时时钟 RTC;8 个 10 位 AD 通道;电压比较器;看门狗;内置时钟振荡器;JTAG 接口; ISP 在线编程;电压范围为 2.7V-5.5V;外部时钟晶振 0-16MHz;有 PID 和多种贴片封装。AVR 的 IO 口能输出 20mA 和吸收 40mA 的电流,不仅可直接驱动 LED,甚至可直接驱动微型直流减速电机。而且 AVR 的 IO 口可编程设置成输入、输出、高阻态状态,是真正的 3 态 IO 口。和 51 相比使用 AVR 开发产品你会发现前所未有的方便和自由。AVR 单片机可上操作系统,比如 UCOS2、Linux 等,自主编程实现操作系统功能也很容易。根据任务具体需要选择最合适的单片机,使单片机资源充分利用,使系统性价比达到最高,同时兼顾未来扩展需要,不要一味选用高性能单片机,这就是选单片机的原则。用 ARM+操作系统做超声波测距仪——杀鸡用了牛刀。用 AVR中档单片机做机器视觉——有些吃不消。如果把它们调换一下,一切就恰到好处了。3 使用方法学 AVR 单片机的好书是《AVR 单片机嵌入式系统原理与应用实践》,封面见下图。AVR 一般采用 CVAVR 编程软件编程,也可用 GUN GCC AVR、AVR Studio软件编程。可采用汇编或 C 语言编程。烧程序前先输出 HEX 文件,然后用 SLISP(双龙 ISP)软件加载,再通过 ISP 编程线或者 25 针并口连接线烧入 AVR 单片机,支持在线编程。由于 AVR 单片机最小系统很简单,就是电源+晶振(可不用)+LED+ISP27机器人天空(http://www.robotsky.com)接口(通电就运行,断电就停止,不用复位电路),因此任何初学者都可以用面包板搭出 AVR 最小系统,并且编程实践。4 实践经验使用 AVR 单片机时注意要正确设置熔丝位,SLISP 软件就可设置,熔丝位可决定单片机是采用外部晶振还是采用内部时钟振荡器,如果熔丝位设置为采用外部晶振,而电路中没有接入晶振,则 AVR 程序不能运行。很多初学者忽视了这一点,他们的 AVR 系统不能运行却找不到原因。再有就是 AVR 的 IO 口在使用前需先编程设置其状态,否则你将发现程序在运行,但 IO 口没信号。4 应用举例28机器人天空(http://www.robotsky.com)五 高级机器人控制器 ARM1 简介ARM是一个公司名,他们基于同一内核设计了很多高性能处理器,这些处理器都叫ARM。该技术被很多公司购买后生产出了集成很多功能电路的ARM芯片,使得 ARM成为高性能单片机。ARM一般为 32位单片机,适于处理大量复杂数据,很多 ARM装上了 UCOS2、Windows CE、Linux操作系统,能够同时运行多个程序。ARM广泛应用于手机、MP3、GPS导航仪、吸尘机器人等产品上。六 音频视频处理首选 DSP1 简介DSP数字信号处理(Digital Signal Processing,简称 DSP),它是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为 0或 1的数字信号,再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。在高速小车巡线、语音识别等领域 DSP被广泛应用。但如果仅用 DSP检测几个碰撞开关、控制几个电机显得大材小用。七 新兴控制器 FPGA1简介FPGA(Field-Programmable GateArray),即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,系统设计师可以根据需要通过可编辑的连接把 FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。简单说,如果使用者想开发一个用简单数字逻辑电路就能控制的小车,又嫌搭电路麻烦,他就可用软件给一个 FPGA编程让它实29机器人天空(http://www.robotsky.com)现数字电路功能去控制小车。即 FPGA可被用来模拟各种电路。有的 FPGA甚至能模拟 51 单片机的运行。因 FPGA 通过编程即可修改它模拟的电路结构,因此在系统实验、调试中很方便,很多爱好者尝试用 FPGA 做机器人控制器。八 更多可供选择的单片机我们选择学一款单片机前首先要考虑自己面对的实际任务需要什么性能的单片机,然后在众多性能满足要求的单片机中作出选择。此时我们还要考虑不同单片机的“应用广泛程度”,比方说:当我们要做一个电子大赛智能小车,有AVR单片机和 PIC单片机可满足任务需要,如何在两者中作出选择需要考虑哪种单片机学起来比较容易、学习资料容易获取、可供参考的程序和案例更加丰富、哪种单片机更容易获得编程软件和下载器等。笔者感觉要想做智能小车,AVR单片机的资料比较丰富。世界上有种类繁多的单片机,它们当中绝大多数都可用来控制机器人,但存在一个是否合适的问题。比如 PLC是可编程控制器,当然可以用来控制爱好者手中的机器人,但PLC多用于工业控制领域,设备庞大价格昂贵,同时不易获得用 PLC 控制小型机器人的资料。爱好者选择学一种单片机前,首先得明确自己要用单片机干什么,然后再选最合适的单片机学习。学单片机重在学精一两种单片机,如果有人泛泛地学 ARM、PLC、PIC、凌阳、DSP、FPGA等所有有名的单片机,那么他将无法拥有真正的深度开发能力。所谓深度开发,以 AVR单片机为例,初学者可以用它实现小灯交替闪烁,中级技术人员可以用它控制参加比赛的机器人,而真正的高级开发人员可以用 AVR实现机器视觉、无人机自动驾驶、坦克火控系统……AVR单片机过时了吗?有初学者甚至中级开发人员认为因 ARM性能一般比 AVR性能高,因此 ARM将代替 AVR,AVR将退出历史舞台,或者MSP430将代替 51系列单片机,或者 FPGA将取代所有单片机等。这种看法不对,因为不同单片机都有各自的特点和优点,没有哪种单片机是完美的,在不同场合用最合适的单片机,发挥它们各自的特长,而不存在 ARM一统天下,取代所有其他型号单片机的可能性。试想,原本十几元的电子表因为采用 ARM控制买到几百元,谁能受得了?因此不要觉得 AVR已经过时,学完 51 就直接学 ARM,或者觉得学 51没用,直接学 ARM,否则你将碰壁。MSP430系列单片机:比较适于机器人开发,是美国德州仪器推向市场的一种 16位、具有精简指令集的、超低功耗的混合信号处理器。具有 Flash存储器,中断源较多,并且可以任意嵌套,使用时灵活方便。MSP430系列单片机的电源电压采用的是 1.8~3.6V 电压。因而可使其在 1MHz的时钟条件下运行时,芯片的电流会在 200~400uA左右,时钟关断模式的最低功耗只有 0.1uA。MSP430系列单片机的各成员都集成了较丰富的片内外设。它们分别是看门狗、模拟比较器、定时器、串口 0、1、硬件乘法器、液晶驱动器、10位/12位 ADC、16位 Sigma-DeltaAD、直接寻址模块(DMA)、 IO端口、基本定时器(Basic Timer)等的一些外围模块的不同组合。MSP430 系列单片机引进了 JTAG技术,不仅使开发工具变得简便,而且价格也相对低廉,并且还可以实现在线编程。PIC单片机:可用于机器人开发,是 8位单片机,产品种类丰富,采用精简指令集,有不错的开发环境,引脚驱动能力强,可直接连接继电器控制强电。自带看门狗,有睡眠和低功耗模式。很多性能不如 AVR和MSP430系列单片机,但因其有特殊优点,也被广泛应用。凌阳单片机:比较适于机器人开发,以 16位计算机为核心,集成不同规模的RAM、ROM和其他丰富的功能电路,使用者可以根据自己需要选择集成了特定功能电路的凌阳单片机。凌阳单片机指令系统提供出具有较高运算速度的 16位,16位的乘法运算指令30机器人天空(http://www.robotsky.com)和内积运算指令,为其应用添加了 DSP功能,因此凌阳适合进行语音识别。在我国凌阳单片机在学校比较常见,应用实例较多,可作为机器人爱好者选用的单片机。九 实例:用 AVR单片机创造机器生命1 什么是机器生命机器生命就是一个能自主生存的机器,一个自动为生存下去而奋斗的机器。对于机器生命来说,生存的含义就是不断电,继续运行。机器生命具有完全自主决策、自主行动、活动于未知世界、不需人类参与就能持续运行并且自我维护等特征。影片《终结者》中的天网就是超级机器生命。《霹雳 5号》描述了一个机器人从无生命到有生命的过程。N.维纳(Norbert Wiener,1894~1964)写《控制论》时创造出第一个机器生命Wiener龟,这个机器龟仅有 2个电子管组成的模拟计算机,但它却能实现真正的乌龟觅食、睡觉 、探索、逃避等行为,其表现如同一个有生命的生物一样。机器龟上面有太阳能电池,当自身电池快用完前,机器龟乐于寻找一个光线充足的地方充电,充满电后可能找个地方睡懒觉,或者探索未知世界,它有避免碰撞和避免到倾斜地方的趋向,我们无法预知它的行踪 ,因为它不是按照程序运行的,就如同我们自己一样。后来维纳在他的机器龟上又加了一个电子管,三个电子管连接成简单的神经网络,通过对机器龟训练,维纳通过摇铃可控制机器龟的行为。正如有生物学家训练狗使得狗听到摇铃声后就流口水。2 我们可以自己动手做一个机器宠物我们今天有先进的单片机,制作一个更好的机器生命其实不难。机器生命远比按固定程序运行的机器人好玩,就如同宠物狗比玩具狗好玩一样。我们设想的机器生命可以是一个小型履带式机器人,带有太阳能板,能感受光线强弱,障碍物距离和碰撞,为了实现人机互动,该机器生命具有语音识别功能。试想你学习一天,回到寝室,叫一声 TONY,你的机器宠物转身飞快跑向你,那种感觉只有宠物的创造者才能体会……31机器人天空(http://www.robotsky.com)3 如何实现?如何设计电路?如何设计结构?这个机器生命方案采用 ATmega16单片机做控制器,单片机的 8路 AD通道和其余 24个 IO 接口都被使用。AVR单片机 AD转换频率高于音频,可以用来进行简单的语音采集。机器生命的程序较复杂,而 AVR单片机适合进行快速复杂运算。本设计的电路板上除了 ATmega16单片机外,还有 2个 LG9110电机驱动芯片、2个 LM386音频功放芯片,和 LM393电压比较器芯片,再加上少量电阻电容和三极管,电路简洁,适合初学者和中级爱好者动手制作。LCD采用通用 1602模块,支持 3位控制线 4位数据线,如果你采用 IO口复用技术,可用 6条线控制 LCD模块。此方案涉及光电检测、自动充电、语音识别、超声波测距、键盘(4个碰撞开关)、LCD液晶显示、电机驱动等技术,这些都是动手做简单机器人的基本技术,如果爱好者能把这个机器生命做好,那么你的电路设计、调试经验和编程能力都会有很大的提高。这个机器生命的技术含量相当于 20世纪 70年代国际机器人领域的先进水平。当时已经有很多非常精密和复杂的工业机器人被应用,但这种简单的机器人怎么能称作先进呢?因为技术的复杂和技术的先进不是一个概念,复杂+精密不一定等于先进。先进的东西不一定复杂和精密。A 寻光我们可以用光电二极管来检测光线强弱。当然也可以用光敏电阻。将光敏电阻和一个固定电阻串联接在电源正负极之间,光敏电阻靠近正极一侧。从光敏电阻和固定电阻连接点引出导线接到 ATmega16的 AD转换输入口。当强光照在光敏电阻时,光敏电阻阻值变小,因此其压降变小,而固定电阻分压增多,引出的 AD检测电位升高,被单片机转化为数字量后判断光线增强。机器生命有 5个光电传感器,其中 4个面向机器人前后左右四个方向,另一个指向太阳能板所面对的方向。通过编程可以让机器人自主移动到光线最强的地方。B 充电本设计采用 4.8V镍氢充电电池为系统供电。太阳能电池板正负极通过一个三极管与电池正负极相连。有一个电压比较器比较电池电压与太阳能板的压差,如果压差高于某32机器人天空(http://www.robotsky.com)值,比较器控制三极管导通,太阳能电池板对充电电池充电。充电电池电压上升,当高于某值时控制三极管关断,结束充电。为使太阳能板能对电池组充电,要求太阳能板在阳光直射下输出电压高于 8V。C 语音识别用 AVR单片机的高速 AD检测功能能实现简单的语音识别。声音信号被驻极体电容话筒接收后送至 LM386音频功放芯片放大和过滤后送至单片机 AD转换口,单片机对音频信号幅值采样转化为一组数字,然后对这组进行取方差运算,得出一个特征值,该特征值可以用于简单的语音识别。比如你发一个“e”,方差应该比较小,如果你发“p”爆破音,方差应该较大。当然,如果你用更复杂的数据处理,会得到更好的识别效果。本设计使用了 2路声音信号,目的是让单片机判断出声源的大体方位。D 超声波测距用 AVR的 1个 IO口输出 40KHz信号送至超声波发射电路,当超声波遇到障碍物返回后,被超声波接收头接收,信号经 CX20106A解码芯片处理,得到一个低电平脉冲,用该脉冲引发 AVR单片机中断,AVR通过检查发波和收到回波之间的时间差即可算出障碍物距离。E 电机驱动本设计采用 2片 LG9110电机驱动芯片驱动两台直流减速电机。LG9110输出最大电流为 800mA,仅需要 2条控制线与单片机 IO口直接相连即可控制一台电机正反转或者停止。LG9110仅有 8个引脚,使用非常方便。F 让机器生命更聪明我的这个机器生命设计方案能实现最酷的效果是:白天,阳光明媚,机器生命跑到阳光底下晒太阳,太阳光会随着时间变化,机器生命能自动跑到最合适的位置享受日光浴。到了晚上,机器生命会找个安静的地方闭目养神,等待明天太阳升起。你可以训练机器生命,让它知道自己的名字叫什么。比如你叫着它的名字,同时站在它面前用强光照射它的太阳能电池板,如此反复训练,会使机器生命听到自己名字后向声源方向跑去,在距离声源一定远处停止,因为以往这样做它都能享受强光照射并充电。这就如同真正的宠物狗,你叫它名字它就跑到你跟前希望能获得食物。这一切都是完全能够实现的,关键就在33机器人天空(http://www.robotsky.com)于编程序实现它。G 想象无极限,你的机器宠物将无所不能以上方案中,ATmega16的功能被发挥到极致,以至于没有空闲的 IO口,系统不能再扩展了。如果你用 ATmega128单片机做,那么它拥有 53个 IO 口 ,30多个中断,128Kb的程序存储器,4Kb的 RAM,使得你能编写更复杂的程序、储存更多的动态数据、连接更多的外设,你的机器生命将变得非常有生命力。比如加入三轴加速度传感器、地磁传感器、GPS定位、雨水传感器甚至摄像头、无线通信模块等,重新设计一个坚固和强劲的底盘,你的机器生命就可以在室外自由探索了。以上芯片外设来源说明:在淘宝上购买很容易底盘:340元的高级履带式 1:16电动坦克模型加速度传感器、地磁传感器:美国 AD公司的 40元 ADXL330加速度传感器GPS定位:几十元的车载外置 GPS天线最后,我想说,机器人是非常好玩的,只要你有想象力,有毅力,努力研究实践就能创造奇迹。*************************************************************作者简介:刘天龙,23,喜欢电子技术、机器人、航模、计算机编程、电脑艺术、军事。将致力于服务型机器人设计,希望设计低成本、高效能、系统化并且视觉效果良好的服务型机器人产品。同时喜欢抛开传统人工智能,研究基于生物神经结构和学习方法的机器人智能化方法。邮箱:spurtltl@ 欢迎有共同爱好的朋友联系。34机器人天空(http://www.robotsky.com)制作机器人常用传感器盘点作者:胡泊现在越来越多的朋友都对机器人开发产生了浓厚的兴趣,而机器人小车由于技术门槛低,成本低廉而成为了很多入门者的首选。机器人小车电子部分主要的构成就是控制芯片、电机和传感器。今天我们就在这里介绍几种机器人小车上常用的传感器。传感器,简单点下个定义就是把现实中的各种物理信号转变为电子电路中可以识别的电信号。下面我就根据用来识别不同的物理信号来介绍几种机器人爱好者常用的传感器。1、障碍物:避障可以说是各种机器人最基本的功能。因此选择测障传感器可以说是每一个机器人DIYer必须熟知的知识。检测机器人面前是否存在障碍物的传感器,可以分为接触式和非接触式。接触式测障传感器最典型的便是碰撞开关。这是一幅碰撞开关的外形图。这是一幅碰撞开关的工作状态图。碰撞开关的工作原理非常简单,完全依靠内部的机械结构来完成电路的导通和中断。当碰撞开关的外部探测臂受到碰撞,探测臂受力下压,带动碰撞开关内部的簧片拨动,电路的导通状态从而发生改变。一般碰撞开关需要接三根线,一根红色的电源线,一根黑色的地线,和一根黄色的信号线(信号线的颜色可能存在不同)。35机器人天空(http://www.robotsky.com)在机器人小车上的用法多数为将探测臂加长,扩大探测范围和灵敏度,当机器人小车装到前面的障碍物,碰撞开关的信号端便可返回一个高电平,控制芯片由此可以知道小车面前存在着障碍物。碰撞开关的优点是价格便宜,一般每只零售仅几块钱,使用简单,使用范围广,对环境条件没有什么限制。缺点是必须在发生碰撞后才能检测到障碍,这在某些机器人比赛中是相当失分的。并且使用时间较长后容易发生机械疲劳,无法继续正常工作。非接触式测障开关一般的工作原理与雷达相似,发射某种射线,遇到障碍物会被反射回来,这时传感器就认为发现了障碍物。最常用的便是发射红外线的传感器。红外测障传感器电路图现在网上有成套的红外测障传感器出售,可以直接购买产品使用,也可以自己购买电子元件焊接。红外发射管外形图 红外接收管外形图红外测障传感器成本较低(当然比碰撞开关还是要高一点),电路简单,检测范围大,并且如果在电路中加上一个电位器可以随时调节传感器的检测范围。检测方式为非接触式,控制起来更加好看,也更加灵活。缺点是多个传感器之间容易互相干扰,在传感器的布局上需要多花心思,安装位置也要尽可能的避免碰撞。2:距离有时间单单知道哪个方向上有障碍物并不够,还必须知道障碍物距离机器人具体有多远才好判断机器人下一步的行动。这个时候我们就需要测距传感器。36机器人天空(http://www.robotsky.com)测距传感器大多为非接触式,目前在个人机器人领域用的比较多的是红外和超声波两种。红外测距传感器:提到红外测距传感器,就不能不提夏普的 GP2D12红外测距传感器,几乎可以说是机器人爱好者的必备传感器。现在在网上看到的一些个人机器人作品几乎都可以看到 GP2D12的身影。无图无真相,相信很多朋友看到下面这张图都会禁不住感叹:“哦,原来是它呀!”是不是很眼熟?说实话除了在个人机器人上,我还真没在其他的地方见过这个东西。GP2D12产品规格参数:1.测量射程范围:10 to 80 cm2.最大允许角度:>40°3.电源电压:4.5 to 5.5V4.平均功耗:35mA5.峰值功耗:约200mA6.更新频率/周期:25Hz/40ms7.模拟输出噪声:<200mV8.测量距离与输出模拟电压关系:2.4V~0.4V模拟信号对应10cm~80cm,输出与距离成反比非线性关系。这种传感器的优点是体积小,测量准确,电源电压与输出信号都较常规,一般单片机系统都可直接使用。缺点是成本较高,购买途径较少。超声波测距传感器:超声波测距传感器也是一种很常见的测距传感器,依靠超声波的发射与反射接收中的时间差来判断距离。超声波测距传感器外形图37机器人天空(http://www.robotsky.com)超声波测距传感器规格很多,测试距离也从远到近都有,价格相差也较大,一般机器人爱好者使用的都是测量范围在最小几厘米到最大几米之间。超声波测距的优点在于测量范围较大,且不是使用光学信号,所以被测物体的颜色对于测量结果没有影响。缺点是成本较高,由于是依靠声速测距,所以对于一些影响声速的因素较敏感,比如温度、风等。最大允许角度较小。3、亮度:很多个人朋友制作的机器人都需要判断环境光的亮度,这个时候就需要亮度传感器。最常用的便是光敏电阻。光敏电阻:光敏电阻是一种随着照射在上面的可见光强度变化而阻值发生变化的电阻,可以根据其阻值的变化判断出光强。光敏电阻实物图光敏电阻的使用也非常简单,只要将它当做普通电阻接入电路,只要根据电流变化便可得出电阻的变化,进而判断出光强的变化。优点:成本低廉、可靠性好、测量准确。缺点:暂无。4、速度机器人自身的行走速度对于判断机器人运动状态和机器人所在位置非常重要,这里我们主要讨论一下机器人小车运动速度的测量。机器人小车依靠电动机驱动轮子来运动,因此测量机器人小车的速度可以归结为测量驱动电动机的转速。那么怎么测量电动机的转速呢?测量电机转速有很多种方法,比较适合个人机器人爱好者的是光电编码器。光电编码器也有很多种,在个人机器人上比较常见的有两种:一种为反射式,一种为透射式。(都是我随口起的名字^_^)38机器人天空(http://www.robotsky.com)反射式的基本结构为在电机的旋转轴上加一个圆形的黑白相间码盘(很多都是粘在轮子上),距离码盘很近的距离固定一个红外发射接收一体模块,利用黑白色对红外线的吸收率不同,红外线照射到黑色部分时,大部分被吸收而无反射信号;红外线照射到白色部分时,大部分红外线被反射回来而产生强烈的反射信号。当码盘随电机旋转时,红外接收端的输出信号便是一个由旋转速度决定频率的方波。进而我们便可知道此时电机的旋转速度。码盘外形图透射式检测原理与反射式相似。唯一的不同是没有上图中的那种黑白相间的码盘,而是在光栅圆盘上开了一圈小孔,红外线或可见光的发射端与检测端分别位于光栅圆盘的两侧,同样是利用光栅圆盘旋转以后产生的脉冲信号来检测电机的旋转速度。光栅盘式光电编码器原理图其实这两种传感器从本质上来说都属于光电传感器,这类传感器的特点是价格便宜,结构可靠,检测结果准确。缺点是对于安装位置要求较高,因此建议大家购买电机时选择配备了光电编码器的电机,免去自己安装可能带来的种种问题。检测电机转速,除了光电传感器之外,还有一些利用磁效应原理的传感器,汽车上经常使用这种传感器,我这里不再详细介绍了。5、地面灰度:很多人最开始做的机器人小车基本功能就是循线,白色的地板上贴着一条黑线,让机器人小车沿着地面的黑线前进。很多机器人高手都是从类似的作品成长起来的。因此有必要介绍一下检测地面灰度的常用传感器。39机器人天空(http://www.robotsky.com)可见光地面灰度检测器:所谓的可见光地面灰度检测器,就是使用一个发光装置与一个光敏电阻搭配,装在机器人底部离地面较近的一个位置上。利用不同颜色对可见光的吸收程度不同的原理来检测地面灰度。发光装置发射可见光,照射到不同颜色上面后反射光的强度会有一定的差异,根据光敏电阻的返回值便可知道现在机器人下面的地面颜色。一种利用发光二极管作为发光装置的地面灰度检测器我当初做的时候最初是自己弄了个小灯泡,可是效果不理想,后来换了个摩托车上的6v灯泡,效果好多了,就是电池受不了。后来买了个与图中差不多的灰度传感器,耗电量下来的,检测效果也还可以,但是还是会有漏测的现象,而且容易受到环境光的干扰。于是后来就使用了一种非可见光的检测方式。红外线地面灰度检测器:前面介绍光电编码器的时候已经提到了,反射式光电编码器的码盘由黑白相间的条纹组成,利用黑白颜色对红外线的吸收程度不同来检测码盘的旋转。其实如果引申一下,把机器人巡线的场地看成一个大码盘,其实也是黑白相间,这样每当机器人越过一条白线,就相当于光电编码器上的码盘转动了一个最小角度,光电编码器的输出高低电平便会变化一次。这种检测方式比较准确,很少出现漏检的情形,抗干扰能力也比较强,唯一的劣势就是对传感器本身的离地间隙要求较高,高一点或矮一点都不行。因此便对机器人的工作环境要求较高,不平的地面肯定是不行的。这两种地面灰度检测方式成本都比较低廉,具体采用哪一种便由你自己的确切应用来决定了。6、其他以上这些是我个人比较熟悉,并且在个人爱好者中应用比较广泛的几种传感器,微电子领域的发展速度是日新月异的,每天都在有各种各样的新传感器问世,很多以前高不可攀的传感器如今也变成了几块钱甚至几毛钱一个,因此经常去电子市场转转,关注一下最新的传感器信息都是必要的。其他制作个人机器人常用的传感器还有数字指南针、加速度传感器等,一般都是用在比较复杂的应用上,本篇文章的面向对象是准备制作第一个机器人作品的新手朋友们,因此就不再详细介绍了,有兴趣的朋友可以自己去了解一下。40机器人天空(http://www.robotsky.com)制作机器人机械结构的一些经验原文链接:http://www./mechanics_chassisconstruction.shtml (有删节)译者:胡泊设计:当我还是一只小菜鸟的时候,曾经有一位大虾语重心长的对我说过:“如果你的机器人机械部分设计糟糕,即便你拥有专家级别的控制与程序,你还是只能得到一台糟糕的机器人 ;可如果你的机械部分设计合理,即使你的控制系统与程序很差劲,你还是可以说制作了一台不错的机器人。”这条忠告我一直铭记至今。规划:你是否认为拥有前景规划的人在生活中更容易获得成功?是的!制作机器人也是如此。在动手之前在纸上或是计算机里做好规划的重要性毋容置疑。比如机器人的机械结构采用什么材料,每一处的连接使用什么规格的螺丝,每一个传感器如何固定——每一个你可能想到的问题都应做好规划,这将节省你的时间和金钱,并且你的机器人最终的结构也将更加完善 。具体来说,你应该画出每一个零件的图纸,标出每一个要钻的孔,想好究竟该怎样把每一个零件连接在一起。几条忠告——使用尽量少和简单的零件。使用更少的零件,意味着你需要准备的零件就更少 ,需要设计的零件就更少,需要的花费就更少。设计零件的时候,要考虑到这个零件是否易于加工。不要设计没有必要或是结构复杂的零件,或是你没有条件加工的零件。简单和少的零件,意味着你出现设计错误的机会就越少。——使用现成的零件。使用现成的零件,意味着你将花费更多的金钱。但是毫无疑问,现成的零件比你自己设计的零件更加可靠。市场上销售的零件都经过了严格的设计与测试。这些零件用在你的机器人上也不会出太大的问题。这也将大幅的节省你的时间和精力。而你41机器人天空(http://www.robotsky.com)的时间和精力是无法用金钱来衡量的。你可能花二十小时制作了一个功能贫瘠可靠性不高的电源,实际上你只要花费$20就可以买到更好的成熟产品了。——不要使用太多的不同规格的螺钉。我的一个同事制作机器人的时候给他机器人上每一个不同的连接处都使用了不同的螺钉。最后我进行拆卸的时候不得不使用了十种不同的六角扳手。而我的同事为了制作这个机器人也不得不买了十箱螺钉。框架结构:框架结构就是你机器人的主体部分,也就是其他所有零部件的支撑部分。要使用一种重量轻,刚性好的材料。比如铝板或聚乙烯。零部件:如果你见到我最初三年所制作的机器人,你一定会惊讶于为何我的机器人成本会如此之低。毕竟商店里卖的各种机器人部件都是价格不菲。实际上,几乎可以这么说:你可以在自己的屋子里找到所有的你所需要的机器人的机械部分零件。一般来讲,我的机器人预算是这样的:电机大约10~50美元;机械材料大约20美元;车轮一般大约8美元;其他一些杂项包括螺栓螺母大约10美元。翻一翻你的旧物,说不定会有意外的惊喜。有时候也许会找到一个好的旧电机,不过想要找到两个一模一样的旧电机做搭配就比较难了。固定:经常有一些新手朋友问我:“究竟怎样把各个零件固定到机器人上才好?”必须要明确一点:不同的零部件都有不同的合适固定方法,如位置、重量、尺寸、功能等等。一定要具体情况具体分析。车轮:——直径:选择轮子时,首先要考虑扭矩和速度。直径大的轮子,获得同等的动力输入时,扭矩较低,但转速较高。如果你的电机动力较强劲,则可以选择直径较大的轮子。伺服电机的输出扭矩较大,所以轮子的直径一定要大。如果你的电机负载较小,那么可以选择轮子的直径小一点。这样机器人的速度会较低,但是其扭矩足够使你的机器人爬上一个小斜坡 。还有一个初学者经常犯得愚蠢错误,就是轮子直径等于或是仅仅比电机大一点,这样你的机器人离地间隙就会非常小,越过一些路况不好的路面时会发生严重的磕碰。——车轮纹理:车轮纹理对一些路面来说非常重要。一些初学者经常忽视车轮纹理的选择。如果你的车轮表面太光滑,将很难获得足够的摩擦力。过度光滑的轮子在刹车或加速时有可能会打滑。这一点上塑料轮子就不如橡胶轮子表现好。但是如果轮子的摩擦过大,比如泡沫材料,则会影响电机的效率,并且轮子的磨损也会比较严重。——轮子宽度:轮子的宽度不要太宽,否则将会影响机器人的灵活性。我曾经使用过2.542机器人天空(http://www.robotsky.com)厘米厚的泡沫轮子,结果机器人运行的非常差。——轮子的中心孔径:最终你要通过这个孔来把电机轴输出的动力传递到轮子。因此这个孔径的选择要根据你电机轴的大小来决定。——轮子如何安装:过盈配合:如果你的轮子没有中心孔,那你就要自己钻一个。加工的时候一定要确保你所加工出来的孔是在轮子的中心。加工出来的孔径应比电机轴稍微细一点点。然后在孔中涂一点强力胶,将电机轴穿过轮子的中心孔,使电机轴与中心孔形成一个过盈配合。——购买途径:一般飞机航模的轮子是个不错的选择,网上有很多航模的配件商店,有很多的选择。你可以自己去搜索一下。电机的种类浩如烟海,我这里假设你的机器人使用的是最基础的直流电机。购买电机的时候最好选择直接配有变速箱的电机,经过变速箱的动力输出可以使你的机器人更易于控制、更有力。我建议你不要尝试自己去制作电机的减速系统,这将会给你带来各种各样非常多的问题。我的第一次尝试最终也是以失败告终。我真的不建议你去做这个尝试。电机:——普通电机安装:不论什么类型的电机,要固定到你的机器人底盘上都需要一个 L形支架。你可以用一块有一定厚度的铝片来制作。一侧上钻两个孔 ,用来利用螺丝将铝片固定在机器人底盘上;另一侧钻两个孔,用来利用电机上的固定孔来固定电机。将铝板折成一个90度角。这样一个支架就制成了。还有一个选择:就是使用现成的 U形铝,这种铝材很容易找到。只要大小合适,再钻上几个合适的孔,就可以很容易的固定到我的聚乙烯底盘上。安装机器人电池:安装机器人电池是一件很简单的事情。只要你使用的是固态电池(比如镍镉或镍氢电池)。最简单的固定方法就是用胶或胶带来把电池固定在机器人底盘上。电子电路:将电路板装在你的机器人上有时候是件很困难的事情。如果你的运气够好,买到一块预留了螺纹孔的电路板就比较便于安装。如果没有的话,那么你就要想办法自己在电路板上钻孔,然后使用螺母与螺杆来把电子芯片固定在机器人底盘的聚乙烯板上。安装你的电子设备时要记住一件事:尽量把你的电路板或其他一些电子设备安装在机器人的高处。因为这些电子设备大多较轻,而你应当尽量使你的机器人重心靠下。并且如果你的电路板离地太近,那么机器人在运动时溅起的一些污垢就很容易把电路弄脏。而电机在运行时产生的一些电子信号也容易对你的控制电路产生干扰。43机器人天空(http://www.robotsky.com)布置传感器:安装传感器方面,很难有什么共通的准则。安装传感器最大的困难就是在机器人上总是有这样或那样的影响传感器工作的限制。比如传感器不能离噪音较大的电动机太近;传感器可能必须要装在机器人的前面或两侧;并且要有一定得保护措施,避免碰撞或灰尘也有可能会影响传感器正常工作;如果你做的是一个巡线机器人,那么机器人底部传感器的离地间隙必须精确。因此如果想将传感器安装在一个非常合适的地方,你必须利用一些技巧和工具:螺纹、胶、或是一些自制的支架。44机器人天空(http://www.robotsky.com)看看你的实验室还缺了什么作者:胡泊很多朋友都开始构建自己的机器人实验室,很多学校也开始为学生搭建机器人实验室。下面我就列举一些机器人制作中常用的工具,大家快看看自己还缺什么,赶紧去采购吧!一字起:这是机器人制作中的最基本工具了,用来拧紧或拆卸一字螺钉,也常用来调节一些电位器之类的电子元件的强度。十字起:也是最常用工具,通常用来拧十字螺钉。有多种型号,大小不同。万用表:万用表是电子制作中最不可缺少的工具。分辩电子元件的好坏,测量电路输出量的大小,判断电路故障的原因,都离不开万用表的帮助。45机器人天空(http://www.robotsky.com)电烙铁:手工焊接、修改电路板都离不开的电烙铁焊锡丝:与电烙铁搭配完成电路板上的手工焊接尖嘴钳:用来对小的硬质零件进行修改的工具。46机器人天空(http://www.robotsky.com)剪刀:剪断电线或是一些薄板,不过最好是电子制作专用的剪刀,而非一般家用的剪刀裁纸刀:非常方便的刀具。不过使用时一定注意安全哦!剥皮钳:给电线剥皮非常的方便。有多个缺口,可剥多种直径的电线。当然也有很多人还在用打火机烧镊子:当你需要从盒子里捡出一个小小的电阻或是想往密布元件的电路板上加入一个元件而把手指刺破时,你就会体会到镊子的必要了47机器人天空(http://www.robotsky.com)双面胶:我们布置一些传感器的时候,有时需要不断的调整传感器的位置,以找到一个最合适的位置,这时我们就需要一种又牢固又易于改变的固定装置。双面胶是一个不错的选择,粘强,易于调整。唯一的缺点就是用后不易清理。排线:这可是个好东西,想用几股便可撕下几股,颜色也有所区分,会给布线带来极大的方便。接插件:对于开发来说,因为很多东西都要改来改去,因此如果在电路板上多用一些接插件,可以随时改变线的布置,则会节约很多的开发成本。接插件也有很多规格,双线的,三线的,甚至数十线的,可以根据自己的需要选用。48机器人天空(http://www.robotsky.com)实验板:又叫面包板、万能板。现在在实验阶段由于经常会对电路进行改动,腐蚀电路板的做法成本太高。一般都用实验板搭配电线自己焊接,需要改动可以用电烙铁随点随改,十分方便。绝缘胶布:现在市场上的绝缘胶布有很多种颜色的,不过对于制作机器人来说,最好还是用黑色的。因为机器人上有很多光电传感器,有时如果发现干扰的话,用黑胶布临时缠一下也许会解决这个问题。胶棒:受热后会熔化,冷却后重新凝固。可以用来粘住一些传感器或元器件,并且容易清理 ,在发热量不大的地方也可做绝缘保护用。49机器人天空(http://www.robotsky.com)电热涂胶枪:熔化胶棒有的就用电烙铁,但这样容易对电烙铁造成损害,并且温度也不好控制。有条件的朋友可以买一把胶枪,用起来就方便多了。IC插座:还在开发中的电路板,由于潜在的设计缺陷,很可能会烧坏板子上的 IC,而这个时候如果你的 IC是焊死在板子上的话,那可就麻烦大了。可如果你是用 IC插座连接在板子上的话,那就好办多了。只要把烧坏的 IC拔下来,重新插一块上去,一切搞定!工具包:专为电子开发者设计的套装工具。工具齐全,但是价格不菲,那些经济实力好一些的朋友可以考虑一下了。当然,我这里列出来的主要是面对电子电路方面的,没有机加工所需的器械,那部分投入就比较大了,未必适合大多数人。50机器人天空(http://www.robotsky.com)项 目 篇在这一部分,我们精心挑选了一些具有典型意义的机器人制作实例,希望这些实例可以使大家对机器人制作有一个更加直观的认识。瓢虫机器人——这是最为简单的一个机器人实例,甚至没有用到控制芯片。严格来说它也许不能算是一个机器人,但是我们希望它可以给初中生甚至小学生们一些关于机器人制作的启发,因此收录了进来。日本爱好者制作的微型巡线小车——这是一个非常小巧的机器人小车,但它实现了机器人竞赛中最常见的一个项目:巡线。是非常有趣的一个机器人作品。如何制作你的第一个机器人——这篇文章介绍的机器人作品是在国外网站上非常受推崇的一个入门级作品。它的英文名字就叫做“Start here”,希望你看了这个作品后也可以“Starthere”。基于笔记本电脑的移动机器人——也许有些机器人爱好者对嵌入式开发并不熟悉,反而对PC平台编程了解更多一些,那么这个作品将非常适合你,它只用了一台笔记本,两个摄像头和一个移动平台就组成了一台移动机器人。一个 BEAM四足机器人的制作过程——很多人并不满足于制作一台机器人小车,他们希望可以做一些更有挑战性的项目,比如一个六足机器人。这个作品是一个最简单的六足机器人 ,简单到仅仅使用了两个舵机。用 Arduino控制的三轮小车——Arduino是近几年非常火的开源项目,很多的电子发烧友都依靠易于上手的 Arduino开发板做出了自己的项目。我们这里给大家介绍一位国内爱好者用Arduino制作的三轮小车平台。国内机器人爱好者的作品——目前网络上可以找到的机器人制作实例多为国外发烧友的作品,而这篇文章中所介绍的则全是国内一位机器人爱好者的作品,希望能有更多的国人参与到机器人活动中来。你也可以登陆机器人天空网站精选项目栏目:http://www.robotsky.com/XiangM/ 更多的机器人制作实例。51机器人天空(http://www.robotsky.com)瓢虫机器人制作教程原文链接:http://www./id/How-to-Build-a-Robot-The-BeetleBot-v2-Revisite/作者:Jerome Demers译者:胡泊52机器人天空(http://www.robotsky.com)第一步: 准备零件零件清单:2个 1.5V的电机2个碰撞开关(带有金属丝制成的杠杆臂)2节AA电池2个连接接头1个电池盒1个塑料或木头的珠状物1片 3厘米×8厘米的铝片1个控制机器人开动的拨动开关大小不等的回形针2英尺导线热缩管绝缘胶布用来制作机器人外壳的圆形塑料盖子自喷漆胶水2个用来固定外壳的磁铁电机只要 1.5V的,千万不要弄一个 3V或者 12V的!每个电机都靠单独的一节 AA电池来驱动,如果电机需要的电压太高,将很快耗干电池中的电量。制作过程中可能会需要的一些工具:护目镜烙铁喷胶枪电线剥皮器剪刀小刀53机器人天空(http://www.robotsky.com)54机器人天空(http://www.robotsky.com)第二步:碰撞开关碰撞开关将是这个作品中非常重要的部分,它将起到传感器和控制器的作用。55机器人天空(http://www.robotsky.com)注意看上面的电路图,碰撞开关闭合和张开的时候电机将获得不同的转动方向。56机器人天空(http://www.robotsky.com)第三步:将碰撞开关固定到电池盒上应该像下面图中示意来排布碰撞开关,这样可以避免在旧设计中出现的卡死现象。图 1:图示引脚可以连接在一起第四步:轮胎这一步很重要,不能直接将电机的输出轴作为轮胎来使用。必须将热缩管套在电机的输出轴上来代替轮胎,并且要靠热量来使热缩管收缩,我是靠胶枪来做到的,其实电烙铁的尖端也可以。57机器人天空(http://www.robotsky.com)第五步:电机座这里我们制作一个电机座,而不是直接把电机粘到电池盒上,这样可以使我们的机器人看起来更专业一点。将你的铝板裁成 3厘米×8厘米的一条,当然这个尺寸并不要求非常精确。很多废旧的电子设备中都有这类铝板,你大可从旧货中淘出来一块合适的。第六步:将电机固定在电机座上注意图中的示意,我是用绝缘胶布来将电机固定在电机座上的,然后直接将电机座固定在电池盒上。58机器人天空(http://www.robotsky.com)第七步:后轮你需要一个大回形针和一颗珠子。这个珠子类似于项链上的珠子形状。当然这颗珠子并非必须,你甚至可以只用光秃秃的回形针来给机器人提供支撑。然后将回形针固定到电池盒上。59机器人天空(http://www.robotsky.com)第八步:焊接碰撞开关(1)下面我们开始焊接。注意下面的示意图,我用一枚小的回形针来连接碰撞开关的中间两个引脚。我使用了一些黑色绝缘胶布将电机座的铝片缠住,这样看起来更漂亮一点。60机器人天空(http://www.robotsky.com)第九步:焊接碰撞开关(2)将电机与碰撞开关连上。第十步:第三次焊接(1)将两个电机如图示连接起来61机器人天空(http://www.robotsky.com)第十一步:第三次焊接(2)这一步是瓢虫机器人最核心和最重要的步骤。你的电池盒可以输出 3V电压,但实际上我们只需要 1.5V。那么怎么得到一半的电压呢?很简单,照着我的图来焊接就可以了。往电池盒上焊接时尤其要小心,电烙铁很容易就使电池盒融化掉!第十二步:能量下面准备将电源输给电机,在电池盒上输出两根线:一根红色,一根黑色,红色为电池正极,黑色为负极。焊接完成后进行测试:将电池放入电池盒中;两个电机应该都开始旋转;按下左边的碰撞开关,左边电机应该反转;按下右边的碰撞开关,右边电机应该反转。下一步准备触角。62机器人天空(http://www.robotsky.com)第十三步:触角支架这是这个作品中最酷的设计了,机器人长长的触角无疑将给机器人的搬运带来麻烦,而我的设计可以使你轻松的拆下机器人那长长的触角,这样可以便于携带。记得要把插头的固定端捏扁,这样才可以牢固的固定在碰撞开关上。第十四步:将触须装在机器人上用回形针来制作机器人的触须。为了使触须更牢固一点,我用了热缩管来加固。63机器人天空(http://www.robotsky.com)第十五步:加装电源开关机器人现在应该已经可以四处遍历和避障了。如果想让机器人停下来,你不得不将电池取出,这当然很麻烦,其实只要加一个简单的开关就可以解决了。第十六步:做一个外壳(1)机器人的外壳可以使用任何你手边的塑料容器来制作。我使用的是一个透明的塑料帽,在它外沿切出几个缺口来容纳电机和触须。64机器人天空(http://www.robotsky.com)第十七步:做一个外壳(2)塑料帽的外形不十分圆,看起来并不美观,我用填补玻璃缝的油灰来给它修补一下。首先要用锉来把塑料制品的表面磨粗糙,这样油灰可以更牢固的附着在上面。每次油灰一凝固我就马上用锉来修补形状并使表面粗糙,然后继续填补油灰,直到得到我想要的形状 。如果你找不到油灰,那么也可以使用一些环氧胶水,只不过每次涂完胶水必须放置 24小时才可以用锉来修整形状,这将耗去你很长时间。65机器人天空(http://www.robotsky.com)第十八步:做一个外壳(3)外形修琢好之后,就可以喷漆了,喷好黑色的底漆之后粘上几个圆形的纸片来预留黑色的圆孔。第十九步:外壳上色用你想要的颜色来给外壳喷漆。喷的时候要注意自喷漆要离外壳 20cm左右,每次喷一层然后晾干,要多喷几层。66机器人天空(http://www.robotsky.com)第二十步:完成完成了吗?不,还差一点,你需要把外壳固定在机器人上。为了将外壳固定在机器人上,你可以直接用胶水粘住,或者用磁铁:一块磁铁粘在外壳里面,一块固定在电池盒上。我将固定电机的黄色胶带涂成了黑色,机器人的触须也被我涂成了黑色,这样机器人看起来就漂亮多了。恭喜,机器人瓢虫完成了!67机器人天空(http://www.robotsky.com)日本爱好者制作的微型巡线小车原文链接:http://robotechno.us/super-tiny-line-follower-robot.html译者:Jing Chen巡线(Line Following)小车比赛就是众多机器比赛中的一种。这种比赛是以小车在线上的运行速度大小来决出胜负的。笔者自己制作了一个很小的(体积还不到一般巡线小车的五分之一)能够在桌面上运行的巡线小车。如图一所示:图一:巡线小车关于巡线小车巡线小车是沿着桌面上的线运行,且具有自我操控的功能。其基本的操作有:(1)利用小车前端的图像传感器来捕捉线的位置。大多数参赛者都会使用几个图像反射器来进行图像处理,而少数具有领导能力的参赛者使用的是图像传感器来进行图像处理。另外 ,对线的感应过程还需要高分辨率和高鲁棒性(即系统的健壮性)。(2)利用操控机制来控制小车追踪线。这仅仅是一个伺服操作(以机械位置或角度作为控 展开更多...... 收起↑ 资源预览