您好,欢迎访问三七文档
上海市嵌入式系统创新设计应用竞赛设计计划书第页共页从事过何种嵌入式处理器的开发应用ARM7本次参赛预定题目基于ARM的微机器人控制系统2、设计计划书一、题目基于ARM的微机器人控制系统研制基于ARM的微机器人控制系统二、背景介绍毫米级微型机器人是最近一两年发展起来的一种新型机器人。毫米级微机器人的定位精度对微机器人的实际应用具有重要意义。在微机器人的机械结构和动力方面,本人所在的研究院对微型移动机器人进行了多年的研究,已拥有较成熟的技术,已经制作出直径为1mm的微马达(MEMS工艺如图1),并初步设计出可前后移动和转向的机器人机械部件。我们以此为基础设计了嵌入式微机器人控制系统。硬件控制器是微控制系统的控制核心,该电路以32位ARM核处理器为核心组成数模混合系统,一片CPLD分别实现了微马达控制器。系统还包括电机驱动电路以及USB接口电路等。基于嵌入式实时操作系统设计了系统软件,其包括微马达的控制、微动平台的控制以及通信协议和微机器人路径规划算法等。三、设计目标设计系统主要由主机Host、微机器人移动平台、微机器人本体和系统控制电路板等部分组成,简图见图1。上海市嵌入式系统创新设计应用竞赛设计计划书第页共页图1控制系统简图主控操作人员通过计算机(主机Host)向本设计的主要设计制作部分“控制系统”系统控制电路板发出“机器人控制命令”和“机器人位姿命令”;由USB接口,以ARM7为核心的控制系统根据相应命令参数计算得出机器人应该运动的方向和运动的距离;“控制系统”发出机器人能够接收的驱动信号,机器人则在微机器人移动平台准确做出相应的动作。四、系统原理及框图本设计拟采用PHILIPS的LPC2000系列ARM核心的单片机进行微机器人的行为控制。本系统充分发挥ARM单片机的控制能力和高性能低功耗的特点,向换相控制器发送命令字,由换相控制器进行脉冲的分配,再由电动机驱动电路驱动机器人的微电机。本系统充分利用ARM单片机的通信能力(可选用带USB接口的单片机),与上位机(PC)进行串行通信,接收PC机的指令。通过PC可以设定机器人的速度、位置等状态信息,也可以用键盘或与PC连接的摇杆控制微机器人。其中换相控制器可利用复杂可编程逻辑器件(CPLD)通过VerilogHDL硬件描述语言设计,处理器仅需要更改换相控制器中一些寄存器的数值即可完成对微马达的复杂操作,从而大大减轻了了单片机的负担。电动机驱动电路可由功率晶体管搭建,也可采用专用的电动机驱动芯片。系统中的机器人是一个厘米级大小的微型轮式机器人,其核心部件微驱动器采用电磁微马达。本人所在的研究院对电磁微马达进行了多年的研究,已拥有较成熟的技术,已经制作出直径为1mm的微马达(MEMS工艺,如图1),并初步设计出可前后移动的机器人。本小组可在其基础上进行改进,利用微型减速齿轮,设图2直径1mm的电磁型微马达机器人驱动电机操纵杆可直接控制机器人向左向右,前后移动。换相控制器马达驱动器马达驱动器机器人转向电机ARM7核处理器上海市嵌入式系统创新设计应用竞赛设计计划书第页共页计制作小于1厘米的微机器人。微型机器人可用上一共有3台3mm微马达。其中负责直线运动的两台微马达并联在一起,运动完全同步,可以增大为机器人的力矩;另外一台微马达负责微机器人的转向。若使微机器人的运动具有较高的精度,需要采取一些特殊的方法。传统的电流细分技术通过改变电机的各个绕组中通过电流的大小,从而可以改变电机绕组所产生的复合磁场的大小和方向,通过控制复合磁场的旋转速度和方向,达到控制电机步进精度的目的。但是传统技术要求可以对每个绕组的电流进行相应控制,而微马达中的微型电动机由于绕组采用Y形连接,流过每个绕组的电流是相互联系的,改变一个绕组电流的大小,必然会影响其它绕组电流。所以我们选择采用平均转矩矢量PWM合成的方法。想法是步进电机的失步现象,假设以一个远远大于电机启动频率的频率在两个相邻控制状态A和B之间切换,那么转子既不停在控制状态A对应的位置A也不停在控制状态B对应的位置B,而是停在两个控制状态之间的某一位置。这个位置应该和两个控制状态的通电时间有关。通过改变这两个控制状态的通电时间,就可以控制电机停在位置A和位置B之间的任何一个位置,从而实现电机步距角的细分。VerilogHDL硬件描述语言结合可编程逻辑器件(如市场上常见的Xilinx公司的XC9500XL系列CPLD器件)能够实现一个功能完善的微马达控制器,其结构框图见图3。其中,电机A状态字寄存器和电机A控制字寄存器负责控制直线运动的两台微马达,电机B状态字寄存器和电机B控制字寄存器负责控制转向运动的微马达。地址译码器、电机A控制字缓冲寄存器、电机A状态字缓冲寄存器、电机B控制字缓冲寄存器以及电机B状态字缓冲寄存器构成与处理器16位并行总线的接口电路。通过外部信号nWE(写使能)、nCS(片选)、Data(16位数据总线)和Addr(2位地址总线)和处理器相连。由于总线写操作的速度高于控制器的时钟频率,所以接口电路采用异步逻辑。当片选信号nCS为低电平,写使能信号由低到高时,根据译码器的译址,总线上的数据会加载到电机A控制字缓冲寄存器、电机A状态字缓冲寄存器、电机B控制字缓冲寄存器或者电机B状态字缓冲寄存器。通信接口采用USB接口,即插即用,便于ARM单片机和PC机之间的连接。在PC上运行美观的的用户界面程序,轻点鼠标就可以控制微机器人的运行,调节微机器人的参数、状态。也可以选择用摇杆方便地控制机器人。本方案的系统框图如图2所示。上海市嵌入式系统创新设计应用竞赛设计计划书第页共页电机A状态字缓冲寄存器电机B状态字缓冲寄存器电机A控制字缓冲寄存器电机B控制字缓冲寄存器地址译码器电机A控制字寄存器电机A状态字寄存器电机B状态字寄存器电机B控制字寄存器定时器比较器A比较器B多路器A多路器B[5:0][5:0][9:5][4:0][11:6][5:0][9:5][4:0][11:6][5:0][9:0][11:0][11:0][9:0]loadData[15:0]CE[2:0]Addr[1:0]nWE00nCS电机驱动器A电机驱动器Bclk图4马达控制器结构框图五、软件流程本课题控制系统的总软件主要包括启动代码程序模块、微机器人运动参数数据以及用户控制程序三部分,其中启动代码可以初始化硬件系统,并将编译好的用户控制程序从PC机通过ARM核处理器换相控制器电动机驱动电动机驱动机器人驱动电机机器人转向电机USBPC机USBUSB摇杆图3系统框图上海市嵌入式系统创新设计应用竞赛设计计划书第页共页超级终端下载到Flash。为了便于调试微机器人的运动状态,可以使用户控制程序具备修改微机器人运动参数的功能。用户控制程序是基于嵌入式实时操作系统的,因为处理器LPC2000是ARM7的内核,所以我们打算直接使用µC/OS-II在ARM7上的版本。一个可以使用的µC/OS-II内核必须能够提供时钟节拍服务,系统时钟节拍服务程序由于涉及到中断控制以及定时器寄存器的操作和具体的处理器相关,这些程序需要自己编写。用户控制程序部分包括微机器人通信协议解析、微机器人路径算法程序、微机器人直线运动控制、微机器人转向控制、运动参数读写5个任务等。µC/OS-II是一个占先式实时多任务内核。各个程序是并行执行的,所以需要设定一定的优先级给每个程序模块,以保证微型机器人程序运行的稳定性,对于占用CPU的时间相对较少,实时性强的控制程序,分配给较高的优先级。同时各个程序之间也需要完成一定量的通信工作,从而使程序之间能有条不紊的运行。各个程序的通信关系如图4所示。有时候需要任务间或中断服务与任务间的通信。这种信息传递称为任务间的通信。任务间信息的传递有两个途径:通过全程变量,显然用全程变量的方式并不可行,因为任务不知道什么时候全程变量被中断服务子程序修改了;另外一个方法是使用信号量方式发信号,或者使用邮箱或消息队列。PC平台的终端程序根据预定的路径方案和外设的实时控制信号实时地向机器人发送控制命令,为了能减少传送控制命令的时延并避免命令缓冲区溢出和误传漏传等问题,需要设置PC平台和控制系统的通信规则:1)通信的握手规则,如何定义通信的请求和确认;2)计算机每次向控制系统发送尽量少的字节信息,可以控制在4个左右;图5控制软件框图为了满足条件2),可以预先设定几种运动控制命令字,例如用ASIIC码“F”代表快速前进,用“Q”代表快速后退,用“S”代表慢速前进,用“R”代表快速顺时针旋转,用“L”代表慢速逆时针旋转等。同时也预先设定写命令的几种类型,比如用特定的ASIIC码来代表“快速前进”、“快速后退”、“慢速前进”、“慢速后退”、“快速顺时针旋转”、“快速逆时针旋转”、“慢速顺时针旋转”“慢速逆时针旋转”(同上)。运动参数读命令字则可以根据三个无刷直流电机的换相时间、制动时间、相位索引等状态进行定义。运动参数设置命令将会设置这些命令参数,运动参数设置命令包括运动参数写命令,运动参数读命令等等,可以在内存中设置参数读写缓冲区以解决读程序和写程序之间的同步问题。在设置好内存参数读写缓冲区的索引值后,便可以通过参数读写命令对这些缓冲区操作完成参数读写的任务。这样,就解决读程序和写程序之间缓冲区通信同步的问题。此外硬件传输信号、译码的过程和电机机械运动会使微机器人的实时运动状态稍稍延迟于当前的控制信号对应的运动状态,不过由于缓冲区的控制命令字序列是正确的,微机器人仍然会按照预定轨迹通信协议解析任务微机器人转向控制任务微机器人直线运动控制任务微机器人路径规划策略运动参数读写任务左转/右转完成前进/后退读写命令完成完成完成左转/右转完成上海市嵌入式系统创新设计应用竞赛设计计划书第页共页运动(不考虑滑动摩擦的影响)。最后调试时,如果发现微机器人确实存在滑动摩擦的话,就应该可以设置一定的命令传输延迟。如果系统能获得电机的反馈信号或者机器人的实时位置信号,那么设置足够的等待值是必须的(或者使握手信号等待微机器人,直到其到达预定的位置,握手信号才被发出),缺点是这样的微机器人会运动得较为缓慢。在人工操作状态下,PC平台将会获得手柄(或鼠标)反馈控制指令参数(前进/后退、左转/右转、感应强度)这三个控制指令参数,控制模式有实时遥控方式和使微机器人按照一定的几何路径运动到指定坐标的方式。前者需要通过手动操纵手柄不断发送方向和速度信息给控制系统(通过指令字),后者则只需根据预先设定的位置信息,程序一次计算出命令字序列,然后按照PC平台和控制系统的通信规则将命令字序列逐个发送给微机器人的控制系统,再经该控制系统译码后产生驱动电机的PWM控制信号,从而驱动微机器人的步进马达和转向马达使其到达预定的目标位置。为了使微机器人的实际运行轨迹与计算机一次发送给控制系统的预定运动轨迹相一致,可以通过不断试验选择合适的电动机控制参数(通过PC终端GDI界面程序修改)和利用平均转矩矢量PWM合成技术。PC平台通过USB连线将以上指令参数传送给控制系统。考虑到比赛提供的微处理器具备有USB功能,而且USB操作简便,易于到比赛现场调试设置等优点,所以这里选择了USB通信接口来实现计算机系统与控制器之间的通信。六、应用前景随着电子器件的不断缩小,组装仪器时要求的精密度也在不断增加。现在,科学家正在研制微型机器人,能在桌面大小的地方组装像硬盘驱动器之类的精密小巧的产品。军队也对这种微型机器人表现出了浓厚的兴趣。他们设想制造出大到鞋盒子,小到硬币大小的机器人,它们会爬行,跳跃,到达敌军后方,为不远处的部队或千里之外的总部收集情报。这些机器人是廉价的,可以大量部署,它们可以替代人进入难以进入或危险的地区,进行侦察、排雷和探测生化武器的工作。微型机器人由于具有特殊的用途而倍受关注。一个重要应用是军事侦察,可装备到士兵班,进行敌情侦察及监视。还可用于战争危险估计、目标搜索、通信中继,监测化学、核或生物武器,侦察建筑物内部情况。可适用于城市、丛林等多种战争环境。因为其便于携带,操作简单,安全性好的优点,可以在部队中大量装备。在非军事领域,配置有相应传
本文标题:设计计划书范例2
链接地址:https://www.777doc.com/doc-2066271 .html