基于单片机89c51循迹小车原理与程序

基于单片机89c51循迹小车原理与程序
基于单片机89c51循迹小车原理与程序

自循迹小车

第一章引言

1.1 设计目的

通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。

1.2 设计方案介绍

该智能车采用红外对管方案进行道路检测,单片机根据采集到的红外对管的不同状态判断小车当前状态,通过pid控制发出控制命令,控电机的工作状态以实现对小车姿态的控制。

1.3 技术报告内容安排

本技术报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术方案的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。

第二章技术方案概要说明

本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块.

在整个系统中,由电源管理模块实现对其他各模块的电源管理。其中,对单片机、光电管提供5V电压,对电机提供6V电压

路径识别电路由3对光电发送与接收管组成。由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。传感器模块将当前采集到的一组电压值传递给单片机,进而根据一定得算法对舵机进行控制,使小车自动寻线行走。

单片机模块是智能车的核心部分,主要完成对外围各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。

电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM 调速

第三章硬件电路的设计

3.1 单片机最小系统

小车采用STC公司的STC89C52RC单片机作为控制芯片,图3-1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下:

1、时钟电路:给单片机提供一个外接的12MHz的石英晶振。

2、电源电路:给单片机提供5V电源。

3、复位电路:在电压达到正常值时给单片机一个复位信号。

图3-1 单片机最小系统原理图

3.2 传感器电路

光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。芯片使用LM339具有4路电压比较器

3-2赛道检测原理图

3.3 电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM调速

L293驱动

3.3 电源电路设计

模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机使用6V电源。考虑到电源为充电电池组,额定电压为7.2V,实际充满电后电压则为6.5-6.8V,所以单片机及传感器模块采用LM1117-5稳压后的5V电源供电,电机直接由电池供电。

**********************************

*程序说明:本附录:源程序主代码

****************************************/ #include "reg52.h"

#define uint unsigned int

#define uchar unsigned char

sbit K1=P2^0;

sbit K2=P2^1;

sbit K3=P2^2;

sbit K4=P2^3;

sbit LED1=P1^0;

sbit LED2=P1^1;

sbit LED3=P1^2;

sbit LED4=P1^3;

sbit PWM1=P3^2;

sbit PWM2=P3^3;

uchar PWM1_Cycle=0,PWM2_Cycle=0;//PWM占空比

void delay(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void PWM_Init()

{

TMOD = 0x11 ;

TH0=(65535-100)/256;//定时5us

TL0=(65535-100)%256;

TH1=(65535-100)/256;//定时10us

TL1=(65535-100)%256;

ET0=1;

ET1=1;

TR0=1;

TR1=0;

EA=1;//开中断

}

/******************************************************************** **

*函数功能:小车前进

*时间:2013、3、29

********************************************************************* */

void Advance()

{

P0=0x50;

}

/******************************************************************** **

*函数功能:小车后退

*时间:2013、3、29

********************************************************************* */

void Retreat()

{

P0=0xa0;

}

/******************************************************************** **

*函数功能:小车左转

*时间:2013、3、29

********************************************************************* */

void Turn_left1()

{

P0=0x10;

delay(500);

P0=0;

}

/********************************************************************

**

*函数功能:小车右转

*时间:2013、3、29

********************************************************************* */

void Turn_right1()

{

P0=0x40;

delay(500);

P0=0;

}

void main()

{

PWM_Init();

PWM1_Cycle=30;//初始速度,可改变其大小是速度使变化

while(1)

{

if(K1==1)

{

Turn_right1();

}

else if(K2==1)

{

Advance();

}

else if(K4==1)

{

Turn_left1();

}

else

Advance();

}

}

/******************************************************************** *****

*函数功能:产生占空比可调的PWM波

*参数:PWM1_Cycle

********************************************************************* *****/

void PWM1_Produce() interrupt 1

static unsigned int t1 ; //tt用来保存当前时间在一秒中的比例位置

t1++;

TH0=(65535-100)/256;//定时100us

TL0=(65535-100)%256;

if(t1==100)

{

t1=0;

PWM1=1;

}

if(PWM1_Cycle==t1)

{

PWM1=0;

}

}

/******************************************************************** *****

*函数功能:产生占空比可调的PWM波

*参数:PWM1_Cycle

********************************************************************* *****/

void PWM2_Produce() interrupt 3

