基于LM3S615的电脑鼠走迷宫的设计

发布者:雅逸之风最新更新时间:2014-10-24 来源: 什么鱼关键字:ARM  电脑鼠  CortexM3  LM3S615 手机看文章 扫描二维码
随时随地手机看文章

  0 引言

  电脑鼠(Micromouse)是智能机电鼠的简称,是一个由微处理器控制的集探测、分析、行走功能于一体,能够自动搜索最佳路径到达目的地的微型机器人。实际上电脑鼠就是一个电力驱动小车,而这个电动小车是由一个或多个微控制器来控制,通过传感器和其他各功能器件的配合,具备一定的智能。同时,电脑鼠需拥有探测障碍物、行走、转弯、加减速和制动等基本功能。

  本文是以“IEEE国际电脑鼠竞赛”为背景,以美国Luminary Micro公司生产的ARM CortexM3内核的ARM处理器LM3S615为主控制器,控制和检测红外传感器;微控制器根据检测到的传感信号,控制电机驱动电路,调整行走,按照载入搜索算法进行迷宫的探测,寻找最短路径,最终实现从起点到终点的冲刺。

  1 电脑鼠系统整体设计方案

  如图1所示,整个系统可以大致分为以下主要部分:电源模块,控制模块,执行机构模块,传感器模块,机身模块。可以做形象的比喻:电源模块是电脑鼠的葡萄糖,控制模块是电脑鼠的大脑,传感器模块是电脑鼠的眼睛,机身模块是电脑鼠的躯干,执行机构是电脑鼠的腿;各模块之间相互配合使电脑鼠正常工作并寻找到终点。

电脑鼠系统整体设计方案

  2 电脑鼠硬件研究与实现

  2.1 电脑鼠硬件设计原理

  本文研究的电脑鼠是一个跨学科的综合作品,主要由电源、传感器、步进电机、控制核心电路、机身5个部分组成,如图1所示。所以,电脑鼠的硬件设计主要包括电源模块、微控制器单元模块、传感器模块、电机控制模块4个部分的设计。其中LM3S615微控制器是电脑鼠的核心,通过检测到的传感器信号,结合载入的搜索算法,控制步进电机,实现电脑鼠在迷宫中的行走。

  2.2 电源模块

  电源模块包括供电电池和电压调节电路。供电电池为2 200 mAh,7.4 V的可充电锂电池。电机驱动电压由电源直接供给;LM3S615微控制器需3.3 V电压供电,电压调节电路采用Exar公司生产的SPX1117M3-3.3芯片将电源电压稳至3.3V;电脑鼠所使用的红外线传感器工作电压为5 V,升压芯片采用Exar公司生产的SP6641A将已经较为稳定的3.3 V电压升至5 V。

  2.3 微控制器单元模块

  本文采用美国Luminary Micro公司生产的CorteX-M3内核的ARM处理器LM3S615,该芯片具有32位RISC性能,具备32 KB单周期FLASH,8 KB单周期SRAM,29个中断,带8个优先级。微控制器模块和其他模块共同构成一个闭环的反馈控制系统,通过对路程信号、岔口信号和姿势修正信号的检测,经由LM3S615进行运算,再将结果赋给电机执行,由此实现电脑鼠的智能穿越迷宫。

  2.4 传感器模块

  2.4.1 传感器模块组成

  传感器模块采用红外传感器:红外线发射对管SIR563ST3F和IRM8601S,红外线收发对管IR204和PD204-6B。红外线发射管SIR563ST3F最大辐射角约为30°,工作中心频率38 kHz;红外线接受管IRM8601S为一体式红外线接收头,最佳工作波长940 nm。可以通过设置不同的发射频率来实现用一个红外传感器完成远距和近距探测的功能。红外线发射管IR204和红外线接收管PD204-6B工作波长均为940 nm,它们固定在两轮内侧,并在轮内贴上黑白码盘,码盘随车轮的转动而转动,当传感器正对着码盘黑色条纹时,输出高电平,反之低电平。通过GPIO口中断检测电平变化,就可以计算并记录电脑鼠行走的距离。

  2.4.2 传感器模块功能

  (1)路程检测。由安装在两轮内侧的红外线收发管IR204和PD204-6B,对黑白码盘条纹进行计数,按照迷宫单元的长度为单位进行路程计数,以记录电脑鼠在迷宫中的方位坐标,同时还可以精确地实现转弯。

  (2)岔口检测。岔口检测由安装在正前、左前、右前的3个红外线发射对管SZR563ST3F和IRM8601S实现,工作波长940 nm,实现远红外测距功能,探测前、左、右有无障碍。

  (3)姿势修正。姿势修正由左右2个红外线发射对管SIR563ST3F和IRM8601S实现,发射信号约30.5 kHz,实现近红外测距功能,保持电脑鼠在中轴线附近行走,避免撞击迷宫。值得注意的是,在转弯过程中不要进行姿势修正,这样有可能导致转弯的角度出现偏差,即电脑鼠只是在前进的过程中才进行姿势修正。

  2.5 电机控制模块

  电机控制模块主要负责控制电脑鼠的运动,包括电机和电机驱动电路两部分。电机为两个两相四线制步进电机,工作电压为7.4 V。电机驱动芯片采用BA6845FS,每个芯片包含2个H桥,它的最大驱动电流为1 A,且在输入逻辑的控制下输出有3种模式:正向、反向和停止。

   3 电脑鼠软件研究与实现

 

  电脑鼠的软件部分主要用来检测迷宫环境,传送控制信号给相应的硬件模块,对在迷宫中行走的电脑鼠进行制导与导航。其主要由迷宫搜索主程序和其他实现各种功能的子程序组成,主程序主要起到搜索探测迷宫和决策功能,而其他各种功能则是通过调用其相应子程序来实现的,搜索流程如图2所示。[page]

