轮式移动机器人的循迹设计

发布者:创意小巨人最新更新时间:2016-03-17 来源: 21ic关键字:智能电动小车  单片机  自动控制 手机看文章 扫描二维码
随时随地手机看文章
1 智能循迹小车总体设计方案

1.1 整体设计方案

1)根据设计要求,确定控制方案。

2)利用Proteus设计合理的硬件原理图。

3)画出程序流程图,使用C语言进行编程。

4)在洞洞板上焊接元器件,然后往单片机内烧录程序。

5)进行调试以实现控制功能。

1.2 整体控制方案确定

图1为智能循迹小车的系统控制框图。黑色引导线是小车进行跟踪的目标,循迹传感器对目标轨迹进行检测,然后将得到的信息反馈给单片机进行处理,单片机处理后给电机驱动发出控制信号对两个直流电机进行控制,从而确保小车可以沿预定的路线正确行驶。

a.jpg

本设计使用两节3,7 V充电电池对整个系统进行供电,主控芯片为STC公司的89C52,直流电机的驱动模块为L298N,它可改变芯片控制端的输入电平,利用TTL进行控制,从而完成电机的正反转以及停止操作。用光敏电阻组成光敏循迹传感器。这样就组成了一个如图所示的带有反馈信号的系统。

2 系统的硬件设计

2.1 单片机电路的设计

单片机内部包括ROM、RAM以及定时器、计数器、中断系统等。单片机在硬件电路设计时,由于单片机内部单元不能完全满足系统设计的需要,因此我们必须对其进行必要的扩展,增加相应的外围设备,如D/A、A/D转换器、键盘、显示器等,以满足我们的需求。本设计选择的是STC公司的产品 STC89C52单片机。

2.1.1 晶振电路

晶振的作用是为系统提供基本的时钟信号,本文选用的是11.059 2 MHz无源晶振来为系统提供基本的时钟信号,同时为了防止振荡电路因为回路不通而停止振荡,导致电路不能正常工作,本文使用2个30pF电容起到并联谐振的作用。这样使得一个机器周期约为1μs。

2.1.2 复位电路

89系列单片机通过向RST引脚输入复位信号到芯片内的施密特触发器中。本文采用的电容值为10μF的电容和阻值为1 kΩ的电阻。单片机上电后,电容会进行充电,RST会持续高电平一段时间。同样,若单片机运行中按下复位按钮也会使得RST引脚持续高电平,这就是单片机上电和复位的操作。

2.2 光电传感器模块

光电传感器循迹电路图如2所示。循迹传感器的工作原理:Signal端会检测信号的输出,当传感器检测黑色轨迹时,光电传感器发出的红外线会被黑色轨迹大量吸收导致反射回来的很弱,三极管就不导通,Signal端输出高电平,从而发光二极管熄灭;当传感器检测白线时,与黑线相反,这时光电传感器发射的红外线被白线反射回来的很强,光敏三极管会导通,Signal输出低电平,从而发光二极管点亮。

b.jpg

将程序烧录到单片机后,小车就可以按写入的相应程序执行循迹功能了。小车在正常前进时,左右两边传感器均产生两个低电平。当小车向右行驶偏离黑线时,左边传感器会产生一个高电平,反馈给单片机处理后,单片机会给小车发出一个信号,小车向左拐。当小车向左行驶偏离黑线时,同理,右侧传感器产生高电平,小车右拐。这样,小车一定不会偏离黑线。当两边的光电传感器同时输出的信号为高电平时,即单片机判断的都为高电平时,小车停止前进。

2.3 电机驱动

本设计采用L298N电机驱动芯片来对两个12V的直流电动机进行控制。L298N是ST公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46 V、2 A以下的电机。其中1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。

2.3.1 电机驱动原理

而图3所示就是直流电机与驱动芯片接线图,它在原有基本H桥电路的基础上又增加了四个二极管来保护电路。一个“使能”导通信号和四个与门相接,这样,用这一个信号我们就可以控制整个电路的开关了。

c.jpg