{

static unsigned int t2 ; //tt用来保存当前时间在一秒中的比例位置t2++;

TH1=(65535-100)/256;//定时100us

TL1=(65535-100)%256;

if(t2==100)

{

t2=0;

PWM2=1;

}

if(PWM2_Cycle==t2)

{

PWM2=0;

}

}

元件清单

附录:源程序主代码

#include

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define MIDDLE 1390//舵机中心位置

#define LEFT 1600

#define RIGHT 1000

#define T 20000

#define HIGH 7300 //电机基准速度

sbit rudder=P1^0; //定义舵机PWM波输出端口为P1.0口sbit pulse=P1^1; //定义后轮PWM波输出端口为P1.1口char flag1=0,flag2=0; //定义全局变量(flag1用于控制舵机

//PWM标志位,flag2用于控制电机PWM)uint b=0,a=0; //b用来装载电机所需的高电平时间,a用

于保存电机所需高电平时间

void main()

{

uchar receive,ek[4]={7,7,7,7};

uint pidr=0;

uint pidlr=0;

uint ppid=0;

IE=0x8a;

TMOD=0x11;

TH0=0x00;

TL0=0x00;

TR0=1;

TH1=0x00;

TL1=0x00;

TR1=1;

while(1)

{ receive=P2; //采集光电传感器的值

/*--------------switch----------------*/

switch(receive) //根据采集到的值进行判断

{

case 0x7f:ek[3]=0;break; //0111 1111 最左边(或右边)1个光电传感器检测到黑线

case 0x3f:ek[3]=1;break; //0011 1111 最左边(或右边)2个光电传感器检测到黑线

case 0xbf:ek[3]=2;break; //1011 1111 依次类推

case 0x9f:ek[3]=3;break; //1001 1111

case 0xdf:ek[3]=4;break; //1101 1111

case 0xcf:ek[3]=5;break; //1100 1111

case 0xef:ek[3]=6;break; //1110 1111

case 0xe7:ek[3]=7;break; //1110 0111

case 0xf7:ek[3]=8;break; //1111 0111

case 0xf3:ek[3]=9;break; //1111 0011

case 0xfb:ek[3]=10;break; //1111 1011

case 0xf9:ek[3]=11;break; //1111 1001

case 0xfd:ek[3]=12;break; //1111 1101

case 0xfc:ek[3]=13;break; //1111 1100

case 0xfe:ek[3]=14;break; //1111 1110

default: ek[3]=15;break; //1111 1111 没有检测到黑线(是需

要保持上一次测量值的)}

/*--------------switch----------------*/

if(ek[3]= =15)

{pidr = pidlr;

}

else

{pidr=0.2*pidlr+0.8*(23*(ek[3]-7)+2*(ek[3]+ek[2]+ek[1]+ek[0]-28)+7*(e

k[3]-ek[2]));

if(ek[2]!=ek[3])

ppid=-160*(cabs(ek[3]-7))+220*(cabs(ek[1]-7)-cabs(ek[3]-7));

}

a=HIGH+ppid; //a是电机高电平时间

b=pidr+MIDDLE; //b就是舵机PWM波高电平时间

if(b>LEFT)

b=LEFT;

if(b

b=RIGHT;

{char i;

for(i=0;i<3;i++)

ek[i]=ek[i+1];

}

pidlr=pidr;

}

}

void zhongduan_t0(void) interrupt 1 //产生舵机PWM波中断子程序(T0中断)

{

if(flag1==0)

{

TH0=(uchar)((65536-b)/256);

TL0=(uchar)((65536-b)%256);

flag1=1;

rudder=1;

}

else

{

TH0=(uchar)((38869+b)/256);

TL0=(uchar)((38869+b)%256);

flag1=0;

rudder=0;

}

}

void zhongduan_t1(void) interrupt 3

{

if(flag2==0)

{

TH1=(uchar)((65536-HIGH)/256);

TL1=(uchar)((65536-HIGH)%256);

flag2=1;

pulse=0;

}

else

{

TH1=(65536-T+HIGH)/256;

TL1=(65536-T+HIGH)%256;

flag2=0;

pulse=1;

}

}

基于单片机的智能循迹小车设计

本科毕业设计(论文) 基于单片机的智能循迹小车设计 学生学院信息工程学院 专业测控技术与仪器 (光机电一体化方向)年级班别20 级(1)班 学号 学生姓名 指导教师 20 年6月