搜索流程

  3.1 迷宫搜索主程序

  在没有预知迷宫路径的情况下,电脑鼠必须优先探索迷宫中的所有单元格,直到抵达终点为止。做这个处理的电脑鼠要随时知道自己的位置及姿态,同时要记录所有访问过的方块四周是否有墙壁,并且在搜索过程中尽量避免重复搜索它搜索过的地方。迷宫搜索流程图如图3所示。

迷宫搜索流程图

  3.1.1 左手法则

  电脑鼠在前进的方向上存在两条和两条以上支路时,优先考虑左转,其次是向前,最后才考虑向右。示意图如图4所示。

  3.1.2 右手法则

  电脑鼠在前进方向存在两条和两条以上的支路时,优先考虑右转,其次向前,最后才向左。示意图如图4所示。

  3.1.3 求心法则

  求心法则就是当电脑鼠有至少两个方向可以选择时,则优先转向离中心点最近的方向前进。如图5所示,把迷宫分为对等区域(1,2,3,4)。可以观察出,在区域1中,电脑鼠向右和向上更能接近中心,其他区域同理。如果电脑鼠可供选择的前进方向包含两个都有可能是离迷宫中心点最近的方向时,优先选择可以直接前进的方向,其次选择只用转90°的方向前进。如果可前进方向都是远离中心点的方向时,优先选择直线运行方向,其次选择转弯90°的方向。其搜索示意图如图6所示。

