人工智能机器人分析设计报告_第1页
人工智能机器人分析设计报告_第2页
人工智能机器人分析设计报告_第3页
人工智能机器人分析设计报告_第4页
人工智能机器人分析设计报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

课程:计算机组成原理人工智能机器人分析设计报告院系:安徽工程大学机电学院专业:计算机与软件工程系班级:软件1409目录TOC\o"1-5"\h\z\o"CurrentDocument"功能分析 2\o"CurrentDocument"1.1控制系统最小单元 21.2诺依曼体系工作原理 4\o"CurrentDocument"1.2.1冯诺依曼体系结构有以下特点: 41.2.2硬件总体结构 4\o"CurrentDocument"1.2.2CPU与存储器的连接 5\o"CurrentDocument"1.3语音模块 61.3.1LD3320语音模块 6\o"CurrentDocument"1.4PWM控制 71.4.1定时器+中断产生PWM 7\o"CurrentDocument"1.5相关程序(以下代码仅作说明使用,本项目并不涉及该单片机) 12\o"CurrentDocument"第二章总体软件 152.1Keil 152.2STC_ISP 16\o"CurrentDocument"2.3两款软件的主要作用 17\o"CurrentDocument"第三章模块软件 18\o"CurrentDocument"3.1图形化控制软件 18\o"CurrentDocument"3.2单个舵机运动实例: 19功能分析1.1控制系统最小单元该系统最小系统分为电路,模块,诺依曼体系工作原理三个部分。

我们着重讲的是运算器,控制器,存储器,输入输出系统的协作工作部分。1.2诺依曼体系工作原理1.2.1冯诺依曼体系结构有以下特点:计算机处理的数据和指令一律用二进制数表示;指令和数据不加区别混合存储在同一个存储器中;顺序执行程序的每一条指令;计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。冯诺依曼体系结构的计算机必须具有如下功能:把需要的程序和数据送至计算机中;必须具有长期记忆程序、数据、中间结果及最终运算结果的能力;能够完成各种算术、逻辑运算和数据传送等数据加工处理的能力;能够根据需要控制程序走向,并能根据指令控制机器的各部件协调操作;能够按照要求将处理结果输出给用户。1.2.2硬件总体结构

俐妙俐妙■1.2.2CPU与存储器的连接中央处理器CPU:地址线20位数据线8位,运算和控制功能内部RAM:128K,选用4片32K*8位存储器内部ROM:16K选用1片16K*8位存储器定时/计数器:两个16位的定时/计数器,实现定时或计数功能。串行口:一个全双工串行口。时钟电路:可产生时钟脉冲序列并行口:提供若干并行接口,供编程或拓展使用1.3语音模块1.3.1LD3320语音模块支持SPI接口和并行接口的非特定语音识别模块,板载咪头和有源晶振,方便在电子产品中实现语音识别、声控和人机对话功能。产品特性:高准确度和实用的语音识别效果。非特定人语音识别技术:不需要用户进行录音训练。可动态编辑的识别关键词列表:只需要把识别的关键词以字符串的形式传送进芯片,即可以在下次识别中立即生效。比如,用户在51等MCU的编程中,简单地通过设置芯片的寄存器,把诸如"你好"这样的识别关键词的内容动态地传入芯片中,芯片就可以识别这样设定的关键词语了。支持用户自由编辑50条关键词:在同一时刻,最多在50条关键词语中进行识别,终端用户可以根据场景需要,随时编辑和更新这50条关键词语的内容。参数:工作电压:3.3V省电模式电流:1uA1.4PWM控制1.4.1定时器+中断产生PWM在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出执行机构,其简单的控制和输出使得单片机系统非常容易与之接口O舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制要求舵机的控制信号是PWM信号,利用占空比的变化改变舵机的位置。一般舵机的控制要求如图所示。单片机实现舵机转角控制可以使用FPGA、模拟电路、单片机来产生舵机的控制信号,但FPGA成本高且电路复杂。对于脉宽调制信号的脉宽变换,常用的一种方法是采用调制信号获取有源滤波后的直流电压,但是需要50Hz(周期是20ms)的信号,这对运放器件的选择有较高要求,从电路体积和功耗考虑也不易采用。5mV以上的控制电压的变化就会引起舵机的抖动,对于机载的测控系统而言电源和其他器件的信号噪声都远大于5mV,所以滤波电路的精度难以达到舵机的控制精度要求。也可以用单片机作为舵机的控制单元,使PWM信号的脉冲宽度实现微秒级的变化,从而提高舵机的转角精度。单片机完成控制算法,再将计算结果转化为PWM信号输出到舵机,由于单片机系统是一个数字系统,其控制信号的变化完全依靠硬件计数,所以受外界干扰较小,整个系统工作可靠。单片机系统实现对舵机输出转角的控制,必须首先完成两个任务:首先是产生基本的PWM周期信号,本设计是产生20ms的周期信号;其次是脉宽的调整,即单片机模拟PWM信号的输出,并且调整占空比。当系统中只需要实现一个舵机的控制,采用的控制方式是改变单片机的一个定时器中断的初值,将20ms分为两次中断执行,一次短定时中断和一次长定时中断。这样既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高具体的设计过程:例如想让舵机转向左极限的角度,它的正脉冲为2ms,则负脉冲为20ms-2ms=18ms,所以开始时在控制口发送高电平,然后设置定时器在2ms后发生中断,中断发生后,在中断程序里将控制口改为低电平,并将中断时间改为18ms,再过18ms进入下一次定时中断,再将控制口改为高电平,并将定时器初值改为2ms,等待下次中断到来,如此往复实现PWM信号输出到舵机。用修改定时器中断初值的方法巧妙形成了脉冲信号,调整时间段的宽度便可使伺服机灵活运动。为保证软件在定时中断里采集其他信号,并且使发生PWM信号的程序不影响中断程序的运行(如果这些程序所占用时间过长,有可能会发生中断程序还未结束,下次中断又到来的后果),所以需要将采集信号的函数放在长定时中断过程中执行,也就是说每经过两次中断执行一次这些程序,执行的周期还是20ms。软件流程如图产生PWM信号的软件流程

