搜档网
当前位置:搜档网 › 智能小车课程设计

智能小车课程设计

智能小车课程设计
智能小车课程设计

.

智能巡线小车的设计(A)

[摘要]本次毕业设计分为四个模块:电源模块、路面检测模块、单片机最小系统、电机驱动模块。电源模块是采用12V电源双路供电,一路直接供给电机,一路经过稳压电路输出5V电源给LM324、单片机和L298N。循迹模块是采用三个单反射式红外传感器TCRT5000并排安装,来检测路面情况,输出给单片机TTL电平信号。单片机最小系统是满足单片机工作的系统。电机驱动选择的是驱动芯片L298直接驱动两个直流减速电机,并采用PWM调节速度,达到两个电极不同速度,从而控制小车的行驶速度。

[关键词] 单片机电源路面检测电机驱动PWM

Smart Patrol Line Vehicle

Yangbin

(Grade 07,Class 02, Major Technique of Measuring Control and Instrument,Mechanical Engineering Dept.,Shaanxi University of Technology,Hanzhong 723003,Shaanxi)

Tutor:Liang yingxuan

Abstract:The graduation project is divided into four modules: power supply module, the road detection module, the smallest single chip system, the motor drive module. 12V power supply module is the use of dual power supply, direct supply of the motor all the way, all the way through the 5V output voltage regulator to power the LM324, MCU and L298N. Tracking module is the use of three single-reflection infrared sensor TCRT5000 side by side, to detect the road conditions, the output TTL level signal to the microcontroller. Minimum system MCU is to meet the minimum system work system. Motor driver chips L298 is selected to drive two DC gear motor directly, and use PWM to adjust the speed to achieve two electrodes at different speeds to control car speed.

Key words:MCU power supply the road detection Motor driver PWM

目录

1引言 (1)

1.1智能小车的意义和作用 (1)

1.2智能小车的现状 (2)

1.3 论文各部分的主要内容 (2)

2 方案论证与选择 (3)

2.1 任务 (3)

2.2 电源模块的设计 (3)

2.3 路面检测模块的设计 (4)

2.3.1 传感器类型选择 (4)

2.3.2 红外传感器方案 (4)

2.3.3 电压比较器选择 (5)

2.4 控制电机方案比较 (5)

2.5 电机驱动方案的比较 (5)

2.6 主控制芯片选择 (6)

2.7 本章小结 (6)

3 硬件电路的设计 (7)

3.1 总体设计 (7)

3.2 单片机最小系统 (7)

3.2.1 时钟电路 (8)

3.2.2 复位及复位电路 (9)

3.3路面检测模块 (12)

3.3.1 传感器TCRT5000介绍 (12)

3.3.2 比较器LM324 (13)

3.3.3 具体电路 (14)

3.3.5 TTL电平 (16)

3.4 电源模块 (17)

3.5 电机驱动模块 (18)

3.5.1 电机驱动芯片L298N (18)

4 软件设计 (20)

4.1 PWM (20)

4.2 主函数程序设计 (22)

4.3 寻迹子函数程序设计 (23)

4.4 调速子程序 (25)

5 整体调试 (28)

5.1 测试方法及仪器: (28)

致谢 (30)

参考文献 (31)

外文翻译 (32)

附录A 硬件连接图 (44)

附录B 硬件清单 (45)

附录C 程序清单 (46)

1 引言

1.1 智能小车的意义和作用

自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。

随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。

机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AVG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。

该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM 功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。

1.2 智能小车的现状

现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几届的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹、检测铁片、显示小车行走时间这三个功能。

1.3 论文各部分的主要内容

第1章对智能循迹小车意义和作用,现状进行简单阐述。

第2章介绍了该智能循迹小车系设计方案比较和选择,分析了各模块的功能。

第3章阐述了智能小车系统的硬件电路的设计,其中包括电源模块、路面检测模块、单片机最小系统、电机驱动模块,以及一些辅助电路。

第4章首先介绍了该系统的软件编程,以及程序调试过程中所用到的程序调试软件及其调试环境。

最后总结部分说明了本论的主要内容,举出了在系统测试过程中所发现的问题,并提出了可能的解决方案。

2 方案论证与选择

2.1 任务

设计一个基于单片机控制的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。系统方案方框图如图2.1所示

设计要求:

基本要求:实现小车的自动循迹,能前进、左转弯、右转弯、后退,检测沿途的铁片并显示铁片数目跟小车行走时间。(按照程序预设);

扩展部分:实现小车的避障功能(如时间充足);

主要的设计内容:

1:电源模块的设计。

2:路面检测模块的设计。

3:单片机最小系统的设计。

4:电机驱动模块的设计。

2.2 电源模块的设计

方案1:采用单电源供电,通过单电源同时对单片机和直流电机进行供电,此方案的优点是,减少机身的重量,操作简单,其缺点是,这样会使单片机的波动变大,影响单片机的性能,稳定性比较弱。

方案2:采用双电源供电,通过两个独立的电源分别对单片机和直流电机进行供电,此方案的优点是,减少波动,稳定性比较好,可以让小车更好的运作起来,唯一的缺点就是会增加小车的重量。

综合以上的优缺点,本设计决定采用第二种方案。

2.3 路面检测模块的设计

2.3.1 传感器类型选择

循迹模块对于智能巡线小车来说就像来说有如人的眼睛对于人,是提供给小车的“眼睛”,此类光电传感器可以分为:可见光传感器、红外传感器、紫外线传感器等(此处不考虑光电耦合器件和位置敏感器件,由于它们占用太多的MCU资源,用起来不方便)。

方案1:可见光传感器是基于可见光源的传感器,它结构简单、设计成熟,但是它工作在可见光波段,容易被外界干扰。

方案2:红外光传感器。红外线是波长为 830nm~950nm 的电磁波,自然环境物理在该波段的辐射量是很微弱的,所以红外反射式传感器受外界干扰较小,可靠性高。设计技术成熟,应用广泛。

方案3:紫外线传感器。在自然环境下该类传感器很难受干扰,可靠性高,但是它价格昂贵。所以我们最终选择方案二,即红外光传感器作为传感器检测模块的基本器件。

2.3.2 红外传感器方案

循迹主要是检测路面情况,利用光的反射原理,当光线照射在白在线,反射量比较大,反之,照在黑在线,由于黑色对光的吸收,反射回来的量比较少,这样就可以判断黑带轨道的走向。为此我们产生以下三种方案。

方案1:用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。将阻值的变化值经过比较器就可以输出高低电平。

但是这种方案受光照影响很大,不能够稳定的工作。因此我们考虑其它更加稳定的方案。

方案2:用红外发射管和接收管自己制作光电对管寻迹传感器。红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。这样自己制作组装的寻迹传感器基本能够满足要求,但是工作不够稳定,且容易受外界光线的影响,因此我们放弃了这个方案。

方案3:采用TCRT50000光电传感器,该传感器模块是基于TCRT5000红外光电传感器设计的一款红外反射式光电开关,传感器采用高发射功率红外光电二极管和高灵敏度

光电晶体管组成,输出的信号经施密特电路整形,稳定可靠。

2.3.3 电压比较器选择

市场上可以做电压比较器的运放,实在是太多,根据实验室现有条件以及器件选择经济并且能满足使用要求的原则,本次电压比较器选择实验室现有的LM324,此器件价格便宜,并且带有真差动输入的四运算放大器。

2.4 控制电机方案比较

方案1:采用步进电机作为该系统的驱动电机。由于其转过的角度可以精确的定位,可以实现小车前进路程和位置的精确定位。虽然采用步进电机有诸多优点,步进电机的输出力矩较低,随转速的升高而下降,且在较高转速时会急剧下降,其转速较低,不适用于小车等有一定速度要求的系统。经综合比较考虑,我们放弃了此方案。

方案2:采用小型直流减速电机。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。

为了能够较好的满足系统的要求,我们选择了方案2。

2.5 电机驱动方案的比较

方案1:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。

方案2:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。

方案3:采用功率三极管作为功率放大器的输出控制直流电机。线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2.1a)。用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM

调速技术。现市面上有很多此种芯片,我选用了L298N(如图2.1b)。

这种调速方式有调速特性优良、调整平滑、调速范围广、超载能力大,能承受频繁

的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。

a H型桥式电路

b L298N实物图

图2.1

2.6 主控制芯片选择

方案1:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。

方案2:选用51系列的单片机,AT89S52单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,成本也比ARM低。

根据自己的知识能力,实验室现有条件,选用STC89C52RC单片机作为本次毕业设计的主控芯片,而且此芯片烧程序也不需要专用的下载器,另一方面节省了成本,只要安装USB转串口驱动,在普通的计算机上就可以烧写程序,很方便。

2.7 本章小结

经过积极论证,最后采用以STC89C52单片机为控制核心,黑白线信号经过TCRT5000输出高低电压信号,再经过LM324电压比较器输出给单片机标准TTL电平信号,而单片机根据输入口高低电平的变化来执行相对应指令,使小车达到稳定的行驶。

3 硬件电路的设计

3.1 总体设计

智能小车采用前轮驱动,后轮左右两边各用一个直流电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,前轮是万象轮,起支撑的作用。将循迹光电对管分别装在车体下的左中右,分别检测来自路面的信息,比如当只有左边的传感器检测到黑线的时候(即对应的输出是高电平的时候),通过主控制器控制左边的电机速度慢一点,同时右边的速度快一点,就可以完成小车的转弯,为了使小车平稳的过渡弯道,可以将相应的电机的占空比调节范围小一点,这样可以避免急转弯,对小车的稳定行驶也有作用的。

3.2 单片机最小系统