摘要 自循迹智能小车也是智能行走机器人的一种,智能小车可以适应不同的环境,不受外界温度、湿度、空间以及重力等各种恶劣条件的影响,在人类无法进入或者生存的环境中完成人类无法完成的任务。本课题是智能循迹小车系统的设计,智能小车的设计涉及传感器技术、电路涉及、程序设计、控制设计等多个方面的知识,是一项综合设计。设计目标是小车能沿着规划好的黑线行走,不偏离道路。。 智能循迹小车以木板车架为承载,包括单片机模块:STC89C52芯片;驱动模块:L298N驱动模块和两个直流电机;循迹模块:红外光电传感器和LM324运算放大器。红外光电传感器判断是否寻找到黑线,并将产生的电平信号发送至LM324运算放大器,再返回到单片机,单片机根据程序设计的要求做出相应的判断送给电机驱动模块控制小车在黑线上实现前进后退左转右转。 关键词:智能小车,自动循迹,单片机,红外传感器

Abstract Self-tracing smart car is also a kind of intelligent walking robot, intelligent car can adapt to different environments, from outside temperature, humidity, space and gravity and other adverse conditions, in the human can not enter or survive the environment to complete the human Unable to complete the task. This topic is the design of intelligent tracking car system, intelligent car design involves sensor technology, circuit involved, programming, control design and other aspects of knowledge, is a comprehensive design. The design goal is that the car can walk along the planned black line without departing from the road. The The following steps: STC89C52 chip; drive module: L298N drive module and two DC motors; tracking module: infrared photoelectric sensor and LM324 operational amplifier. Infrared photoelectric sensor to determine whether to find the black line, and the resulting level signal sent to the LM324 operational amplifier, and then return to the microcontroller, the microcontroller according to the requirements of the program to make the appropriate judgment to the motor drive module control car on the black line Turn forward and turn right. Key words: intelligent car, automatic tracking, single chip, infrared sensor

基于51单片机智能小车循迹程序

#include #define uchar unsigned char #define uint unsigned int ////电机驱动模块位定义//// sbit M11=P0^0; //左轮 sbit M12=P0^1; sbit M23=P0^2; //右轮 sbit M24=P0^3; sbit ENA=P0^4; //左轮使能PWM输入改变dj1数值控制转速sbit ENB=P0^5; //右轮使能PWM输入改变dj2数值控制转速////占空比变量定义//// unsigned char dj1=0; unsigned char dj2=0; uchar t=0; ////红外对管位定义//// sbit HW1=P1^0; //左前方 sbit HW2=P1^1; //右前方 sbit HW3=P1^2; //左后方 sbit HW4=P1^3; //右后方 ////小车前进//// void qianjin() { M11=1; //左轮 M12=0; // M23=1; //右轮 M24=0; // dj1=50; dj2=50; } ////向左微调//// void turnleft2() { M11=1; M12=0; M23=1; M24=0; dj1=7; //左轮 dj2=50; //右轮 } ////向右微调//// void turnright2() { M11=1; M12=0;

M23=1; M24=0; dj1=50; dj2=7; } ////向左大调//// void left() { M11=0; M12=1; M23=1; M24=0; dj1=7; dj2=80; } ////向右大调//// void right() { M11=1; M12=0; M23=0; M24=1; dj1=80; dj2=7; } ////循迹动作子函数//// void xj() { if(HW1==0&&HW2==0&&HW3==0&&HW4==0) //前进逻辑 { qianjin(); } if(HW1==1&&HW2==0&&HW3==0&&HW4==0) //左右微调 { turnleft2(); } if(HW1==0&&HW2==1&&HW3==0&&HW4==0) { turnright2(); } if(HW1==1&&HW2==0&&HW3==1&&HW4==0) //左右大调 { left(); }

基于STC89C52单片机-红外智能循迹小车 (1)

基于STC89C52单片机红外智能循迹小车 实验报告册 学院:电气工程学院 协会:电子科技协会 班级:电气1206 班 姓名:蔡申申 学号:201223910625 联系方式:151 **** ****

摘要 本报告论述了自己参加第八届河南工业大学科技创新大赛——基于STC89C52RC单片机红外智能循迹小车的方案论证、制作过程、调试过程。设计采用STC89C52RC单片机为核心控制器件,采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号,单片机获取路面信息后,进行分析、处理,最后控制减速电机转动实现转向。实验表明:该系统抗干扰能力强、电路结构简单、制作成本低,运行平稳、可靠性好。 关键词:STC89C52单片机、反射式光电对管、PWM调速 减速电机