如果系统中需要控制几个舵机的准确转动,可以用单片机和计数器进行脉冲计数产生PWM信号。脉冲计数可以利用51单片机的内部计数器来实现,但是从软件系统的稳定性和程序结构的合理性看,宜使用外部的计数器,还可以提高CPU的工作效率。实验后从精度上考虑,对于FUTABA系列的接收机,当采用1MHz的外部晶振时,其控制电压幅值的变化为0.6mV,而且不会出现误差积累,可以满足控制舵机的要求。1.5相关程序(以下代码仅作说明使用,本项目并不涉及该单片机)伪代码程序名:输出固定频率的PWM波晶振:11.00592MHzCPU功能:P2A0口输出周期为1ms(1000HZ),占空比为%80的PWM波#defineuintunsignedint#defineucharunsignedcharsbitPWM1=P2A0;//接IN1控制正转sbitPWM2=P2A1;//接IN2控制反转uchartime;voidmain()(TMOD=0x01;//定时器0工作方式1TH0=0xff;//(65536-10)/256;//赋初值定时TL0=0xf7;//(65536-10)%256;//0.01msEA=1;//开总中断ET0=1;//开定时器0中断TR0=1;//启动定时器0while(1)}}voiddelay(uintz)(uintx,y;for(x=z;x>0;x--)for(y=500;y>0;y--);}voidtim0()interrupt1(TR0=0;//赋初值时,关闭定时器TH0=0xff;//(65536-10)/256;//赋初值定时TL0=0xf7;//(65536-10)%256;//0.01msTR0=1;//打开定时器time++;if(time>=100)time=0;//1khzif(time<=20)PWM1=0;//点空比%80elsePWM1=1;PWM2=0;}程序说明:1、关于频率的确定:对于11.0592M晶振,PWM输出频率为1KHZ,此时设定时器0.01ms中断一次,时中断次数100次即为1KHZ(0.01ms*100=1ms,即为1000HZ)此时,定时器计数器赋初值为TH0=FF,TL0=F7。2、关于占空比的确定:此时我们将来time的值从0-100之间进行改变,就可以将占空比从%0-%100之间进行变化,上面程序中time<=20时PWM1=0;elsePWM1=1;意思就是%20的时间输出低电平,%80的时间输出高电平,即占空比为%80。如需得到其它占空比,如%60,只需将time的值改为40即可。(程序为if(time<=40)PWM1=0;elsePWM1=1;)当然编写程序时也可以定义一个标志位如flag,根据flag的状态决定输出高平还是低电平,假设定义flag=1的时候输出高电平,用一个变量去记录定时器中断的次数,每次中断就让记录中断次数的变量+1,在中断程序里面判断这个变量的值是否到了n,如果到了说明高电平的时间够了,那么就改变flag为0,输出低电平,同时记录中断变量的值清零,每次中断的时候依旧+1,根据flag=0的情况跳去判断记录变量的值是否到了n'如果到了,说明PWM的低电平时间够了,那么就改flag=1,输出改高电平,同时记录次数变量清零,重新开始,如此循环便可得到你想要的PWM波形.第二章总体软件2.1Keil从这个项目本身考虑,必须是可编程的,所以采用keil可以生成..hex结尾的文件国E:whijEi的血shbzn汕何成足此如.1。也ME藏咨|垂妇血'5051。肝强d/rcij,叫问-仰桃时FileEdtViewfrujertFlash、my引.出|151-6kBnrra雨nafcrirg^Ltny■,£&J,(wijlibCfBarle由呻Hed&?buQ由iphershTooh5Vt5WndowHrb勺tisiclrISD知wT生普1血灯uLgbi闯JIkMf|CA?+i|k-ari|LirLMr|Ikbug|^FddeiforOtjedf.此睥MEfleoJ出e:|g£*'2redeboKiiaiiE.侣/此P就四trikgori斥OwlE竺:FA]Pnucrt□Jdprcj3(3ustr:ij囹mainc:I3目5Un32ftW」ix&色actionHl^legr0-囱inriializE.E::由固血「dr国回dme.c:5囹dsmaLcB世|zhongjian^&战seftioS-1£|i_CDnlrDLt0-囱lenoj:口biSS.h:0|^|iwccn.cg有drr/Er囱■街s-^.ddayjcB-[^]bod'd.c田但drhEr_u5jrtx&[§引「uBjwen商B衲氾_阳StmeLllStlZLJlu7tinclu.ItinclutinclutlUCLdtlUCLdB/*罚BuildCMtuirtI懑SrmwMHex全称(IntelHEX)文件是由一行行符合IntelHEX文件格式的文本所构成的ASCII文本文件。在IntelHEX文件中,每一行包含一个HEX记录。这些记录由对应机器语言码和/或常量数据的十六进制编码数字组成。IntelHEX文件通常用于传输将被存于ROM或者EPROM中的程序和数据。大多数EPROM编程器或模拟器使用IntelHEX文件。2.2STC_ISP烧制程序涕STC-ISP(V6.82J 电话:O513-55E2轮8)官司:wwwET匚MCUiom®^^QQ:8OOOC375:1)-SK全基最大的却…[■=■|回|j^3|聿片机旦号|lAHSF2E61融 ―引即教而切▼串口号|颠1 -聿片机旦号|lAHSF2E61融 ―引即教而切▼串口号|颠1 -I|扫描教材/■联合实验室串口助手Keilffi真设置范例程序选型/伯格/样品最低:皮特率2400 - 最高:吱特室H5200起始地址 ^0000 回清除代妈缓冲区 打开程序文件硬件选项脱机下载湎m程序力睦后传输下目‘*0选择使用肉部1耽时箱做选为外部监钟)0振荡器放大培益〔㈣我上建设迭葬)辅?■、用户程庠运行K的TM频奉IHBlifeH■M:-fr国使用恒速下载模云□下次冷启动时F32/?3,:为可可F载程房画上电复位使用较长延时回]复位脚用作I扪口0允许•低压复位㈱1L酝压中断)低压检删电压|382V ▼0低压时蔡上E1FEOH操乍上电■真位E寸由硬片白幼启动 看门狗定E寸器分频系数 湖 ▼下载阍程|停止里熟浦程救购匚唯项|注息/帮助重复廷1寸|,秒T^«00000割翎EFROM攘冲区 打开EEFKOM刘牛芯封型号:IA?15r2KElS2'nTEtlUtid1-1..tERltitf]m-lTEtlJbEr古荷个便件禹口CU■职T1和UKRT2)有EFI(R可书作主模式丛模寸不可用)有3gPCVFW1/CCP司日作JAC:有道15立情度的〃U福祚T作申压E日程序空间[* -]汕大小[*▼]I。教里[*▼]萱找 串口[*.回颂既影器□迥Oeepkom可曹瓣|WmW"瞒暮粤_型号工作电压(V)程序空间SMBEFBDM1/0定时器STC15F2KDES25.5-3.B81204853K42ESTC15F2K16S25.5-3.816K204845K426STC1SF2K2疝25.5-3.B24K204837K426STC15F2K32S25.5-3.832K204829K426STC15F2K40S25.5-3.B40K2048211426STC1EF2K4SS2E.5-3.B48K204S13142ESTC15F2E56S25.5-3.B56K20485K426STC15F2EEDS2E.5-3.B6QK2048IK42GIAFL5F2KE.1S25.5-3.B61K2048IAl'426TDP1CT'-'T^CW'-'CCODCOCVonnoTADc<| 川_*发布项目程序发布项目帮助读取本机硬盘号 R捐示音成为计数0每次发布项目程序发布项目帮助读取本机硬盘号 R捐示音成为计数m目标玄件贫化时自动装载并岌谖五载命冬说明:当然以上软件的使用的前提是使用一款支持的单片机,但是项目的要求不可以使用单片机,所以我们整体项目是理论性的。2.3两款软件的主要作用KeiluVision3是程序编译软件,比如你写的单片机的汇编程序或者C程序,由这个软件翻译成.HEX的16进制的机器代码,如果没有这个的话,你就要自己去编排,早期的单片机编程器里有机器语言的,后来全部使用这种翻译程序了.STC-ISP是STC系列单片机的烧写程序,就是把你之前生存的那

个.HEX文件发送给单片机,有单片机的ISP程序写入到单片机内部,形成单片机的可执行程序.第三章模块软件3.1图形化控制软件类似于下面这款软件1#0F1500#1F1500乾F2244#3P1500#4F15O5#5F1500#6F1500#10P1500#11F1500#12F1500#13F1500116F1E2#0P1500#1F1500#2熠44#3P1500粗P15O5柘F1500F1500#1011500#11F1500#12P500#13F1500#16理可以直接操作舵机偏转角度,并将相应指令生成文件,可以下载到控制器。3.2单个舵机运动实例:#5P1600S750通道5将以750烬/秒的速度移动到1600us位置。为了更

温馨提示

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

评论

0/150

提交评论