《两足行走机器人.docx》由会员分享,可在线阅读,更多相关《两足行走机器人.docx(38页珍藏版)》请在三一办公上搜索。
1、学 号:1904341424河南工学院毕业设计设计题目:两足行走机器人学院:电气工程与自动化学院专业:电气工程及其自动化班级:电气工程194姓名:路天祥指导教师:张星红日期:2020 年11月11日诚信声明本人的毕业设计是在导师指导下独立完成的,且论文撰写没有剽窃、抄袭、 造假等违反学术道德、学术规范和侵权行为,该设计凡引用他人的文章或成果之 处都在设计中注明,并表示了谢意。除此之外,都是本人的工作成果。否则,本 人愿意承担由此而产生的法律责任和法律后果,特此郑重声明。本人签名:日期:2020年11月11日机电与车辆工程毕业设计(论文)开题报告前言步行机器人是机器人学的一个重要分支,步行机器人
2、的研究涉及到很多方面。 首先,我们应该考虑移动的方式,可以轮转,跟踪和腿。其次,我们必须考虑到 执行器的控制,以实现期望的行为的机器人。第三,我们必须考虑导航或路径规 划。因此,机器人是一种集等多种功能的综合系统环境感知、动态决策与规划、 行为控制与执行。机器人的机械结构的选择和设计应根据实际需要进行。在机器 人机制方面,富有创造性的工作应与机器人在各个领域和场合的应用组合进行。 步行机器人,各种移动的机制,能够适应工作环境的地面、地下、水下、空中、 宇宙等的研究。目前,有许多步行式行走机器人的研究,跟踪机器人和特种机器 人,但是他们中的大多数仍处于试验阶段。轮式移动机器人,由于其控制简单、
3、稳定的运动和能量效率高,迅速向实用化方向发展,从阿波罗月球车最近到美国。 六轮车在美国宇航局的行星漫游的取样计划,从战场巡逻机器人和侦察车是由西 方发达国家新开发的管道清洗和检查机器人,强烈表明,步行机器人成为智能机 器人的方向TS由于其使用价值和广阔的应用前景。学生签名:2020年11月11日摘要21世纪机器人发展日新月异,从传统的履带式机器人到如今的双足行走机 器人,机器人的应用范围越来越广。本系统以NE555时基电路,内部由比较器、 RS触发器、放电管等部分组成。将中央控制器与舵机控制器,舵机,各类传感 设备及受控部件等有机结合,构成整个双足行走机器人,达到行走、做动作的目 的。单片机中
4、央控制器与舵机控制器以串口通信方式实现。系统的硬件设计中, 对主要硬件舵机控制器和NE555时基电路及其外围电路进行了详细的讲述。硬件 包括舵机控制器,NE555时基电路,按键,各种传感器和数据采集与处理单元。 软件包括单片机初始化、主程序、信号采集中断程序、通过串口通讯的接收和发 送程序。论文的最后部分以双足行走机器人为基础,结合传感器,外围控制设备 组成控制系统,并给出了此系统应用领域的一些探讨和研究。关键词:单片机舵机控制NE555时基电路目录诚信声明I机电与车辆工程毕业设计(论文)开题报告II前 言II摘 要III第一章绪论11.1课题背景11.2国内外研究历史及现状21.3双足机器人
5、的发展趋势31.4步行的优越性41.5双足步行机器人的优越性41.6双足行走研究的意义41.7系统设计主要任务5第二章系统方案设计62.1机器人自由度选择62.2机器人结构的设计62.3驱动方案选型62.4系统总体设计72.5原理说明72.6硬件部分82.7软件部分9第三章系统硬件电路设计103.1单片机控制模块103.2舵机控制模块113.3传感器模块电路设计12第四章系统软件设计134.1程序流程图134.2控制流程图144.3数据库的建立14第五章系统整机调试及功能测试215.1舵机控制控制模块调试215.2舵机调试215.3整机调试21第六章设计总结及技术展望236.1技术总结236.
6、2技术展望23致谢27参考文献28附录29附录一:部分元器件清单29附录二:装配说明31第一章绪论1.1课题背景1920年捷克斯洛伐克作家卡佩克写了一本小说叫罗萨姆的机器人万能公 司。他幻想并做了一个不吃不喝,不知疲倦的机器人罗伯特(Robot)帮助人们 进行工作。人们在产生天天劳动,简单枯燥,于是人们幻想有一种代替人进行工 作的机器,这便是罗伯特出现的理由。机器人其实是个自动化装置,他仍然是机器,但是他能够模仿人完成某些特 定的工作。为什么要发展机器人技术?简单的说是有三方面原因:1、干人不愿干的事。2、把人从有毒,有害,危险的环境中解放出来。3、保证工作的效率和准确性。人会累,机器不会。这
7、变相的提高了生产力, 解放了劳动力。U】随着时代的发展,机器人技术也是日新月异,从传统的履带式机器人到如今 的双足行走机器人,机器人的应用范围越来越广。机器人作为科技产物,如今已 经给人们提供了越来越多的方便,他们可以做人类无法做到的事情,也可以代替 人去做一些危险的工作。两足直立行走机器人是未来机器人的发展方向。相比较 传统的履带式机器人,它们可以更好的,更方便的为人类服务,模仿人类两足行 走的特性可以到达更多传统机器人无法到达的地方。随着技术和技术的发展,机 器人的意义不断扩大,一般指的是机器人技术或系统。现代机器人走出了生产车 间的结构化环境,深入到人类生活的各个方面。一种两足机器人不但
8、拥有开阔的工作空间,并且对步行环境要求很低,能适应于 各类地面且具有较高的夸越障碍的能力,其步行性能是别的步行结构无法比较的。 研究双足行走机器人具有重要的意义。仿人两足步行是生物界难度最高的步行动作,但其步行性能却是其它步行结 构所无法比拟的。两足步行机器人是工程上少有的高阶、非线性、非完整约束的 多自由度系统。给予了对机器人的运动学、动力学及控制理论的研究一个非常理 想的实验平台。此外,双足步行机器人的研究还可以促进仿生学、人工智能、计 算机图形、通信等相干学科的发展。机器人技术是科学技术发展的一个综合结果,是社会经济发展的起到重要影 响的一门学科。是发展生产力的必然需求。一个国家的机器人
9、技术可以衡量一个 国家综合技术水平,发展机器人技术是未来的必然趋势。双足仿人行走机器人更 是重中之重。通过研究制作双足行走机器人我们能够更好的认识双足行走机器人, 了解其特点,这将为以后的发展,研究打下坚实的基础。两足步行机器人属于类人机器人。两足步行机器人的典型特点是,机器和人 的下肢通过旋转对与刚性部件相连,模拟人的腿和髋关节、膝关节和踝关节。用 执行机构代替肌肉,可以实现身体的支撑和连续的协调运动。关节之间可以有固 定角度的相对旋转。与其他腿型机器人相比,两足机器人还具有以下优点:(1) 两足机器人对行走环境要求低,能适应各种地面,克服障碍能力强。 他们不仅能在飞机上行走,而且很容易上下
10、台阶,穿过高低不平、不规则或狭窄 的道路,所以他们运动的“盲区”很小。一种(2) 两足机器人工作空间宽。由于行走系统占地面积小,活动范围大,其 上装备的机械手有较大的运动空间,也可以使机械手的设计更短、更小、紧凑。 一种(3) 两足行走是生物学中最难行走的动作,但其行走性能与其他行走结构 相比是无法比拟的。一种此外,两足步行机器人可以在人类生活和工作的环境中与人类一起工作,而 无需对环境进行大规模的改造。因此,两足步行机器人具有广泛的应用范围,特 别是作为残疾人(下肢瘫痪或截肢者)提供室内外步行工具,替代极端环境下的 体力劳动等方面是不可替代的。1.2国内外研究历史及现状在日本所有的研究机构中
11、,早稻田大学、东京工业大 学、本田公司、索尼 公司等研究机构成为双足机器人研究的主力。早稻田大学的双足机器人研究始 于1968年该大学的加藤一郎教授所领导的课题组相继研制了 WL系 列、WABIAN 系列双足机器人。最新的研究成果为WL- 16和WABIAN- 2机器人,WL- 16腿 部采用一对6自由度的并联机构。由于并联机构刚度高,许多金属部件用聚乙 树脂代替,齿轮、电机等重量都得以减轻,可以在不平的地面上稳定行走。WABIAN- 2不仅可以像真人一般活动头部、躯干、四肢和手掌,而且还能够通过面部表情 传达多种人类特有的感受列如快乐、愤怒、悲伤、惊讶和飓等。最为重要的是它 还可以弯曲膝盖并
12、且以多种方式活动它的脚掌,通过机器人的模拟运动,人们便 可以得到许多观测真人时所不可能得到的定量数据。所以,借助WABIAN-2对人 类行走方式进行最大限度地模仿,研究人员将可以获得对人类病理学的更深层次的了解,从而可以得到对开发新型医疗和康复设备极有助益的信息。世界著名机器人专家,日本早稻田大学加藤一教授说过:“步行应当是机器 人具有的最大特征之一,步行的移动方式是其他运动方式无法比拟的,具有很大 的优越性”。所以加藤一教授也被称为机器人之父。国内双足行走机器人的研究起步较晚,开始于1988年国防科技大学的六关 节平面运动型双足步行器。国防科技大学的“先渚是国内第一台仿人机器人,高1400m
13、m, 重20kg,可以以每秒两步的频率动态步行,能够在小偏差不确定环境中行走,并 具有一定的语言功能。随后清华大学、哈尔滨工业大学、北京理工大学、中科院沈 阳自动化所等单位都开展了双足机器人的研究,并取得了很多的成果,如哈尔滨 工业大学的HIT系列、北京理工大学白BHR系列双足机器人,其最新成果分 别为HIT- 4和BHR- 2型。另据报道,北京中关村的一家名为汉库科技的企业 在2006年初成功推出一款双足行走机器人,称是目前中国最先进的双足行走机器人。国内 对此开展的研究并不多,北京大学在2006年10月研制成功双足机器人Runbo-I”,Runbo- I不仅能平稳行走,还能负重推车,在设计
14、上的最大特 点是每条机械 腿均只使用一个电机作为主动运动驱动,膝关节和踝关节采用仿 生被动关节。整个运动通过弹性机构实现运动能量的存储和释放,在很大程度 上模拟了人类运动方式。1.3双足机器人的发展趋势双足行走机器人研究虽然取得了很多的研究成果,但在稳定性、人与机器人 协调合作等方面还存在很大的不足,这也是双足行走机器人没有走进我们生活 的主要原因。综合研究现状,双足行走机器人具有以下几个发展 趋势,当然也 是进一步研究的重点所在。(1) 稳定性与控制。稳定性与控制策略是双足行走机 器人技术的关键,也 是各国学者研究的焦点。具体主要有双足运动的动态稳定与控制机理、双足步 行运动的固有鲁棒性机理
15、、实时步态规划与控制等几个方面。只有解决了这些 问题,双足机器人才能实现自然、顺畅地行走,从而更好地完成任务。2006年 10月在中国苏州举行的机 器人大赛上,所展出的双足机器人已经具有较好的稳 定性,不但具有顺畅的行走能力,而且在不慎摔倒时还能够独立地站立起来继 续行走。(2) 开发新型关节驱动器。双足机器人的自由度是其完成动作质量的保证, 自由度越多其动作越协调、顺畅。目前研制的双足机器人自由度最少的也有十 几个,最多的达到几十个。自由度的增多的同时对驱动器的要求也 越来越高, 已不局限于传统的几种方式,形状记忆合金驱动、压电陶瓷驱动等方式逐渐应 用到机器人领域,这些驱动方式以驱动速度快、
16、负载能力强等特点已经逐渐取 代了传统的驱动方式。(3)改进人机接口设计。机器人应该要与人类共存并合作,做人类做不到 的事,开拓机动性的新领域,从而对人类社会产生附加价值,而并不是完全取 代人。目前,双足机器人还不能摆脱人的控制而独立工作,因此,良好的人机协 调系统在机器人的工作中将起到非常重要的作用。1.4步行的优越性机器人的移动方式分为履带式、轮式、步行等方式。轮式和履带式机器人虽 然在平坦的路面表现很优秀,但是他们一旦到了泥泞、松软的土地上进行移动是 就会收到很大的阻碍,而步行的方式就不会存在这一问题。步行能适应更多,更 复杂的路况,例如:上楼梯、跨越障碍等。我们生活的地球有很多地方不适合
17、轮式或者履带式机器人行动,但是我们的 星球上有那么多步行的动物存在,包括我们人类,可见步行应该是自然进化过程 中最适合移动的一种方式,是其他行动方式无法比拟的。1.5双足步行机器人的优越性步行机器人又很多,包括和蜘蛛一样的八脚机器人、小一点的四脚或者六脚 机器人,以及本课题研究的双足机器人。与其他机器人相比,双足机器人灵活性 更好,适应环境能力更强。能够方便的上下台阶,通过窄路面等。并且步行的方 式占地面积小,更灵活,在此基础上更容易搭载短小紧凑的机械手臂。这是其他 步行方式无法比拟的。1.6双足行走研究的意义在步行方式中两足步行是最为复杂、自动化水平最高的动态系统。本课题以 对两足行走机器人
18、的行走控制为目的,来研究两足机器人的行走过程。通过对外 界环境的判断机器人处理一些简单的应变。为机器人在以后更为复杂的工作环境 稳定工作打下基础。研究双足步行机器人的另外一重重要意义就是为了更好的了解人类和其他 动物的行走机理,这样在将来可以为下肢瘫痪者提供较理想的假肢。再者,研究 动物行走方式和研究步行机器人是双向互惠的。正确的理解动物行走机理,可以 反过来更有效地指导步行机器人的研究和开发。因此,双足步行机器人的研制具 有十分重大的价值和意义。1.7系统设计主要任务本文利用舵机控制器与NE555时基电路和各类传感设备及受控部件、支架设 计制作的一款机器人行走控制系统。系统的设计包括:系统硬
19、件的设计与调试和 控制软件的编写与调试。第二章系统方案设计基于目前已有的成熟方案,我选择用NE555时基电路为主控制芯片,选用 STC12C5410AD为核心的舵机控制器,并结合传感器来组成这个系统。系统预留 扩展I/O 口可用于扩展语音控制芯片等。以STC12C5410AD为核心的舵机控制板 拥有大量的舵机接口,可方便日后扩展手臂功能。2.1机器人自由度选择步行机器人的行走必须依赖于关节,关节越多越灵活,其控制过程也就越复 杂,人体的关节大约有400多个自由度。通过分析我们得知实现机器人步行的自 由度最少是4个。其控制数据量适中。方便系统调试,故选择4自由度机器人作 为设计的框架,在此基础上
20、进行设计。这4个自由度分别为2个髋关节和2个踝 关节。简单的4个关节就能实现基本的行走目的,节约了成本也减少了开发的时 间。2.2机器人结构的设计双足行走机器人其基本条件就是有两条腿,我们分别为这2条腿安装一个髋 关节和一个踝关节,再通过搭载一个简易的平台来固定两条腿,并搭载所有子设 备,这样就基本形成了一个双足机器人的模样。由于本系统选用的MCU(Micro Control Unit)的速率限制,无法为机器人提 供一个很好的平衡算法硬件条件。故装上两个大脚板,来保持行走过程中的平衡 问题。这是一种最简单的、成本最低、故障率最低的实现平衡的方式。 2.3驱动方案选型目前主流机器人的驱动方式大致
21、分为气压驱动,液压驱动和电机驱动。气压 驱动虽然动作快,但是稳定性不好,比较难控制。液压驱动力矩大,响应速度也 比较快,但是成本非常高,很重。而且上述两种方案一般是在大型设备中使用的, 并不使用于本系统的小型设计需求,故采用电机驱动。电机种类也比较多,但是 大多数都很难做到精确控制,本系统采用的舵机具有非常好的可控制性。精确度 度、响应速度也基本能够满足设计的需要。目前的双足机器人也大多采用这种方 式。舵机是一种价格低、精度高、安全性能良好、易于维修的一种特殊的伺服电 机。最早是用在航空模型的控制上面。通过PWM波来控制转动角度,这更加方便 与单片机的编程和实际使用。2.4系统总体设计机器人总
22、体设计如下图所示。从上到下看分别是红外传感器、主控制芯片、 舵机控制芯片、外围电路、电池、机器人双足。并且在机器人主控板上预留接口 来安装扩展使用的语言控制模块。四个舵机相当于四个关节,这样就完成了机器 人的整体系统设计。整体系统设计见图1图i基于双足行走机器人系统总框图2.5原理说明此电路使用的单片机为AT89C2051。此款单片机作为入门级51单片机,在 教学领域应用十分普遍。宽的工作电压范围,3V电压都能工作。在电路中,三 极管VT3-VT8共同组成行走机器人电机的驱动电路,其中VT7和VT8的基极分 别连接到单片机的IO 口 P16和P17,若编写程序控制P16输出高电平,P17输出
23、低电平。则三极管VT7饱和导通,VT7控制的三极管VT4和VT5也导通。由于P17 输出低电平,三极管VT8截止,VT8控制的三极管VT3和VT6截止。电机于是由 于电流通过而启动,电流方向是从VT4的集电极输出,从VT5的集电极输入。反 之,若控制单片机P16输出低电平,P17输出高电平。则电流方向会从VT3的集 电极输出,从VT6的集电极输入,方向和上次相反,电机转动方向也会同时改变。 通过电机的正负接线和单片机的程序控制,就能灵活控制机器人前进和后退。延时控制:机器人的前进和后退时间由电路板上的两个可调电阻分别控制, 这两个可调电阻分别串联了一个1uF的独石电容。在单片机的参与下,通过计
24、算 独石电容的充电时间,经过换算转换为控制机器人前进和后退的延时时间。举电 容C5为例,具体过程就是,单片机首先控制IO 口 P35和P11输出低电平,并延 时等待一段固定时间,从而使得电容C5放电。延时等待一段固定时间完成后。 再将IO 口 P35和P11输出高电平,电容器开始充电,这时单片机读取IO 口 P11 的状态,会得到低电平,一直等到C5充电完成,读取IO 口 P11才能得到高电平。 独石电容C5的充电时间受到可调电阻RP2控制。显然,当RP2阻值越大,充电 时间就越长,反之充电时间就越短。从而通过调节可调电阻实现延时控制。三极管VT1用于控制安装在机器人头部的声音和灯光,红线接J
25、1的“ + ”, 黑线接“-“,单片机的IO 口 P17连接VT1的基极。P17输出低电平,三极管导 通。机器人头部发出声音和光亮。P17输出高电平时,VT1截止。轻触开关S1为单片机复位按钮。电容C3和电阻R4组成单片机上电延时复 位电路。晶振Y1提供给单片机运行时钟。发光二极管D1、D2、D3分别连接到单片机的IO 口 P30、P31、P34。各个发 光二极管可以通过编写程序独立控制。这几个发光二极管的占用IO 口也可以作 为功能扩展使用。例如:可以使用这其中的两个IO 口连接一个超声波避障模块 的发射和接收端。通过对单片机编程实现障碍物距离控制。可以将红外线避障模 块的输出端接到IO 口
26、上,编写程序实现红外线避障控制。若有兴趣对功能进行 扩展,只要取下几个发光二极管,在发光二极管的负极位置引出导线就相当于是 延长了单片机的IO 口引脚了。把这个导线连接到感兴趣的功能模块上,自己编 写程序,实现想要的功能。S2为功能切换开关,在附带程序中的功能为切换遥控和自动控制方式。红 外接收头HW用于红外遥控控制。单片机附带程序功能介绍:上电后,如果开关S2处于自动位置,行走机器 人会自动按照可调电阻RP1和RP2的电阻大小来设定前进后退时间,前进时D1 点亮,机器人头部发出声音和灯光,后退时D2点亮,声音和灯光关闭。调节RP1 和RP2可以改变前进和后退的时间。开关S2拨到遥控的位置,重
27、新启动后,就 可以实现红外线遥控的功能,通过配套的红外线遥控板,可以分别控制机器人前 进,后退,停止。控制头部的声光,单独控制每个发光二极管的状态。2.6硬件部分双足行走机器人系统其硬件部分主要由五大部分构成:(1) 控制单元。NE555时基电路是系统中控制部分关键的元件,它与控制单 元组成控制部分功能。负责整个机器行动的方式,以及处理外部环境变化的,改 变机器人行走路线的任务。(2) 舵机控制模块。(3) 传感器数据采集系统。利用传感器采集信息,为机器人提供准确的外部 环境数据。控制单元通过接收的外部信息来改变控制信号,来让机器人产生行动 变化。(4) 受控部件。通过控制舵机,通过精确的角度
28、变化让机器人完成行走的基 本目的。其主要受控于舵机模块。通过PWM波控制。(5) 支架。组成机器人的躯干,搭载机器人全部电子器件。2.7软件部分软件设计部分主要由三大部分构成:(1) 数据采集与数据分析部分。即通过单片机对数据进行实时的采集与处理。 通过分析采集到的数据来产生控制机器人的处理信息,从而实现机器人的实时控 制的目的。(2) 串口通信部分。两个系统通过串口进行通信,是控制单元和舵机控制模 块的主要通信方式,两个模块间良好的通信才能完成系统的设计。(3) 分析控制部分。根据采集的信息让系统判断外部环境,并做出相应的对 策。这样可以避免机器人在行走过程中的危险,保护机器人的安全,稳定。
29、第三章系统硬件电路设计系统硬件电路包括单片机中央控制器、舵机控制单元、传感器模块、扩展功 能I/O 口,整体的电路设计简约,可靠性强。硬件设计简图如图23.1单片机控制模块采用NE555时基电路。1972年,美国西格尼蒂克斯公司(Signetics)研制出 Tmer ne555双极型时基电路,设计原意是用来取代体积大,定时精度差的热延迟 继电器等机械式延迟器。但该器件投放市场后,人们发现这种电路的应用远远超 出原设计的使用范围,用途之广几乎遍及电子应用的各个领域,需求量极大。美 国各大公司相继仿制这种电路。【8】本设计使用单片机的P3.0和P3.1串口通信口实现单片机和舵机控制模块的 通信,使
30、用P1.0、P1.1、P1.2这三个I/O 口来检测按键指令,使用P0.0 口来检 测红外传感器信号,预留P2.1、P2.2、P2.3三个预留I/O作为语音控制扩展I/O 口,方便实现语音控制功能。其他I/O 口暂时没有用到,故不接线,方便日后扩 展使用。机器人的前进和后退时间由电路板上的两个可调电阻分别控制,这两个可调 电阻分别串联了一个1uF的独石电容。在单片机的参与下,通过计算独石电容的 充电时间,经过换算转换为控制机器人前进和后退的延时时间。举电容C5为例, 具体过程就是,单片机首先控制IO 口 P35和P11输出低电平,并延时等待一段 固定时间,从而使得电容C5放电。延时等待一段固定
31、时间完成后。再将IO 口 P35和P11输出高电平,电容器开始充电,这时单片机读取IO 口 P11的状态, 会得到低电平,一直等到C5充电完成,读取IO 口 P11才能得到高电平。独石电 容C5的充电时间受到可调电阻RP2控制。显然,当RP2阻值越大,充电时间就 越长,反之充电时间就越短。从而通过调节可调电阻实现延时控制。【9】 3.2舵机控制模块舵机主要是由外壳、电路板、驱动马达、减速器与位置检测元件所构成。其 工作原理是由接收机发出讯号给舵机,经由电路板上的ic驱动无核心马达开始 转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回讯号,判断是否已 经到达定位。位置检测器其实就是可变电阻
32、,当舵机转动时电阻值也会随之改变, 藉由检测电阻值便可知转动的角度。一般的伺服马达是将细铜线缠绕在三极转子 上,当电流流经线圈时便会产生磁场,与转子外围的磁铁产生排斥作用,进而产 生转动的作用力。依据物理学原理,物体的转动惯量与质量成正比,因此要转动 质量愈大的物体,所需的作用力也愈大。舵机为求转速快、耗电小,于是将细铜 线缠绕成极薄的中空圆柱体,形成一个重量极轻的无极中空转子,并将磁铁置於 圆柱体内,这就是空心杯马达。【10】为了适合不同的工作环境,有防水及防尘设计的舵机;并且因应不同的负载 需求,舵机的齿轮有塑胶及金属之区分,金属齿轮的舵机一般皆为大扭力及高速 型,具有齿轮不会因负载过大而
33、崩牙的优点。较高级的舵机会装置滚珠轴承,使 得转动时能更轻快精准。滚珠轴承有一颗及二颗的区别,当然是二颗的比较好。 目前新推出的FET舵机,主要是采用FET(Field Effect Transistor)场效电晶 体。FET具有内阻低的优点,因此电流损耗比一般电晶体少。【11】控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿 轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘 转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板, 进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到 目标停止。舵机控制模块有相对应的上位
34、机控制软件,可以方便的和电脑进行通 信,来采集数据。通信时采用9600波特率,8位数据,1位停止位,进行通信。【12】本舵机模块拥有独立的舵机供电电源输入,不和单片机共用一路电源。这样 既可以保证单片机的工作稳定,也利于舵机的动力输出。3.3传感器模块电路设计系统采用红外光传感器来判断机器人前方是否有障碍物,当检测到前方有障 碍物时,通知MCU做出相对应的指令。传感器连接到单片机I/O 口,单片机通过 读取I/O 口的电平来判断传感器传来的信息。红外光传感器就像机器人的眼睛, 可以让机器人看到前方的事物。红外传感器是一种非常常用的传感器,其结构简单,调节方便,供电电压和 单片机类似,可直接与单
35、片机I/O 口连接,是一种非常易用的传感模块。【13】第四章系统软件设计如果说红外传感器是机器人的眼睛;舵机及支架是机器人的身体,用于支撑 整个机器人;舵机控制器是机器人的小脑,控制四肢运动;那么MCU就是机器人 的大脑,用来控制整个机器人的动作,而程序就是机器人的灵魂。本章介绍具体 流程。4.1程序流程图程序流程图如图74.2控制流程图控制流程图如图8图8控制流程图【15】4.3数据库的建立#include #include intrins.h” unsigned char ir_recv;unsigned char buf20;unsigned long ir_codew;void Sen
36、dString(char *s);void usart_init(void);void Delay1ms() /12.000MHz(unsigned char i, j;i = 2;j = 239;do(while (-j); while (-i);void long_to_str(unsigned long dat)(unsigned char tmp,i;unsigned long dd;unsigned char *ss = buf;dd = dat;for(i = 0;i28&0xf);if(tmp 10)(*ss = tmp+0x30;else(*ss = 65+(tmp-10);s
37、s+;dd = dd Oxfff)(P1_4 =1;ledblinkl = 0;if(led2_con)(ledblink2+;if(ledblink2 Oxfff)(P3_0 =1;ledblink2 = 0;if(led3_con)(ledblink3+;if(ledblink3 Oxfff)(P3_1 =1;ledblink3 = 0;if(ir_recv != 0)(switch(ir_recv)(case 0xA2:/关机键P1_5 = 0;P1_4 = 1; P3_0 = 1; P3_1 =1;P1_6 = 0;P1_7 =1;led1_con = led2_con = led3_
38、con = 0;break;case 0x30: 数字 1P1_4 = 0; led1_con = 0;break;case 0x18: 数字 2P1_4 = 1; led1_con = 0; break;case 0x7A: 数字 3 led1_con = 1; break;case 0x10: 数字 4 P3_0 = 0; led2_con = 0; break;case 0x38: 数字 5 P3_0 = 1; led2_con = 0; break;case 0x5A: 数字 6 led2_con = 1; break;case 0x42: 数字 7 P3_1 = 0; led3_co
39、n = 0; break;case 0x4A: 数字 8 P3_1 = 1; led3_con = 0; break;case 0x52: 数字 9 led3_con = 1; break;case 0x02: /前进 P1_5 = 1;P1_6 = 0;break;case 0x98: 后退 P1_5 = 0;P1_6 = 1;break;case 0xA8: 停止 P1_5 = 0;P1_6 = 0;break;case 0xE2: /头部灯光控制P1_7 =1;break;/SendString(IR code =);/long_to_str(ir_codew);/SendString(
40、buf);/SendString(rn);ir_recv = 0;else/自动控制方式,用两个可调电阻控制前进和后退的时间(EX0 = 0;P1_4 = 0;P3_5 = 0;P1_1 = 0;c = 0xfff;while(c-); /电容放电。P3_5 = 1;P1_1 = 1;while(P1_1 = 0)c+;P1_4 = 1;while(c)(P3_0 = 0;P3_1 = 1;P1_7 = 0;P1_6 = 1;P1_5 = 0;c-;Delay1ms();P3_0 = 1;P3_1 = 1;P1_4 = 0;P3_4 = 0;P1_0 = 0;c = 0xfff;while(c
41、-); /电容放电。P3_4 = 1;P1_0 = 1;while(P1_0 = 0)c+;P1_4 = 1;while(c)(P1_5 = 1;P3_0 = 1;P3_1 = 0;P1_7 = 1;P1_6 = 0;c-;Delay1ms();/SendString(b =);/long_to_str(c);/SendString(buf);/SendString(rn);void exint0() interrupt 0/(location at 0003H)(unsigned char i,j,Ir_code,Ir_code_n;unsigned long ir_code;unsigne
42、d int kk;bit k;EX0 = 0;kk = 0x5E0;while(kk-);/延时 13.5ms9ms+4.5msir_code = 0;for(i = 0;i32;i+) /接收数据(ir_code = ir_code 0xA0)k = 0;elsek = 1;ir_code |=k;Ir_code = (unsigned char)(ir_code 8)&0xff);Ir_code_n = (unsigned char)(ir_code&0xff);if(Ir_code = (Ir_code_n) /判断数据接收是否正确(ir_recv = Ir_code;ir_codew
43、= ir_code;j = 0x40;while(j-) & (P3_2 = 0); 延时 560us 并判断 P3_2 引脚,侦测最后的上升沿EX0 = 1;第五章系统整机调试及功能测试本系统所包含的功能模块有:舵机控制模块、红外传感设备、舵机、按键。 本章介绍具体功能。51舵机控制控制模块调试舵机控制器是机器人的传输神经,机器人的每一次动作都由它发出指令。通 过它控制舵机的角度变化来实现机器人的抬脚,落脚动作。舵机模块的测试可以使用上位机来进行,通过在上位机条件,观察舵机控制 模块是否能够操作舵机进行精确转动。也可用示波器观察输出的PWM波形是否正 确来对舵机控制模块进行测试。52舵机调试
44、舵机是机器人的关节。通过舵机控制器发出PWM波来实现精确角度转动,且 具有很的动力,本设计采用的舵机最大扭力为2.5KG。所以有它就能够带动一定 质量的机身行动。舵机是一种特殊的伺服电机,只能通过PWM波形对它进行控制。它接收一个 20ms的信号,通过改变输入信号脉冲宽度来改变舵机转动角度。将舵机装在支架上,通过上位机调节舵机度数是机器人保持站立姿势。这就 确定了舵机的初始化角度。如果不确立这一度数,机器人启动时就不能自动的站 立前进。【16】53整机调试将单片机与电脑串口连接,上电,通过观察串口数据来验证程序是否实现, 按下按键观察数据是否发生变化,分析数据是否与设计要求一致。将舵机控制器和舵机连接,舵机控制器连接电脑,通过上位机软件操作舵机 控制器控制舵机,观察舵机是否可以准确的转动一定角度。判断整个一个关节系 统是否正常工作。确定无误后将单片机和舵机控制器串口连接,上电。观察机器人是否按照程 序设计要求进行动作,按下每个动作指定的按键观察是否执行了响应的操作,如 果存在问题则分析问题具体原因,是硬件问题还是软件逻辑问题,或者数据记录 错误导致的问题。找到问题的真正原因并排除,直到整个系统能够实现设计的目 的,这样一个就基本完