当前位置:文档之家› 循迹小车基本原理

循迹小车基本原理

循迹小车基本原理
循迹小车基本原理

寻迹小车

在历届全国大学生电子设计竞赛中多次出现了集光、机、电于一体的简易智能小车题目。笔者通过论证、比较、实验之后,制作出了简易小车的寻迹电路系统。整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。

总体方案

整个电路系统分为检测、控制、驱动三个模块。首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统方案方框图如图1所示。

图1 智能小车寻迹系统框图

传感检测单元

小车循迹原理

该智能小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。

红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。

传感器的选择

市场上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探头。ST系列集成红外探头价格便宜、体积小、使用方便、性能可靠、用途广泛,所以该系统中最终选择了ST168反射传感器作为红外光的发射和接收器件,其内部结构和外接电路均较为简单,如图2所示:

图2 ST168检测电路

ST168采用高发射功率红外光、电二极管和高灵敏光电晶体管组成,采用非接触式检测方式。ST168的检测距离很小,一般为8~15毫米,因为8毫米以下是它的检测盲区,而大于15毫米则很容易受干扰。笔者经过多次测试、比较,发现把传感器安装在距离检测物表面10毫米时,检测效果最好。

R1限制发射二极管的电流,发射管的电流和发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=150的电阻作为限流电阻,Vcc=5V作为电源电压,测试发现发射功率完全能满足检测需要;可变电

阻R2可限制接收电路的电流,一方面保护接收红外管;另一方面可调节检测电路的灵敏度。因为传感器输出端得到的是模拟电压信号,所以在输出端增加了比较器,先将ST168输出电压与2.5V进行比较,再送给单片机处理和控制。

传感器的安装

正确选择检测方法和传感器件是决定循迹效果的重要因素,而且正确的器件安装方法也是循迹电路好坏的一个重要因素。从简单、方便、可靠等角度出发,同时在底盘装设4个红外探测头,进行两级方向纠正控制,将大大提高其循迹的可靠性,具体位置分布如图3所示。

图3 红外探头的分布图

图中循迹传感器全部在一条直线上。其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。小车前进时,始终保持(如图3中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。第二级方向探测器实际是第一级的后备保护,它的存在是考虑到小车由于惯性过大会依旧偏离轨道,再次对小车的运动进行纠正,从而提高了小车循迹的可靠性。

软件控制单元

单片机选型及程序流程

此部分是整个小车运行的核心部件,起着控制小车所有运行状态的作用。控制方法有很多,大部分都采用单片机控制。由于51单片机具有价格低廉是使用简单的特点,这里选择了ATMEL公司的AT89S51作为控制核心部件,其程序控制方框图如图4所示。

图4 系统的程序流程图

小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号变化,程序就进入判断程序,把相应的信号发送给电动机从而纠正小车的状态。

车速的控制

车速调节的方法有两种:一是用步进电机代替小车上原有的直流电机;二是在原有直流电机的基础上,采用pwm调速法进行调速。考虑到机械装置不便于修改等因素,这里选择后者,利用单片机输出端输出高电平的脉宽及其占空比的大小来控制电机的转速,从而控制小车的速度。经过多次试验,最终确定合适的脉宽和占空比,基本能保证小车在所需要的速度范围内平稳前行。

电机驱动单元

从单片机输出的信号功率很弱,即使在没有其它外在负载时也无法带动电机,所以在实际电路中我们加入了电机驱动芯片提高输入电机信号的功率,从而能够根据需要控制电机转动。根据驱动功率大小以及连接电路的简化要求选择L298N,其外形、管脚分布如图5所示。

图5 L298N管脚分布图

从图中可以知道,一块L298N芯片能够驱动两个电机转动,它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够这个问题。

结语

此方案选择的器件比较简单,实际中也很容易实现。经过多次测试,结果表明在一定的弧度范围内,小车能够沿着黑线轨迹行进,达到了预期目标。不足之处,由于小车采用直流电机,其速度控制不够精确和稳定,不能实现急转和大弧度的拐弯。

程序

#include

#define uchar unsigned char

#define uint unsigned int

uchar pro_left,pro_right,i,j; //左右占空比标志

sbit left1=P2^0;

sbit left2=P2^1;

sbit right1=P2^2;

sbit right2=P2^3;

sbit en1=P1^0;

sbit en2=P1^1;

//循迹口三个红外传感器

sbit left_red=P1^2; //白线位置

sbit mid_red=P1^3; //黑线位置

sbit right_red=P1^4; //白线位置

void delay(uint z)

{

uchar i;

while(z--)

{for(i=0;i<121;i++);}

}

void init()

{

left_red=0; //白线位置

mid_red=1; //黑线位置

right_red=0;

TMOD=0X01;//定时器0选用方式1

TH0=(65536-100)/256;

TL0=(65536-100)%256;

EA=1;

TR0=1;

en1=1;

en2=1;

}

void time0(void)interrupt 1 {

i++;

j++;

if(i<=pro_right) {en1=1;} else en1=0;

if(i==40) {en1=~en1;i=0;}

if(j<=pro_left) {en2=1;}

else en2=0;

if(j==40) {en2=~en2;j=0;} TH0=(65536-100)/256;

TL0=(65536-100)%256;

}

void straight() //走直线函数{

pro_right=39;

pro_left=39;

left1=0;

left2=1;

right1=1;

right2=0;

}