采用以上方法,电机的运转就只需要用三个信号来控制:一个使能信号和两个方向信号。如果DIR—L信号为“0”,DIR—R信号为“1”,并且使能信号是 “1”,那么三极管Q1和Q4导通,电流从左至右流经电机;如果DIR-L信号变为:“1”,而DIR—R信号变为“0”,那么Q2和Q3将导通,电流则反向流过电机。

2.3.2 小车运动逻辑

如表1。

d.jpg

3 系统的软件设计

本设计使用Keil软件并采用C语言来编译程序。

软件的烧录:

第一步:安装并运行STC_ISP_V480软件;

第二步:点击MCU Type栏的倒三角选项;选择对应的单片机型号STC89C52RC。

第三步:点击打开程序文件选项选择已经编译好的HEX文件。

第四步:打开设备管理器找出下载端口,选择相应的COM口,点击“点击Download/下载”,对话框出现正在尝试与单片机握手,请上电,再给单片机供电,烧录完成。

软件设计系统主程序流程图如图4所示。

e.jpg

部分系统程序附录如下:

f.jpg
g.jpg
h.jpg

4 结论

本设计的内容主要是智能小车的循迹系统。所设计小车采用四个光电传感器来检测循迹路线,同时对得到的数据进行融合处理。得到了以下成果:

1)小车可以在外部环境无改变时,沿着预先设定的轨道正常循迹。

2)经过数十次的测试证明,当传感器呈M形布局时,易产生不稳定的震荡信号,从而影响小车行驶时的稳定性,但M型布局最适合检测弯道较多的轨迹。因为传感器M形布局时,他们不在同一直线上,这样的话小车在转弯时,左右两边后部的传感器就会有较大的采样空间,两边前端的传感器则对采集的信号有更好的前瞻性。整个布局有利于在弯道处提高小车速度。

3)小车保留了扩展功能。小车在完成预计功能前提下,预留部分软件和硬件接口,保留一定扩展功能。

关键字:智能电动小车  单片机  自动控制 引用地址:轮式移动机器人的循迹设计

上一篇:基于单片机红外遥控多功能电子钟设计
下一篇:轮式移动机器人的循迹设计

推荐阅读最新更新时间:2024-03-16 14:47

