基于Motorola单片机的机器人追跑控制系统

发布者:风清扬yx最新更新时间:2010-08-08 来源: 世界电子元器件关键字:移动机器人  单片机  语音模块  PT2262 手机看文章 扫描二维码
随时随地手机看文章
    机器人作为人类20世纪最伟大的发明之一,在短短的40年内发生了日新月异的变化。随着计算机技术、通信技术、传感器技术等的发展,机器人之间的互动成为机器人技术的一大热点。

    本文设计了一种基于摩托罗拉MC68HC08系列单片机的机器人追跑控制系统,用于研究机器人之间的简单互动。

移动机器人行为描述   

    在此系统中,我们将两个移动机器人一个命名为“猫”,一个命名为“鼠”。当两个机器人都无法接收到对方发出的信号时,机器人“猫”以S形前进,机器人“鼠”在原地进行180度摆动;当机器人“猫”检测到机器人“鼠”发出的信号时,以直线追向机器人“鼠”的方向,而机器人“鼠” 同时接收到“猫”的信号,以直线向前移动,以躲避“猫”的追赶,直至逃出“猫”的接收范围,重复无法接收到信号时的行为;如果“猫”在一段时间内都无法发现“鼠”的存在,就发出声音报警。在整个过程中,由于环境未知,“猫”和“鼠”都有避障控制,而且可以根据不同的行为状态,播放不同的音乐。

系统硬件设计   

    “猫”、“鼠”两个机器人的电路设计基本相同,都是由单片机系统、红外收发模块、电机控制模块和语音模块构成,其不同是红外线发射管和接收管阵列的排列有所不同。单片机选用Motorola公司的8位微处理器M68HC908GP32(42管脚封装);红外收发模块使用PT2262和放大器组成的简单红外线收发电路;电机控制模块选用L293D进行电机驱动;语音模块选用ISD25120控制放音。另外,系统地电源模块使用12V干电池。   

单片机系统   

    MC68HC08系列中的单片机是Motorola公司1999年推出的8位微控制器,具有速度快、功能强、功耗小及价格等特点。

    我们在设计中选用的M C68H C908GP32单片机是MC68HC08系列微控制器的第一 批产品,其特点是片内资源丰富、高性能,低价位,且具有多种保护功能,适用于各种数据处理平台搭建。在这里我们主要用它完成红外信息融合、电机控制及语音播放控制。

    设计中,两个机器人上单片机的主要端口设置相同,如表1所示。另外避碰的三个触点开关控制为PTB0、PTB6、PTA7。   

红外收发模块   

    红外发射模块使用PT2262和红外发射管阵列构成的红外发射电路。红外接收电路使用红外接收管阵列和放大器组成。接收到的信号输入至单片机的PTB7端口,经过A/D转换后,送入处理器,以控制机器人的行为转换。

电机控制模块   

    电机驱动电路采用基于双极性H-桥型脉宽调整方式PWM的集成电路L293D。L293D具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区;低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。

    机器人有三个车轮,两个使用电机控制,另一个为万向轮,因此使用1片L293D进行控制即可。将两路PMW控制信号分别接至两路电机控制的使能引脚EN12和EN34,通过调整PWM的占空比可以调整电机的转速。将电机正反转控制线分别接入IN1、IN2、IN3和IN4,,通过写入不同的值控制两个电机的正转和反转。   

语音模块   

    为了区别移动机器人的各个不同状态,我们使其在做出不同动作的同时,可以播放不同的声音。为了达到这个目的,语音控制部分选用语音芯片ISD25120。ISD25120的录放时间为120秒,录音最多能分600段。只要在分段录/放音操作前(不少于300纳秒),给地址A0"A9赋值,录音及放音功能均从设定的起始地址开始。

    在设计时,除了用单片机控制ISD25120的复位和触发端外,使用四位I/O控制芯片的放音起始地址。在初始化时,分别将两个机器人的不同信息写入语音芯片的A0"A3,选择放音;在动作过程中,在行为发生改变时,写入新的信息,改变放音选择,播放不同音乐。   