void turn_left() //左转弯函数{

pro_right=5;

pro_left=39;

left1=0;

left2=1;

right1=1;

right2=0;

}

void turn_right() //右转弯函数{

pro_right=39;

pro_left=5;

left1=0;

left2=1;

right2=0;

}

void turn_back() //后退(反转)函数

{

left1=1;

left2=0;

right1=0;

right2=1;

pro_right=39;

pro_left=39;

}

void infrared() //循迹

{

uchar flag;

if(left_red==1)

{flag=1;}

else

if(right_red==1)

{flag=2;}

else

if((left_red==0)&(mid_red==0)&(right_red==0)) {flag=3;}

else flag=0;

switch (flag)

{

case 0: straight();

break;

case 1: turn_left();

break;

case 2: turn_right();

break;

case 3: turn_back();

break;

default:

break;

}

}

void main(void)

{

init();

delay(1);

while(1)

{

infrared();

// straight();

}

}

void int0(void)interrupt 0 {

}

自动循迹小车课程设计

课程报告 课程名称:嵌入式系统与应用项目名称:自动循迹小车院系:理学院 专业:自动化1401 学号:xxxxxxxxxxxxxxxxxxxxx 姓名:xxxxxxxx 指导导师:xxxxxxxx 2017年05月23日 西京学院理学院制

摘要 本次课程设计主要完成基于STM32F103微处理器的智能小车控制系统的系统设计。此智能小车系统的组成主要包括STM32F103控制器、电机驱动电路、红外探测电路。本次试验采用STM32F103微处理器为核心芯片,利用PWM技术对速度进行控制,循迹模块进行黑白检测,其他外围扩展电路实现系统整体功能。实现了智能小车能够自动跟踪地面上的黑色轨迹的任务。 关键字:STM32;红外探测;PWM;电机控制

Abstract This course design mainly completes the system design of intelligent car control system based on STM32F103 microprocessor. The composition of this intelligent car system mainly includes STM32F103 controller, motor drive circuit, infrared detection circuit. This test uses STM32F103 microprocessor as the core chip, the use of PWM technology to control the speed, tracking module for black and white detection, other peripheral expansion circuit to achieve the overall function of the system. To achieve the smart car can automatically track the black track on the ground task. Keywords:STM32;infrared detection;PWM;motor control

智能循迹小车___设计报告

智能循迹小车___设计报告

智能循迹小车设计 专业:自动化 班级:自动化132 姓名:罗植升莫柏源梁 桂宾 指导老师: 2014年4月——2010年6月

本课题是基于STC89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 STC89C52单片机为系统控制处理 器; 采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。

当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。 作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。 无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。 为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。 此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

智能循迹小车程序

#include #define uchar unsigned char #define uint unsigned int //D0-D7:f,b,a,e,d,h,c,g 共阴依次编码 //74LS04反相器驱动数码管 uchar code table[10] = {0x5F,0x42,0x9E,0xD6,0xC3,0xD5,0xDD,0x46,0xDF,0xD7}; uchar i = 0; //用于0-3数码管轮流显示 uint j = 0; //计时的次数 uint time=0; //计时 uint pwm=16; //占空比 uint speed; //调制PWM波的当前的值 sbit R=P3^2; //右边传感器P3^2 sbit L=P3^3; //左边传感器P3^3 //电机驱动口定义 sbit E NB=P1^0; //前轮电机停止控制使能 sbit E NA=P1^1; //后轮控制调速控制端口 sbit I N1=P1^2; //前轮 sbit I N2=P1^3; //前轮 sbit I N3=P1^4; //后轮 sbit I N4=P1^5; //后轮 void Init() { TMOD = 0x12; //定时器0用方式2,定时器1用方式1 TH0=(256-200)/256; //pwm TL0=(256-200)/256; TH1 = 0x0F8; //定时2ms TL1 = 0x30; EA = 1; ET0 = 1; ET1 = 1; TR0 = 1; TR1 = 1; } void tim0(void) interrupt 1 //产生PWM { speed ++; if(speed <= pwm) //pwm 就相当于占100的比例 { ENA = 1; } else if(speed < 100) { ENA = 0; }

