《智能语音机器人的实践制作(共40页).doc》由会员分享,可在线阅读,更多相关《智能语音机器人的实践制作(共40页).doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 淮安信息职业技术学院设计论文智能语音机器人的实践制作学生姓名张明明张赛系 部电气工程系专 业机电一体化指导教师杨帅周奎薛岚二一年十月专心-专注-专业摘 要采用凌阳SPCE061A单片机、SPCA561A CMOS传感器、SPCA563A图像处理芯片、全桥驱动电路和语音输入输出电路制作了智能语音机器人,机器人采用光学摄像头采集图像信息,利用全桥驱动电路实现了机器人脖子与四肢电机的协调驱动,在SPCE061A内置AD与DA的基础上,外加功率放大电路就能够进行语音输入与输出。通过SACM_S480语音播放算法和特定人识别算法实现了16种几何图形颜色与形状的识别,能够完成跳
2、舞、前进、后退、左拐、右拐等动作。利用现场总线的LonPoint节点和ILON服务器将上层管理网络Internet与底层设备机器人连接起来,实现机器人的远程监控,通过浏览网页的形式监控机器人的运动状态和图像识别情况。机器人利用分时复用实现多功能于一体,实验表明:系统稳定可靠,口令和图像识别正确率高,远程监控平台能够高精确、高实时性地监控机器人的运动和图像识别状态。关键词:机器人; SPCE061A; 现场总线; Internet; 图像识别; 语音控制;远程控制;目 录一 概述1.1 作品背景本作品来源于2009年江苏省大学生实践创新计划项目,作品立项为了推动高等职业教育教学改革,激发我们学生
3、学习的主动性、积极性和创造性,提高大学生的实践创新能力,促进人才培养模式和教学方法的创新,让大学生尽早参与社会实践等创新活动。本作品的开展本着创新实践、学以致用的理念,涉及现场总线技术、Internet互联网技术、图像处理技术、单片机技术、数电与模电技术、网页制作技术,使新兴技术与传统技术有机结合、课上知识与课余知识有机结合,锻炼了我们学生知识综合运用能力,又保证了学生所学的知识与时俱进。淮安信息职业技术学院机电一体化专业的人才培养方案除了培养学生掌握传统技术外,开设现场总线技术新兴课程,旨于培养学生的创新能力,保证知识的先进性。本款机器人为学生搭建了良好实践创新平台,使学生的理论知识能够运用
4、于实践,充分发挥了学生的想象力和创造力,锻炼了学生实践动手能力,分析问题能力和解决问题的能力此次项目的开展让学生体验了电子制作的趣味性和实践性,掌握了电子产品的制作过程、熟悉电子产品工艺、掌握电子产品的操作技巧,增进接触新技术、新器件的机会,侧重学生应用能力的训练,符合高等职业教育的教育理念。1.2 作品设计内容本作品主要涉及现场总线技术、Internet互联网技术、图像处理技术、单片机技术、数电与模电技术、网页制作技术,主要的硬件与软件设计内容如下:1.机器人的连杆齿轮传动机构设计;2.机器人中央核心控制板的设计;3.H桥驱动设计;4.现场总线系统的布线和物理连网设计5.图像采集与信号处理;
5、6.语音播放和识别;7.系统逻辑组网设计;8.互联网配置;9.网页设计1.3 作品实现功能1.机器人可以按照操作者的口令执行跳舞、前进、后退、左转和右转等动作;2.机器人识别操作者口令后,可以对操作者做简单的响应;3.机器人可以根据现场总线和互联网搭建的远程监控平台发出的指令执行相应的动作;4.机器人可以识别16种几何形状和颜色,并用语音播报;5.机器人可将识别的几何形状和颜色结果反映到远程监控平台的网页界面中;二 作品的方案设计2.1 作品要点说明本作品的开展本着创新实践、学以致用的理念,提高高职院大学生实践创新能力为目的,通过本项目的参与,训练单片机、模电、数电和信号处理与检测、组网、网页
6、设计等能力,提高实际操作能力和综合运用能力。作品以控制和检测为主要内容,主要由机器人控制本体和远程监控平台组成,机器人采用16位具有DSP功能的SPCE061A单片机为控制器,利用凌阳公司提供的印制电路板,我们学生只要按照要求测试并焊接元器件,就能实现语音输入电路、语音输出电路、程序下载电路、电源供给电路于一体,系统稳定可靠,只要扩展图像信号采集电路、LED发光二极管和电机控制电路就完成项目的硬件条件,减少了开发周期,也符合高职学生的能力层次,达到了高职以实践应用为主的教学目标。系统采用凌阳语音播放算法SACM_S480,通过调用Sacmv26e.lib语音播放库中的函数实现语音信号的模数转换
7、、压缩编码、解码、填充队列、数模转化等。语音识别分为语音训练和语音识别两个过程,通过调用bsrv222SDL.lib语音识别库中的函数实现特征模型导入和导出等。远程监控平台采用LonWorks现场总线技术,通过ILON服务器实现了与Interrnet互联网无缝衔接,通过浏览网页的形式完成机器人的远程监控。该平台采用LonPoint节点的网络变量与机器人交换信息,具有可靠性与实时性高等特点。 智能机器人利用语音实现了人机交互,通过识别操作者的语音命令,执行相应的动作,同时通过语音播放响应操作者,如“我跳的漂亮吧”、“好的”、“怎么样”等,使机器人更加人性化。通过多功能按钮可使机器人随时切换图像识
8、别功能。可识别由“三角形”、“长方形“、“圆形”、“正方形”与“红色”、“绿色”、“黄色“、“蓝色”随意搭配的几何形状,共16种,并通过语音播报的形式将识别结果告诉操作者。机器人在语音播报的同时,伴随眨眼表情(LED闪烁),使其更加具有趣味性。远程监控平台通过在IE浏览器中监控网页,机器人动作监控区域内通过下拉菜单选择ON或OFF远程控制机器人跳舞、前进、后退、左转与右转等动作,通过图像识别区域的图像与颜色的变化远程监控机器人几何形状的识别情况。实验表明:智能机器人的命令识别率和图像识别率较高,但是当外界环境恶劣的情况下(如噪音、光线黑暗等),可能出现误识别。明确了本作品今后的努力方向:改进麦
9、克与摄像头。远程监控平台能够实时精确监控机器人的动作执行和图像识别情况。2.2 作品方案设计本作品主要有机器人和远程监控平台组成。2.2.1机器人方案设计智能机器人主要包括控制与检测两大部分,控制部分主要包括电机控制(头、臂、腿)、LED灯控制(眼睛)和语音输出;检测部分主要包括图像信号输入和语音信号输入,如图2.1所示。图2.1 系统结构框图控制器模块:根据设计目标,控制器主要完成语音信号和图像信号的处理,要求控制器要具有较好的处理速度和较强的数字信号处理能力。凌阳SPCE061A是一款16位控制器,片内采用的nSPTM(microcontroller and signal processo
10、r)核心处理器,具有较高的处理速度,能够完成16位算术逻辑运算、1616位硬件乘法运算和DSP内积滤波运算、能够快速处理复杂的数字信号,不需要额外的专用语音控制芯片,就能实现语音的编解码等,既节省了设计成本,又能满足的控制要求,因此本项目采用凌阳SPCE061A单片机。为让控制器稳定可靠地工作,采用SPY0029芯片为系统提供稳定的3.3V电压,SPY0029采用CMOS工艺,具有静态电流低、线性调整好。语音输入模块:SPCE061A芯片中已经集成了音频输入专用ADC以及AGC放大电路,因此芯片外部的电路比较简单,能够很轻松地将语音信号采集到芯片内部,AGC能随时跟踪、监视前置放大器输出的音频
11、信号电平,以便使进入采集的音频信号保持在最佳电平,又可使谐波减至最小,这些无疑保证了SPCE061A单片机能够较好地控制语音信号。SPCE061A的传声器录入操作者的声音,语音资源被芯片内部的ADC转换器转换为数字语音资源,但是这样的语音资源占用存储空间较大,因此需要将其放入数据队列中,利用音频压缩算法SACM_S480将其压缩编码,然后放在存储器储存起来。语音输出模块:播放语音时,将保存起来的语音数据送到解压缩队列中解码,然后经输出队列和DAC转化器转换为模拟信号,SPCE061A内置两路10位精度的DAC,通过外设功率放大电路放大后送到扬声器发出声音。只需要外接功放电路即可完成语音的播放,
12、采用SPY0030,SPY0030是凌阳的一款音频放大芯片,可以工作在2.46V范围内,最大输出功率可达700mW。 电机控制模块:机器人的头、臂和腿只对其方向进行控制,因此电机控制电路采用全桥控制电路即可实现,利用PNP型三极管和8550和NPN型三极管8050构建全桥控制电路。图像采集模块:图形采集统由光学镜头、CMOS传感器(SPCA561A)、图像处理芯片(SPCA563A)组成。SPCA561A和光学镜头获取外部图像,然后传递给SPCA563A做分析和处理,并得出相应的信息(颜色、形状等等),SPCA563A对采集到的图像信息具有分解的功能,并把需要的内容存贮到对应的地址中,SPCE
13、061A可以通过读取图像特征寄存器中内容来获得数据,如图2.2所示。图2.2 图像采集原理图2.2.2机器人远程监控平台的方案设计构建监控平台的技术选择余地较多,最常见的是采用DCS集散式系统,该系统布线复杂,传输模拟信号,存在中央控制节点,可靠性不高。现场总线是90年代推到我国的一种崭新的控制技术,能够彻底地实现系统的数字化和分布式控制,解决了存在中央控制器所引起的瓶颈问题。开放性协议又实现了监控平台的互操作和互换性,便于日后的维修与更换。所以采用现场总线技术搭建远程监控平台。 通过延长信号的传输距离,是不能实现真正意义上的远程控制,本作品利用了Internet互联网技术,彻底实现了远程控制
14、。由于Internet互联网的TCP/IP协议与LonWorks现场总线的LonTalk协议不兼容,因此必须采用一种设备能够相互转化两种协议,承担“翻译”的角色,这里采用ILON100设备。 现场总线控制系统实现与SPCE061A为核心的机器人交换信息,采用LonPoint节点,该节点通过网络变量实现了信息的交换,它是是一种面向对象的编程方式,简单易学,通过调用图像模块就能信息传递,故采用LonPoint节点采集与处理机器人的信息。三 作品硬件系统的设计与实现3.1 机器人机械结构主体的建模与改装本作品主要以控制和检测为主要设计内容、着重训练单片机、模电、数电和信号处理与检测、组网、网页设计等
15、能力,同时考虑减少设计周期和成本,以市场现有的玩具机器人作为控制对象的外壳,拆掉内部芯片,形成本作品的机械主体,为达到设计内容的完整性,只对机器人的机械主体进行了仿真建模。3.1.1机械结构建模仿真利用PRO/E对机器人进行三维实体的仿真建模。头头是一个触角回转体,可以先选择一个基准面,然后进行平面拉伸,然后以拉伸平面为第二基准平面,在第二基准平面上画一个简单的圆柱体,再进行倒圆周,然后形成一个头的形状,嘴巴就是画一个与第二基准平面垂直的平面,画一个小的长方体,进行拉伸切除就可以了,如图3.1所示。手手就是通过在平面里画圆柱,然后进行拉伸,在进行切除成形,如图3.2所示。腿先选择一个基准平面,
16、然后进行平面拉伸,以拉伸平面为基准,画圆柱体,进行切割倒角成形,如图3.3所示。图3.1 机械人头部结构图3.2 机械人手臂结构图3.3 机械人腿结构3.1.2机械结构改装机器人的机械主体是利用现有的机器人改装形成的。机器人主要分4大块:头部、腿部、前胸、后背。主要改装流程如下:1. 拆卸机器人的头部、腿部、前胸、后背等组成部分;2. 拆掉控制芯片,并对相应电机的控制线做记号;3. 组装机器人,并将控制线引导机壳外;3.1.3齿轮与连杆机构设计 机器人采用的直流电机的转速为6000rpm,为了能够使机器人的四肢达到正常的执行速速,设计了传动比i=200齿轮传动机构,i=n1/n2=z2/z1通
17、过上述公式可以推算出从动轮的转速大概在30rpm,能够保障机器人的正常速度动作,如图3.4所示。 图3.4 齿轮传送机构作品创新性地利用连杆机构实现了机器人的手臂动作,机器人的腿部电机驱动机器人的腿动作时,通过连杆机构,同时实现手臂的的前后摆动,达到了无需手臂电机就能实现手臂动作的目标,为设计节省了电机成本,同时也方便了日后的编程,如图3.5所示。图3.5 连杆传送机构3.2 机器人硬件系统设计3.2.1 61控制板设计智能机器人的控制芯片采用61控制板作为基本控制单元,通过模块化扩展电机控制电路、LED控制电路、图像采集电路等形成本作品的硬件系统。61控制板主要具有单片机最小系统电路、电源电
18、路、程序下载电路和与外界进行信息交换的端口等。SPCE061A最小系统中,包括SPCE061A芯片及其外围的基本模块,其中外围的基本模块有:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图3.6所示。在SPCE061A的OSCO和OSCI端接上晶体振荡器及谐振电容,构成时钟电路,其他不用的引脚如ADD电源端和GND地端接上0.1F去耦电容提高抗干扰能力。复位电路能够实现上电自动复位和手动复位,SPCE061A本身具有上电复位功能,只要接通电源就能自动复位,上电复位过程中,电源ADD通过电阻R18给电容C37充电,RES_B端电平由低变高,复位结
19、束。需要手动复位时,按下按键,电容C37经按键放电,RES_B端电平变低,实现手动复位。锁相环外围电路能够对时钟的基频进行倍频。图3.6 最小系统电路由开关电源提供的4.5V直流电压经过SPY0029后产生3.3V给整个系统供电。SPY0029采用CMOS工艺,具有静态电流低、线性调整出色等特点。 VDDH为SPCE061A的I/O电平参考,如果该点接SPCE061A的51脚,可使I/O输出高电平为3.3V;VDDP为PLL锁相环电源,接SPCE061A的7脚;VDD和VDDA分别为数字电源与模拟电源,分别接SPCE061A的15脚和36脚;AVSS1是模拟地,接SPCE061A的24脚;VS
20、S是数字地,接SPCE061A的38脚; AVSS2接音频输出电路的AVSS2,如图3.7所示。图3.7 电源电路3.2.2 功能控制电路设计 (1) 眼睛闪烁电路:在基于SPCE061A最小系统的基础上,利用IOA0-IOA2三个接口连接多功能键S1、S2、S3,用于机器人的语音训练和功能切换。利用两个发光二极管作为机器人的眼睛,1K电阻来限流,通过IOB14和IOB15实现LED的闪烁控制,如图3.8所示。 图3.8 机器人眼睛控制电路图3.9 机器人语音输入通道电路(2)语音输入通道:SPCE061A芯片中已经集成了音频输入专用ADC以及AGC放大电路,因此芯片外部的电路比较简单,如图3
21、.9所示,其中VMIC提供传声器的电源,VSS是系统的模拟地,VCM为参考电压,MICP脚和MICN脚分别是传声器X1的正极、负极的输入引脚。当对着传声器讲话时,MICP脚和MICN脚将随着传声器输入的声音产生变化的波形,并在SPCE061A的两个端口处形成两路反相的波形,送到SPCE061A控制器内部的运算放大器进行音频放大,经过放大的音频信号,通过ADC转化器转化为数字量,保存到相应的寄存器中,然后对这些数字音频信号进行压缩、辨识、播放等处理。(3)语音输出通道:SPCE061A内置两路10位精度的DAC,只需要外接功放电路即可完成语音的播放,如图3.10所示。其中VDD为参考电压,VSS
22、是系统的模拟地。音频信号由SPCE061A的DAC引脚输出,通过音量电位器R9的调节端送到集成音频功率放大器SPY0030,经音频放大后,音频信号从SPY0030输出经外接扬声器播放声音。图3.10机器人语音输出通道(4)电机驱动电路:机器人驱动电路采用功率较大的三极管搭成H桥来驱动电机,可以实现电机的正向旋转与电机的反向旋转。这些电机包括用于走路的左腿电机、右腿电机和脖子电机。如图3.11所示。以左腿电机控制电路为例,当IOB8为高电平、IOB9为低电平时:Q1、Q3、Q6导通,Q2、Q4、Q5关断,电机正转;否则,电机反转。Q3、Q4、Q5、Q6四个三极管组成四个桥臂,Q6和Q3组成一组,
23、Q5和Q4组成一组,Q1控制Q6、Q3的导通与关断,Q2控制Q5和Q4的导通与关断,而Q1、Q2由IOB8和IOB9端口控制,这样就可以通过IOB8和 IOB9端口控制四个桥臂的导通与关断,进而控制左腿电机的运行状态,如图7所示。同理右腿电机和脖子电机采用相同的控制电路分别利用IOB10和 IOB11、IOB12和 IOB13端口控制。图3.11 电机控制电路(5)图像采集电路:光学摄像头将图像的颜色与形状传给SPCA561A,SPCA561A通过I2C串行总线将采集信息传送到SPCE563A芯片中,SPCE563A将处理形状与颜色信息存储到相应的寄存器中,SPCE061A通过SPI串行总线读
24、取SPCE563A相应的寄存器内容,进而得出识别结果。SPCE563A芯片的时钟信号SCK、数据传输信号SDI、握手请求信号LOAD和复位信号RSTNN分别同IOA8、IOA9、IOA10、IOA11连接,如图3.12所示。图3.12 图像采集电路3.3机器人远程监控平台的构建3.3.1 功能控制电路设计考虑LonPoint节点的实际应用环境,本文设计以Motoral公司生产的型号为MC神经元芯片为处理器的LonPoin DI和DO,MC芯片支持外部存储器的扩展,神经元芯片负责现场设备的通信和数据处理任务。电源电路设计:电源电路的设计直接关系到节点性能的好坏,好的电源系统能够保证节点稳定可靠地
25、运作,减少噪音干扰,提高检测精度,延长使用寿命等。交流电源电压经过全波整流后,采用7805芯片变成节点电路需要的5V的直流电源,设计如图3.13所示。图3.13 节点的电源电路I/O调理接口设计:数字量(开关量)输入节点DI主要用于检测外部数字信号和具有开关状态的信号,比如检测继电器的闭合状态,某些开关的状态,电平信号的输入等,这类节点在设计过程中主要考虑的问题是如何将各种各样的数字量和开关量转换成Neuron芯片能够接收的信号,并且这类信号在输入通道上要加光电隔离器,以提高节点运行的安全性和可靠性。以IO0为例,如图3.14所示,当被检测的引脚为低电平时,发光二极管亮,光敏三极管导通,IO0
26、引脚为低电平;反之,IO0引脚为高电平。图3.14 DI节点I/O调理接口 图3.15 DO节点I/O调理接口数字量(开关量)输出节点DO的I/O调理接口由光电隔离电路、电磁继电器、二极管组成。以IO0为例,如图3.15所示,当I/O引脚为低电平时,发光二极管亮,光敏三极管导通,电磁继电器吸合,输出引脚为低电平;反之,输出引脚为高电平。二极管的作用是当断电时,线圈得以续流,保护电路。通讯接口设计:节点利用FTT-10A自由拓扑双绞线收发器将神经芯片与物理网络连接,该收发器支持无极性星型、总线型和环型布线,使系统安装人员不再局限于总线拓扑结构的限制。自由拓扑结构通过最简便的接线方式减少了系统的安
27、装时间和费用。同样还避免了对布线路由、接合以及节点布置的局限,使网络更容易扩展。收发器所带的变压器隔离接口可满足系统的高性能、高共模隔离,同时具有隔离噪声作用,可防止干扰信号进入传输网络中。MC与FTT-10A的接口电路如图3.16所示,将FTT-10A的TXD、RXD分别与神经元芯片的通信端口CP0、CP1相连。由二极管D1、D2、D3、D4构成了FTT-10收发器的NET-A和NET-B引脚间的差动缓冲电路,电容C3用来减小瞬态变化的共模成分,这一结构大大增强了节点承受来自网络连接端的ESD的能力。连接到T1、T2端的D5、D6、D7、D8组成更高一级的泄放通道,保证通过前级缓冲电路后剩余
28、的瞬态能量不对FTT-10收发器和神经芯片造成扰动。图3.16 节点的通讯接口及外围电路其它外围电路设计:要了要使节点能够正常工作,设计复位电路、服务电路、时钟电路是必不可少的。(1)复位电路:该电路用于在节点上电时进行复位动作,为了在系统电源出现电压抖动或未完全掉电的情况下,检测电源电压是否低于规定的工作电压,将一个低电压中断设备LVI与神经芯片的Reset引脚相连,一旦出现低电压中断请求,便触发节点的Reset事件。(2)服务电路:该电路包括服务按钮和服务指示灯,其中服务按钮是专为安装节点到网络而设置的。服务指示灯主要用于在诊断神经芯片固件状态时,作指示信息用。(3)时钟电路:该电路采用外
29、接晶振所构成振荡器为节点输入时钟,保证节点正常工作。这三部分的具体电路设计见图3.16中Reset引脚、Server引脚、晶振引脚所连接的电路。3.3.2 抗干扰措施通常的供电和接地抗干扰措施外,主要是要避免和消除来自网络介质的静电泄放(ESD)和电磁干扰(EMI),即主要针对FTT-10A来设计抗干扰电路。对于ESD,在印刷电路板(PCB)设计中应提供一个导入大地的通道,还要不致引起整个PCB电压的升降,具体采用火花放电隙和箝位二极管来实现对于EMI,因为FTT-10A对垂直杂散电磁场最不敏感,而对水平杂散电磁场最敏感,所以在PCB设计中应使FTT-10A尽量远离水平杂散电磁场区域,对于不可
30、避免的杂散电磁场应使其相对于FTT-10A垂直分布。在LonWorks网络中传输媒体要使用双绞线,它保证了信号传递的质量,从而可以使信号传送到足够远的地点。另外在使用双绞线时,利用网络端点的阻抗匹配提高信号质量及传输距离。通常,LonWork网络传输信道已具有足够的抗噪声能力,并不需要采用屏蔽双绞线;如果在某种情况下需要用屏蔽线,则最好将屏蔽层经过一个470的电阻单点接地,以防止屏蔽层带上高压静电。四 系统软件设计4.1机器人软件设计作品中的机器人SPCE061A控制板软件设计采用通过在线调试器PROBE实现的。它既是一个编程器(即程序烧写器),又是一个实时在线调试器。用它可以替代在单片机应用
31、项目的开发过程中常用的软件工具硬件在线实时仿真器和程序烧写器。它利用了SPCE061A片内置的在线仿真电路ICE(In- Circuit Emulator)接口和凌阳公司的在线串行编程技术。PROBE工作于凌阳IDE集成开发环境软件包下,其5芯的仿真头直接连接到目标电路板上SPCE061A相应管脚,直接在目标电路板上的CPU-SPCE061A调试、运行用户编制的程序。PROBE的另一头是标准25针打印机接口,直接连接到计算机打印口与上位机通讯,在计算机IDE集成开发环境软件包下,完成在线调试功能。图4.1是计算机、PROBE、用户目标板三者之间的连接示意图。图4.1 用户目标板、PROBE、计
32、算机三者之间的连接图在程序设计过程中,采用模块调用的形式,将颜色识别、形状识别、口令识别、不同音乐和语音播放、跳舞、前进、后退、左拐、向右拐等功能分别构成子函数供调用,程序流程图如图4.2所示。系统采用C语言与汇编语言混合编程的方法,利用IDE开发调试系统软件。图4.2 程序设计总流程图(1)眼睛闪烁子程序:当机器人识别语音命令号,回响应操作者,在播放语音的同时,代表机器人的眼睛的LED会闪烁,使其更加人性化,流程图如图4.3所示。图4.3眼睛闪烁子程序流程图(2)语音播放子程序调用函数SACM_S480_Initial进行初始化,然后进入播放循环,在播放循环中通过SACM_S480_Stat
33、us判断语音是否播放完毕,如果语音资源播放未完毕,调用SACM_S480_ServiceLoop函数获取语音资源并解码,填入播放队列等待中断播放,否则通过SACM_S480_Stop函数停止语音播放,语音播放子程序流程图如图4.4所示。图4.4 语音播放子程序流程图 图4.5 语音识别子程序设计流程图(3)语音识别子程序智能机器人的语音识别系统在SPCE061A上的实现通过初始化RAM、调用函数int BSR_Train语音训练、初始化辨识器、启动实时监控和利用BSR_GetResult()完成语音辨识处理,语音识别子程序流程如图4.5。(4)电机控制子程序电机主要驱动脖子、左腿和右腿控制,左
34、臂和右臂通过连杆机构与左腿和右腿联系起来,无须控制。动作速度通过内部的齿轮减速机构达到了所需要求。要使机器人逼真模拟人类动作,脖子、左腿和右腿控制需独立控制且协调恰当。程序中主要采用IO端口位控制,各动作之间的延时灵活,控制效果好,流程图见4.6。机器人的跳舞动作是在前进、后退、左拐、右拐和摇头等基础动作的合成,并配以背景音乐,图4.7为跳舞程序的流程图,图4.8为基础动作的程序流程图。 图4.6 电机控制子程序 图4.7 跳舞动作子程序流程图图4.8 基础动作子程序流程图(5)图像采集与处理子程序主机SPCE061A与从机SPCA563A采用串行总线通信,两者通过握手请求信号、在时钟信号的驱
35、动下,实现了数据传输,SPCE061A和SPCA563A数据交换的程序流程图如图4.9所示。通过设置SPCA563A芯片相应的寄存器和读取特征寄存器获得形状与颜色信息,该芯片处理图像的子程序流程图如图4.10所示。图4.9 串行通信程序流程图图4.10 图像处理子程序流程图4.2机器人远程监控平台软件设计4.2.1 远程监控平台节点软件设计LonPoint节点软件的编写采用Neuron C,Neuron C是一种专门为神经芯片设计的程序语言。它在标准C的基础上进行了自然扩展,直接支持神经芯片的固化软件,并删除了标准C中一些不需要的功能,如某些标准的C函数库。并为分布式LonWorks环境提供了
36、特定的对象集合,及访问这些对象的内部函数,它提供了内部类型的检查,是一个开发LonWorks应用的有力工具。节点的应用程序包括自己的调度程序、定时器、I/O对象和网络变量。调度程序负责芯片的任务调度,而定时器用来干涉任务的调度,I/O对象实现神经芯片和外设之间的数据传送。程序运行采用事件触发方式,当给定的一个条件为真时,与该条件相关联的一段程序代码将被执行,程序中的事件通常是I/O对象的改变、网络变量的改变、定时器的终止等,LonPoint节点DI与DO的程序设计流程如图4.11与4.12所示。图4.11 DI节点程序流程图图4.12 DO节点程序流程图为使节点具有优良的网络性能,需要对心跳(
37、Heartbeat)、最大接受时间(Max Receive Time)、时限阈(Throttle)、最小差值(MinDelta)四个属性进行配置。心跳/最大接收时间用于目的节点以保证发送节点正常工作。心跳间隔或最大接收时间是根据应用而定的,为优化性能,心跳间隔和接收心跳时间应该按下列经验法则:MaxReceiveTime=4*HeartbeatTime为了在指定时间间隔使得既不丢失重要的更新,又不浪费带宽消耗。让最大的时限阈值是一个输出网络变量能满足系统正常运转要求的最长的更新间隔时间。让时限阈值小于心跳时间间隔值,否则网络变量的更新将在阈值到时之后的第一个心跳时被传送除此之外,为了在设计得很
38、好的网络中,通信错误、重试或重复发送较少,网络变量最大的带宽消耗就是时限阈值。另外设置最小差值以便过滤掉无关紧要的信息,防止网络变量在发生很小的值变化时被传送。心跳决定了它所应用的网络变量的最小带宽消耗: 这里Z是带宽消耗(数据包/秒);H是心跳时间(秒);P是每次更新在网络上传送的数据包数目(与服务类型有关)。时限阈值通常用毫秒表示,带宽消耗公式为: 这里 Z是带宽消耗(分组包/秒);T是时限阈值时间(毫秒);P是每个更新在网络上传送的分组包数目(与服务类型相关); 所有这些配置属性都可以一起使用,同时使用时限阈值和最小差值两种配置属性,保证了更新被发送的频度不会比阈值时间更快,同时只有当网
39、络变量值变化大于差值时才发送。4.2.1 远程监控平台逻辑网络设计现场总线信道上连接监控节点,每个监控节点都是一个智能单元(含神经元芯片),能够独立完成信号的检测、分析处理和通信,节点可在监控区现场安装,不需要布线至中央控制器,网络各节点平等,实现了完全的对等分布式网络。工作站不参与底层设备的控制过程,只用于系统前期的设计配置和后期的网页监控任务,系统脱离工作站照常工作,内置LNS、LonMakerr。LNS是网络的开放标准的操作系统,提供给用户强大的客户/服务器架构,是现场总线的可互操作性的基础,提供管理、监控、诊断和维护等网络服务。LonMaker 是基于LNS操作系统、包含客户/服务器体
40、系结构和Microsoft Visio界面的网络集成工具,实现节点安装、网络变量连接、功能模块属性配置、网络诊断和控制维护等。通过iLON100有机地将现场总线信道与TCP/IP信道衔接起来,iLON100的LNS或OpenLDV应用程序与本地或远程网络建立RNI接口,监控平台逻辑图如图4.13所示。图4.13 监控平台逻辑图为了用LonMaker工具创建一个网络,必须把设备、功能模块、连接等图标加到视图中,在视图中加入设备的方法是从LonMaker模板库拖动图标,放入视图来实现的。ILON100在远程监控平台中起到RNI接口和web服务器的功能,通过RNI接口LonMaker可对监控平台进行
41、逻辑组网。通过设置计算机主机和ILON服务器的IP属性分别192.168.2.10和192.168.2.11,建立RNI接口,如图4.14所示。图4.14 RNI接口远程监控平台通过LonMaker软件以图像化组网,拖动用LonMaker基本模板库中DI和DO激活对应的物理器件,如图4.15所示。图4.15 节点启动按照实际所需要的信号路数建立功能模块和网络变量,按照逻辑功能要求利用连接器将输入网络变量和输出网络变量连接起来,DI节点对应的功能模块上具有输出网络变量,控制网页中图像和颜色的识别状态;DO节点对应的功能模块上具有输入网络变量,控制机器人的动作执行;利用ILON100对应的web
42、server功能模块将DI和DO节点上的网络变量映像到网页中,从而实现利用浏览网页的形式实现机器人的远程监控,如图4.16所示远程监控平台的逻辑组网。图4.16 远程监控平台的逻辑组网利用Macromedia Contribute和i.Lon Vision构建框架模式的网页,通过下拉菜单选择ON或OFF远程控制机器人执行跳舞、前进、后退、左转和右转等动作,通过图形和和颜色的刷新显示监控机器人在现场的图像识别情况,在IE浏览器中浏览192.168.2.11网址就可实现机器人的远程控制,远程监控界面如图4.17所示。图4.17 远程监控网页界面五 系统焊接制作与测试5.1作品元器件完成本作品所需要
43、的主要元器件如表5.1所示表5.1 元器件清单器件分类元件器件分类元件电容220u 16V(电解)芯片SPCE061A4.7u 16V(电解)SPY00293300D (瓷片)SPY0030100u 16V (电解)74HC24422u 16V (电解)芯片座84PIN104(独石)8PIN224(独石)20PIN20p (瓷片)插座CON250240PIN500p CON5-2.54电阻1K二极管IN40043.3KLED红绿470K3.3稳压管3K晶振32768晶振10K电位器1K5.1K传感器E18-D80NK330三极管8050 85504.7K其他按键333PIN单排针 LonPoi
44、nt41200 41100 Ilon100Echelon5.2作品制作5.2.1 机器人控制板的焊接列出了主要元器件的焊接过程。(1)、SPY0029的焊接:SPY0029是唯一的贴片元件,焊接前要先在焊板上镀上少量的焊锡,然后在SPY0029各管脚镀上少量焊锡,焊接时要迅速,另外管脚的焊锡不要太多,防止连焊。(2)、电阻的焊接:首先根据电阻值插到电路板上对应的位置上,另外插放时应注意色环方向一致,方便读取阻值。焊接时先焊电阻的一只引脚,然后对电阻进行修整,然后再焊接另一引脚。电阻整形完毕后,将多余的引脚剪掉。(3)、二极管的焊接:焊接二极管时首先要注意它的正负极,有白色环的一端为负极。然后再
45、根据电路板上的极性插放二极管。另外焊接二极管时间要快,否则PN结过热会烧段。焊接完成后剪掉多余的引脚。(4)、晶振的焊接:由于晶振是比较精密的元件,在焊接过程中,不能过久的用烙铁接触晶振。(5)、独石电容的焊接:首先对照原理图一一插好,先焊接一个引脚,然后对其进行修整,然后再焊接另一引脚。焊接完后,将多余的引脚剪掉。(6)、电解电容的焊接:先焊接电源部分的两个电解电容,插放时注意引脚的正负极应与板子上所标注的极性相同,然后进行焊接。(7)、按键和电位器的焊接:按键包括三个一般按键和一个复位按键,对照电路图焊接到电路板上。在焊接电位器的时候要注意它的方向,有调整大小的一端为第一脚,然后进行焊接。
46、焊接完成后将多余的引脚剪断。(8)、发光二极管的焊接 :红色的为电源指示灯,绿色的为睡眠指示灯。一般情况下发光二极管正极的引脚长一点,负极的引脚短一点,也可以用万用表进行测量,正表笔接正极,负表笔接负极,这时可以看到发光二极管被点亮。然后将发光二极管正确插入,进行焊接,焊接完成后剪掉多余的引脚。(9)、电源座的焊接:插放电源接座的方向要正确,塑料片要放在电路板上有横道的方向。焊接完电源接座后标志着电源部分全部焊接已经完成。这时用万用表测试一下电源座两端是否短路,若发生短路现象则需要检查电路。未短路时电源指示灯会亮,若不亮则需要检查发光二极管是否损坏,或电解电容是否焊反等。(10)、麦克风的焊接
47、:麦克是没有引脚的,首先我们要将其引脚焊上去,先将引脚的根部折弯,镀上少量的焊锡,然后进行焊接,焊接时要注意有三根线连接在麦克风头上的是负极,然后迅速将两引脚焊接上去。焊接完引脚之后将麦克插到电路板上,注意正负极,正极插到方孔里面,负极插到圆孔里面,然后进行焊接,焊接完成后剪掉多余的引脚。中央控制板焊接结束后,必须进行电路板的硬件测试,以确保控制板能够正常工作。认真检测电路,并按实验步骤完成检查,这样可以培养我们的动手能力和分析问题的能力。5.2.2 机器人远程监控平台的连网布线按照抗干扰、均分布、易安装、易调试、易维护兼顾考虑整齐美观的角度,将监控平台的LonPoint节点、IlON100、开关电源布局如图