目录 摘要 (2) 1 绪论 (4) 1.1 智能循迹小车概述 (4) 1.1.1 循迹小车的发展历程回顾 (4) 1.1.2 智能循迹分类 (4) 1.1.3 智能循迹小车的应用 (5) 2 智能循迹小车总体设计方案 (5) 2.1 整体设计方案 (5) 2.1.1 系统设计步骤 (5) 2.1.2 系统基本组成 (5) 2.2 整体控制方案确定 (6) 3 系统的硬件设计 (6) 3.1 单片机电路的设计 (6) 3.1.1 单片机的功能特性描述 (6) 3.1.2 晶振电路 (7) 3.1.3 复位电路 (7) 3.2 光电传感器模块 (8) 3.2.1 传感器分布 (8) 3.3 电机驱动电路 (9) 3.3.1 L298N引脚结构 (9) 3.3.2 电机驱动原理 (9) 4 系统的软件设计 (10) 4.1 软件设计的流程 (10) 4.2 本系统的编译器 (10) 5 系统的总体调试 (11) 5.1 硬件的测试 (11) 5.2 系统的软件调试 (11) 结论 (11) 致谢 (11) 参考文献 (12) 附录A 原理图与模块电路图 (12) 附录B 程序代码 (13) 附录C 硬件实物图 (15)

51单片机循迹小车程序

/*功能:寻迹小车 使用芯片:AT89S52 或者STC89C52 或AT89S51 STC89C51 晶振:12MHZ 编译环境:Keil 作者:MH~ */ #include // 引用标准库的头文件 #include #define uchar unsigned char #define uint unsigned int //=================电机驱动===================== sbit dianji_r = P3^0; //右边电机控制口,低电平转? sbit dianji_l = P3^7; //左边电机控制口,低电平转 //=============循迹感应接口====================== sbit xjmk_r = P3^2;// 右边寻迹模块检测口INT0 sbit xjmk_l = P3^3;// 左边寻迹模块检测口INT1 void check_righet();//右边时候检测到黑线测试程序 void check_left();//左边时候检测到黑线测试程序 void delay_50us(uint t); void delayms(uint Ms); uchar r_count;//右边传感器检测到的次数计数单元 uchar l_count; uint time; //***********************主程序****************************** main() { time=50; dianji_r=0;//上电时右侧电机运行 dianji_l=0;//上电时左侧电机运行 EA=1; EX1=1; EX0=1; IT1=0; IT0=0;

基于AT89S51单片机的智能超声波避障小车

基于 AT89S51 单片机的智能 超声波避障小车
姓名: 班级: 学号:
钟洋 08 电子二班 200810330219 张儒
指导老师:

目录
摘要...........................................3 一、总体方案概述.......................................3 二、总体电路原理图....................................3 三、各模块功能介绍.................................4 (一) 、超声波测距模块................................4 (二) 、数码管显示模块................................4 (三) 、步进电机控制模块..............................6 (四) 、语音提示模块..................................7 (五) 、速度自控模块..................................8 (六) 、信号提示模块..................................8 (七) 、单片机控制模块...............................8 四、系统软件设计..................................9 五、元件清单.....................................10 六、应用前景.....................................10 六、参考文献.....................................11
2

循迹小车原理

寻迹小车 在历届全国大学生电子设计竞赛中多次出现了集光、机、电于一体的简易智能小车题目。笔者通过论证、比较、实验之后,制作出了简易小车的寻迹电路系统。整个系统基于普通玩具小车的机械结构,并利用了小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。 总体方案 整个电路系统分为检测、控制、驱动三个模块。首先利用光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。系统方案方框图如图1所示。 图1 智能小车寻迹系统框图 传感检测单元 小车循迹原理 该智能小车在画有黑线的白纸“路面”上行驶,由于黑线与白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。笔者在该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。 红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号。 传感器的选择 市场上用于红外探测法的器件较多,可以利用反射式传感器外接简单电路自制探头,也可以使用结构简单、工作性能可靠的集成式红外探头。ST系列集成红外探头价格便宜、体积小、使用方便、性能可靠、用途广泛,所以该系统中最终选择了ST168反射传感器作为红外光的发射与接收器件,其内部结构与外接电路均较为简单,如图2所示: 图2 ST168检测电路 ST168采用高发射功率红外光、电二极管与高灵敏光电晶体管组成,采用非接触式检测方式。ST168的检测距离很小,一般为8~15毫米,因为8毫米以下就是它的检测盲区,而大于15毫米则很容易受干扰。笔者经过多次测试、比较,发现把传感器安装在距离检测物表面10毫米时,检测效果最好。 R1限制发射二极管的电流,发射管的电流与发射功率成正比,但受其极限输入正向电流50mA的影响,用R1=150的电阻作为限流电阻,Vcc=5V作为电源电压,测试发现发射功率完全能满足检测需要;可变电阻

