基于单片机的自动循迹智能小车的设计.docx
- 文档编号:23821887
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:15
- 大小:418.48KB
基于单片机的自动循迹智能小车的设计.docx
《基于单片机的自动循迹智能小车的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的自动循迹智能小车的设计.docx(15页珍藏版)》请在冰豆网上搜索。
基于单片机的自动循迹智能小车的设计
单片机课程设计报告书
课题名称
基于单片机的自动循迹智能小车的设计
姓名
谭志平
学号
081250133
院系
物理与电信工程系
专业
电子科学与技术
指导教师
肖卫初副教授
2011年6月10日
一、设计任务及要求:
本课程设计以ATmega16为核心,用L298N驱动两个减速电机,当产生信号驱动小车前进时,是通过循迹模块里的红外对管是否寻到黑线产生的电平信号通过LM324再返回到单片机,单片机根据程序设计的要求做出相应的判断送给电机驱动模块,让小车来实现前进、左转、右转、停车等基本功能。
本设计要求设计的模块主要有:
单片机最小系统模块、传感器循迹模块、L298驱动直流电机模块、LCD12864液晶显示模块、电源模块等。
指导教师签名:
2011年04月 22日
二、指导教师评语:
指导教师签名:
2011年 6 月 16 日
三、成绩
验收盖章
2011年6 月 16日
基于单片机的自动循迹智能小车的设计
谭志平
(湖南城市学院物理与电信工程系电子科学与技术专业,益阳,413000)
1设计目的
本课程设计的主要目的是设计一智能循迹小车,通过设计把所学的知识运用到实践中,通过本次设计更好的掌握单片机的控制原理以及传感器的知识。
真正的做到学以致用。
2设计的主要内容和要求
当前的电动小汽车基本上采取的是基于纯硬件电路的一种开环控制方法,或者是直线行使,或者是在遥控下作出前进、后退、转弯、停车等基本功能。
但是它们不能实现在某些特殊的场合下,我们需要能够自动控制的小型设备先采集到一些有用的信息的功能。
本设计正是在这种需要之下设计的一种智能的电动小车的自动控制系统。
它是以单片机ATmega16为控制核心,附以外围电路,在画有黑线的白纸“路面”上行使,由于黑线和白线对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”——黑线。
判断信号可通过单片机控制驱动模块修正前进方向,以使其保持沿着黑线行进。
轨迹探测模块用5只光电开关。
通过检测5只光电开关的电平状态,来判断小车的运行状况,当小车有偏转时,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶等智能控制系统。
3整体设计方案
经过反复论证,最终确定了如下整体设计方案:
(1)车体用现成的玩具小车改装,前轮驱动,后轮为万向轮。
(2)采用ATmega16单片机作为主控制器。
(3)L298N作为直流电机的驱动芯片。
(4)用TCRT5000型光电对管进行循迹。
(5)用LCD12864液晶显示小车的运行时间。
(6)用自制的直流稳压电源给单片机和驱动芯片L298等供电,稳压电源可以输出12V和5V。
系统的总体设计方框图如下图所示:
图3.1系统总体方框图
系统总体方框图如图3.1所示所示,整个电路系统分为TCRT5000循迹模块、STC89C51控制模块、L298驱动模块、LCD12864显示模块、电源模块等五个模块。
工作原理为:
首先利用光电对管对路面信号进行检测,经过比较器LM324处理之后,送给软件控制模块进行实时控制,当任意一个光电对管检测黑线后,小车进入寻线环节,光电对管继续对路面信号进行检测,同时根据检测的结果小车输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。
4.系统方案论证与比较
4.1主控制器选择
方案一选用51单片机,该控制器具有性能稳定,价格便宜,I/O端口分布简单,便于接口电路的设计,易于控制和操作,执行程序速度和功耗可以满足一般系统的要求,是实现阶段比较常用的微处理器。
方案二采用ATMEL公司的ATmage16单片机,该控制器属于增强型内置Flash的RISC精简指令集高速8位单片机,有多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能,使得电路设计变得非常简单,并且内部资源丰富,一般都集成模/数转换器、SPI、PWM、USART、TWI通信口和丰富的中断源等。
小车控制时需要控制小车的速度,ATmage16单片机的定时器可以直接输出PWM,方便速度的控制。
综合考虑采用方案二。
4.2控制电机选择的比较与论证
方案一利用步进电机的准确定长步进性能方便的实现调速和方向的偏转,且能准确的测量速度、路程以及时间,简化编程和硬件连接的工作量。
但是步进电机在与机械配合的小车改装上难度极大,非短时间所能完成。
该方案实现较困难。
方案二用小车上自带的双直流电机分别负责小车的驱动的功能,依据外围红外反射传感器所采集到的信息可以补足直流电机定位不准的缺点,同时红外反射传感器的使用还能实现比较准确的寻迹行驶,用较好的控制算法及特色硬件来提高小车的整体性能,可具有很高的性能/价格比。
电机驱动可采用PWM调速方案可以很方便地在程序中实现对电机的调速,减少硬件电路。
经比较验证,显然方案一的机械结构也短时间内难以满足题目的要求,而方案二本身是与小车相兼容的,性能也比较好,采用方案二。
4.3循迹模块设计与比较
方案一采用发光二极管+光敏电阻,该方案缺点:
易受到外界光源的干扰,有时甚至检测不到黑线,主要是因为可见光的反射效果跟地表的平坦程度、地表材料的反射情况均对检测效果产生直接影响。
克服此缺点的方法:
采用超高亮度的发光二极管能降低一定的干扰,但这又会增加检测系统的功耗。
方案二脉冲调制的反射式红外发射接收器。
由于采用带有交流分量的调制信号,则可大幅度减少外界的干扰;此外红外发射接收管的工作电流取决于平均电流,如果采用占空比小的调制信号,在平均电流不变的情况下,瞬时电流很大(50~100mA),则大大提高了信噪比。
此种测试方案反应速度大约在5us。
方案三采用多路阵列式光敏电阻组成的光电探测器。
根据以上分析我们采用方案2,同时能实现的反射式红外发射接收器众多,我选择了市场比较多见的TCRT5000作为检测黑线的传感器。
4.4时间显示模块的设计与比较
方案一:
采用LED数码管显示小车行驶的时间,在本系统中用到LED数码管进行动态显示即可达到要求。
其优点是价格便宜,寿命长;缺点是只能显示0~9的数字和一些简单的字符,且数码管的驱动电路以为段选、位选电路设计繁锁,且占用空间。
方案二:
采用LCD12864液晶显示,其优点是能显示更多的字符、汉字,工作电流比LED小,故其功耗低,硬件电路设计简单,且可以有良好的人机界面,直观,显示效果漂亮,体积小。
综合考虑选择此方案。
4.5电源选择
方案一采用4节1.5V干电池供电,电压达到6V,经7805稳压后给单片机、电机和其他芯片供电。
但干电池电量有限,使用大量的干电池给系统调试带来很大的不便,因此,放弃了这种方案。
方案二采用自制的稳压电源,该自制的稳压电源可以输出12V、9V、5V。
5V供给ATmega16单片机、L298的TTL逻辑电平信号VSS电压(VSS可接4.5~7V)和LM324芯片等,9V作为L298电压VS(VS电压范围VIH为+2.5~46V)。
综上考虑,选择了方案二。
5系统的硬件设计
5.1ATmega16单片机最小系统设计
ATmega单片机最小系统主要包括复位电路和时钟晶振电路。
复位电路采用的是低电平复位,晶振电路中晶振频率为12Mhz。
ATmega16单片机最小系统如下图所示:
图5.1STC89C51单片机最小系统
5.1.1时钟电路
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通
常用两种电路形式得到:
内部振荡和外部振荡。
ATmega16单片机内部有一个用于
构成振荡器的高增益反向放大器,引脚XTALl和XTAL2分别是此放大电器的输
入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实
际使用中常采用这种方式,如图3.2所示在其外接晶体振荡器(简称晶振)或陶
瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外
石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。
图5.1中外接晶体以及电容C2和C1构成并联谐振电路,它们起稳定振荡频
率、快速起振的作用,其值均为30P左右,晶振频率选12MHz。
5.1.2复位电路
为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位
后可使CPU及系统各部件处于确定的初始状态,并从初始状态开始正常工作。
单片机的复位是靠外电路来实现的,在正常运行情况下,只要RST引脚上低电平持续时间大于最小脉宽时即触发复位过程,此时没有时钟信号在运行,当外加信号达到复位门限电压时,复位延时开始,延时结束后单片机开始工作。
ATmega16采用的是低电平复位。
图5.1中R和C组成复位电路,其值R取为10K,C取为10uF。
5.2电机驱动电路的设计
本系统采用电机驱动芯片L298配合8个二极管1N4148的过流保护作用作为电机驱动模块,驱动电路的设计如下图所示:
图5.2L298电机驱动模块
L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。
是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。
1脚和15脚可单独引出连接电流采样电阻器,形成电流传感信号。
L298的逻辑功能如下表所示:
表5.1L298的逻辑功能
ENA(B)
IN1(IN3)
IN2(IN4)
电机运行情况
H
H
L
正转
H
L
H
反转
H
同IN2(IN4)
同IN1(IN3)
快速停止
L
X
X
停止
下图是L298的引脚封装图:
图5.3L298芯片封装图
L298可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。
5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。
L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可以实现两个直流电机的PWM调速以及正反转等功能。
5.3循迹模块设计
本循迹模块采用的是红外反射对管TCRT5000,TCRT5000的实物和引脚图如下图所示:
图5.4TCRT5000实物、引脚图
红外反射对管TCRT5000循迹的原理图如下图所示:
图5.5TCRT5000循迹模块原理图
循迹原理分析:
红外反射对管TCRT5000的红外发射二极管不断发射红外线,当小车在白色地面行驶时,装在车下的红外发射管发射红外线信号,经白色反射后,被接收管接收,一旦接收管接收到信号,那么图中光敏三极管将导通,比较器输出为低电平,指示二极管点亮;当小车行驶到黑色引导线时,红外线信号被黑色吸收后,光敏三极管截止,比较器输出高电平,指示二极管熄灭。
从而实现了通过红外线检测信号的功能。
将检测到的信号送到单片机I/O口,当I/O口检测到的信号为高电平时,表明红外光被地上的黑色引导线吸收了,表明小车处在黑色的引导线上;同理,当I/O口检测到的信号为低电平时,表明小车行驶在白色地面上。
通过装在小车上的五个指示二极管可以判断小车的状态。
5.4显示模块设计
本模块采用不带字库的LCD12864液晶显示小车的运行时间。
LCD12864液晶显示模块引脚说明如下:
◆第1脚:
VSS为电源地。
◆第2脚:
VDD接+5V电源。
◆第3脚:
对比度调整,使用时可以通过一个10K的电位器调整对比度。
◆第4脚:
RS为寄存器选择:
RS=H,选择数据寄存器,RS=L,选择指令寄存器。
◆第5脚:
RW为读写选择信号线。
◆第6脚:
EN为使能端,当EN由高电平跳变到低电平时,液晶模块执行命令。
◆第7-14脚:
DB0-DB7为8位双向数据线。
◆第15脚:
CS1,选择左屏。
◆第16脚:
CS2,选择右屏。
◆第17脚:
RST,复位
◆第18脚:
VOUT,LED驱动负电压。
◆第19脚:
背光电源正极,接+5V。
◆第20脚:
背光电源地。
LCD12864液晶模块与单片机的接法如下图所示:
图5.6LCD12864液晶原理图
5.5电源模块设计
由于小车功耗比较大,干电池难以满足要求,故设计一直流稳压电源,可以同时输出5V和12V。
市电AC220V/50HZ经过变压、整流、滤波、稳压后可以输出稳定的5V和12V。
稳压芯片采用的是LM7805和LM7812。
电源电路原理图如下图所示:
图5.7TCRT5000循迹模块原理图
6系统的软件设计
软件设计部分主要包括主函数和循迹函数:
6.1主函数流程图
图6.1主函数流程图
6.2循迹函数流程图
图6.2循迹函数流程图
7系统仿真
图7.1系统仿真图
8使用说明
9设计总结
参考文献
[1]徐益民,范红刚,苏凤武.零基础学AVR单片机—基于ATmega16、汇编及C语言[M].北京:
机械工业出版社,2011:
136-167
[2]彭伟.单片机C语言程序设计实训100例—基于AVR+Proteus仿真[M].北京:
北京航空航天大学出版社,2010:
217-226
[3]秦志强,彭建盛,谭立新.AVR单片机与小型机器人制作[M].北京:
电子工业出版社,2009:
72-93
[3]黄智伟.全国大学生电子设计竞赛训练教程[M].北京:
电子工业出版社,2005:
348-371
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 自动 智能 小车 设计