六足爬行机器人设计
更新时间:2024-06-30 08:46:01 阅读量: 综合文库 文档下载
目 录
1 引言
1.1 智能爬行搜救机器人机器人研究目的和意义......................................................1 1.2
智能爬行搜救机器人研究概况及发展趋势..........................................................1
2 机械结构与芯片简介
2.1 机器人机械结构......................................................................................................3
2.2 机器人运动原理......................................................................................................3
2.3 驱动装置选择..........................................................................................................5 2.4 机器人实物图..........................................................................................................6 2.5 硬件结构介绍..........................................................................................................7
2.6 单片机芯片介绍......................................................................................................8
2.7 编码解码芯片介绍................................................................................................13
3 控制系统结构设计
3.1 上位机控制............................................................................................................16
3.1.1 程序语言及串口通讯.......................................................................................16 3.1.2 人机交互界面...................................................................................................17
3.2 基于无线的智能控制...........................................................................................19
3.2.1 无线发射模块...................................................................................................19
3.2.2 无线接收模块...................................................................................................23
4 结论...................................................................................................... 29
参考文献.................................................................................................. 30
致 谢...................................................................................................... 31
文华学院毕业设计
1 引言
1.1 智能爬行搜救机器人研究目的和意义
本文近年来,多发的自然灾害(如地震、火灾、洪水)、人为的恐怖活动、武力冲突及各种生化病毒、
有毒物质、辐射等恐怖不断威胁着人类的安全,使得人们普遍关注对各种灾害的应急能力、灾后的快速响应处 理能力。在突发恐怖事件、自然灾害及意外伤害发生后,巨大的灾害往往造成大范围的建筑物坍塌和人员伤亡, 现场搜索与救援成为人不最为紧急的工作。然而现场多为坍塌环境,结构复杂、不稳定,有些狭小空间救援人 员和搜救犬根本无法进入,从而使搜救范围限制在倒塌建筑物表面范围。救援人员进入建筑物也将有巨大的风 险,其体重和移动可能会引起建筑物进一步倒塌,造成对救援人员和幸存者的再次伤害。因此,救援队员必须 在结构工程师进行评估,并对不稳定的倒塌结构进行支撑加固后才能进入,这个过程延误了搜救受灾者的时间。 同时,由于搜寻空间条件恶劣,易导致救援队员劳累,从而易对周围建筑结构作出错误判断,错过没有知觉受 灾者的概率上升,而且救援人员也存在重大的健康风险和安全风险,影响救援工作的快速展开将机器人技术、 营救行动技术、灾害学等多学科知识有机融合,研制与开发用于搜救与营救的救援机器人,将有效地提高救援 的效率和减少救援人员的伤亡。
搜救机器人是指用在灾后非结构环境下执行搜索与救援任务的特种机器人。机器人在搜索与救援过程
中明显具有以下几个方面的优势。
(1) 在发生倒塌后,机器人可以立即展开对幸存者的搜索,进入结构不稳定的建筑物,降低救援队员的风险,
为搜救工作节约时间
(2) 可以进入狭窄空间,扩展搜救专家的工作范围。建筑物倒塌会形成各种各样的空间,这些空间可能就会有
幸存者,但搜救人员难以进入,而机器人却可以一展身手。
(3) 可以携带多种传感器,探测幸存者空间状况,在机器人软件的帮助下对搜索区域实行完整的三维搜索,绘
制结构图,提升工作效率和可靠性。搜救机器人可以携带温度探测器、一氧化碳探测器、爆炸界限探测器、 氧气、PH探测器、辐射探测器和杀伤性武器探测器,从而测定空气读数,探测有害物质,分析后向救援人 员提出警告。
同时由于机器人技术发展极为迅猛,用于侦察和作战等军事领域的机器人,由于其特殊用途受到了各国军方的
广泛关注。许多军用机器人的研究成果直接应用于国家安全领域,在维护国家安定,保障人民生活安全方面发挥了 很大作用。军用的地面移动机器人在各种复杂环境下具有较高的机动性,可以代替人类进入一些危险未知的环境, 适应于国防和民用等多个领域,而且在反恐斗争中叶可以发挥很大作用。
这类机器人的主要应用领域包括以下几个方面: (1)战场侦察与环境探测
在移动平台上装备摄像头、安全激光测距仪、夜视装置和卫星全球点位仪等设备,通过无线电或光缆操纵,
完成侦察和监视敌情、情报收集、目标搜索和自主巡逻等任务。还可以进入一些人类无法进入或适应的危 险环境,完成规模战争和反恐作战中的侦察任务。 (2)高度机动与协同作战
由于体积较小、机动能力较强,机器人能快速部署,完成侦察、警戒、目标突击、追击乃至解救人质、街巷
战斗、反恐作战、反装甲作战等武器装备,使之具备强大的攻击杀伤力,特别适用于城市和恶劣环境下(如 核、生、化战场等)的局部战争和信息战争。 (3)探测危险与排除险情
在战场上或工程中,常常会遇到各种各样的意外。这时,微型移动机器人就会发挥很好的作用。美国军方曾 广泛使用智能车辆扫除路边炸弹、寻找地雷和销毁地雷。民用方面,可以探测化学泄露物质,可以进行地铁 灭火,以及在强烈地震发生后到废墟中寻找被埋人员等。 (4) 安全检测与受损评估
第 1页共 32页
文华学院毕业设计
在工程建设领域,除可对水库堤坝、江河大坝进行质量和安全性检测之外,还可应用于码头、 桥墩等被撞后的受损程度探测评估。在制造领域,可用于工业管道中机械损伤,裂纹等缺陷的 探寻,对输油和输气管道线的泄露和破损点的查找和定位等。还可用于机场、车站等一些人口 密集型场所,对来往人群、货物进行安全监控,也可以直接布置在客机机舱中执行检查危险物 品的任务。
这些特种机器人技术集机械、电子、新材料、传感器、计算机、智能控制与网络通信等多门科
学于一体,是一种具有基础性、战略性和前瞻性的高新技术。对这种机器人的研究,将为未来 地面战争、反恐事业和民用工业的发展提供技术上的有力支持。
1.2 智能爬行搜救机器人研究概况及发展趋势
2002年开始, 日本文化科学部确立了“ 大都市大震灾减灾特别计划” 的研究计划,进一步
开发在地震中使用的救援机器人。 研发内容包括用于观察灾难环境的机器人系统、传感技 术、人类接口技术和系统集成。
川崎市为该项目建立了公用试验场地,并建立了国际救援系统研究所。目的是实现在非常困 难的大规模灾害搜救活动中, 即使是在混乱中也能对进行情报收集和判断, 根据灾害状况进 行最优的救助。计划中主要研究工作有对机器人、智能传感器、携带终端装置和人机接口 等进行研究开发, 进行能动地、智能地情报收集, 用网络进行情报的传递、汇总和归纳等。 日本东京工业大学的广獭是最早从事搜救机器人研究的学者之一, 从仿生的角度和基于超 机械系统的思想先后研制了多系列搜救机器人样机。
“ 9.11” 事件后, 灾难搜救机器人技术在美国日益受到重视。“9.11 ” 事件的灾难现场救援认
为是灾难救援机器人的第一次实际应用。
在纽约世界贸易中心遭到恐怖袭击发生后几小时, 美国“ 机器人辅助搜救中心” 应纽约市 紧急事务管理办公室要求, 立即组织了一支由机器人专家和生产厂家技术人员构成的队伍。
第 2页共 32页
意大利罗马大学系统科学与工程学院人工智能实验室启动了“ 搜救工程” 加拿大国防部从国防安全的角度制定了搜救机器人研究计划
英国、伊朗等国也涌现了许多救援机器人研究者和搜救机器人比赛的参与者
第 3页共 32页
文华学院毕业设计
1.4 智能爬行搜救机器人的关键性能
救援机器人的关键性能主要有以下几个方面:
? 存活能力 ? 运动能力 ? 感知能力 ? 通讯能力 ? 作业能力
存活能力:
救援机器人的存活能力主要是机器人本体的可靠性、耐用性和适应性问题。灾难后环境中 存在毒气、毒液、生化、放射性、非常温和二次倒塌等危险, 机器人对环境的适应特别重要 。在温度方面,灾难后环境存在高温可能, 机器人本体必须能够克服条件的影响, 设计时在材 质的选择上需要进行周密的虑。
在救援机器人的能源供给方面, 需要采用有线和无线相结合的方式, 以保障救援机器人足够的 动力和工作时间。应该具有自适应能力, 具有预见能力。它们应该能适应环境, 适合完成挑战 性的工作, 并且具有智能以至于能够应对由各种不稳定和不确定的因素所引起的干扰。 运动能力:
灾难救援环境对机器人的运动能力要求较高,机器人移动平台十分重要。机器人必须不断地翻 越各种垂直的障碍物, 平台的稳定性和自调整能力很重要, 要尽可能避免由从高度坠下而将机 器人摔碎。目前解决这些困难的方法是设计一种蛇形机构, 这种机构已被证实是有效的搜救 机构之一。
灾难后环境存在松软的灰土地面、由于消防用水或漏水导致的泥泞路面及坎坷不平的废墟地面 等多种地面地形, 机器人必须具有高度的地面适应性能, 在轮式、履带式和腿式等移动机构当中 ,履带、轮、腿复合的复合移动机构将被广泛采用。 感知能力:
对救援机器人而言, 救援机器人的传感器是最脆弱的元件, 它主要有三个方面的传感要求对机器 人的控制、对环境的检测和对遇难者的发现。
机器人的控制方面, 为了让机器人正常工作, 必须对机器人的位置、姿态、速度和系统内部状态 等进行检测, 系统可以采用传统机器人的摄像机、激光测距仪、超声测距仪、接触和接近传感器 、红外线传感器和雷达定位传感器等。
新的技术如数字温度摄像机具有很好的识别能力, 但是对操作者具有很高的要求。地面穿透雷达 、微波雷达、激光探测仪具有很好的效果, 但是系统的花费和能量消耗均较多, 另外的一种可能就 是利用人工智能技术、纳米技术或仿生技术来开发价格低传感器。 救援机器人多传感器之间存在信息的处理和融合问题。 通信能力:
操作人员和机器人之间的通信、操作人员和遇难者之间的通信和多救援机器人之间的通信。所 有的通信通常采用无线的方式。
理想的情况是自主机器人具有通过灾难现场一切环境的能力, 对遇难者进行定位,与救援队伍进 行通讯和联系实际上, 这里包含了大量的软件处理与计算, 机器人自身难以独立完成,人机交互的 介入是必要和必须的。多救援机器人之间的通讯, 受到废墟遮挡的影响, 目前还不能够很好地在 救援机器人系统中实现, 但是它也是迫切需要解决的问题之一。
机器人的作业能力是机器人的存活能力、运动能力、感知能力、通信能力和人 机交互有机结合的体现,它主要包括以下几个方面:
? 勘探 ? 搜寻 ? 救助
1.5 灾难搜救机器人发展方向
1、多种技术融合化
2、多智能体网络化
文华学院毕业设计
2 机械结构与芯片简介
2.1智能机器人机械结构
图 2.1 是本文设计智能爬行搜救机器人的三维结构示意图。 其中 2 4 6 分别为转动、竖
直、水平驱动舵机,只要控制这三个舵机就可以控制上板和下板相对上下、前后、水平 面转动。
1—上板
2—转动舵机
3—竖直移动排齿
4—竖直移动舵机和齿轮
5—水平移动排齿
6—水平移动舵机和齿轮
7—下板
8—上板足
9—下板足
10—水平定位齿轮
图2.1 机器人机构图
2.2智能 机器人运动原理
机器人6只足分别均分布在两个等边三角形的顶点上[4]。机器人在行走过程中,
两组足交替支撑。两组足中的任一组三足可独立支撑起整个机器人身体,机器人重心
始终落在A组或B组三足的三角形区域内,因此在平面爬行中没有倾覆的危险。
图 2.2 机器人组合图
第 3页共 32页
文华学院毕业设计
如图
即上下板前后相互交替着地实现前后运动;上下板以三角形中点为轴相互转动交替着
地实现转弯运动。运动如图2.3及2.4所示。
1.3所示,通过上下两组脚的相互运动就可以满足机器人多方位移动的需要:
图2.3 机器人水平移动示意图
图2.4 机器人转动运动示意图
第 4页共 32页
文华学院毕业设计
2.3 驱动装置选择
本文设计智能爬行搜救机器人采用了三个个舵机分别对直线驱动器、转角驱动
器以及垂直驱动器来进行精确控制。舵机是一种位置伺服的驱动器[5]。它接收一定的
控制信号,输出一定的角度,适用于那些需要角度不断变化并可以保持的控制系统。舵
机定位精确、输出力矩较大、尺寸满足要求,作为本设计的力驱动部件十分理想。
以日本FUTABA-S3003型舵机为例,图2.5是FUTABA-S3003 型舵机的内部电路。
图2.5 FUTABA-S3003 型舵机的内部电路
舵机的工作原理是:WM信号由接收通道进入信号解调电路BA6688L的12脚进行解
调,获得一个直流偏置电压。该直流偏置电压与电位器的电压比较,获得电压差由
BA6688的3脚输出。该输出送入电机驱动集成电路BAL6686,以驱动电机正反转。当电
机转速一定时,通过级联减速齿轮带动电位器Rw1旋转,直到电压差为0,电机停止转
动.舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。
标准的舵机有3条导线,分别是:电源线、地线、控制线,如图2.6所示。电源线
和地线用于提供舵机内部的直流电机和控制线路
所需的能源,电压通常介于4~6 V ,一般取5 V,
以便给舵机供电的电源应能提供足够的功率[6]。
控制线的输入是一个宽度可调的周期性方波脉冲
信号,方波脉冲信号的周期为20ms(即频率为
50Hz)。当方波的脉冲宽度改变时,舵机转轴的角
度发生改变,角度变化与脉冲宽度的变化成正比。
某型舵机的输出轴转角与输入信号的脉冲宽度之
间的关系如图2.7所示。
图2.6 标准舵机示意图
第 5页共 32页
文华学院毕业设计
图2.7 舵机的输出轴转角与输入信号的脉冲宽度之间的关系
综合各方面考虑,选用的舵机为TOWERPRO,型号为SG90。其主要技术参数如下:
外形尺寸:22*11.5*27mm
重 量:9g
参 数:无负载速度0.12/60度(4.8V)
堵转扭矩:1.6Kg/厘米(4.8V)
使用温度: -30摄氏度+60摄氏度
使用电压:4-6V 死区电压: 3.0V-5.0V
图2.8
第 6页共 32页
文华学院毕业设计
2.5 硬件结构介绍
2.5.1电源电路
智能救援机器人全部能量来源于位于机器人底部的电池,经过传统的78L05稳压电路给其单
片机及外围传感器供电,其电路如上图所示。部分传感器采用5V低电压供电可以避免机器人
过早检测障碍物而停止前进如图17。
图17电源电路
2.5.2寻线电路
巡线模块我们采用红外对管。红外对管由LED和光电三极管组成,光电三极管根据从地面反
射回来的LED的光的强度而改变积极基极电流。在光电三极管基极接一上拉电阻,则可根据
基极电压的测量判断反射光的强弱,强光说明探测器下方是白色,弱光说明下方光较弱, 大部分光被黑线吸收。对于输出的模拟信号,我们将其引入五个电压比较器LM339进行处理 。电压比较器LM339的一输入端接红外对管,另一端接滑动变阻器,通过对滑动变阻器的调 节可以实现对红外对管对黑线的灵敏度。比较器LM339的另一端接上拉电阻后进入单片机进 行探测。
2 5.3避障电路
避障部分采用光电开关,将其安放在机器人需要测量的各个方向。为减少它的测量距离保证
机器人的正常运行,我们采用的是低电压5V供电,供电电压虽略显不足,但能保证它的正常 短距离探测。光电开关的信号线的高低电平可反映前方障碍物的有无,障碍物检测电路如图 18所示。
图18避障电路
2.5.4激光测距电路
由于激光执行性强、能量消耗慢、在介质中传播距离较远的特点,我们采用BJFT- FTM-200,如图19所示。BJFT-FTM-200测距模块能比较迅速、方便地测出模块之间 的距离,单片机采用跳变沿触发,触发后即开始计时[8]。当电平变低后即开始读定 时器,此时的值即为此次测距所用的时间。根据S=Ct/2即可得出所测得的距离 。如此周期性测量即可实现移动测距。单片机内部自动将测得数据保存并与上一次测 距结果比较,保留最大值,当连续五次未测得大于前一次的数据时停止检测并记录最 大值,是时单片机控制显示模块将测得的最大值在液晶屏上显示出来。
图19激光测距传感器
2.5.5控制器电路
由于主控制器的任务较多,电路要求引脚较多,且显示器的控制程序较为复杂, 我们单独配备了一个同样的单片机作为主控制器的辅助部分,通过它来分担主控 制器的工作,来完成显示部分的工作。其中主控制器与其它模块的连接,如图20。
图20控制器电路
2.5.6声光报警电路
声光报警模块主要应用于搜救报警电路中,同时为进一步扩展应用,我们在控制其开
关的同时引入另一条信号线实现了对声音的控制。在搜救过程和平安到达安置区时经 采用不同频率和音色的声音给出表示。寻找人时我们采用热感应技术,当发现人时, 其信号线上电平从低电平变为高电平,触发单片机中断,在单片机的控制下机器人停止
运动,启动音乐发生模块并点亮LED进行声光报警,具体实现
电路,如图21。
图21声光报警电路
2.5.7电机驱动电路
单片机通过传感器的反馈信号控制电机正转、反转或者停止,来实现控制机器人完成各 种动作[9]。L298N是专用电机驱动芯片,他可以实现电机的正反转、刹车、pwm调速等多 种功能,是对机器人电机进行控制的比较理想的芯片,因此我们采用L298N芯片对两个普 通电机进行控制[10]。通过编程完全可以控制实现题目的基本要求和发挥部分,也可增加各 种创新功能。L298N芯片信号电源与驱动电源的分开,可以根据需要对电机的电压进行调节。
2.5.8显示电路
采用MS1602C-1型LCD显示相应的信息。此显示器模块的工作电压为5V左右,支持显示2行字
符,每行可显示16个字符,每个字符由5×7点阵显示。可以通过编程实现多种显示,显示 信息比数码管更多,显示效果更好[11]。由于主控制器的单片机任务较多,电路接线较复杂 ,我们采用单独的单片机控制显示模块。
南昌航空大学学士学位论文
2.6 单片机芯片介绍
AT89S51 是美国 ATMEL 公司生产的低功耗,高效能 CMOS 8 位单片机,片内含有
4k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、
非易失性存储技术生产,兼容标准 8051 指令系统及引脚[7]。它集 Flash 程序存储器
既可在线编程(ISP)也可用传统方法进行编程及通用 8 位微处理器于单片机芯片中,
ATMEL 公司的功能强大,低价位 AT89S51 单片机可以提供许多高性价比的应用场合,
可灵活应用于各种控制领域。
AT89S51 的主要性能参数如下:
? 与 MCS—51 产品指令系统完全兼容
? 4K 字节在系统编程(ISP)Flash 闪速存储器
? 1000 次檫写周期
? 4.0—5.5V 的工作电压范围
? 全静态工作模式:0Hz—33MHz
? 三级程序加密锁
? 128×8 字节内部 RAM
? 32 个可编程 I/O 口
? 2 个 16 位定时/计数器
? 6 个中断源
? 全双工串行 UART 通道
? 低功耗空闲喝掉电模式
? 中断可从空闲模式唤醒系统
? 看门狗(WDT)及双数据指针
? 掉电标识和快速编程特性 图 2.10 AT89S51 单片机
? 灵活的在系统编程(ISP—字节或页写模式)
第 8页共 32页
南昌航空大学学士学位论文
图2.11 方框图
引脚功能说明:
? Vcc:电源电压
? GND:地
? P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口,也即地址/数据总线复用口,
作为输出口用时,每位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为
高阻抗输入端用。访问外部数据存储器或程序存储器时,这组口线分时转换
第 9页共 32页
南昌航空大学学士学位论文
地址(低 8 位)和数据总线复用,在访问期间激活内部上拉电阻。
? P1 口:P1 是一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱
动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上
拉电阻把端口拉倒高电平,此时可作输入口。作输入口使用时,因为内部存
在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
图2.12 P1口特殊功能
? P2 口:P2 是一个带内部上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可驱
动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上
拉电阻把端口拉到高电平,此时可作为输入口,作输入口使用时,因为内部
存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程
序存储器或 16 位地址的外部数据存储器时,P2 口线上的内容在整个访问期
间不改变。
? P3 口:P3 口是一组带内部上拉电阻的 8 位双向 I/O 口,P3 的输出缓冲级可
驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的
上拉电阻把端口拉到高电平,此时可作为输入口,作输入口使用时,因为内
部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。
图2.13 P3口特殊功能
第 10页共 32页
南昌航空大学学士学位论文
? RST:复位输入。当振荡器工作时,RST 引脚出现两个机器周期以上高电平讲
师单片机复位。WDT 溢出将使该引脚输出高电平,设置 SFR AUXR 的 DISRTO
位(地址 8EH)可打开或关闭该功能。DISRTO 位缺省为 RESET 输出高电平打
开状态。
? EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器,EA 端必须保持低
电平。若 EA 端为高电平,CPU 则执行内部程序存储器中的指令。
? XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
? XTAL2:振荡器反相放大器的输出端。
51
T0和T1,有4种工作方式可供选择。单片机内部通过专用寄存器TMOD、TCON来设置定
时/计数器工作的参数,例如方式选择、定时计数选择、运行控制、溢出标志、触发
方式等控制字。
定时器/计数器结构如图2.14所示,其核心是一个16位的加1计数器。其中,16
位的定时器/计数器T0由2个8位计数器TH0和TL0构成,6位的定时器/计数器T1由2个8
位计数器TH1和TL1构成。另外,寄存器TMOD主要用于指定各定时器/计数器的功能和
工作模式;寄存器TCON用于控制定时器/计数器的启动和停止计数,同时也设置定时
器/计数器的状态。
系列单片机的集成了两个可编程的定时器/计数器,即定时/计数器0和1,简称
图2.14 定时器/计数器结构示意图
TMOD寄存器用于定义T0和T1的工作方式和4种工作模式,其单元地址为89H。定时
器/计数器0和1的方式控制寄存器TMOD,如图2.15所示。其中,低4位用于控制T0,高
第 11页共 32页
南昌航空大学学士学位论文
4
位用于控制T1,两部分操作和含义完全相同。
图2.15 方式控制寄存器TMOD
寄存器TCON的功能是在定时器溢出时设定标志位,并控制定时器的运行、停止和
中断请求。寄存器TCON的单元地址为88H。中断控制寄存器TCON的组成,如图2.16所
示。其包含3个部分,TF1和TR1位用于控制T1,TF0和TR0位用于控制T0,其它的为中
断控制。
图2.16 控制寄存器TCON
单片机内部的定时器/计数器是加法计数,其在计数溢出时才申请中断。为了实
现自定义的计数值或定时值,需要从计数最大值计算得出需要设置的初值。在不同的
工作模式中,计数最大值不同,可以为213、216和218。假设计数最大值为MAX,则初值X
计算方法如下:
在计数方式下,X=MAX-计数值。
在定时方式下,X=MAX-定时值/T。
式中T为单片机的计数周期,也就是单片机的机器周期。
例如,当单片机的机器周期T=0.5μs时,如果定时器/计数器工作于模式0,
MAX=213x0.5μs=4.096ms;如果定时器/计数器工作于模式1,则最大定时值为
MAX=216x0.5μs=32.768ms。
单片机的定时器/计数器是可编程控制的,在使用之前需要先通过如下步骤进行
第 12页共 32页
南昌航空大学学士学位论文
初始化:
(一) 指定定时器/计数器的工作模式,通过赋值TMOD寄存器来实现。
(二) 装入定时器/计数器的初值,通过赋值TH0、TL0或TH1、TL1来实现。
(三) 启动定时器/计数器中断,通过赋值IE来实现。如果程序中不使用中断,
则可以省略此步骤。
(四) 启动定时器/计数器,通过置位TR0、TR1来实现。置位后,定时器/计数
器将按规定的工作模式和初值进行计数或开始定时。
单片机与上位机(电脑)可以通过串口进行通讯,使用MAX232进行电平转换,
MAX232芯片如图2.18所示。
图2.18 MAX232芯片
2.7 编码解码芯片介绍
PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解
码电路,T2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电
平),任意组合可提供531441种地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定
的地址码和数据码从17脚串行输出,可用于无线遥控发射电路[8】。
如图2.19所示,编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组
成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,
VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,
编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低
电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第
17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并
发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发
射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK
第 13页共 32页
南昌航空大学学士学位论文
调制)相当于调制度为100%的调幅。
图2.19 PT2262示意图
表2.1 PT2262引脚功能
名称 管脚 说 明 A0-A 1-8 10-13 、 地 址 管 脚 , 用 于 进 行 地 址 编 码 , 可 置 为 “0”,“1”,“f”(悬空), 11 D0-D 7-8 10-13 、 数据输入端,有一个为“1”即有编码发出,内部下 5 拉 Vcc
18
电源正端(+)
Vss 9 电源负端(-) 编码启动端,用于多数据的编码发射,低电平有 TE 14 效; 振荡电阻输入端,与 OSC2所接电阻决定振荡频 OSC1 16 率; OSC2 15 振荡电阻振荡器输出端; Dout 17 编码输出端(正常时为低电平)
在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率
越慢,编码的宽度越大,发码一帧的时间越长。
第 14页共 32页
南昌航空大学学士学位论文
图2.20 PT2272示意图
表2.2 PT2272引脚功能
名称 管脚 说 明 A0- 1-8 地址管脚 , 用于进行地址编码 , 可置为 “0”,“1”,“f”( 悬 、 10-13 A11 空),必须与2262一致,否则不解码 D0- 7-8 、 D5 10-13 地址或数据管脚,当做为数据管脚时 电源正端(+) Vcc 18 Vss 9 电源负端(-) DIN 14 数据信号输入端,来自接收模块输出端 OSC 1 16 振荡电阻输入端,与 OSC2所接电阻决定振荡频率; OSC 2 15 17 振荡电阻振荡器输出端; VT 解码有效确认 输出端(常低)解码有效变成高电平
第 15页共 32页
南昌航空大学学士学位论文
3 控制系统结构设计
3.1 上位机控制
3.1.1 程序语言及串口通讯
本文在上位机(即计算机)上使用 VB 语言编写控制程序与人际交互界面,该语
言是由美国微软公司于 1991 年开发的一种可视化的、面向对象和采用事件驱动方式
的结构化高级程序设计语言,可用于开发 Windows 环境下的各类应用程序。它简单
易学、效率高,且功能强大可以与 Windows 专业开发工具 SDK 相媲美[9]。在 Visual
Basic 环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用 Windows
内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE) 、
开放式数据连接(ODBC)等技术,可以高效、快速地开发 Windows 环境下功能强大、
图形界面丰富的应用软件系统。
本文通过串口实现上位机与控制器的信号传递,串口即\串行通信\是指外设和计
算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都
占据一个固定的时间长度。这种通信方式使用的数据线少,在远距离通信中可以节约
通信成本,当然,其传输速度比并行传输慢。相比之下,由于高速率的要求,处于计
算机内部的 CPU 与串口之间的通讯仍然采用并行的通讯方式,所以串行口的本质就是
实现 CPU 与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围
设备输入计算机时,数据格式由位(bit)转化为字节数据;反之,当计算机发送下行
数据到外围设备时,串口又将字节数据转化为位数据。
VB 语言中为设计者封装了一种控件以方便用户进行串口操作,该控件
即为 mscomm.vbx。mscomm.vbx 通信控件可直接从 vb 的 toolbox 中加入窗
体 form,即可用其进行通信[10]。
使用 MSCOMM 控件主要是通过事件来处理串行口的交互,即当
数据到达时,控件的 OnComm 的事件就会来捕获或处理这些通讯事
件。而 OnComm 事件也可以用来捕获和处理通讯错误。在实际应用
中,一个 MSCOMM 控件就对应一个串行口,所以如果要处理多个串
行口的话,必须有相应数量的控件与之对应。此控件的主要属性:
? CommPort:设置或者返回串行端口号
? Settings:用来设置和返回波特率,奇偶校验,数据位和
结束位
第 16页共 32页
南昌航空大学学士学位论文
? PortOpen:设置或者返回通讯端口的状态,也可以打开和关闭一个端口
? Input:从接受缓冲区里获取或删除数据
? Output:给发送缓冲区里写数据
3.1.2 人机交互界面
上位机在整个系统中起着统筹发号施令的作用,它实现的功能为:根据操作员发
出的直接命令或间接命令计算编译出传送给机器人运动的控制信号。图3.1是本设计
的控制软件界面:
图3.1 控制界面
对窗体各控件进行初始化:
sub form-load ()
mscomm1.commport=1 '选用com1串行口
mscomm1.settings=\,n8,1\ '波特率2400, 8位数据位1位停止位
第 17页共 32页
南昌航空大学学士学位论文
mscomm1.inputlen=0 'input
mscomm1.inbuffersize=1024 '设置接收缓冲区的字节长度
mscomm1.portopen=true '打开通信口
mscomm1.inbuffercount=0 '清除发送缓冲区数据
mscomm1.outbuffercount=0 '清除接收缓冲区数据
periodic.inteval=100 '设置ls定时间隔,使遥测命令每隔ls发送1次
command-pressed=false '命令按钮为未激活状态
during- periodic=false '周期性命令数据传输尚未开始
during- nonperiodic=false '非周期性命令数据传输尚未开始
end sub
通过点击每个按钮实现对机器人的不同控制只需编写触发命令按钮的单击事件
将读取接收缓冲区的全部内容
即可,下面以自动演示控制为例:
Private Sub 自动演示_Click()
MSComm1.Output = \ '串口输出\的 ASCⅡ编码
state = \机器人自动动作!\ '赋值机器人当前状态变量 state
Timer2.Enabled = True '激活定时器 2
Text1.Text = \传送指令中……\更新最新发送指令指示
Form1.Enabled = False '窗体无效,防止指令过于密集
End Sub
定时器控件计时到点事件:
Private Sub Timer1_Timer()
Text1.Text = state '更新最新发送指令指示
Form1.Enabled = True '激活窗体有效
Timer1.Enabled = False '关闭计时器
End Sub
第 18页共 32页
南昌航空大学学士学位论文
3.2 基于无线的智能控制
系统结构框如图3.2所示:
PT2262 编码
上位机 串口通讯
无 线 通 讯
89S51 单片机 PT2272 解码
垂直舵机 驱动 转动舵机
水平舵机
图 3.2 系统结构框图
3.2.1 无线发射模块
无线发射模块主要由三部分组成:电平转换、89S51单片机、编码芯片及其无线
电发射,如图3.3:
89S51 单片机 I/O 端口
串口信号经 MAX232 电平转换
I/O 端口
图3.3 无线发射模块示意图
由于计算机串口信号的高低电平与单片机识别的高低电平是不相同的,所以本设
计使用了芯片MAX232进行电平转化,以便单片机接收到来自计算机的8位(即一字节)
PT2262
第 19页共 32页
南昌航空大学学士学位论文
信号。
图3.4 无线发射模块电路图
表3.1 单片机I/O口分配
单片机 I/O 口分配 P2.0 P2.1 P2.2 P2.3 P2.7 P3.0 P3.1 编码芯片 PT2262 的引脚 D0 编码芯片 PT2262 的引脚 D1 编码芯片 PT2262 的引脚 D2 编码芯片 PT2262 的引脚 D3 编码芯片 PT2262 使能端 TE 串口通讯接收 RXD 串口通讯发送 TXD
串口通讯使用的波特率为2400,而单片机是通过定时器来同步接收串口通讯的。
因此对单片机程序初始化如下:
ORG 00H
START: MOV SP,#60H ;初始化堆栈指针
MOV SCON,#50H ;设置UART属性:MODE1 SM1=1 REN=1
MOV TMOD,#20H ;设置第一个定时器模式:MODE2
MOV TH1,#0F4H ;设置串口通讯波特率为2400
第 20页共 32页
南昌航空大学学士学位论文
SETB TR1 ;激活第一个定时器
89S51单片机有专门用于存放串口数据的寄存器以及指示串口接收完成与否的状
态字,编程如图3.5。
开始
接收计算机串口数据
N
已接收完一字节数据?
Y
接收字节=?
指令 1# 指令 2# …… 指令 14# 指令 15#
发送指令
图3.5 发射模块程序流程图
WRITE:
JBC RI,READ ;判断单片机是否已经接收完一字节数据
JMP WRITE ;未接受完一字节数据向上跳转继续接收
READ:
CLR TI ;清除T1
MOV A,SBUF ;将缓存中串口接收的数据转移到A
MOV R7,A ;将数据转移到寄存器R7
CALL DELAY ;延迟
第 21页共 32页
南昌航空大学学士学位论文
单片机接收的数据是来自计算机的一字节信号(即
把计算机的信号转变成下一个模块识别的指令以便先一个模块识别。程序如下:
SCAN:
MOV A,R7 ;数据转移
CLR C
SUBB A,#49 ;接收的信号 (ASCII
ASCII编码),因此单片机需要
码)减去49
JZ CHAN1 MOV A,R7 CLR C SUBB A,#50
JZ CHAN2 MOV A,R7 CLR C
?
?
RESET: CALL DELAY JMP WRITE
?
?
CHAN1:
SETB P2.0 CLR P2.1 CLR P2.2 CLR P2.3 CPL P2.7 ;判断跳转CHAN1 ;判断跳转CHAN2 ;延迟 ;跳转WRITE ;重置4位指令 ;使能编码芯片PT2262
第 22页共 32页
南昌航空大学学士学位论文
CALL DELAY
CPL P2.7 ;关闭编码
JMP RESET ;跳转至RESET
CHAN2:
SETB P2.0
CLR P2.1
CLR P2.2
SETB P2.3 ;重置4位指令
CPL P2.7 ;使能编码芯片PT2262
CALL DELAY
CPL P2.7 ;关闭编码
JMP RESET ;跳转至RESET
?
?
END
3.2.2 无线接收模块
无线接收模块也主要由三部分组成:解码芯片及其无线电接收、信号运放、9S51
单片机,如图3.6。
PT2272 运放
89S51 单片机
垂直、水平和转动
舵机 图 3.6 无线接收模块示意图
第 23页共 32页
南昌航空大学学士学位论文
鉴于使单片机信号接收更加稳定,特别在解码后对信号进行放大,以便信号能够
正常被识别。电路如图3.7所示。
图 3.7 无线接收模块电路图
表 3.2 单片机 I/O 口分配 单片机 I/O 口分配 P1.0 P1.1 P1.2 P1.3 P2.2 P2.6 P2.7 经放大的解码芯片 PT2272 信号通道 D0 经放大的解码芯片 PT2272 信号通道 D1 经放大的解码芯片 PT2272 信号通道 D2 经放大的解码芯片 PT2272 信号通道 D3 转动舵机控制线 竖直舵机控制线 水平舵机控制线
为了方便对机器人进行控制,在无线接收模块中使用C51语言进行编程,程序头
文件如下:
#include
#define uchar unsigned char
#define uint unsigned int
uint a,b,c,d,order;
/*a,b,c,d为中间变量,order指示中断顺序*/
第 24页共 32页
南昌航空大学学士学位论文
/*以下定义输出管脚*/
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3; //4位指令
sbit P22=P2^2; //转动舵机控制线
sbit P26=P2^6; //竖直舵机控制线
sbit P27=P2^7; //水平舵机控制线
因为舵机的控制信号是PWM波,89S51有16位内部计数器,本设计就用它来产生周
期20ms的脉冲信号,并且根据需要改变输出脉宽。程序如下:
void timer0(void) interrupt 1 using 1
{
P26=!P26; /*输出取反*/
c=20000-c; /*20000代表20 ms,为一个周期的时间*/
TH0=-(c/256); TL0=-(c%6); /*重新定义计数初值*/
}
/*定时器1,控制转动舵机控制线,输出引脚为P22 */
void timer1(void) interrupt 3 using 1
{
switch(order) /*判断是控制竖直舵机或是控制水平舵机*/
{
case(0):
P27=!P27;
break;
case(1):
P22=!P22;
break;
}
d=20000-d;
TH1=-(d/256); TL1=-(d%6);
}
第 25页共 32页
南昌航空大学学士学位论文
单片机的晶振频率为12M,一个时钟周期为12
数器每隔1/1000 ms计一次数。以计数器1为例,先设定脉宽的初始值,程序中初始为
1.5ms,设定计数器计数初始值为c,并置输出p22为高位。当计数结束时,触发计数
器溢出中断函数,就是void timer0(void) interrupt 1 using1 ,在子函数中,改
变输出p22为反相(此时跳为低位),在用20000(代表20ms周期)减去高位用的时间c,
就是本周期中低位的时间,c=20000-c,,直到定时器再次产生溢出中断,重复上一过
程。
程序流程图如图3.8所示。
程序初始化
个晶振周期,正好是1/1000 ms,计
P2 口接收无线模块指令
指令=?
动作 1# 动作 2# …… 动作 14# 动作 15#
单片机输出响应 PWM 控制舵机
图3.8 无线接收模块流程图
把机器人的每个动作,即前进,后退,左转和右转封装成一个子函数,以便在主
程序中进行调用。下面以前进子函数为例:
void forward(int a0,int a1,int b0,int b1) //形参传递机器人前进距离
{
P26=1; //置竖直控制信号为高电平
a=a0;
c=a;
第 26页共 32页
南昌航空大学学士学位论文
TH0=-(a/256);TL0=-(a%6);
TR0=1; //启动定时器1
delay50ms(25); //延时,通过定时器不断提供控制信号
TR0=0; //关闭定时器1
P27=1; //置水平控制信号为高电平
order=0; //置控制信号顺序 b=b0; d=b; TH1=-(b/256);TL1=-(b%6); TR1=1; delay50ms(25); TR1=0; P26=1;
a=a1; c=a; TH0=-(a/256);TL0=-(a%6); TR0=1; delay50ms(25); TR0=0; P27=1;
order=0; b=b1; d=b; TH1=-(b/256);TL1=-(b%6); TR1=1; delay50ms(25); TR1=0; }
//启动定时器2 //关闭定时器2 第 27页共 32页
南昌航空大学学士学位论文
主程序即识别由无线发射模块传送过来的指令:
main()
{
EA=1;
ET0=1;ET1=1;
EX0=1;EX1=1; //程序初始化
TMOD=0x11; //设初值
PX0=0;PX1=0;PT1=1;PT0=1; //设定中断优先级
while(1)
{
If (P10==1&&P11==1&&P12==1&&P13==1) //默认指令
{stop(960,2700,2200);} //调用子函数
else if(P10==1&&P11==0&&P12==0&&P13==0) //前进指令
{forward(2000,960,900,2700);}
else if(P10==0&&P11==1&&P12==0&&P13==0) //左转指令
{left(2000,960,1700,2200);}
?
?
else if(P10==0&&P11==1&&P12==1&&P13==0) //右转指令
{right(2000,960,2040,2200);}
else
{stop(960,2700,2200);}
}
}
第 28页共 32页
南昌航空大学学士学位论文
4 结论
根据上述原理和设计方案,作者完成了新型六足机器人的制作。
控制结果表明:无线控制效果稳定,机器人能在单片机控制下自动完成一系列搜救工
作 。机器人可以实现直线运动与转向运动的合理、有效结合,转向角度、角速度
可控,直线行进步距、速度可调,行动灵活可靠。但转弯不够精准,原地转一圈后不
能严格继续原来的行进方向;行进距离也不能严格保证,不能精确地直行指定的距离。
分析其原因主要是:零件的加工精度不够,如齿轮的中心距不能严格保证,导致齿轮
与齿轮、齿轮与齿条啮合不理想,进而在每一步产生误差。
第 29页共 32页
南昌航空大学学士学位论文
参考文献
[1].徐小云,颜国正.六足移动式微型仿生机器入的研究.【J】.机器入,2002
[2].徐小云,颜国正,丁国清.微型六足仿生机器人及其三角步态的研究,2002
[3].蒋新松.机器人学导论【M】.沈阳:辽宁科学技术出版社,1994
[4].www.googoltech.com.cn
[5].Zushu Li.Human Simulating Intelligent Control and it’s Applicationto Swinging-up
of Cart-pendulum
[6].周立功. ARM 嵌入式系统基础教程.北京航空航天大学出版社,2005
[7].吴华波等. 基于AT89C2051的多路舵机控制器设计.2006
[8].颜国正等. 新型微型六足机器人的运动原理及控制程序.2006
[9].韩建海等. 基于PIC 单片机的六足机器人制作.2003
[10].武锋. PIC系列单片机的开发应用技术,2000
[11].方建军等.基于PIC单片机控制的智能玩具机器人,2003
[12].文引强等.喷墨绘图机喷头小车的驱动设计,2002
第 30页共 32页
南昌航空大学学士学位论文
致 谢
在我的毕业论文将要完成之际,我要衷心感谢我的指导老师曾老师。在课题进
行的过程中,老师以饱满的智慧、渊博的知识给予我启示和教诲,在我遇到难题时给
予我许多帮助,让我的毕业设计能够顺利的进行,在这里对他的精心指导和帮助表示
衷心的感谢。
三年大学的学习生活即将结束,回顾在学校学习的这段日子里,这里浓厚的
学习氛围和良好的科研环境给我留下了深刻的印象,各位老师严谨治学的工作精神,
同学们的勤奋好学和团结互助的学习态度在我将来的人生中都是一种教育。我非常庆
幸自己能在这个充满朝气的集体中生活和学习。谢谢!
第 31页共 32页
正在阅读:
六足爬行机器人设计06-30
2006-2007机械制造技术基础110-14
小学生语文阅读课教学工作计划04-17
第3章 存储器系统 题库和答案04-28
2012八年制病生PBL学生版 - 图文06-11
我的中国梦小学生400字作文06-15
能被7-11-13整除的数规律07-06
Module 10 Spring Festival07-23
QC加强机电设备巡视质量管理、提高04-12
湖南大学物化考试自测题汇总03-31
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 爬行
- 机器人
- 设计
- 希望小学2016秋三年级科学教学工作总结
- 围城人物形象系列分析
- 牙疼的原因
- 安阳市第六十六中学倡导开展“书香家庭,书香班级,亲子共 …
- 行列式的计算技巧与方法总结
- 广东省深圳市2018年中考物理总复习专题训练:专题一 选择题 (1)
- 建设现代化经济体系——十九大报告经济热点解读
- 情景答辩题范例3(1)
- 上海市普陀区2015届高三一模英语及答案
- 湖面保洁服务管理投标文件(最终版)V3.0
- 旅游区总体规划
- 阅读理类书籍有感
- 农业传播技术与应用(研究生讲义)
- 初中数学因式分解(精华例题)(学案)
- 13、《正确事物的答案不止一个》 教案 - 图文
- 实验4
- 教师招聘考试物理备考: 带电粒子在复合场中的运动 - 案例分析
- 盾构换刀区加固方案 - 图文
- 全国粮食高产创建测产验收办法(试行)
- 新加坡城市考察报告