基于单片机的智能循迹小车

第1章绪论 1.1课题背景 目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。当时斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。 智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。 智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备: (1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作; (2)摄像机,用来获得道路图像信息; (3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。 智能车辆技术按功能可分为三层,即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。上一层技术是下一层技术的基础。三个层次具体如下: (1)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及 驾驶员本身的状态信息,必要时发出预警信息。主要包括碰撞预警系统和驾驶员状态监控系统。碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换道/

基于单片机89c51循迹小车原理与程序

自循迹小车 第一章引言 1.1 设计目的 通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 1.2 设计方案介绍 该智能车采用红外对管方案进行道路检测,单片机根据采集到的红外对管的不同状态判断小车当前状态,通过pid控制发出控制命令,控电机的工作状态以实现对小车姿态的控制。 1.3 技术报告内容安排 本技术报告主要分为三个部分。第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术方案的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。

第二章技术方案概要说明 本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块. 在整个系统中,由电源管理模块实现对其他各模块的电源管理。其中,对单片机、光电管提供5V电压,对电机提供6V电压 路径识别电路由3对光电发送与接收管组成。由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。传感器模块将当前采集到的一组电压值传递给单片机,进而根据一定得算法对舵机进行控制,使小车自动寻线行走。 单片机模块是智能车的核心部分,主要完成对外围各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。 电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM 调速

基于 单片机设计智能避障小车

单片机设计智能避障小车 摘要 利用红外对管检测黑线与障碍物,并以STC89C51单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N 驱动电路完成,速度由单片机输出的PWM波控制。本文首先介绍了智能车的发展前景,接着介绍了该课题设计构想,各模块电路的选择及其电路工作原理,最后对该课题的设计过程进行了总结与展望并附带各个模块的电路原理图,和本设计实物图,及完整的C语言程序。 关键词:智能小车;51单片机;L298N;红外避障;寻迹行驶 abstract Using infrared detection black and obstacles to the line and STC89C51 microcontroller as the control chip to control the speed of the electric car and steering, so as to realize the function of automatic tracking and obstacle avoidance. Which the car driven by the L298N driver circuit is completed, the speed of the microcontroller output PWM wave control. This article first introduces the development of the intelligent car prospect, then introduces the design idea, the subject selection of each module circuit and working principle of the circuit, the design process of the subject is summarized and prospect with each module circuit principle diagram, and the real figure design, and complete C language program. Key words: smart car; 51 MCU; L298N; infrared obstacle avoidance; track driving

基于某51单片机的智能小车控制系统

工业职业技术学院 毕业设计 课题名称基于51与单片机的智能小车控制系统 系(院)名称电气工程系 专业及班级 学生 学号 指导教师

完成日期年11 月19 日

摘要 随着我国科学技术的进步,智能化作为现代社会的新产物开始越来越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域,使智能机器人越来越多样化。智能小车是一个多种高薪技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,可以涉及到当今许多前沿领域的技术。 整个小车平台主要以51单片机为控制核心,通过无线遥控实现前进后退和转向行驶,通过红外线传感器,实现小车的自适应巡航、避障等功能。设计采用对比选择,模块独立,综合处理的研究方法。通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。从电机车体,最小系统到无线遥控,红外线对管的自动寻迹再到红外线自动避障和语音控制,完成各模块设计。通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。 关键字:智能小车,单片机,红外传感器。

目录 第一章绪论.............................................................................................................................- 1 - 1.1.1智能循迹小车概述........................................................................................................- 1 - 1.1.2课题研究的目的和意义 ...............................................................................................- 2 - 1.1.3智能循迹小车智能循迹分类.......................................................................................- 3 - 1.1.4智能循迹小车的应用....................................................................................................- 3 - 第二章方案设计 ..........................................................................................................................- 5 - 2.1 主控系统.........................................................................................................................- 5 - 2.2单片机最小系统 ...............................................................................................................- 6 - 2.2.1 STC89C52简介...................................................................................................- 6 - 2.2.2 时钟电路...............................................................................................................- 8 - 2.2.3复位及复位电路....................................................................................................- 8 - 2.3 电机驱动模块................................................................................................................ - 10 - 2.4 循迹及避障模块............................................................................................................ - 11 - 2.5 机械系统......................................................................................................................... - 11 - 2.6电源模块......................................................................................................................... - 11 - 第三章硬件设计 ..................................................................................................................... - 12 - 3.1总体设计......................................................................................................................... - 12 - 3.1.1主板设计框图..................................................................................................... - 12 - 主板设计框图如图3-1,所需原件清单如表3-1 .................................................. - 12 -

基于MSP430单片机循迹小车

课程设计报告 课程名称嵌入式系统原理与设计 课题名称智能循迹小车 专业通信工程 班级1101班 学号 姓名 指导老师 2014 年 1 月 5 日

1.系统总设计 1.1 功能说明 本课题是基于MSP430单片机循迹智能小车的设计与实现,小车系统以MSP430单片机为系统控制处理器,采用红外传感器对赛道进行道路检测,单片机根据检测到的

信号的不同状态判断小车的当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车的控制。 1.2 任务分配情况 参与此次项目制作的一共七人,分别是:振凤,志成,肖新加,戴小敏,小林,鹏华和莹任务分配情况如表1所示: 产品名称:智能循迹小车 技术参数: L298N基本参数: 类型:半桥输入类型:非反相输出数: 4 电流输出/同道:2A 电流峰值输出:3A 工作温度:-25~135°C 器件型号:L298N 产品的使用方法: 用六节干电池9V直流电压作为供电电源,接通电源,在有黑线的跑道上行走。注意事项:1、所用电源不能超过9V,以免电压过大,把电机烧坏。 2、小孩使用时,应在大人的陪同下使用,以免被小车的尖锐部分弄伤。 3、轻拿轻放,以免损坏小车器件。 4、长期不使用时,应把电池取出。 生产日期:20xx年xx月xx日 2.硬件设计 此次项目中硬件部分的设计主要包含以下模块:电源模块,红外循迹模块,电机驱动模块和MSP430f149单片机。 2.1 电源模块 模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计

51单片机循迹小车开题报告

一、研究课题的目的和意义 1)研究目的: 随着汽车工业的迅速发展,其与电子信息产业的融合速度也显著提高,汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。设计的智能电动小车应该能够具有自动寻迹、小灯显示等功能。 此项设计以AT89S52单片机为控制核心,逐步实现小车的循线行走功能。2)研究意义: 1、加深课堂上的学习 由于单片机教学例子有限,因此,单片机智能车能综合学生课堂上的知识来实践,使学习者更好的了解单片机的发展。通过此次的单片机寻轨车制作,使学 生从理论到实践,初步体会单片机项目的设计、制作、调试和成功完成项目的过 程及困难,以此学会用理论联系实际。通过对实践中出现的不足与学习来补充教 学上的盲点。 2、从理论转为实际运用 智能汽车是一种高新技术密集的新型汽车,是在网络环境下利用信息技术、智能控制技术、自动控制、模式识别、传感器技术、汽车电子、电气、计算机 和机械等多个学科的最新科技成果,使汽车具有自动识别行驶道路、自动驾驶等 先进功能.随着控制技术、计算机技术和信息技术的发展,智能车在工业生产和日 常生活中已经扮演了非常重要的角色.近年来,智能车在野外、道路、现代物流 及柔性制造系统中都有广泛运用,已成为人工智能领域研究和发展的热点。 二、研究内容 1)系统设计: 智能寻迹小车采用后轮驱动,左右后轮各用一个直流减速电机驱动,通过调制后面两个轮子的转速从而达到控制转向的目的在车体前部分别装有左中右三或者两个红外反射式传感

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

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

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

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

