时间:2009-04-23 16:00:37 来源:微计算机信息 作者:陈宇
引 言
单片机技术作为自动控制技术的核心之一,被广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。随着微电子技术的迅速发展,单片机功能也越来越强大,本设计基于单片机技术、红外技术完成智能机器人控制系统设计。智能机器人研究在当前机器人研究领域具有十分突出的地位, 其显著的特点是具有环境感知、判断决策、人机交互等功能[1]。本智能机器人系统主要实现了步行、跟踪、避障、步伐调整、语音、声控、液晶显示,地面探测等功能。在遇到外界条件发生变化时,该机器人将采取不同的措施对待,较好地表现出该机器人的思考能力。
1 智能机器人简介 1.1 系统框图
该智能机器人控制系统采用两片AT89C51[2]控制,一片单片机MCU1用于整个系统的控制,另一片单片机MCU2用于驱动液晶屏LCM1602工作,它们之间通过I/O口通讯,以实现两片单片机共同工作的相互协调控制。系统框图[3]如图1所示。
图1 机器人控制系统结构图
设计中,MCU1的P1.0、P1.3分别接触觉传感器,P1.6-P1.7接视觉红外传感器,P2.0-P2.4口控制继电器驱动电路,P2.5口接地面探测传感器,P2.6-P2.7接步伐校正光耦器,P3.0-P3.5接ISD25120语音芯片。
1.2 实现功能
机器人在移动过程中,会发出语音提示:“目标搜索中”,同时液晶显示:“Target is in searching”;前进过程中发现目标,语音提示:“发现目标”;液晶显示:“Find object”,机器人自动向该目标转向;对准目标后,语音提示:“锁定目标”,液晶显示:“Lock it”,同时机器人向目标继续前进;如机器人撞上目标,语音提示:“前方有障碍物”,液晶显示:“Obstacles impending”,机器人根据触角碰撞的先后顺序,向该相反的方向转角约100度,继续前进;当前方地面出现断层,语音提示:“危险,前方地面有断层”,液晶显示:“Warning,fault ahead”,同时机器人会向后退几步,转向后继续前进;如果机器人在转向过程中,步伐错乱,便会自动执行步伐调整程序,以校正步伐。
2 系统设计 2.1 驱动电路
要想让机器人有稳定行走能力,需要选择稳定的电动机驱动系统。本设计利用三极管放大作用对单片机I/O口电流进行放大,驱动继电器控制电动机转动。且不会对输入电流有任何影响,完全可以给电动机提供大电流,保证电路工作稳定。
电动机驱动电路采用两个NPN管对单片机AT89C51的I/O口输出电流信号放大,利用电阻R19、R20作为三极管基极进行保护。当单片机I/O口有信号输出时,该电流经电阻后送入第一级三极管基极,使第一级三极管导通,导通电流经电阻送入第二个三极管基极,进一步放大电流,以达到继电器驱动电流。根据计算,送入继电器的电流是经过两极放大电路放大了约β2倍,9014在此做开关作用。经过两级放大后驱动继电器。如图2所示。
图2 电机驱动电路原理图
每个继电器相当于一个单刀双掷开关,由此,两个单刀双掷开关,组成电动机正反转控制电路,实现机器人前进、后退动作。
2.2 视觉电路
在此设计中,我们仅要求机器人发现并跟踪目标,不需要识别目标。因此采用最常用的红外线反射传感器来作为机器人的视觉功能,检测机器人前方是否有目标。该功能的实现采用的是两个型号为TX05D的红外线反射传感器[4]。TX05D常用的红外反射式接近开关,它内部有一红外线发射管和一红外线接收管。发射管发出红外线,如果其正前方没有物体,那么接收管接收不到红外线反馈信号。当前方出现物体时,红外线信号经过物体被反射了回来,这时接收管接收到信号,向单片机发出高电平信号,以告知单片机其前方出现障碍物。
两个红外线传感器安装在机器人前方的两侧,在机器人工作时,两个传感器始终向外发射红外线探测信号,当其中一个传感器接收到反馈信号时,便向单片机发出高电平信号,告知单片机该方向发现目标,单片机经过判断后,控制电动机向该方向转向,以实现跟踪功能。当两个传感器都感应到目标时,机器人便向着目标直着前进,直到撞上目标。
2.3 步伐调整电路
当机器人在前进过程中,如果电机转速不一致或者在转向过程中打乱了步伐,这时便会启动步伐调整功能,该功能是利用两个光耦来完成的。在机器人腿部,装有两片通过光耦的挡片,当机器人正常行走时,挡片会交替的打开和关闭光耦。如果两个光耦的状态始终不相同。那么就说明该机器人步伐正常。当光耦状态出现相同时,说明机器人步伐错乱,需要校正步伐。这时便会随机停下一条“腿”,等另一条“腿”走在合适位置,即光耦状态相反时,
再作出同步前进。电路如图3所示。
2.4显示电路
本功能主要实现了人机交互的视觉平台。本设计采用LCM1602液晶显示模块,该模块是最常用的英文显示模块,它内部含有英文字库,使用方便,价格便宜。液晶显示功能是配合语音功能共同使用的附加功能,它的作用就是可以显示当前的状态,以实现机器人的人机交互显示功能。
LCM1602是一种16字×2行的字符型液晶模块[5],主要有总线连接方式和模拟口连接方式。本设计采用的是模拟口连接方式,它和前者相比,电路更加简洁。在该电路中,P1口给显示屏输送数据,P3.0到P3.2则控制向该显示屏读写数据的状态。VL管脚过1K电阻接地,作用是限制液晶显示的色度深浅。BLA和BLK则是背光灯电源接口。电路如图4所示。
图4 显示电路原理图
设计中,P2口则是用于与MCU1通讯,它始终监控着MCU1的状态,以保持显示内容和语音同步。
2.5 语言电路
为了确保操作的无误性,运用声音进行第二重提示,本系统用到的ISD25120语音芯片是美国ISD公司生产的高保真录放一体化的单片固态语音集成电路,录放时间为120秒,可运行多段信息处理,可反复录音十万次[6],并且ISD25120使用时不需要考虑如何驱动语音芯片,只需要直接用51控制该语音电路的触发时间,播放出事先录好的声音文件,以实现机器人说话这个功能。电路如图5所示。
图5 语音电路原理图
2.6 亚超声接收电路
机器人上面装有一个亚超声接收模块,当接收到外部的亚超声,机器人会做出停止和运行动作,以实现机器人的听觉功能。该部分的实现采用了成品的亚超声接收板,在设计中,将其输出的信号经过光电开关转换成可以触发单片机I/O口的低电平开关信号,以告知单片机目前亚超声开关的状态。电路如下图6所示。
图6 亚超声接收电路原理图 3 总结
本机器人系统设计在一定程度上模拟了人类的视觉、触觉、听觉、语音及简单的思考能力,又在一定程度上实现了一个机器人最基本的人机交互显示功能,但新的需求和任务也
对机器人的性能提出了更高的要求[7]。本系统利用双单片机通讯较好地处理了各传感器之间的协调问题,以及传感器之间的优先响应问题。
因篇幅问题不能全部显示,请点此查看更多更全内容