系统软件设计   

    系统软件主要由主程序模块、中断服务程序模块、语音控制模块和运动规划模块等部分组成。整个系统的软件部分采用汇编语言编写。

结论   

    经过实验证明,两个机器人在不受外界干扰的情况下,能够正确地完成追跑动作。此设计为研究机器人之间简单互动提供了试验平台。在以后的研究中,通过改变传感器位置及内部程序,可以改变二者间的互动关系,例如协作等,进行更深的研究。
关键字:移动机器人  单片机  语音模块  PT2262 引用地址:基于Motorola单片机的机器人追跑控制系统

上一篇:PIC16LF874单片机在电容测量模块中的应用
下一篇:MCU市场洗牌在即,差异化是取胜关键

推荐阅读最新更新时间:2024-03-16 12:29

AVR单片机的RC5和RC6算法比较与改进
摘要:RC5及RC6是两种新型的分组密码。AVR高速嵌入式单片机功能强大,在无线数据传输应用方面很有优势。本文基于Atmega128高速嵌入式单片机,实现RC5和RC6加密及解密算法,并对算法进行汇编语言的优化及改进。根据实验结果。对两种算法的优热点进行比较和分析。 关键词:Atmega128 RC5 RC6 分组密码 混合密钥 Flash 引言 在无线局域网中,传输的介质主要是无线电波和红外线,任何具有接收能力的窍听者都有可能拦截无线信道中的数据,掌握传输的内容,造成数据泄密。因此,对于无线局域网来说,数据的加密是关键技术之一。 AVR高速嵌入式单片机是8位RISC MCU,执行大多数指令只需一个时钟周期,速度快(8M
[单片机]
基于MTV412微控制器1对8的ISP系统
引 言 随着微控制器应用领域的不断扩展和深入,越来越多种类的微控制器具有ISP(In Systern Programming,在系统编程)功能。使用ISP可以使工厂在产品设计、制造过程中不必把微控制器从目标板中拔出,通过I2C实现在线体上程序升级。目前,在国内一线工厂,主设备(上位机)一般都用PC,这样不仅浪费资源,而且灵活性较差;同时由于在线体上只能对单个从设备进行程序更新,严重影响了工厂的生产效率。为此,本文设计了一种基于MTV412微控制器的l对8的ISP系统,主设备采用Myson公司的MTV412,可以同时对8台从设备进行在线程序更新。 目前,51内核的微控制器ISP模式一般分为两大类:一类是使用JTAG协议的IS
[单片机]
基于MTV412<font color='red'>微控制器</font>1对8的ISP系统
STM32单片机怎么实现?
有一次我在给内部学员直播的时候,有几个小伙伴问我,为什么要进入临界,临界有什么用? 当时一时半会没想到好的解释,今天举几个例子来解答下。 如果有大佬觉得我说得不对请私聊我纠正,不要偷偷在评论区喷我,我改还不行吗。 进入临界和退出临界,我第一次接触是在ucos系统,当时我也感觉这个专业术语很牛逼很复杂的样子。 等我讲完人话,你会发现其实也挺low。 进入临界就是关闭单片机总中断, 退出临界 就是恢复单片机中断 , 记住最好是恢复,不是打开 ,因为进入临界之前单片机总中断未必是开着的。 那为什么要进入临界?有什么作用? 我们假设一种场景: 我们来看这样一段代码。 假设我们程序执行到第12行,也就是a = 0的位置,*p的值肯定
[单片机]
51单片机C语言程序100例分析(1)IO+C语言+头文件
//实例1:用单片机控制第一个灯亮 #include reg51.h //包含51单片机寄存器定义的头文件 void main(void) { P1=0xfe;//P1=11111110B,即P1.0输出低电平 } 分析:通过这短短的几行代码就可以让51单片机的P1.0引脚输出低电平,首先#include reg51.h 这句代码是包含51单片机寄存器定义的头文件,51单片机是寄存器和IO统一编址的,所以你往相应的寄存器中写1就会在对应引脚输出高电平,写0就会输出低电平,我们知道51共32个引脚作为IO端使用,所以只需要四个寄存器(一个寄存器是8位,这取决于数据总线),打开头文件就会发现P0和0X80这个
[单片机]
PIC单片机基础知识之一
PIC16中档单片机的基本架构 PIC16中档系列单片机是精简指令集的单片机,它具有以下特性: 内部为哈佛结构 指令流水线操作 文档寄存器的概念 单指令周期 所有指令为单字指令 长字指令 指令数很少 指令实现的功能基本不重复 接下来分别介绍上面各个特性。 1)哈佛结构-介绍哈佛结构通常要和冯.纽曼结构对比来介绍。我们熟悉的8086就是一种典型的冯.纽曼结构,它的程序和数据是共用同一个存储空间,CPU也是使用同一个总线来访问它们。那么,取指令和取数据势必分时来进行,这就限制了数据的流量。和它相对应的哈佛结构,则是不同。哈佛结构的典型特点就是程序和数据是分立的空间,CPU对程序和数据的访问也是使用完全独立的两套总线。所
[单片机]
ATMEL系列MCU在线升级bootloader固件源码及操作过程
前几天出差,无意间问了大家是否需要bootloader实现在线升级,需要的还是比较多,在这里我就把我实现过程与大家分享,并我的bootloader固件给大家参考。我在mage和xmage上都实现过,不过我使用的RS485,所以固件里面也是RS485的,大家使用RS232的话,把RS485的控制去掉就可以了,RS232实现起来比RS485简单,因为RS232是全双工的。 我开发使用的环境是Atmel Studio 6.2,这个看大家习惯,环境主要就是实现可执行文件。bootloader固件都是C语言 实现,相信大家都能看明白,这里就直接上传bootloader固件源码。bootloader固件是需要仿真器等设备下载到设备中的。
[单片机]
ATMEL系列<font color='red'>MCU</font>在线升级bootloader固件源码及操作过程
激光导航移动机器人工作方式大揭秘
伴随移动机器人(AGV)产业快速发展,导航移动机器人以其自主、灵活、高效、精准的优势成为市场上最受欢迎的移动机器人产品,并在工业制造、医疗教育、商用服务等诸多领域广泛应用。在移动互联网及各大新媒体平台的作用下,激光导航移动机器人产品逐渐走进大众视野,成为人们生活中的屡见不鲜的“新物种”。但是对绝大多数的普通大众而言,激光导航移动机器人是如何工作的,好似成为了新的世界未解之谜,让大家百思不得其解。 今天,小编就带大家来揭开这个“未解之谜”。 激光导航移动机器人要想完成作业任务,首先得解决这三个基本问题:“我在哪儿?”、“我要到哪里去?”、“我应该怎样去?”。而要解决这三个问题就需要对移动机器人进行定位、建立地图及路径规划。
[机器人]
单片机大容量FLASHRAM的扩展
微机监控设备常常需要对监控的数据进行实时记录,以便于事后分析处理,为事故分析、设备故障诊断和维修提供准确可靠的信息,如飞机“黑匣子”、列车“运行记录器”等。数据信息的记录需要大数据容量和实时快速的读写速度,以及在掉电和复位等干扰下的可靠的数据保护。现在一般采用非易失性RAM(NVRAM)为存储介质,其缺点是没有硬件和软件写保护,在强干扰下,程序误写的概率大。 新型闪速存储器(FLASHRAM)由于同时具有EPROM的可编程能力和EEPROM的电可擦写功能,又能像SRAM一样进行随机快速访问,因而越来越多的受到国内外的广泛关注和应用。28F040是一个容量为512K×8Bit可块擦除、字节编程的EEPROM,其擦除、编程电压均为
[缓冲存储]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

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

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