搜索示意图

  3.2 其他功能子程序

  3.2.1 路程检测子程序

  通过安装在两轮内侧的红外线收发管和黑白码盘来测算电脑鼠走过的路程,确定电脑鼠在迷宫中的位置,并在岔口实现精确的90°和180°转弯。

  3.2.2 岔口检测子程序

  由安装在正前、左前、右前方向的3个红外发射管发射38 kHz的信号完成远距检测,根据传感器读入值,判断迷宫中障碍信息、路口信息。

  3.2.3 姿势修正子程序

  根据左右两侧红外传感器接收的反馈信号来判断电脑鼠偏离迷宫巷道中轴线的程度,通过调整步进电机工作脉冲使某一边电机减速来修正电脑鼠的行驶方向,使其基本行走在中轴线附近。

  3.2.4 转弯子程序

  当电脑鼠检测到岔口,且需要转弯时,调用该子程序。

  3.2.5 最优路径子程序

  通过对迷宫环境进行搜索检测,数组自动记录迷宫地图信息以及迷宫中每一单元格到起始点的路程,运行最优路径子程序,就能找到一条从始点到终点的最短路径。其实质是一种路径优化算法,常用的算法有等高图法和蚁群算法。

  3.2.6 冲刺子程序

  调用此程序可使电脑鼠循着最短路径从起点以最快的速度冲到终点。

  4 结语

  本文从分析“IEEE标准电脑鼠”走迷宫比赛规则入手,介绍了电脑鼠硬件系统和软件系统设计过程和流程。基于电脑鼠的产品具有广泛的应用场合,譬如自动盲人导引小车、足球机器人、灭火机器人、影像机器人等等。随着电子技术的发展,对电脑鼠的深入研究将具有很好的发展和应用前景。

关键字:ARM  电脑鼠  CortexM3  LM3S615 引用地址:基于LM3S615的电脑鼠走迷宫的设计

上一篇:采用集成 DSP 与微处理器内核的嵌入式应用
下一篇:嵌入式智能家庭网关的设计

推荐阅读最新更新时间:2024-03-16 13:44