循迹小车设计(附代码).(优选)

基于单片机的智能寻迹小车 一.方案设计与论证 1.1控制模块采用STC89C52单片机 设计中采用了一款十分常用的51系列单片机作为处理器,特点是价格低廉、使用方便,且可与其他处理器进行通讯。 系统时钟:晶振频率1/12,本设计采用12M晶振,因此系统时钟为1us。 I/O口资源:4个通用8位准双向I/O口(P0、P1、P2、P3,其中P3为特殊功能口)。 通讯:一对全双工串行通讯口(P3.0、P3.1),可与其他单片机或上位机进行通讯。 中断:2个外部中断(/INT0、/INT1),2个定时器中断(T0、T1),1个串行通讯中断,共5个中断资源并有2级中断优先级可供配置。 ROM:该单片机提供8K的ROM供用户编写程序。 1.2 寻黑胶带方案 方案一、 可见光发光二级管组成的发射-接收电路。这种方案的缺点在于其他环境光源会对光敏二极管的工作产生很大干扰,一旦外界光亮条件改变,很可能造成误判和漏判;虽然采取超高亮发光管可以降低一定的干扰,但这又将增加额外的功率损耗。 方案二、 反射式红外发射-接收器。由于采用红外管代替普通可见光管,可以降低环境光源干扰,大大减小了误判和漏判的可能性。 经过比较选择方案二。 电机的选择和控制 方案一: 采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻元件价格比较昂贵。更主要的问题在于一般电动机的电阻比较小,但电流比较大;分压不仅降低了效率,而且实现很困难。 方案二: 采用继电器对电动机的开或关进行控制,通过开关的切换对电动机的转速进行控制,此方案的优点是电路比较简单,缺点是继电器的响应时间慢,机械结构易损坏,寿命较短、可靠性不高。 方案三: 采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精准调整电动机转速。这种电路由于工作在管子的饱和截至状态下,效率非常高;H型电路保证了可以简单的实现转速的控制;电子开关的速度很快,稳定性也较之继电器高的多,是一种广泛采用的PWM调速技术。 经过比较选择方案三。 二.硬件电路设计 2.1反射式红外发送接收对管的使用 本设计采用的是tcrt5000反射式光电传感器,原理图如下,传感器采用高

智能循迹小车详细制作过程

(穿山乙工作室)三天三十元做出智能车 基本设计思路: 1.基本车架(两个电机一体轮子+一 个万向轮) 2.单片机主控模块 3.电机驱动模块(内置5V电源输出) 4.黑白线循迹模块 0.准备所需基本元器件 1).基本二驱车体一台。(本课以穿山乙推出的基本车体为 例讲解) 2).5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红 色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40 个。 3).5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一 个;双孔接线柱三个、10u电解电容2个、排针12个、9110 驱动芯片2个。 4).5x7cm洞洞板、LM324比较器芯片各一个;红外对管三 对、4.7K电阻3个、330电阻三个、红色3mmLED三个。 一、组装车体

(图中显示的很清晰吧,照着上螺丝就行了) 二、制作单片机控制模块 材料:5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。 电路图如下,主要目的是把单片机的各个引脚用排针引出来,便于使用。我们也有焊接好的实物图供你参考。(如果你选用的是STC98系列的单片机在这里可以省掉复位电路不焊,仍能正常工作。我实物图中就没焊复位)

三、制作电机驱动模块 材料:5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。 电路图如下,这里我们把电源模块与驱动模块含在了同一个电路板上。因为电机驱动模块所需的电压是+9V左右(6—15V 均可),而单片机主控和循迹模块所需电压均为+5V。 这里用了一个7805稳压芯片将+9V电压稳出+5V电压。

智能循迹小车分析方案

智能循迹小车设计 专业:自动化 班级:0804班 姓名: 指导老师: 2018年8月——2018年10月 摘要:

本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 引言

当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。 作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车<特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。 无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛

基于数电自动循迹智能小车

设计题目:基于数电的循迹小车 2014年09月10日

目录 目录....................................................................................................3.. 摘要 (4) 1. 设计任务与要求 (5) 1.1 基本功能 (5) 2.系统设计方案 (5) 2.1小车循迹原理…………………………………………………………………………5. 2.2控制系统总体设计 (6) 3.系统方案 (6) 3.1循迹传感器模块………………………………………………………………………6. 3.1.1红外传感器的简介………………………………………………………………7.. 3.1.2比较器LM324简介 (7) 3.1. 3具体电路 (8) 3.1.4传感器的安装 (8) 3.2控制器模块 (9) 3.2.1稳压芯片的工作原理 (9) 3.2.2继电器的工作原理 (9) 3.3电机与驱动模块 (10) 3.4自动循迹小车的总体设计 (11) 4.设计体会 (11) 5.参考资料 (12)

基于数电的循迹小车 内容摘要:本着从简到繁的原则,我们制作一款由数字电路来控制的智能循迹小车,在组装过程中我们不但能熟悉机械原理还能逐步学习到:光电传感器、电压比较器、电机驱动电路等相关电子知识。 关键词:循迹小车,传感器,电机驱动 1.设计任务与要求 1.1 基本功能 ①设计一个基于直流电机的自动循迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色轨迹行驶。 ②当小车走在白色轨道时,保持原来速度行驶;当遇到黑线时,说明小车跑偏,通过继电器将开关打到低电压一路,使小车差速行驶,并

智能循迹小车总体设计方案

智能循迹小车总体设计方案 1.1 整体设计方案 本系统采用简单明了的设计方案。通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块黑线路经,然后由AT89S52通过IO口控制L298N驱动模块改变两个直流电机的工作状态,最后实现小车循迹。 1.2系统设计步骤 (1)根据设计要求,确定控制方案; (2)将各个模块进行组装并进行简单调试; (3)画出程序流程图,使用C语言进行编程; (4)将程序烧录到单片机内; (5)进行调试以实现控制功能。 1.2.1系统基本组成 智能循迹小车主要由AT89S52单片机电路、循迹模块、L298N驱动模块、直流电机、小车底板、电源模块等组成。 (1)单片机电路:采用AT89S52芯片作为控制单元。AT89S52单片机具有低成本、高性能、抗干扰能力强、超低功耗、低电磁干扰,并且与传统的8051单片机程序兼容,无需改变硬件,支持在系统编程技术。使用ISP可不用编程器直接在PCB板上烧录程序,修改、调速都方便。 (2)循迹模块:采用脉冲调制反射红外发射接收器作为循迹传感器,调制信号带有交流分量,可减少外界的大量干扰。信号采集部分就相

当于智能循迹小车的眼睛,有它完成黑线识别并产生高、低平信号传送到控制单元,然后单片机生成指令来控制驱动模块来控制两个直流电机的工作状态,来完成自动循迹。 (3)L298N驱动模块:采用L298N作为点击驱动芯片。L298N具有高电压、大电流、响应频率高的全桥驱动芯片,一片L298N可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便、稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。

循迹小车基本思路

循迹小车基本思路 1)基本车架:两个直流减速电动机;万向轮一个;模板一块; 2)基本模块:7.2V电源一块;输出为5V的稳压模块一个;单片机最小系统主控模块;L298电机驱动;光电传感器4个。 3)黑线循迹。 4)组装车型: 5)L298驱动内部电路: 6)调试程序:另附~。 #include 7)#define uchar unsigned char

8)#define uint unsigned int 9)sbit PWM1=P1^0; //电机使能10)sbit PWM2=P1^1; 11)sbit IN1=P1^2; //电机输入控制12)sbit IN2=P1^3; 13)sbit IN3=P1^4; 14)sbit IN4=P1^5; 15)sbit RP1=P2^0; //传感器管脚声明16)sbit RP2=P2^1; 17)sbit RP3=P2^2; 18)sbit RP4=P2^3; 19)int num1,num2,s1,s2; 20) 21)void init() 22){ 23)TMOD=0x01; 24)TH0=(65536-1000)/256; 25)TL0=(65536-1000)%256; 26)ET0=1; 27)EA=1; 28)TR0=1; 29)}

30)void delay(uint z) 31){ 32)uint x,y; 33)for(x=z;x>0;x--) 34){for(y=110;y>0;y--);} 35)} 36)void forward1()//电机前进37){ 38)IN1=0; 39)IN2=1; 40)} 41)void forward2() 42){ 43)IN3=0; 44)IN4=1; 45)} 46)void back1() //电机后退47){ 48)IN1=1; 49)IN2=0; 50)} 51)void back2()

循迹小车设计思路

1 方案与论证 1.1控制芯片的选择 方案一:选用AVR单片机Atmega128L,Atmega128L是高性能、低功耗的AVR ? 8 位微处理器,64引脚。采用先进的RISC 结构,具有133 条指令,大多数可以在一个时钟周期内完成。它具有两个独立的预分频器和比较器功能的8 位定时器/计数器和两个具有预分频器、比较功能和捕捉功能的16 位定时器/计数器及具有独立预分频器的实时时钟计数器。片内带有模拟比较器。具有上电复位以及可编程的掉电检测功能。 其片内资源丰富,具有:8个外部中断,4个定时计数器,53个I/O口,可解除I/O口资源不足的困难。其引脚大多数都有具有第二功能,功能强大。. 方案二:采用AT89S52单片机,AT89S52 单片机是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。AT89S52有5个中断源,和3个定时计数器。 方案三:采用FPGA(现场可编辑门列阵)作为系统控制器。FPGA可以实现各种复杂的逻辑功能,规模大,集成度高,体积小,稳定性好,并且可利用EDA 软件进行仿真和调试。FPGA采用并行工作方式,提高了系统的处理速度,常用于大规模实时性要求较高的系统。 方案比较:由三种方案可以看出,以Atmega 128L核心可以方便地实现对各个部分的控制和外接,而AT89S52而需要外扩大量的I/O口才能满足需要,而FPGA的高速处理能力得不到充分发挥且价格较贵,所以我们选择方案一。 (2)轨道行程控制方案的选择 为了使电动车能够识别黑线不跑离轨道,我们在系统中加装了光电传感器和金属传感器。 1.2 路面检测 我们采用检测黑线的方法来控制智能小车的行走轨迹,使用了两个红外对管来检测黑线,同时用超声波传感器检测小车周围的障碍物。 方案一:采用热探测器。热探测器是利用所接收到的红外辐射后,会引起温度的变化,温度的变化引起电信号输出,且输出的电信号与温度的变化成比例,温度变化是因为吸收热辐射能量引起的,与吸收红外辐射的波长没有关系,即对红外

自动循迹小车_报告

‘杰威电子’杯电气学院第二届电子设计大赛 设计报告 参赛题目:智能循迹小车 学院班级: 学生姓名: 学生专业: 日期: 2013.3.29 ‘杰威电子’杯第二届院电子设计大赛组委会印制

目录 目录 0 摘要: (2) 1任务和要求 (3) 1.1任务和要求 (3) 2.系统设计方案 (3) 2.1循迹原理 (3) 2.2控制系统总体设计 (3) 3.系统方案 (4) 3.1 循迹模块 (4) 3.1.1四路红外线多用探测系统 (5) 3.1.2比较器LM339简介 (5) 3.1.3具体电路 (6) 3.1.4传感器安装 (6) 3.2控制器模块 (7) 3.3电源模块 (7) 3.4电机及驱动模块 (8) 3.4.1电机 (9) 3.4.2驱动 (9) 3.5自动循迹小车总体设计 (10) 3.5.1总体电路图 (10) 3.5.2系统总体说明 (12) 4.软件设计 (12) 4.1 PWM控制 (12) 4.2 总体软件流程图 (13) 4.3小车循迹流程图 (13) 4.4中断程序流程图 (14) 4.5单片机测序 (15) 5.参考资料 (18)

自动循迹小车 摘要: 本设计是一种基于单片机控制的简易自动循迹小车系统,包括小车系统构成软硬件设计方法。小车以STC89C52 为控制核心,利用四路红外线多用探测系统对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动循迹的目的。 关键词:单片机STC89C52 四路红外线多用探测系统直流电机自动循迹小车 Abstract : This design is a Simple Design of a smart auto-tracking vehicle which based on MSC control.The construction of the car ,and methods of hardware and software design are included. The car use STC89C52 as heart of centrol in this system. Then using PWM waves Produced by MCU to control car speed. By using infraraed sensor to detect the information of black track. The smart vehicle acquires the information and sends t hem to the MSC.Then the MSC analyzes the signals and controls the movements of t he motors. Which make the smart vehicle move along the given black line antomaticly. Keywords :infrared sensor ;MSC ;auto-tracking

循迹小车Arduino 程序

//循迹小车Arduino 程序: // R是右(right),L是左(left) 小车对着自己看时分的左右int MotorRight1=14; //A0 IN1 int MotorRight2=15; //A1 IN2 int MotorLeft1=16; //A2 IN3 int MotorLeft2=17; //A3 IN4 int MotorRPWM=5; //PWM 5 int MotorLPWM=3; //PWM 3 const int SensorLeft = 2; //左感測器輸入腳 const int SensorRight = 6; //右感測器輸入腳 int SL; //左感測器狀態 int SR; //右感測器狀態 void setup() { Serial.begin(9600); pinMode(MotorRight1, OUTPUT); // 腳位 14 (PWM) pinMode(MotorRight2, OUTPUT); // 腳位 15 (PWM) pinMode(MotorLeft1, OUTPUT); // 腳位 16 (PWM) pinMode(MotorLeft2, OUTPUT); // 腳位 17 (PWM) pinMode(MotorLPWM, OUTPUT); // 腳位 3 (PWM) pinMode(MotorRPWM, OUTPUT); // 腳位 5 (PWM)

pinMode(SensorLeft, INPUT); //定義左感測器 pinMode(SensorRight, INPUT); //定義右感測器 } void loop() { SL = digitalRead(SensorLeft); SR = digitalRead(SensorRight); if (SL == LOW&&SR==LOW)// 前進 { digitalWrite(MotorRight1,LOW);//IN1 右电机高电平反转 digitalWrite(MotorRight2,HIGH);//IN2 右电机高电平正转 analogWrite(MotorRPWM,130); //0---100--250 digitalWrite(MotorLeft1,LOW);//IN3 左电机高电平正转 digitalWrite(MotorLeft2,HIGH);//IN4 左电机高电平反转 analogWrite(MotorLPWM,130); } else // R是右(right),L是左(left) 小车对着自己看时分的左右 { if (SL == HIGH & SR == LOW)// 左白右黑, 快速左轉 { delay(1);

循迹小车课程设计模板

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计说明书(论文) 课程名称:单片机课程设计 设计题目:智能循迹小车 院系:电气学院测控系 班级:光电五班 设计者:谢鹏、于鸿杰 学号:1110100426、 指导教师:胡瑞强 设计时间:2014.9.10 哈尔滨工业大学

哈尔滨工业大学课程设计任务书

开题报告 1 绪论 1.1课题目的 《单片机原理及应用》是一门应用设计类课程,也是一门工程实践性很强的课。做到理论与实践相结合,灵活运用、融会贯通,提高实际动手能力,是我们学习这门课的最终目的。在这次的单片机课程设计中,我们的主要目的是: (1)设计一辆电动小车,使它能够从起始端出发,自动地沿着黑线行驶。 (2)在此基础上适当地进行功能扩展,扩展目标初步定为:增加红外遥控功能。 进一步学习单片机原理及其应用,了解红外探测器的工作原理。 1.2 课题意义 电动智能小车的研究、开发和应用涉及传感技术、电气控制工程、智能控制等学科。智能控制技术是一门跨学科的综合性技术,当代研究十分活跃,应用日益广泛的领域。本课题所设计的智能电动小车能沿着黑线自动行驶,既具有操作机(机械本体)、控制器、直流电机驱动器和检测传感装置,是一种仿人操作、自动控制、可重复编程、能在三维空间完成灵活运动的自动化电子生产设备。 随着工业电子自动化的不断发展,工业机器人被广泛应用于工业生产的各个部门,如采掘、喷涂、焊接、医疗等各大领域。由于工业机器人的出现,它不断替代了人们的繁重劳动,大大提高了劳动生产率,减轻了人们的劳动强度,此外,它能在高温、低温、深水、宇宙、放射性和其他有毒、污染环境条件下进行操作,日益体现出它的优越性。 电动智能控制小车模拟机器人的运作,可以通过自己的动手排除故障,更加可以给学生一个实践操作的空间,加强学生的动手能力和思维能力。在制作的产品中,发现一些比较符合实际应用的电动小车玩具,而且成本低廉,能够运用于实际生产并且有一定的新颖度,在社会有一定的需求。在制作中提高自身对社会需求方向的灵敏度,发现商机,为自己以后实现创业这个宏伟的目标中打下一个坚实的基础。 1.3 设计要求 (1)自动循迹小车从安全区域启动。 (2)小车按指定路线运行,自动区分直线轨道和弯道轨道,在指定弯路处拐弯,实现灵活前进、转弯等功能。 (3)小车完成指定运行任务。 (4)小车完成扩展部分功能:红外遥控。

PWM调速+循迹__智能小车程序