51单片机循迹小车程序

/*功能:寻迹小车 使用芯片:AT89S52或者STC89C52 或A T89S51 STC89C51 晶振:12MHZ 编译环境:Keil 作者:MH~?*/ #include <reg51、h>// 引用标准库得头文件 #include #define ucharunsignedchar #defineuintunsigned int //=================电机驱动===================== sbit dianji_r = P3^0;//右边电机控制口,低电平转? sbitdianji_l= P3^7;//左边电机控制口,低电平转 //=============循迹感应接口====================== sbit xjmk_r=P3^2;// 右边寻迹模块检测口INT0 sbit xjmk_l= P3^3;// 左边寻迹模块检测口INT1 void check_righet();//右边时候检测到黑线测试程序 voidcheck_left();//左边时候检测到黑线测试程序 void delay_50us(uint t); void delayms(uintMs); ucharr_count;//右边传感器检测到得次数计数单元 uchar l_count; uint time; //***********************主程序****************************** main() { time=50; dianji_r=0;//上电时右侧电机运行 dianji_l=0;//上电时左侧电机运行 EA=1; EX1=1; EX0=1; IT1=0; IT0=0; xjmk_r=1;//置IO为1,准备读取数据 xjmk_l=1; _nop_(); r_count=0; l_count=0; while(1) { _nop_(); //check_righet();//调用右边寻迹检测传感器 //check_left();//

