毕业设计(论文)礼仪机器人控制系统的研究和设计_第1页
毕业设计(论文)礼仪机器人控制系统的研究和设计_第2页
毕业设计(论文)礼仪机器人控制系统的研究和设计_第3页
毕业设计(论文)礼仪机器人控制系统的研究和设计_第4页
毕业设计(论文)礼仪机器人控制系统的研究和设计_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

礼仪机器人控制系统的研究和设计摘要本文设计研究了一种礼仪机器人的控制系统,该系统基于凌阳16位系列的SPCE061A单片机,整个机器人机构共有7个自由度,采用二相混合式步进电机驱动,并通过二个红外传感器和一个光电传感器来检测信号,从而实现礼仪机器人的各种功能。该系统采用高级语言C语言编程,并在NSP集成开发环境IDE中编辑、编译、链接、调试以及仿真。关键词礼仪机器人,控制系统,SPCE061A单片机,步进电机,红外传感器,光电传感器ABSTRACTAKINDOFSYSTEMFORFORMALROBOTCONTROLWASSTUDIEDANDDESIGNEDINTHISPAPERTHESYSTEMISONTHEBASEOFNSPSINGLECHIPCOMPUTERSPCE061ATHEROBOTHASSEVENFREEDEGREESANDTHEEXECUTIVEMECHANISMEMPLOY2PHASEHYBRIDSTEPPINGMOTORTHESYSTEMFORFORMALROBOTDETECTSSIGNALS,WHICHAREBASEDONTWOINFRAREDSENSORSANDAPHOTOELECTRICSENSORTHEFORMALROBOTSYSTEMADOPTSCPROGRAMMING,ANDISEDITED,BUILT,DEBUGGED,EMULATEDINNSPINTEGRATEDEXPLOITABLECONDITIONIDEKEYWORDSACONTROLSYSTEMOFFORMALROBOT,SINGLECHIPCOMPUTERSPCE061A,STEPPINGMOTOR,INFRAREDSENSOR,PHOTOELECTRICSENSOR前言“机器人”这个词,是捷克斯洛伐克剧作家卡雷洛查普茨在1920年发表的著作罗萨姆万能机器人公司RUR中,首先创造出来的,书中的机器人是一种不能进行思考,只会从事劳动的人。实际上能够代替人在工厂劳动的机器人,是在20世纪60年代出现的。伴随着硬件和软件的不断进步,直到20世纪80年代,机器人才真正获得了普遍的应用。今天,机器人不仅在工厂中,就是在办公室内和家庭中也得到了广泛的应用。由于计算机的不断发展,不能进行思考的机器人也开始具有了学习的能力,逐渐变成了聪明伶俐的机器人。这样,机器人不仅在产业界获得了广泛的应用,而且还渗透到了人们的家庭生活中,支撑机器人的技术,是一种综合性的技术,包括机械工程学电气工程学控制工程学信息工程学甚至人类工程学等广泛的领域。本文从控制的角度,介绍礼仪机器人的控制系统硬件的组成包括微控制器的选择传感器电动机等,机器人应用程序的编制调试元器件的选择和组装等。本文首先在第一章中介绍了礼仪机器人控制系统的总体设计思路,包括控制系统的概述、控制系统的执行流程、控制系统的结构。第二章中介绍了礼仪机器人控制系统的硬件设计,包括微处理器的选择、人体热释电红外传感器的介绍和设计、漫反射式光电传感器的介绍、接线板电路的设计和焊接、I/O口的分配。第三章中介绍了礼仪机器人控制系统的软件设计,包括IDE集成开发环境、礼仪机器人几个动作的程序设计、控制系统的总程序。在最后一章中写了本文的结论。最后,请允许我向指导老师尹志强老师表示衷心的感谢,同时对礼仪机器人设计过程中所有付出劳动的同学表示深深的敬意。目录前言第一章礼仪机器人控制系统的总体设计思路第一节控制系统概述第二节控制系统的组成和执行流程第三节控制系统的结构第二章系统硬件设计第一节微处理器的选择第二节步进电机和驱动器的选择第三节人体热释电红外传感器的研究和改造第四节漫反射式光电传感器的介绍第五节接线板电路的设计和焊接第六节I/O口的分配第三章控制系统的程序编制第一节集成开发环境第二节礼仪机器人几个动作的程序设计第三节控制系统总的调试程序第四章结论参考文献致谢附图第一章礼仪机器人控制系统的总体设计思路第一节控制系统概述随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制扩展为控制处理数据处理以及数字信号处理DSP等领域,凌阳单片机就是为适应这种发展而设计的。它的内核采用凌阳推出的NSP16位微处理器芯片。礼仪机器人的控制系统就是基于凌阳16位单片机SPCE061A,同时采用二个红外传感器,一个光电传感器构成信号检测系统。控制系统的主要内容有1功能控制功能控制是自动读入控制信息,使控制系统确立相应的工作状态,从而控制机器人发生相应的动作。如机器人问好走向前抬手握手告别以及手动调整功能控制等。2信号检测处理信号检测是在系统运行过程中检测人体信号,如远距离红外人体检测,近距离红外人体检测,握手是光电人体接近信号检测信号处理就是对系统运行过程中所取得的状态信号进行分析处理,从而控制机器人相应动作,并能实现机器人的各种功能。3控制系统程序编制按照控制系统的执行流程,在计算机IDE集成开发环境软件中编制控制系统的程序,并按照计算机PROBE用户目标板三者之间的接线图将计算机与SPCE061A板连起来,完成在线调试,最后将程序下载到SPCE061A板上。第二节控制系统的组成和执行流程本系统为开环系统,是以SPCE061A高速单片机作为控制单元,以步进电机作为执行单元。整个控制系统由7个步进电机,两个红外传感器,一个光电传感器组成,位置分布如图11所示,其中头部有两个电机,一个用于实现点头动作,另一个用于实现摇头动作,右臂中有2个电机,大臂处有一个,小臂处有一个;还有两个步进电机在脚部,用于实现礼仪机器人的行走动作。实物图见附图1和附图2图11电机、传感器的位置分布图首先,按照人体正常的身态动作,在计算机上编制出机器人的信号检测程序,步进电机转动程序,并按照系统的要求组成整个系统程序,然后在计算机上进行编译、调试,并最终下载到SPCE061A板上。整个礼仪机器人的流程动作首先给机器人上电单片机开始工作初始化程序等待调整结束扫描远距离信号检测端口如果远距离红外传感器检测到有人走进它的检测范围,则向来人问好;如果没有人走进它的检测范围,则一直执行扫描端口扫描近距离红外信号检测端口如果来人走进它的检测范围,则机器人走向来人,并抬起右手等待与来人握手,同时对来人说“欢迎光临”手部光电传感器信号如果检测到友人握到了机器人的手,则机器人执行与人握手动作,当人手撤离后,机器人收回手臂,并向人告别退回到原始位置。整个流程中后一个动作都是以前一个动作已经执行为前提。礼仪机器人的整个流程图如图12图12控制系统流程图第三节控制系统的结构控制系统主要由凌阳16位单片机驱动器步进电机传感器四大部分组成,其结构如图13所示也可分为硬件部分和软件部分。硬件是指凌阳16位单片机SPCE061A本身及外部设备如接线板步进电机传感器等;软件是指实现礼仪机器人各种功能的专用控制程序,是根据礼仪机器人的功能机械结构尺寸,以及正常人的身态动作在计算机上编制的程序。执行元件是步进电机,它能把单片机存储器中的程序变成礼仪机器人的各种动作。下面分别把硬件软件和执行机构进行详细介绍。图13控制系统结构图在硬件方面,控制系统主要由凌阳16位单片机SPCE061A传感器接线板驱动器及电源组成。凌阳16位单片机是整个控制系统的指挥部,所有机器人的程序都存储在单片机上,单片机根据传感器检测到的信号向步进电机发出相应的各种指令,从而实现机器人的功能。接线板是为了接线方便,把单片机的32个I/O口以及两个高电平,两个低电平引脚从单片机引到一块电路板上,接线板上还有光电隔离电压变换108W的音频功率放大电路,它是单片机和被控对象进行信息交换的必由之路。由于采用四通的步进电机,它自带有步进电机驱动器,并且可以在驱动器上实现转速调整和电流调整等操作。它有AABB四个接口与电机相接,有两个电源线接口,还有三个控制口,公共端接高电平,脉冲信号和方向信号线分别与单片机I/O口相接,用于实现单片机对步进电机方向和速度的控制。电源是由市场上购买的三个12V蓄电池串联而成的,总电压为36V。需要12V或24V电源直接从蓄电池上引出去。至于单片机所需要的5V电源有三节干电池提供。传感器主要有三个,一个远距离红外人体感应传感器,一个近距离红外人体感应传感器,它们都是由红外报警装置“电子狗”改造而成。光电传感器是在市场上购买的。软件是机器人整个控制系统的神经中枢,机器人的所有功能都是在软件的指导下完成的。本控制系统的软件可分为两部分,即机器人的动作部分程序和语音部分程序。机器人动作部分程序是采用C语言按照机器人的功能要求编制的,主要有电机控制程序和信号检测程序,语音部分程序由另外一位同学负责编制。凌阳16位单片机SPCE061A的开发是通过在线调试器PROBE实现的。它既是一个编程器,又是一个实时在线调试器。它利用了SPCE061A芯片内置的在线仿真电路ICEINCIRCUITEMULATOR接口和凌阳公司的在线串行编程技术。PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头连接到目标电路板上SPCE061A的相应引脚,直接在目标电路板上的CPUSPCE061A上调试,运行用户程序。PROBE的另一头是标准的25针打印机接口,可直接连接到计算机打印口与上位机进行通信,在计算机IDE集成开发环境软件包下,完成在线调试功能,图14是计算机PROBE、用户目标板三者之间的连线示意图。本系统采用步进电机作为执行图14计算机PROBE用户目标板三者之间的连线图元件,它将单片机发出的每一个脉冲信号变成一定量的角位移,从而完成机器人的各种动作功能。本系统选用步进电机作为执行元件基于以下考虑1步进电机价格低廉,同直流伺服电机相比,步进电机价格要低廉的多。2步进电机的步距角不受各种干扰因素的影响,如电压的大小电流的数值波形和温度的变化等,都不会影响步距角。也就是说转子的速度主要取决于脉冲信号的频率。3没有长期累积误差,步进电机每走一步转过的角度实际步距角与理论步距角之间总有一定的误差,从某一步到任何一步,即走任意一定的步数后,也总有一定的累积误差,但它每转一周的误差为零,所以步距角的误差不会长期积累下去。4一旦停止送脉冲信号,只要维持通过绕组不变,电机就可以保持在其固定的位置上,也就是说,步进电机具有较高的“箱位”能力。5转子的转动惯量小,起、停的时间短,一般在信号输入几毫秒至几十毫秒内就能使电机转动,信号切断后,电机立即停止转动。6改变输入脉冲频率,电机的转速随之变化。因此可以实现平滑的无级调速。第二章系统硬件设计第一节微处理器的选择任何一个控制系统都是由硬件和软件组成。硬件是控制系统的基础,其性能的好环直接影响着整个控制系统的工作性能。本系统的微处理器采用凌阳16位单片机SPCE061A。考虑到用户对资源的要求较少以及便于程序调试等功能SPCE061A内嵌了32K字的闪存FLASH。较高的处理速度使NSP能够非常容易快速地处理复杂的数字信号。因此以NSP为核心的SPCE061A微处理器是数字语音识别应用领域的一种最经济的选择。1性能16位NSP微处理器;工作电压CPUVDD为2436V,I/OVDDH为2455VCPU时钟0349152MHZ内置2K字SRAM;内置32KFLASH;可变成音频处理;晶体振荡器;系统处于备用状态下时钟处于停止状态,耗电仅为2A/36V2个16位可编程定时器/计数器可自动预置初始计数值2个10位DAC数/模转换输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B时基2个外部时钟源输入和键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式24KBS,能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;32768HZ实时时钟;7通道10位电压模/数转换ADC和单通道声音模/数转换器;声音模/数转换器输入通道内置麦克风放大器,并具有自动增益控制AGV功能;具备串行设备接口;具有低电压复位LVR功能和低电压监测LVD功能;内置在线仿真电路ICEINCIRCUITEMULATOR接口;具有保密能力;具有WATCHDOG功能由具体型号决定。2结构概览SPCE061A的结构如图21所示图21SPCE061A的结构3芯片的脚排列的说明SPCE061A共有84个引脚,封装形式为PLCC84,它的排列图22所示。在84个引脚中有空脚15个,其余引脚功能说明如表21所列。图22SPCE061A的引脚排列图表21引脚功能表IOA0IOA154148,53,5460脚I/O口A,共16个IOB0IOB1551,8176,6864脚I/O口B,共16个OSC31I13脚振荡器输入。在石英晶振模式下,是石英元件的一个输入脚OSC32O12脚振荡器输出。在石英晶振模式下,是石英元件的一个输出脚XRESB6脚复位输入。若这个脚输入低电平,会使控制器被重新复位XICE16脚ICE使能端,接在线调试器PROBE的使能脚ICE_ENXICECLK17脚ICE时钟脚,接在线调试器PROBE的时钟脚ICE_SCKXICESDA(18脚)ICE数据脚,接在线调试器PROBE的数据脚ICE_SDAPVIN(20脚)程序保密设定脚。接GRDPFUSE(29脚)程序保密设定脚。接5VDAC1(21脚)音频输出通道1DAC2(22脚)音频输出通道2VREF223脚2V参考电压输出脚AGC(25脚)语音输入自动增益控制引脚OPI(26脚)MICROPHONE的第而运放输入脚MICOUT(27脚)MICROPHONE的第一运放输出脚MICN(28脚)MICROPHONE负向输入脚MICP(33脚)MICROPHONE正向输入脚VRTPAD(35脚)A/D转换外部参考电压输入脚VCM(34脚)ADC参考电压输出脚VMIC(37脚)MICROPHONE电源XSLEEP(63脚)睡眠状态指示脚。当CPU进入睡眠状态时,该脚输出一个高电平VCP8脚锁相环压恐震荡器的阻容输入XROMT、PVPP、XTEST(61、69、14脚)出厂测试用引脚,悬空即可VDDH(51、52、75脚)I/O电平参考。若该点输入一个5V的参考电压,则I/O输入输出高电平为5VVDD(7脚)PLL锁相环电源VSS(9脚)锁相环地VSS(19、24脚)模拟地VSS(38、49、50、52脚)数字地VDD(15、36脚)数字电源4特性表22SPCE061A系统的特性参数特性参数SPCE061A工作电压2636V最大工作频率49152MHZCPU16位NSPSRAM容量2K字ROM容量(字)32K闪存ROM并行I/O端口AIOA15IOA0并行I/O端口BIOB15IOA0音频输出方式DACX2中断源TIMERA/B时基信号发生器外部中断触键唤醒唤醒源IOA7IOA0定时器/计数器双16位加计数定时器/计数器双通道PWM输出UART具备ADC7通道10位电压模/数转换ADC和单通道声音模/数转换器ADC串行SRAM接口具备凌阳格式晶振具备低电压复位具备低电压监测具备内置ICE接口具备上电复位具备麦克风放大器和自动增益控制单通道节电功能具备中断控制功能具备触键唤醒功能具备第二节步进电机和驱动器的选择控制系统的执行机构采用四通的两相混合式步进电机,主要由7个步进电机组成。四通步进电机的主要特点是体积小、高转矩、低振动。它和驱动器的接线图如图23所示图23步进电机接线图驱动器采用两相混合式步进电机细分驱动器,其主要特点是恒相流控制、高可靠性、低成本。输入信号有公共端、脉冲信号输入、方向信号输入、脱机信号输入。公共端该端子接输入信号的电源正极,将输入信号连接到对应的信号端子上。信号低电平有效,此时对应的内部光耦导通,控制信号输入驱动器中。脉冲信号输入共阳极时该脉冲信号下降沿被驱动器解释为一个有效脉冲,并驱动电机运行一步。方向信号输入该端信号的高电平和低电平控制电机的两个转向,共阳极时该端悬空被等效认为输入高电平。脱机信号输入该端接受控制机输出的高/低电平信号。共阳极时低电平时电机相电流被切断,转子处于自由状态脱机状态。共阳极时高电平或悬空时,转子处于锁定状态。驱动器的接线图如图24图24驱动器接线图第三节人体热释电红外传感器的研究和改造人体热释电红外传感器是用于在一定距离范围内检测人体。礼仪机器人共用了两个红外传感器来检测人体,检测距离一个大约为7米,另一个大约为4米。红外传感器是用红外报警装置“电子狗”改造成的,其原理如下1被动式热释电红外探头的工作原理及特性人体都有恒定的体温,一般在37度,所以会发出特定波长10M左右的红外线,被动式红外探头就是靠探测人体发射的10M左右的红外线而进行工作的。人体发射的10M左右的红外线通过菲泥尔滤光片增强后聚集到红外感应源上。红外感应源通常采用热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生报警信号。1这种探头是以探测人体辐射为目标的。所以热释电元件对波长为10M左右的红外辐射必须非常敏感。2为了仅仅对人体的红外辐射敏感,在它的辐射照面通常覆盖有特殊的菲泥尔滤光片,使环境的干扰受到明显的控制作用。3被动红外探头,其传感器包含两个互相串联或并联的热释电元。而且制成的两个电极化方向正好相反,环境背景辐射对两个热释元件几乎具有相同的作用,使其产生释电效应相互抵消,于是探测器无信号输出。4一旦人侵入探测区域内,人体红外辐射通过部分镜面聚焦,并被热释电元接收,但是两片热释电元接收到的热量不同,热释电也不同,不能抵消,经信号处理而报警。5菲泥尔滤光片根据性能要求不同,具有不同的焦距(感应距离),从而产生不同的监控视场,视场越多,控制越严密。被动式热释电红外探头的优缺点优点本身不发任何类型的辐射,器件功耗很小,隐蔽性好。价格低廉。缺点容易受各种热源、光源干扰被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。易受射频辐射的干扰。环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。抗干扰性能1防小动物干扰探测器安装在推荐地使用高度,对探测范围内地面上地小动物,一般不产生报警。2抗电磁干扰探测器的抗电磁波干扰性能符合GB10408中461要求,一般手机电磁干扰不会引起误报。3抗灯光干扰探测器在正常灵敏度的范围内,受3米外H4卤素灯透过玻璃照射,不产生报警。红外线热释电传感器的安装要求红外线热释电人体传感器只能安装在室内,其误报率与安装的位置和方式有极大的关系,正确的安装应满足下列条件1红外线热释电传感器应离地面2022米。2红外线热释电传感器远离空调,冰箱,火炉等空气温度变化敏感的地方。3红外线热释电传感器探测范围内不得隔屏、家具、大型盆景或其他隔离物。4红外线热释电传感器不要直对窗口,否则窗外的热气流扰动和人员走动会引起误报,有条件的最好把窗帘拉上。红外线热释电传感器也不要安装在有强气流活动的地方。红外线热释电传感器对人体的敏感程度还和人的运动方向关系很大。红外线热释电传感器对于径向移动反应最不敏感,而对于横切方向即与半径垂直的方向移动则最为敏感。人体热释电红外传感器的电路图如图25图25人体热释电红外传感器的电路图上图中,运算放大器OP1将热释电红外传感器的输出信号作第一级放大,然后由C3耦合给运算放大器OP2进行第二级放大,再经由电压比较器COP1和COP2构成的双向鉴幅器处理后,检出有效触发信号VS去启动延迟时间定时器,输出信号VO经晶体管T1放大驱动继电器去接通负载。上图中,SW1是工作方式选择开关,当SW1与1端连通时,芯片处于可重复触发工作方式;当SW1与2端连通时,芯片则处于不可重复触发工作方式。输出延迟时间TX由外部的R9和C7的大小调整,值为TX24576XR9C7;触发封锁时间TI由外部的R10和C6的大小调整,值为TI24XR10C6。2热释电红外线传感信号处理器BISS0001BISS0001是一款具有较高性能的传感信号处理集成电路。它配以热释电红外传感器和少量外接元器件构成被动式的热释电红外开关。它能自动快速开启各类白炽灯、荧光灯、蜂鸣器、自动门、电风扇、烘干机和自动洗手池等装置,特别适用于企业、宾馆、商场、库房及家庭的过道、走廊等敏感区域,或用于安全区域的自动灯光、照明和报警系统。特点CMOS工艺数模混合具有独立的高输入阻抗运算放大器内部的双向鉴幅器可有效抑制干扰内设延迟时间定时器和封锁时间定时器采用16脚DIP封装管脚图图26BISS0001管脚图管脚说明表23管脚说明引脚名称I/O功能说明1AI可重复触发和不可重复触发选择端。当A为“1”时,允许重复触发;反之,不可重复触发2VOO控制信号输出端。由VS的上跳变沿触发,使VO输出从低电平跳变到高电平时视为有效触发。在输出延迟时间TX之外和无VS的上跳变时,VO保持低电平状态。3RR1输出延迟时间TX的调节端4RC1输出延迟时间TX的调节端5RC2触发封锁时间TI的调节端6RR2触发封锁时间TI的调节端7VSS工作电源负端8VRFI参考电压及复位输入端。通常接VDD,当接“0”时可使定时器复位9VCI触发禁止端。当VCVR时允许触发VR02VDD10IB运算放大器偏置电流设置端11VDD工作电源正端122OUTO第二级运算放大器的输出端132INI第二级运算放大器的反相输入端141INI第一级运算放大器的同相输入端151INI第一级运算放大器的反相输入端引脚名称I/O功能说明161OUTO第一级运算放大器的输出端工作原理BISS0001是由运算放大器、电压比较器、状态控制器、延迟时间定时器以及封锁时间定时器等构成的数模混合专用集成电路。以图27所示的不可重复触发工作方式下的波形,来说明其工作过程。首先,根据实际需要,利用运算放大器OP1组成传感信号预处理电路,将信号放大。然后耦合给运算放大器OP2,再进行第二级放大,同时将直流电位抬高为VM05VDD后,将输出信号V2送到由比较器COP1和COP2组成的双向鉴幅器,检出有效触发信号VS。由于VH07VDD、VL03VDD,所以,当VDD5V时,可有效抑制1V的噪声干扰,提高系统的可靠性。COP3是一个条件比较器。当输入电压VCVR时,COP3输出为高电平,进入延时周期。当A端接“0”电平时,在TX时间内任何V2的变化都被忽略,直至TX时间结束,即所谓不可重复触发工作方式。当TX时间结束时,VO下跳回低电平,同时启动封锁时间定时器而进入封锁周期TI。在TI时间内,任何V2的变化都不能使VO跳变为有效状态(高电平),可有效抑制负载切换过程中产生的各种干扰。图27不可重复触发工作方式下的波形以图28所示的可重复触发工作方式下的波形,来说明其工作过程。可重复触发工作方式下的波形在VC“0”、A“0”期间,信号VS不能触发VO为有效状态。在VC“1”、A“1”时,VS可重复触发VO为有效状态,并可促使VO在TX周期内一直保持有效状态。在TX时间内,只要VS发生上跳变,则VO将从VS上跳变时刻起继续延长一个TX周期;若VS保持为“1”状态,则VO一直保持有效状态;若VS保持为“0”状态,则在TX周期结束后VO恢复为无效状态,并且,同样在封锁时间TI时间内,任何VS的变化都不能触发VO为有效状态。图28可重复触发工作方式下的波形3红外传感器的改造方案1远距离红外传感器的改造就是将图25中的R9和R10短路,让输出延迟时间TX0,触发封锁时间TI0;并将SW1接高电平5V,使红外传感器工作在可重复触发方式下。2近距离红外传感器的改造因为电子狗的感应距离大约为7米,而近距离红外传感器要求感应距离为4米,所以我们要降低它的感应灵敏度,改造方法就是图25中的R610K、R51M的电阻换成R610K、R51M的可调电阻,然后减小R5、R6的阻值使红外探头的信号放大倍数降低,从而达到降低灵敏度的目的。第四节漫反射式光电传感器的介绍漫反射式光电传感器是用来感应人手握到礼仪机器人手。因为要求其感应距离要近,而且灵敏度要高,所以不用起初构想的接近传感器感应距离大概几个毫米,而且尺寸都比较大无法装在机器人的手部,而改用漫反射式光电传感器,其感应距离大约为7厘米左右,具体根据材料而定,光电传感器的尺寸为12MM。其原理如下光电传感器是传感器大家族中的成员,它把发射端和接收端之间光的强弱变化转化为电流的变化以达到探测的目的。由于光电开关输出回路和输入回路是电隔离的(即电缘绝),所以它可以在许多场合得到应用。光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。工作原理如图1所示。多数光电开关选用的是波长接近可见光的红外线光波型。而漫反射式光电开关它是一种集发射器和接收器于一体的传感器,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。当被检测物体的表面光亮或其反光率极高时,漫反射式的光电开关是首选的检测模式。常见的术语示意图如图29所示。图29常见的术语示意图检测距离是指检测体按一定方式移动,当开关动作时测得的基准位置(光电开关的感应表面)到检测面的空间距离。额定动作距离指接近开关动作距离的标称值。回差距离动作距离与复位距离之间的绝对值。响应频率在规定的1S的时间间隔内,允许光电开关动作循环的次数。输出状态分常开和常闭。当无检测物体时,常开型的光电开关所接通的负载由于光电开关内部的输出晶体管的截止而不工作,当检测到物体时,晶体管导通,负载得电工作。检测方式根据光电开关在检测物体时发射器所发出的光线被折回到接收器的途径的不同,可分为漫反射式、镜反射式、对射式等。输出形式分NPN二线、NPN三线、NPN四线、PNP二线、PNP三线、PNP四线、AC二线、AC五线(自带继电器),及直流NPN/PNP/常开/常闭多功能等几种常用的输出形式。指向角见光电开关的指向角示意图,即如图210的下部一个小图所示漫反射式光电开关图210光电开关的指向角示意图表面反射率漫反射式光电开关发出的光线需要经检测物表面才能反射回漫反射开关的接受器,所以检测距离和被检测物体的表面反射率将决定接受器接收到光线的强度。粗糙的表面反射回的光线强度必将小于光滑表面反射回的强度,而且,被检测物体的表面必须垂直于光电开关的发射光线。常用材料的反射率如表24所示。表24常用材料的反射率材料反射率材料反射率白画纸90不透明黑色塑料14报纸55黑色橡胶4餐巾纸47黑色布料3包装箱硬纸板68未抛光白色金属表面130洁净松木70光泽浅色金属表面150干净粗木板20不锈钢200透明塑料杯40木塞35半透明塑料瓶62啤酒泡沫70不透明白色塑料87人的手掌心75环境特性光电开关应用的环境亦会影响其长期工作可靠性。当光电开关工作于最大检测距离状态时,由于光学透镜会被环境中的污物粘住,甚至会被一些强酸性物质腐蚀,以至其使用参数和可靠性降低。较简便的解决方法就是根据光电开关的最大检测距离(SN)降额使用来确定最佳工作距离。使用注意事项红外线传感器属漫反射型的产品,所采用的标准检测体为平面的白色画纸。红外线光电开关在环境照度高的情况下都能稳定工作,但原则上应回避将传感器光轴正对太阳光等强光源。对射式光电开关最小可检测宽度为该种光电开关透镜宽度的80。当使用感性负载(如灯、电动机等)时,其瞬态冲击电流较大,可能劣化或损坏交流二线的光电开关,在这种情况下,请将负载经过交流继电器来转换使用。红外线光电开关的透镜可用擦镜纸擦拭,禁用稀释溶剂等化学品,以免永久损坏塑料镜。针对用户的现场实际要求,在一些较为恶劣的条件下,如灰尘较多的场合,所生产的光电开关在灵敏度的选择上增加了50,以适应在长期使用中延长光电开关维护周期的要求。第五节接线板电路的设计和焊接设计接线板电路是为了方便步进电机驱动器与单片机的I/O控制口连接以及电源、传感器等的接线,其主要由单成伟设计。总的电路图如附图1。具体的有1I/O口部分。把单片机的32个I/O口以及高、低两个电平引到了接线板上,并与接线口连接,主要是为了方便接线。2电源部分因为总电源由3个12V的蓄电池串联提供,但其中的光电传感器、音频放大部分需要12V电源,红外传感器、单片机需要5V电源供电,所以在接线板上设计了5V正、负两个接口、12V正、负两个接口、光电传感器三个接口12V、GND、SIG、24V两组正、负四个接口、36V两组正、负四个接口、单片机上音频线插头SPP、SPN以及放大后的输出到扬声器的插头。3音频放大部分因为单片机只能提供小的扬声器发声,而我们需要一个108W的扬声器,所以要对单片机提供的音频信号线进行功率放大,功率放大电路图如图211图211功率放大电路图4光电传感器光电传感器也叫光电开关,它有三根线棕、蓝、黑,其中棕色线接12V、蓝色线接GND、黑色的线是控制线。它的工作电压范围为10V30VDC,我们用12VDC供电。当没有信号时常态,控制线输出10V;当有信号时输出0V,但是高电平10V单片机无法识别,必须经过电压变换为5V单片机工作电压为5V单片机才可以识别,所以设计了用TLP5214芯片光电隔离耦合器电平转换电路。光电耦合器由发光器件和受光器件组成,连接发光源的引线作为输入端,连接受光器件的引线作为输入端。通常发光器件为发光二极管,受光器件为光敏三极管。图212为型号为TLP5214的光电耦合器接线图。它是共集电极输出型,若输入端SIG端为0,则发光二极管导通激发发出红外光,受光三极管照射后,由于光敏效应产生广电流通过输出端输出,从而实现了以光为媒介的电信号输出。输入端与输出端完全隔离。图212光电隔离电压变换电路第六节I/O口的分配凌阳单片机共有32个I/O口,根据礼仪机器人的功能及控制需要,现将32个I/O口分配如表25表25I/O口分配表端口号具体功能IOA0胸部传感器电机脉冲控制IOA1胸部传感器电机方向控制IOA2小臂处电机脉冲控制IOA3小臂处电机方向控制IOA4大臂处电机脉冲控制IOA5大臂处电机方向控制IOA6点头脉冲控制IOA7点头方向控制IOA8摇头脉冲控制IOA9摇头方向控制IOA10手腕处电机脉冲控制IOA11手腕处电机方向控制IOA12手腕处FREE置0IOA13远距离红外信号检测IOA14近距离红外信号检测IOA15握手信号检测IOB0左边底盘电机脉冲控制IOB1底盘电机方向控制IOB2FREE置0保持通电时能够自由转动IOB3右边底盘电机脉冲控制IOB4底盘电机方向控制IOB5FREE置0保持通电时能够自由转动IOB6手动调整结束自动开始按钮IOB7IOB8键盘输入作为点头的正向调整IOB9键盘输入作为点头的反向调整IOB10键盘输入作为摇头处正向调整IOB11键盘输入作为摇头处反向调整IOB12键盘输入作为大臂处正向调整IOB13键盘输入作为大臂处反向调整IOB14键盘输入作为小臂处正向调整IOB15键盘输入作为小臂处反向调整第三章控制系统的程序编制第一节集成开发环境NSP集成开发环境集程序的编制、编译、链接、调试以及仿真等功能为一体,具有友好交互界面、下拉菜单、快捷键和快速访问命令列表等。使编程、调试工作方便且高效。此外它的软件仿真功能可以在不连接仿真板的情况下模拟硬件的各项功能来调试程序。IDE的开发界面如图31所示。图31NSPIDE的开发界面在做一个应用程序前,首先要建立项目。新建项目的方法步骤1用鼠标左键单击FILE下拉菜单NEW,弹出NEW对话框,如图32所示2在该窗口中选中PROJECT标签,并在FILE文本框中键入项目的名称,在LOCATION下的文本框中输入项目的存取路径或利用该文本框右端的浏览按钮制定项目的存储位置。图32新建项目/文件对话框3用鼠标左键单击NEW对话框里的OK按钮,则项目建立完成。用C语言编程时需要建立C文件类型。在项目中新建C文件的方法在新建项目下,单击FILE下拉菜单中的NEW对话框。如图33所示。图33新建C文件单击NSPIDECFILE,在FILE下的文本框内键入文件名称,单击OK按钮。用汇编语言做程序时需要建立汇编文件类型。在项目中新建ASM文件的方法,在新建项目下,单击FILE下拉菜单中的NEW对话框。如图34所示。图34新建ASM文件单击NSPIDEASMFILE,在FILE下的文本框内键入文件名称,单击OK按钮。第二节礼仪机器人几个动作的程序设计1胸部传感器扫描电机程序设计这部分程序是为了提高人体热释电红外传感器的灵敏度,因为红外传感器对横向运动的人体更敏感,所以需要一个电机带动红外传感器转动,从而实现传感器扫描。扫描电机脉冲和方向输入端子分别与单片机的IOA0、IOA1口连接。步进电机的步距角为18度,又由于要求扫描的角度比较小,所以设计了步进电机正转5个步距角,反转5个步距角,然后一直往复,当传感器感应到人体时IOA口为高电平,电机停止转动,并处于等待状态,具体程序如下VOLATILEUNSIGNEDINTP_IOA_DATAUNSIGNEDINT0X7000VOLATILEUNSIGNEDINTP_IOA_DIRUNSIGNEDINT0X7002VOLATILEUNSIGNEDINTP_IOA_ATTRIBUNSIGNEDINT0X7003VOLATILEUNSIGNEDINTP_SYSTEMCLOCKUNSIGNEDINT0X7013VOLATILEUNSIGNEDINTP_WATCHDOG_CLRUNSIGNEDINT0X7012VOLATILEUNSIGNEDINTP_TIMEBASE_SETUPUNSIGNEDINT0X700EVOLATILEUNSIGNEDINTP_IOB_DIRUNSIGNEDINT0X7007VOLATILEUNSIGNEDINTP_IOB_DATAUNSIGNEDINT0X7005VOLATILEUNSIGNEDINTP_IOB_ATTRIBUNSIGNEDINT0X7008/定义函数/VOIDSENSORMOTOR/传感器扫描函数VOIDDELAYUNSIGNEDINTJ/延时函数INTI,J/定义变量INTT/主函数/INTMAIN/主函数P_IOA_DIR0X1FFF/初始化IOA012为同相低电平输出口P_IOA_ATTRIB0X1FFF/初始化IOA13为远距离红外信号检测(下拉)P_IOA_DATA0X8000/IOA14近距离红外信号检测(下拉)/IOA15握手信号的输入(上拉)P_IOB_DIR0X003F/初始化IOB07为同相低电平输出口P_IOB_ATTRIB0X003F/初始化IOB815为带下拉的输入口P_IOB_DATA0X0000IP_IOA_DATA/检测IOA13口是否为高电平WHILE1WHILET/循环T0/置零SENSORMOTORIP_IOA_DATA/检测IOA13口是否为高电平P_WATCHDOG_CLR0X0001/清看门狗/传感器扫描程序/VOIDSENSORMOTORINTJFORJ0J5J/循环5次正转5个步距角P_IOA_DATA0X0003/IOA0口、IOA1口输出高电平DELAY1000/延时P_WATCHDOG_CLR0X0001/清看门狗P_IOA_DATA0X0002/IOA0口输出低电平,IOA1输出高电平DELAY1000/延时P_WATCHDOG_CLR0X0001/清看门狗DELAY10000/延时FORJ0J5J循环5次反转5个步距角P_IOA_DATA0X0001/IOA0口输出高电平DELAY1000/延时P_WATCHDOG_CLR0X0001/清看门狗P_IOA_DATA0X0000/IOA0口输出低电平DELAY1000/延时P_WATCHDOG_CLR0X0001/清看门狗DELAY10000/延时/延时程序/VOIDDELAYUNSIGNEDINTJINTI/定义整型变量IFORI0IJI/循环/2礼仪机器人的手臂处两个电机联动程序VOLATILEUNSIGNEDINTP_IOA_DATAUNSIGNEDINT0X7000VOLATILEUNSIGNEDINTP_IOA_DIRUNSIGNEDINT0X7002VOLATILEUNSIGNEDINTP_IOA_ATTRIBUNSIGNEDINT0X7003VOLATILEUNSIGNEDINTP_SYSTEMCLOCKUNSIGNEDINT0X7013VOLATILEUNSIGNEDINTP_WATCHDOG_CLRUNSIGNEDINT0X7012VOLATILEUNSIGNEDINTP_IOB_DIRUNSIGNEDINT0X7007VOLATILEUNSIGNEDINTP_IOB_DATAUNSIGNEDINT0X7005VOLATILEUNSIGNEDINTP_IOB_ATTRIBUNSIGNEDINT0X7008/定义函数/INTNEAR_MOTOR/近距离感应到后电机的动作VOIDDELAYUNSIGNEDINTJ/延时VOIDINITIAL/初始化INTI,J/定义整型变量I,J,M,NINTM,NINTFLAG1/设定标志位/主函数/INTMAININTX/定义整型变量XINITIAL/系统初始化WHILE1/主循环XP_IOA_DATA/检测IOA14口是否输出高电平WHILEX/置零NEAR_MOTOR/近距离感应到后电机的动作P_WATCHDOG_CLR0X0001/清看门狗XP_IOA_DATA/检测IOA14口是否输出高电平P_WATCHDOG_CLR0X0001/清看门狗/初始化程序/VOIDINITIALP_IOA_DIR0X1FFF/初始化IOA012为同相低电平输出口P_IOA_ATTRIB0X1FFF/初始化IOA13为远距离红外信号检测(下拉)P_IOA_DATA0X8000/IOA14近距离红外信号检测(下拉)/IOA15握手信号的输入(上拉)P_IOB_DIR0X003F/初始化IOB07为同相低电平输出口P_IOB_ATTRIB0X003F/初始化IOB815为带下拉的输入口P_IOB_DATA0X0000FLAG11/初始化标志位置1/近距离感应到后电机的动作程序/INTNEAR_MOTORFORJ0J50J/循环DO/循环P_IOA_DATA0X000C/IOA2口输出高电平,IOA3输出高电平DELAY40/延时P_WATCHDOG_CLR0X0001/清看门狗P_IOA_DATA0X0008/IOA2口输出低电平,IOA3输出高电平DELAY40/延时P_WATCHDOG_CLR0X0001/清看门狗M/自增WHILEM8M0/置零DO/循环P_IOA_DATA0X0030/IOA4、IOA5口输出高电平DELAY60/延时P_WATCHDOG_CLR0X0001/清看门狗P_IOA_DATA0X0020/IOA4口输出低电平,IOA5输出高电平DELAY60/延时P_WATCHDOG_CLR0X0001/清看门狗N/自增WHILEN2N0/置零FLAG10/标志位置零/延时程序/VOIDDELAYUNSIGNEDINTJINTIFORI0IJI/3礼仪机器人的键盘调整程序因为本控制系统是一个开环控制系统,所以机器人工作过程中存在着丢步、失态等问题,所以我们也设计包括头部、大臂、小臂、脚部轮子处的步进电机的手动调整键盘,并装在机器人的后背中。步进电机的手动调整程序如下程序执行过程中,每按一次键,单片机向步进电机发一个脉冲步进电机转一个步距角,而脚部轮子的调整不需要设按键,只需在机器人处于调整状态是让脚部的两个电机驱动器的FREE端置0,轮子就可以自由转动,这样人为转动就可以实现调整。VOLATILEUNSIGNEDINTP_IOA_DATAUNSIGNEDINT0X7000VOLATILEUNSIGNEDINTP_IOA_DIRUNSIGNEDINT0X7002VOLATILEUNSIGNEDINTP_IOA_ATTRIBUNSIGNEDINT0X7003VOLATILEUNSIGNEDINTP_SYSTEMCLOCKUNSIGNEDINT0X7013VOLATILEUNSIGNEDINTP_WATCHDOG_CLRUNSIGNEDINT0X7012VOLATILEUNSIGNEDIN

温馨提示

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

评论

0/150

提交评论