//T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K 的上拉电阻。 /* 晶振采用12M,产生的PWM的频率约为100Hz */ #include #include #define uchar unsigned char #define uint unsigned int sbit en1=P3^4; /* L298的Enable A */ sbit en2=P3^5; /* L298的Enable B */ sbit s1=P1^0; /* L298的Input 1 */ sbit s2=P1^1; /* L298的Input 2 */ sbit s3=P1^3; /* L298的Input 3 */ sbit s4=P1^2; /* L298的Input 4 */ sbit R=P2^0; sbit C=P2^1; sbit L=P2^2; sbit key=P1^4; uchar t=0; /* 中断计数器*/ uchar m1=0; /* 电机1速度值*/ uchar m2=0; /* 电机2速度值*/ uchar tmp1,tmp2; /* 电机当前速度值*/ /* 电机控制函数index-电机号(1,2); speed-电机速度(0-100) */ void motor(uchar index, char speed) { if(speed<=100) { if(index==1) /* 电机1的处理*/ { m1=abs(speed); /* 取速度的绝对值*/ s1=1; s2=0; } if(index==2) /* 电机2的处理*/ { m2=abs(speed); /* 电机2的速度控制*/ s3=1; s4=0; } } } void Back(void) {

51单片机-循迹小车项目报告材料(完整)

职业技术学院 《单片机系统设计》 项目设计报告 项目设计题目:智能寻迹小车 系部:电子信息与控制工程系班级:电子 XXXX 班 组号:第四组 小组成员:XXX 指导教师:XXX 2017年10月10日

目录 一、引言 (3) 二、方案论证 (4) 三、小车车体设计 (7) 四、硬件系统设计 (8) 1、单片机最小系统 (8) 2、循迹电路 (9) 3、电机驱动电路 (9) 五、软件系统设计 (12) 六、系统的制作、仿真与调试 (14) 七、总结 (15)

一、引言 当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。无容置疑,机电一体化人才的培养不论是在国外还是国,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为电子专业学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。此项设计是在以小为基础,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

智能循迹小车设计

智能循迹/避障小车研究 工作报告 一、智能循迹小车程序结构框图 二、Proteus仿真图 三、软件程序设计

一、智能循迹小车程序结构框图 经过几天在网上的查找,对智能循迹/避障小车有了大致的了 解, 一般有三个模块: 1、最基本的小车驱动模块,使用两个二相四线步进电机对小车的两个后轮分别进行驱动,前轮最好用万向轮,能使小车更好地转弯; 2、小车循迹模块,在小车底部有三个并排安装的红外对管,对黑色与白色的反射信号不同,经单片机处理后对小车进行相应处理; 3、避障模块,我写的程序中对于避障模块是用中断来处理的(即安装在小车车头的红外对管检测到有障碍物后,就会向单片机的P3_2口输出一个高电平或是低电平,这时中断程序将对小车进行预先设定好的避障处理),但是在程序结构框图中,我不太会表示中断处理方式,所以就用查询的方式画了。

N Y N Y 二、Proteus 仿真图 我用Proteus 大概地仿真了小车的运行状态。图中的两个二相四线步进电机就代表小车的左右轮(假定步进电机顺时针转动方向为小车前进方向),网上有很多种驱动芯片,在仿真时我只使用L298N 芯

片来驱动步进电机。用三个单刀双制开关模拟用于小车循迹的三个红外对管的输出信号,经一个与门与三极管开关连接到P3_3口,中断程序对P1_0, P1_1, P1_2三个口进行检测,并做出相应处理。同时因为避障模块的优先级高于循迹模块,所以将外部中断0用于避障,外部中断1用于循迹。P1_3口则用于检测小车是否到达终点。 1、小车驱动模块: 使用一片298芯片驱动一个二相四线步进电机,电机的电压为12V。

毕业设计+智能循迹避障小车设计

单片机系统课程设计轮式移动机器人的设计 学院:通信与电子工程学院 班级:电子131 姓名:初清晨 学号: 2013131013 同组成员:孟庆阳张轩 指导老师:王艳春 日期: 2015年12月24日

组员分工 1、组长:张轩,实物焊接,报告整理,程序设计 2、组员:孟庆阳,实物焊接,仿真测试,报告整理 3、组员:初清晨,实物焊接,报告整理,仿真测试

目录 摘要 (1) 第一章绪论 (2) 1.1智能小车的意义和作用 (2) 1.2智能小车的现状 (3) 第二章方案设计与论证 (3) 2.1 主控系统 (3) 2.2 电机驱动模块 (4) 2.3 循迹模块 (5) 2.4 避障模块 (6) 2.5 机械系统 (7) 2.6电源模块 (7) 第三章硬件设计 (7) 3.1 AT89S52单片机的简介 (8) 3.2总体设计 (11) 3.3驱动电路 (12) 3.4信号检测模块 (13) 3.5主控电路 (14) 第四章软件设计 (15) 4.1主程序框图 (15) 4.2电机驱动程序 (15) 4.3循迹模块 (16) 4.4避障模块 (20) 结束语 (25) 致谢 (26) 附录一循迹加红外避障综合程序 (28) 附录二实物图 (32)

摘要 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。智能电动小车就是其中的一个体现。设计者可以通过软件编程实现它的行进、循迹、停止的精确控制以及检测数据的存储、显示,无需人工干预。因此,智能电动小车具有再编程的特性,是机器人的一种。 本设计采用AT89S52单片机加电机驱动电路和红外遥控及循迹模块还有红外接收一体化传感器设计而成,采用模块化的设计方案,运用红外遥控器控制小车的前进、后退、左转、右转、启动和停止。 关键词:智能小车;STC89C52单片机;L9110;红外对管 Intelligent tracking and obstacle-avoid car Abstract:Based infrared detection of black lines and the road obstacles, and use a STC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, was designed and fabricated. In which, the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52. Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode

智能循迹小车c程序完美-详尽)

/*------------------------------------------------------ -----------------------小车运行主程序------------------- -------------------------------------------------------- 简介:@模块组成:红外对管检测模块----五组对管,五个信号采集端口 直流电机驱动模块----驱动两个直流电机,另一个轮子用万向轮 单片机最小系统------用于烧写程序,控制智能小车运动 @功能简介:在白色地面或皮质上用黑色胶带粘贴出路线路径宽度微大于相邻检测管间距。 这样小车便可在其上循迹运行。 @补充说明:该程序采取“右优先”的原则: 即右边有黑线向右转, 若无,前方有黑线,向前走, 若无,左边有黑线,向左转, 若全无,从右方向后转。 程序开头定义的变量的取值是根据我的小车所调试选择好的, 如果采用本程序,请自行调试适合自己小车的合适参数值。 编者:陈尧,黄永刚(江苏大学电气学院二年级,三年级) 1.假定:IN1=1,IN3=1时电机正向转动,必须保证本条件 2.假定:遇到白线输出0,遇到黑线输出1; 如果实际电路是:遇到白线输出1,遇到黑线输出0, 这种情况下只需要将第四,第五句改成: #define m0 1 #define m1 0 即可。 3.说明1:直行---------------速度full_speed_left,full_speed_right. 转弯,调头速度------correct_speed_left,correct_speed_right. 微小校正时---------高速轮full_speed_left,full_speed_right; 低速轮correct_speed. 可以通过调节第六,七,八,九,十条程序,改变各个状态 下的占空比(Duty cycle ),以求达到合适的转弯,直行速度 4.lenth----------length检测到黑线到启动转动的时间间隔 5.width----------mid3在黑线上到脱离黑线的时间差 6.mid3-----------作为判断中心位置是否进入黑线的标志,由于运行的粗糙性和惯性, 常取其他对管的输出信号作为判断条件

智能循迹小车程序

智能循迹小车程序 Document number:BGCG-0857-BTDO-0089-2022

#include<> #define uchar unsigned char #define uint unsigned int //D0-D7:f,b,a,e,d,h,c,g 共阴依次编码 //74LS04反相器驱动数码管 uchar code table[10] = {0x5F,0x42,0x9E,0xD6,0xC3,0xD5,0xDD,0x46,0xDF,0xD7}; uchar i = 0; //用于0-3数码管轮流显示uint j = 0; //计时的次数 uint time=0; //计时 uint pwm=16; //占空比 uint speed; //调制PWM波的当前的值 sbit R=P3^2; //右边传感器 P3^2 sbit L=P3^3; //左边传感器 P3^3 //电机驱动口定义 sbit ENB=P1^0; //前轮电机停止控制使能 sbit ENA=P1^1; //后轮控制调速控制端口 sbit IN1=P1^2; //前轮 sbit IN2=P1^3; //前轮 sbit IN3=P1^4; //后轮

sbit IN4=P1^5; //后轮 void Init() { TMOD = 0x12; //定时器0用方式2,定时器1用方式1 TH0=(256-200)/256; //pwm TL0=(256-200)/256; TH1 = 0x0F8; //定时2ms TL1 = 0x30; EA = 1; ET0 = 1; ET1 = 1; TR0 = 1; TR1 = 1; } void tim0(void) interrupt 1 //产生PWM { speed ++; if(speed <= pwm) //pwm 就相当于占100的比例{ ENA = 1; }

相关主题
文本预览
相关文档 最新文档