基于单片机的智能循迹小车本科

基于单片机的智能循迹小车本科

第1章绪论 1.1课题背景 目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。当时斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。 智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。 智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备: (1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作; (2)摄像机,用来获得道路图像信息; (3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。 智能车辆技术按功能可分为三层,即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。上一层技术是下一层技术的基础。三个层次具体如下: (1)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及 驾驶员本身的状态信息,必要时发出预警信息。主要包括碰撞预警系统和驾驶员状态监控系统。碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换

(完整版)基于单片机智能循迹小车毕业设计

沈阳理工大学 课程名称:基于单片机智能循迹小车姓名: 魏玉柱 指导教师:程磊催宁海

摘要 本文论述了基于单片机的智能循迹小车的控制过程。智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。该技术已经应用于无人驾驶机动车,无人工厂,仓库,服务机器人等多种领域。 本设计采用STC89C5单片机作为小车的控制核心;采用TCRT500C红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠性高。 关键词:STC89C52智能循迹小车TCRT5000专感器电机驱动 目录 1引言 (4) 2需求分析 (4) 2.1智能循迹小车概述 (4) 2.2循迹小车的发展历程回顾 (5)

2.3智能循迹小车的应用 (5) 2.4智能循迹小车研究中的关键技术 (8) 3系统设计 (9) 4详细设计 (8) 4.1硬件设计 (8) 4.1.1电路原理图 (9) 4.1.2器件选择 (10) 4.121智能循迹小车的主控芯片的选择 (10) 4.1.2.2智能循迹小车电源模块的选择 (10) 4.1.2.3智能循迹小车电机驱动电路的选择 (11) 4.1.2.4智能小车循迹模块的选择 (11) 4.1.3模块设计 (12) 4.1.3.1电机驱动模块电路 (12) 4.1.3.2光电传感器模块 (12) 4.2软件设计 (14) 4.2.1程序流程图 (14) 4.2.2 实现主要代码 (14) 5实验结果 (16) 5.1设计实现 (16) 5.2出现的问题和解决的方法 (17) 5.3电路实物图展示: (19) 6结束语 (18)

基于单片机的智能循迹小车的控制过程毕业设计

基于单片机的智能循迹小车的控制过程 毕业设计

摘要 本文论述了基于单片机的智能循迹小车的控制过程。智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。该技术已经应用于无人驾驶机动车,无人工厂,仓库,服务机器人等多种领域。 本设计采用STC89C52单片机作为小车的控制核心;采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298N构成双H桥控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠性高。 关键词:单片机;自动循迹;驱动电路

Abstract This paper discusses the intelligent tracing electric trolley control process. Automatic tracing is used to make the car indentify route automatically , and choosing the right route, based on the automatic guide robot system. Intelligent tracing electric trolley is an advanced technology to realize automatic tracing navigation. It is out of human management but under the designed mode that use of the use of a transducer, single chip, motor drive and automatic control .This technology has been applied in unmanned vehicle, unmanned factory, warehouse, service robot and many other fields. During the design of Intelligent tracing electric trolley, STC89C52 single clip is used as the control core; at the same time with TCRT5000 reflective infrared transducer switch to identify the black guide line at the central of the white road, which used as the car tracing module, it can gather the signal and transfer it into digital signal that can be recognized by single chip. And the driving chip L298N constitute the double H bridge constitute of driving chip L298N can control direct current motor. Among which the software system is using C program. In a nutshell, the design of the circuit has the advantages of simple structure, easy implementation, and high reliability. Key words:single chip microcomputer; automatic tracing; driving circuit

相关文档
最新文档