STC89C52(COMOS8与工业标准的MCS-51指令集和输出管脚相兼容。

图3.2 STC89C52单片机

3.2.1 时钟电路

STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图3.3(a) 所示,在XTAL1和XTAL2引脚上外接定时组件,内部振荡器就产生自激振荡。定时组件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。

外部方式的时钟电路如图3—3(b)所示,XTAL1接地,XTAL2接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。

(a)内部方式时钟电路(b)外部方式时钟电路

图3.3 时钟电路

本次采用的是内部方式。C1,C2为30PF的瓷片电容。

3.2.2. 复位及复位电路

(1)复位操作

复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

除PC之外,复位操作还对其它一些寄存器有影响,它们的复位状态如表一所示。

表3.1 一些寄存器的复位状态

寄存器复位状态寄存器复位状态

PC 0000H TCON 00H

ACC 00H TL0 00H

PSW 00H TH0 00H

SP 07H TL1 00H

DPTR 0000H TH1 00H

P0-P3 FFH SCON 00H

IP XX000000B SBUF 不定

IE 0X000000B PCON 0XXX0000B

TMOD 00H

(2)复位信号及其产生

RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。若使用颇率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。

产生复位信号的电路逻辑如图3.4所示:

图3.4 复位信号的电路逻辑图

整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

复位操作有上电自动复位相按键手动复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图3.5(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图3.5(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,

其电路如图3.5(c)所示:

(a)上电复位(b)按键电平复位(c)按键脉冲复位

图3.5复位电路

上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。

本系统的复位电路采用图3.5(a)上电复位方式。

STC89C52具体引脚介绍如下:

①主电源引脚(2根)

VCC(Pin40):电源输入,接+5V电源

GND(Pin20):接地线

②外接晶振引脚(2根)

XTAL1(Pin19):片内振荡电路的输入端

XTAL2(Pin20):片内振荡电路的输出端

③控制引脚(4根)

RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复

图3.6 STC89C52引脚图

位。

ALE/PROG(Pin30):地址锁存允许信号

PSEN(Pin29):外部内存读选通信号

EA/VPP(Pin31):程序内存的内外部选通,接低电平从外部程序内存读指令,如果接高电平则从内部程序内存读指令。

④可编程输入/输出引脚(32根)

STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。

PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7

STC89C52主要内部资源如表二所示。

表3.2 STC89C52内部资源主要功能特性

兼容MCS51指令系统

32个双向I/O口

3个16位可编程定时/计数器中断2个串行中断

2个外部中断源

2个读写中断口线

低功耗空闲和掉电模式8K可反复擦写Flash ROM 256x8bit内部RAM

时钟频率0-24MHz

可编程UART串行通道

共6个中断源

3级加密位

软件设置睡眠和唤醒功能

3.3 路面检测模块

3.3.1 传感器TCRT5000介绍

TCRT5000红外光电传感器是一款红外反射式光电开关。传感器采用高发射功率红外光电二极管和高灵敏度光敏三极管组成,其输出信号经过施密特电路整形,稳定可靠。

图3.7 红外光电传感器TCRT5000

传感器的红外发射二极管不断的发射红外线,当发射出的红外线照射在黑色的物体上,由于黑颜色的物体反射基数低,没有反射回来或者反射回来的强度不够大时,光敏三极管一直处于关断状态,此时图3.6中4跟5之间的压降就比较大,经过稳定测试之后的压降大约在4.62V左右,当发射到白颜色的物体上的时候,由于白颜色反射基数大,

足以是光敏三极管饱和,所以此时的上图中4跟6之间的压降比较低,经过稳定测试之后的压降在0.56V左右,变化较为明显。

图3.8 红外光电传感器的模型

3.3.2 比较器LM324

LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源3~32V,或正负双电源±1.5V~±15V工作。

在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压。

图3.9 LM324引脚图

3.3.3具体电路

通过TCRT5000检测黑线,输出接收到的信号给LM324,接收电压与比较电压比较后,输出信号变为标准TTL高低电平,再输入到单片机中,用以判定是否检测到黑线。

图3.10 路面检测模块具体电路图

参数解说:

1:前面说到TCRT5000是由一个红外线发光二极管和一个光敏三极管组成,

图3.11 TCRT5000的红外发光二极管的伏安曲线(20摄氏度时)如图所示,当红外发光管的电压达到1.3V左右的时候,流经红外发光管的电流是最大的,即此时的红外发光管的发射功率最大。传感器安装在小车的地盘,距离路面距离很短,再者对于小车的续航能力来说,功耗低的话续航能力好一点,鉴于此两方面的考虑,我们选择红外发射管压降在1.1V左右,也经过反复测试,此时的发射功率检测1cm 左右距离的黑白线,效果较为明显,如果电源电压为5V,则分流电阻R=(5-1.2)/0.01=380奥姆,考虑到发光二极管发热以及二极管的阻抗,对于限流电阻R1,我们选择150奥姆,经过测试,TCRT5000也工作很稳定。

2:对于分压电阻R2的选择,由于R2跟光敏三极管串联,所以R2的大小和接收管的电压变化有关系。初步选择R2=20k,经过测试,我们得出下面一组资料,当发光二极管的发射的红外光照射到黑线的时候,黑线将光线吸收,导致光敏三极管截止,此时加在图中的4、5点的压降为4.69V,当为白线时,4、5两点的压降在0.76V,那么输出给电压比较器异相端的电压就是在黑白两种状态下此分压电阻的压降,即黑线时为(5-4.69)

=0.31V,白线时为(5-0.76)=4.24V,经过现场测试两者的电压出入不大,基本符合预想。

3:参考电压的选择,从上面的测试,我们得出R1,R2为150,20k时TCRT5000检测黑线的时候输入给电压比较器的电压为0.27V,白线的时候是4.38V,所以我们将参考电压定为2V,即检测到白线的时候,参考电压小于异相端电压,所以输出为低电平,反之则为高电平。对于参考电压,我们选择10k电位器输出,要输出2V电压给电压比较器同相端,那么电位器的阻值分配为6k和4k,经过测试,为3.6k,分析原因,一是因为10k的电位器的全部阻值并不是很标准的10k,我拿到的为9.6k左右,还有此时加在电位器上

相关主题