51单片机解决调试过程
对于一个新设计的电路板,调试起来往往会遇到一些困难,特别是当板比较大、元件比较多时,往往无从下手。但如果掌握好一套合理的调试方法,调试起来将会事半功倍。对于刚拿回来的新PCB板,我们首先要大概观察一下,板上是否存在问题,例如是否有明显的裂痕,有无短路、开路等现象。如果有必要的话,可以检查一下电源跟地线之间的电阻是否足够大。 然后就是安装元件了。相互独立的模块,如果您没有把握保证它们工作正常时,最好不要全部都装上,而是一部分一部分的装上(对于比较小的电路,可以一次全部装上),这样容易确定故障范围,免得到时遇到问题时,无从下手。一般来说,可以把电源部分先装好,然后就上电检测电源输出电压是否正常。如果在上电时您没有太大的把握(即使有
[单片机]
IIC记忆单片机开机次数
IIC具有记忆功能,其实之前没有体会好为什么会记忆,因为编的程序是让灯闪烁的,所以理解不出它可以所谓记忆的原理,今天通过数码管让其记忆单片机开机次数,终于明天了它的真正原理,其实是单片机控制它的时候,程序不断运行,把程序运行得到的数据不断地写入IIC寄存器中,而寄存器是掉电后不数据不会丢失的,所以当我们把程序关了,也就是掉电了以后数据被保存了下来,下次再开机运行的时候,程序是从头开始的,但是地址是从我们上次我们寄存器储存地址开始的,所以就达到了记忆的功能。这个的应用在数据的存储和保护是很大的,比如交通灯记忆违章车辆,账户储存,数据累积等可以靠它进行储存。 下面是IIC记忆单片机开机次数的程序: 程序如下: //版权所有:单片机网h
[单片机]
STC89C52单片机的定时器使用
//////////////////////////////////////////////////////////////////////// 实现功能: 配置定时器2的相关寄存器,使其实现定时器中断功能,然后根据中断 的周期频率实现准确的时钟系统,在数码管上显示实现 实验板型号:BS-XYD-C52 实验名称: 定时器2实现时钟系统 编写人: 谢应东 编写日期: 2012-4-28 ///////////////////////////////////////////////////////////////////////// #include reg52.h #def
[单片机]
详解51单片机如何烧录程序
单片机烧录程序和调试方法。以51为例,介绍:如何编译程序,如何下载程序到单片机,以及接线图。 为了过程方便,通常会新建一个英文文件夹,这里以qq文件夹为例。将好的C 程序LED.C放入qq文件夹 打开keil软件,选择菜单栏的project,在它的下拉菜单里选第一个New uVision project,这里将这个工程命名为qq,并保存到我们建立的qq文件夹内,点击确定后,会弹出下面对话框 找到Atmel,在它的左侧有+号,点击会展开一系列芯片型号,找到AT89C51,点击并点选下面的ok,弹出下面的对话框,选择 否 进入编辑页面后,看到左侧空白窗格的+Target 1,点击它前面的+号,弹出Sou
[单片机]
详解51<font color='red'>单片机</font>如何烧录程序
抢行动商机 NXP强推双电压Cortex-M0 MCU
        恩智浦(NXP)Cortex-M0微控制器(MCU)将大举压境行动市场。着眼于各种行动装置对尺寸及功耗表现的苛求,恩智浦在2月14日发布基于安谋国际(ARM)Cortex-M0核心的32位元MCU,并将于4月导入量产;除以独特的双电压供应模式降低功耗外,更同时兼顾高运算效能及迷你尺寸优势,有助客户实现轻薄、长效操作的产品设计圭臬。     恩智浦MCU产品线市场行销总监Jan Jaap Bezemer表示,尽管恩智浦一直以来着重研发工控领域的MCU解决方案,然而,值此行动装置市场蓬勃发展之际,该公司亦透过Cortex-M0核心开发尺寸仅2毫米×2毫米,且运算时脉最高可达50MHz的32位元MCU系列产品--LPC
[手机便携]
51单片机课程设计——led点阵广告牌程序设计
上学期期末的课设题目是led点阵广告牌,当时的要求如下: (1)能够显示不同字符的LED点阵广告牌; (2)按键切换不同的显示效果(如闪烁,静止,平移等); (3)按键切换不同的显示内容; (4)能够显示图形或自定义字符; (5)其他功能(创新部分); (6)系统调试、分析、总结与功能实现。 当时用的是我用是的普中科技的STC90C51RD+的单片机,不过只要是51单片机,换哪个51内核的芯片都可以,只要电路和程序匹配就可以。 我用的那款普中科技的51单片机可以直接连线决定线路的布置,不需要自己去重新焊一个电路板。 然后我根据任务要求连接了电路,写了对应的程序,还有proteus仿真。 另外,觉得有趣可以点个赞;有什么
[单片机]
51<font color='red'>单片机</font>课程设计——led点阵广告牌程序设计
ATMEA48单片机太阳能光伏板
单片机源程序如下: //晶振1M #include iom48v.h #include macros.h /******************************************************************** 数据类型定义 *********************************************************************/ #define uchar unsigned char #define uint unsigned int #define LED1_K PORTB|=BIT(0) #define LED1_G PORTB&=~B
[单片机]
ATMEA48<font color='red'>单片机</font>太阳能光伏板
在进行单片机设计时需要注意哪些事项
1.降低外时钟频率 外时钟是高频的噪声源,除能引起对本应用系统的干扰之外,还可能产生对外界的干扰,以8051单片机为例最短指令周期1μs时,外时钟是12MHz。而同样速度的Motorola单片机系统时钟只需4MHz微控制器产生的最有影响的高频噪声大约是时钟频率的3倍。 2.低噪声系列单片机 改进的技术将电源、地安排在两个相邻的引脚上,外部去耦电容在PCB设计上更容易安排。 3.时钟监测电路、看门狗技术与低电压复位 时钟监控有效与省电指令STOP是一对矛盾。只能使用其中之一。 看门狗技术是监测应用程序中的一段定时中断低电压复位技术是监测单片机电源电压,当电压低于某一值时产生复位信号。由于单片机技术的发展,单片机本身对电源电压
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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