采用Keil4为ARM7 (LPC2103)创建工程 及J-link调试
采用Keil4为ARM7创建工程,采用J-LINK调试,具体步骤如下: 在菜单里的Project里选择New uVision project...,选择正确的路径并命名保存; 在弹出来的对话框中选择CPU,NXP(founded by philips)- LPC2103; 在弹出的对话框按“yes”复制LPC2100启动文件到工程; 在Project里面选择Option for Target'Target 1'...,Target里面的IROM1要配置正确(0x0 0x8000),一般采用默认值就可以了;Output选择里面的Name of Executable的命名不能用点号;Debug里面的选择
[单片机]
英伟达宣布以400亿美元收购Arm
9月14日,日本软银集团(SoftBank)正式发布公告称,软银集团已经和英伟达(NVIDIA)、Arm董事会达成收购意向,英伟达将以400亿美元现金+股票的形式打包收购Arm公司,但是在软银主力投资下组建的IoT物联网服务部门将不在此次交易之列,不会随着Arm被打包出售。 一旦交易完成,这不仅是软银史上最大规模的资产出售,也将是全球芯片行业史上规模最大的收购案。孙正义这笔四年前的投资,有望收获80亿美元的回报,不过后面还需要等待部分国家反垄断审查。 强强联合,布局未来 据英伟达公布的信息显示,英伟达还将通过建立世界一流的AI研究和教育中心,并打造一台由Arm/英伟达驱动的AI超级计算机来进行突破性的研究,扩大Arm在英国剑桥
[机器人]
ARM NAND FLASH读写错误解决办法
在写文件系统的时候出现如下错误: NAND erase: device 0 whole chip Skipping bad block at 0x00254000 Skipping bad block at 0x00258000 Skipping bad block at 0x0025c000 Skipping bad block at 0x00260000 Skipping bad block at 0x00264000 Skipping bad block at 0x00268000 Skipping bad block at 0x0026c000 Skipping bad block at 0x00270000 Skippin
[单片机]
一文看懂嵌入式开发arm技术JTAG接口
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。 一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,TImers,GPIO等等的寄存器。 上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。 例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOC DataSheet
[单片机]
一文看懂嵌入式开发<font color='red'>arm</font>技术JTAG接口
基于ARM处理器的TSC2046触摸屏控制器的应用
0 引言 随着信息技术的不断发展,嵌入式系统正在越来越广泛地应用到消费类电子、通信设备等便携式电子类产品中。触摸屏由于其轻便、占用空间少、灵活等优点,已经逐渐取代键盘,成为嵌入式系统中最简单、方便、自然的一种人机交互方式。触摸屏分为电阻、电容、表面声波、红外线扫描等类型,其中使用最多的是四线或五线电阻触摸屏。四线电阻触摸屏是由两个透明电阻膜构成的,在它的水平和垂直电阻网上施加电压,就可通过转换面板在触摸点测量出电压而对应出坐标值。 TSC2046是典型的逐次逼近寄存器型A/D变换器,其结构以电容再分布为基础,包含了取样/保持功能,支持低电压的I/O接口。本文介绍了利用飞利浦公司的LPC2100系列ARM芯片LPC2132、T
[单片机]
基于<font color='red'>ARM</font>处理器的TSC2046触摸屏控制器的应用
基于ARM9的无线多床位心电监护仪的设计
1 引言 随着社会生活节奏加快、人口逐渐老龄化,心血管疾病已经成为同前威胁人类生命的丰要疾病之一,此类疾病往往具有突发性、短暂性和危险性的特点,如果不能及时发现并进行治疗将会产生非常严重的后果。心电图是检查.诊断和预防该类疾病的主要手段和依据,对于心肌梗塞、心律失常等症状,心电监护仪的使用贯穿于治疗、康复的整个过程。由于传统的基于PC机平台的心电躲护仪,价格昂贵,体积庞大,不便于移动且主要集中在大医院,给医生和病人带来了很大的不便。因此,为了降低成本、缩小体积,本文设计了一种基于ARM9微处理器的新型便携式多床位遥测心电监护仪。该监护仪采用Samsung公司的一款以ARM920T为控制器内核的16/32位高速处理器S3C2
[工业控制]
基于<font color='red'>ARM</font>9的无线多床位心电监护仪的设计
基于DSP、DDS和ARM的雷达中频信号模拟器设计与实现
摘要:介绍了一种基于PC+ARM+DSP+DDS体系结构的通用雷达中频信号模拟器。该系统能够模拟多种体制的雷达中频信号,而且不同信号间切换方便、使用灵活。介绍了该系统的硬件设计和在模拟相参脉冲雷达动目标信号中的应用。 关键词:雷达中频信号模拟器 AD9852 TMS320C6416 S3C44B0X 相参 雷达信号模拟器是模拟技术与雷达技术相结合的产物。它通过模拟的方法产生雷达回波信号,以便在实际雷达系统前端不具备的条件下对雷达系统后级进行调试。随着数字技术的进步,高速、超大规模集成电路的使用,雷达信号模拟系统正朝着灵活、通用的方向发展。笔者设计了一种基于PC+ARM+DSP+DDS体系结构的能家长雷达中频信号模拟器,介绍了该
[嵌入式]
基于Proteus和ADS的ARM虚拟实验室建设
引 言 ARM技术是一门实践性很强的技术,其实验是电子类教学中十分重要的实践教学环节,是培养学生实验技能、创新思维的重要课程。掌握ARM技术已是电子类学生就业的一个基本条件。 目前各个高校相继开设了ARM课程,并逐步开始建立ARM实验室。这些实验室基本都是采用相应的硬件仿真设备来构建的,但由于ARM的种类繁多再加上资金的限制,不可能在一个实验室包括所有种类的ARM仿真设备。虚拟实验作为传统实验的重要补充,克服了诸多条件的限制,丰富了实践性教学的手段,有利于现代实验教学观念的更新。 1 ARM实验教学存在的问题 目前,ARM教学中存在如下问题: ①ARM课堂教学多以理论教学为主,教学中需要很多硬件设
[单片机]
基于Proteus和ADS的<font color='red'>ARM</font>虚拟实验室建设
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved