文档库 最新最全的文档下载
当前位置:文档库 › 超声波避障小车

超声波避障小车

超声波避障小车
超声波避障小车

《单片机课程设计》

设计报告

设计课题:超声波避障小车

专业班级:电子信息工程121班

学生姓名:范东耀

指导教师:蔡岗

设计时间: 2015年7月8日

赣南师范学院科技学院数学与信息科学系

超声波避障小车

一、设计任务与要求

1.设计任务:

1、采用超声波模块实现小车自动避障功能。

2、用LCD1602显示当前的障碍距离。

2.扩展部分:

测出当前小车的行驶速度,并用LCD1602显示当前速度。

二、方案设计与论证

1设计方案

系统采用51单片机作为核心控制单元用于智能车系统的控制,驱动板则以L289N驱动芯片为核心,应用超声波模块及光电传感器和LCD液晶模块,成功的实现了小车的避障、测速和显示功能这三大功能。在超声波检测到障碍物之后,主控芯片根据距离值控制电机的转动,在与障碍物距离较大的情况下,快速前进,在与障碍物距离较小但未到达临界转弯方向值得时候,慢速前进。在与障碍物距离较近时,小车转弯,在与障碍物很近时,小车后退转弯,来进行避障。测速传感器为光电测速传感器,在单位时间内计算脉冲的次数,然后再进行转换和处理即得到所测量的速度。通过软件pwm进行调速。通过LCD1602显示障碍距离及当前的小车行驶速度。

2 原理框图

简要原理框图如图1所示。

图1 系统原理框图

三、电路设计

1 电路设计

(1)超声波测距模块:

超声波测距的原理是首先利用单片机输出一个40kHz的触发信号,把触发信号通过TRIG管脚输入到超声波测距模块,再由超声波测距模块的发射器向某一方向发射超声波,在发射时刻的同时单片机通过软件开始计时,超声波在空气中传播,途中碰到障碍物返回,超声波测距模块的接收器收到反射波后通过产生一个回应信号并通过ECHO脚反馈给单片机,此时单片机就立即停止计时。时序图如图1所示。由于超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离,即:S=VT/2,通过单片机来算出距离。超声波测距原理图如图2所示。

图2 超声波测距原理

(2)显示模块:

系统采用LCD1602显示,它不仅节省了单片机的资源,相比较数码管液晶显示更加直观、节能,同时可以直接显示字母、数字、符号等,具有灵活易操作的特性。故采用LCD显示。

引脚功能说明:LCD1602采用标准的16脚(带背光)接口,各引脚接口说明如表1所示:

表1 LCD1602引脚说明

编号符号引脚说明编号符号引脚说明

1 VSS 电源地9 D

2 数据

2 VDD 电源正极10 D

3 数据

3 VL 液晶显示偏压11 D

4 数据

4 RS 数据/命令选择12 D

5 数据

5 R/W 读/写选择13 D

6 数据

6 E 使能信号14 D

7 数据

7 D0 数据15 BLA 背光源正极

8 D1 数据16 BLK 背光源负极

(3)电机驱动模块:

本系统采用由双极性管组成的H桥电路(L298N)。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,则效率非常高;H桥电路保证了可以简单地实现转速和方向的控制,电子开关的速度很快,稳定性也很高。而且它有更强的驱动能力。L298N 有过电流保护功能,当出现电机卡死时,可以保护电路和电机等。

驱动电机的运行,I/O端口状态与电机制动对照表,如下表2所示。

表2 I/O端口状态与电机制动对照表

IN1 IN2 IN3 IN4 EN1 EN2 转速

1 0 1 0 1 1 正转

0 1 0 1 1 1 反转

1 1 1 1 1 1 停止

0 0 0 0 1 1 停止

X X X X 0 0 停止

(4)光耦传感器

光耦传感器原理是传感器开孔圆盘的转轴与减速电机转轴相连,光源的光通过开孔盘的孔和缝隙反射到光敏元件上,开孔盘旋转体转一周,光敏元件上照到光的次数等于盘上的开孔数,从而测出旋转体旋转速度。灵敏度较高,但容易受外界光源的影响。虽然光电传感器受外界光源影响很大,但是它使用方便、安装简单,还有本设计要求的准确度不是很高,因此就选择了光耦测速传感器。

光耦测速传感器的原理图如图3所示。

图3 光耦测速传感器原理图

2 主要性能参数计算

当单片机的给一个20us的触发信号给超声波模块时,TRIG由低电平转换为高电平,TRIG=1,单片机开时计时,开启中断,并记录时间为T1,接收换能器等待接收回波,ECHO持续为高电平的时间为发射时间。换能器接收回波将超声波转换为电信号,送至单片机,记录时间为T2。超声波发射的时间为:T2-T1,C 为声速,计算发射距离为: L = (T2-T1)*C/2 。

速度的计算是通过小车轮胎的周长除以测码盘转过孔的个数,得出一个码盘孔对应的长度为1CM,通过定时器取1秒时间,1秒转过的码盘孔个数就是速度。

3程序流程图

本设计系统软件由主程序﹑定时子程序、电机驱动子程序﹑中断子程序、显示子程序﹑算法子程序构成。主程序流程图如图4所示。

图4主程序流程图

定时器计数器初始化 开始

液晶显示初始化 打开中断允许 启动超声波模

计算障碍距离

驱动电机转向

测当前速度

定时器计数器初始化 收到回波信号

四、电路制作及调试

1 实物图

通过以上步骤,制作出实物图。正面图如图5所示,反面图如图6所示。

图5 实物图正面

图6 实物图反面

2 电路调试测试

在小车的调试的过程中,碰到的最大的问题就是程序有时会跑飞,起初我觉得出现问题的原因是有以下三点,第一,程序的编写过于繁杂,数据处理和逻辑判断太多,芯片处理不过来,第二,数据经过处理后,传送出去未来得及经过处

理就已经改变了值,导致芯片来不及处理而跑飞,第三,数据的类型没有定义好,导致数据的值超过定义的类型的极限。经过几天的程序调试,我简化了程序的编写,在重要数据的传送过程中加入了延时函数,保证数据有充足的传送时间,并把各种参数定义的类型检查了几遍,结果并没有解决程序跑飞的问题。最后我发现问题出在电源上,由于小车负载较多,电源带载能力有限,导致芯片受到干扰而跑飞,我将耗电能力较强的直流电机的电源断开,电源只给芯片和其他模块供电,程序能够良好的运行。最后我通过在程序中加入“看门狗”的程序,判断程序是否跑飞,若程序跑飞,将软件复位。能有效的解决程序跑飞的问题。

在做测速模块时,发现单片机的资源不够用,单片机只有两个定时器,我在做超声波测距时已经用了一个定时器的计数模式做测距,小车的PWM调速用了一个定时器。而做测速还需要两个定时器,一个定时器做计数,计码盘转的圈数,一个定时器定1秒的时间,从而可以算出当前的小车速度。我通过学习,了解了定时器复用,可以从PWM中的1MS定时做处理,取出1S的时间,用外部中断计码盘的圈数,再通过数据处理,可以得出小车的速度。

3 元件清单

元件清单如表3所示。

表3 元件清单

器件型号数量单价合计

电阻10K 1M 1k 各2个0.1 0.6

电容0.1u 10u 各1个0.3 0.6

三极管9013 2个0.2 0.4 超声波模块HC-SR04 1个 3.8 3.8

液晶显示屏LCD1602 1个 5.1 5.1

电机驱动模块L298N 1个8 8

测速传感器光耦窄槽版2个 3.6 3.6 单片机89C52 1个 3.6 3.6

底盘轮胎电机1个28.5 28.5 合计17 54.2元

五参考文献

[1]潘永雄.沙河.电子线路CAD实用教程(第四版)[M].西安电子科技大学出版社,2012.

[2]高吉祥.电子技术基础实验与课程设计(第二版)[M].电子工业出版社,2005.

[3]王港元.电子设计制作基础[M].江西科学技术出版社,2011.

[4]彭介华.电子技术课程设计指导[M].高等教育出版社,2009.

[5]陈伯时.电力拖动自动控制系统[M].机械工业出版社,2012.

赣南师范学院科技学院

2014-2015学年第二学期期末考试

《单片机课程设计》成绩评定表

专业:电子信息工程班级:121班学号: 1220085110 姓名:范东耀课题名称超声波避障小车

设计任务与要求1.设计任务:

1、采用超声波模块实现小车自动避障功能。

2、用LCD1602显示当前的障碍距离。

2.扩展部分:

测出当前小车的行驶速度,并用LCD1602显示当前速度。

评分标准基本功能

(50)

焊接制作

(10)

程序设计

(10)

扩展功能

(20)

个人发挥

(10)

总分

(100)

指导老师

时间:年月日

#include

#include

#define uchar8 unsigned char

#define uint16 unsigned int

#define pwm_left 70 //设置左右两边的PWM都为45

sfr WDT_CONTR = 0xE1; //用sfr定义看门狗特殊功能寄存器

#define RX P3_1 //收

#define TX P3_0 //发

#define LCM_RW P2_5 //定义LCD引脚

#define LCM_RS P2_6

#define LCM_E P2_7

#define LCM_Data P0

#define Busy 0x80 //0124用于检测LCM状态字中的Busy标识

sbit tracking_right1 = P1 ^ 4; //右边电机

sbit tracking_right2 = P1 ^ 5;

sbit tracking_left1 = P1 ^ 2; //左边电机

sbit tracking_left2 = P1 ^ 3;

sbit pwm2 = P1 ^ 7;

uint16 count1=0,count2=0,F=0;

uint16 tmp=0;

void LCMInit(void);

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);

void Delay5Ms(void);

void Delay400Ms(void);

void Decode(unsigned char ScanCode);

void WriteDataLCM(unsigned char WDLCM);

void WriteCommandLCM(unsigned char WCLCM,BuysC);

unsigned char ReadDataLCM(void);

unsigned char ReadStatusLCM(void);

unsigned char code email[] ={"juli"};

unsigned char code ASCII[20] =

{'0','1','2','3','4','5','6','7','8','9','.','-','M','m','/','s','S', '=','V','c'};

unsigned char code A[] = {"sudu"};

static unsigned char DisNum = 0; //显示用指针

unsigned int time=0;

unsigned long S=0;

bit flag =0;

unsigned char disbuff[4] ={ 0,0,0,0,}; //超声波距离值赋值进来 unsigned char disbuffsudu[4] ={ 1,2,3,4,};//速度值赋值进来

void delayms(uint16 c)

{

uint16 a,b;

for(a=0;a

for(b=0;b<113;b++);

}

void turn_left() //左转函数

{

tracking_right1 = 1;

tracking_right2 = 0;

tracking_left1 = 0;

tracking_left2 = 0;

}

void big_left() //大左转函数

{

tracking_right1 = 1;

tracking_right2 = 0;

tracking_left1 = 0;

tracking_left2 = 1;

}

void turn_right() //右转函数

{

tracking_right1 = 0;

tracking_right2 = 0;

tracking_left1 = 1;

tracking_left2 = 0;

}

void go_straight() //直走函数

{

tracking_right1 = 1;

tracking_right2 = 0;

tracking_left1 = 1;

tracking_left2 = 0;

}

void right_back()//右后退函数

{

tracking_right1 = 0;

tracking_right2 = 1;

tracking_left1 = 0;

tracking_left2 = 0;

}

void left_back()//左后退函数

{

tracking_right1 = 0;

tracking_right2 = 0;

tracking_left1 = 0;

tracking_left2 = 1;

}

void tracking(S) //避障函数

{

if(S<=15)

{

right_back();

delayms(10);

}

else if((S>15)&&(S<30))

{

turn_right();

delayms(10);

}

else

{

go_straight();

delayms(10);

}

}

void Timer1Init(void) //pwm

{

TMOD &= 0x0F; //设置定时器模式

TMOD |= 0x10; //设置定时器模式

TL1 = 0x66; //设置定时初值

TH1 = 0xFC; //设置定时初值,定时1MS TF1 = 0; //清除TF0标志

TR1 = 1; //定时器0开始计时

EA=1; //开总中断

ET1=1; //开定时器1中断

}

void serve_T1() interrupt 3 //pwm

{

TL1 = 0x66; //设置定时初值

TH1 = 0xFC; //设置定时初值

count1++;

if(++count2<=(pwm_left))

{

pwm2=1;

}

else if(count2<=100)

{

pwm2=0;

}

else count2=0;

if(1000==count1) //1s的定时

{

count1=0; //定时标志位清零,为下次做准备

F=tmp; //F为每秒记录下来的脉冲,tmp为外部中断的个数,读取计数数据

delayms(10);

tmp=0;

delayms(5);

}

}

void counter(void) interrupt 0

{

EX0=0;

tmp++; //外部中断计数

delayms(10);

EX0=1;

}

void cesu(F)

{

disbuffsudu[1]=F/10%10; //取十位

disbuffsudu[2]=F%10; //取个位

DisplayOneChar(8, 1, ASCII[disbuffsudu[1]]);

DisplayOneChar(9, 1, ASCII[disbuffsudu[2]]);

DisplayOneChar(10, 1, ASCII[19]); //显示c

DisplayOneChar(11, 1, ASCII[13]); //显示m

DisplayOneChar(12, 1, ASCII[14]); //显示/

DisplayOneChar(13, 1, ASCII[15]); //显示s

}

//写数据

void WriteDataLCM(unsigned char WDLCM)

{

ReadStatusLCM(); //检测忙

LCM_Data = WDLCM;

LCM_RS = 1;

LCM_RW = 0;

LCM_E = 0; //若晶振速度太高可以在这后加小的延时

LCM_E = 0; //延时

LCM_E = 1;

}

//写指令

void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC为0时忽略忙检测

{

if (BuysC) ReadStatusLCM(); //根据需要检测忙

LCM_Data = WCLCM;

LCM_RS = 0;

LCM_RW = 0;

LCM_E = 0;

LCM_E = 0;

LCM_E = 1;

}

//读数据

unsigned char ReadDataLCM(void)

{

LCM_RS = 1;

LCM_RW = 1;

LCM_E = 0;

LCM_E = 0;

LCM_E = 1;

return(LCM_Data);

}

//读状态

unsigned char ReadStatusLCM(void)

{

LCM_Data = 0xFF;

LCM_RS = 0;

LCM_RW = 1;

LCM_E = 0;

LCM_E = 0;

LCM_E = 1;

while (LCM_Data & Busy); //检测忙信号

return(LCM_Data);

}

void LCMInit(void) //LCM初始化

{

LCM_Data = 0;

WriteCommandLCM(0x38,0); //三次显示模式设置,不检测忙信号

Delay5Ms();

WriteCommandLCM(0x38,0);

Delay5Ms();

WriteCommandLCM(0x38,0);

Delay5Ms();

WriteCommandLCM(0x38,1); //显示模式设置,开始要求每次检测忙信号

WriteCommandLCM(0x08,1); //关闭显示

WriteCommandLCM(0x01,1); //显示清屏

WriteCommandLCM(0x06,1); // 显示光标移动设置

WriteCommandLCM(0x0F,1); // 显示开及光标设置

}

//按指定位置显示一个字符

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)

{

Y &= 0x1;

X &= 0xF; //限制X不能大于15,Y不能大于1

if (Y) X |= 0x40; //当要显示第二行时地址码+0x40;

X |= 0x80; //算出指令码

WriteCommandLCM(X, 1); //发命令字

WriteDataLCM(DData); //发数据

}

//按指定位置显示一串字符

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)

{

unsigned char ListLength;

ListLength = 0;

Y &= 0x1;

X &= 0xF; //限制X不能大于15,Y不能大于1

while (DData[ListLength]>0x19) //若到达字串尾则退出

{

if (X <= 0xF) //X坐标应小于0xF

{

DisplayOneChar(X, Y, DData[ListLength]); //显示单个字符

ListLength++;

X++;

}

}

}

//5ms延时

void Delay5Ms(void)

{

unsigned int TempCyc = 5552;

while(TempCyc--);

//400ms延时

void Delay400Ms(void)

{

unsigned char TempCycA = 5;

unsigned int TempCycB;

while(TempCycA--)

{

TempCycB=7269;

while(TempCycB--);

};

}

void Conut(void)

{

time=TH0*256+TL0;

TH0=0;

TL0=0;

S=(time*1.7)/100; //算出来是CM

delayms(5);

if((S>=900)||flag==1) //超出测量范围显示“-”

{

flag=0;

DisplayOneChar(9, 0, ASCII[11]);

DisplayOneChar(10, 0, ASCII[10]); //显示点

DisplayOneChar(11, 0, ASCII[11]);

DisplayOneChar(12, 0, ASCII[11]);

DisplayOneChar(13, 0, ASCII[12]); //显示M

}

else

{

disbuff[0]=S%1000/100;//先对1000取余,再对100取整

disbuff[1]=S%1000%100/10;

disbuff[2]=S%1000%10%10;

DisplayOneChar(9, 0, ASCII[disbuff[0]]);

DisplayOneChar(10, 0, ASCII[10]); //显示点

DisplayOneChar(11, 0, ASCII[disbuff[1]]);

DisplayOneChar(12, 0, ASCII[disbuff[2]]);

DisplayOneChar(13, 0, ASCII[12]); //显示M

}

}

void zd0() interrupt 1 //T0中断用来计数器溢出,超过测距范

{

flag=1; //中断溢出标志

}

void StartModule() //启动模块

{

TX=1; //启动一次模块 _nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

TX=0;

}

void main(void)

{

WDT_CONTR = 0x34; //看门口启动,硬件清零后重新计数Timer1Init();

IT0=1; //外部中断0设置为下降沿触发

EA=1;

EX0=1; //外部中断允许

LCMInit(); //LCM初始化

Delay5Ms(); //延时片刻(可不要)

DisplayListChar(2, 0, email);

DisplayListChar(2, 1, A);

TMOD=0x01; //设T0为方式1,GATE=1;

TH0=0;

TL0=0;

ET0=1; //允许T0中断

EA=1; //开启总中断

while(1)

{

StartModule();

while(!RX); //当RX为零时等待

TR0=1; //开启计数

while(RX); //当RX为1计数并等待

TR0=0; //关闭计数

Conut(); //计算

delayms(80); //80MS

tracking(S);

cesu(F);

WDT_CONTR = 0x34; //看门狗启动,硬件清零后重新计数

}

}

红外避障小车设计说明

红外避障小车

前言 --------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

目录 前言------------------------------------------------------------------------------1 目录------------------------------------------------------------------------------2 摘要------------------------------------------------------------------------------3 功能概述------------------------------------------------------------------------3硬件设计------------------------------------------------------------------------3 避障电路------------------------------------------------------------------------4单片机电路---------------------------------------------------------------------7

智能超声波避障小车地设计与制作

江阴职业技术学院项目设计报告 项目:超声波避障小车的设计与制作 专业 学生姓名 班级 学号 指导教师 完成日期

摘要 智能小车是一种能够通过编程手段完成特定任务的小型化机器人,它具有制作成本低廉,电路结构简单,程序调试方便等优点。由于具有很强的趣味性,智能小车深受广大机器人爱好者以及高校学生的喜爱。 本论文介绍的是具有自动避障功能的智能小车的设计与制作(以下简称智能小车),论文对智能小车的方案选择,设计思路,以及软硬件的功能和工作原理进行了详细的分析和论述。经实践验收测试,该智能小车的电路结构简单,调试方便,系统反映快速、灵活,设计方案正确、可行,各项指标稳定、可靠。

Abstract Smart cars can be programmed to perform a specific task means the miniaturization of robot, it has to make cost is low, circuit simple structure, convenient program test. Because of it has strong interest, intelligent robot car favored by the majority of the university students' enthusiasts and love. This paper introduces the is a automatic obstacle avoidance function of intelligent car design and production (hereinafter referred to as the smart car), the thesis to the intelligence of the car scheme selection, design idea, and the implementation of hardware and software function and working principle of a detailed analysis and discusses. After practice acceptance test, this intelligent car circuit structure is simple, convenient debug, fast, flexible system reflect, correct and feasible design scheme, each index is steady and reliable.

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

单片机设计智能避障小车 摘要 利用红外对管检测黑线与障碍物,并以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

红外避障小车讲解

目的: 本毕业设计是红外蔽障小车的设计,通过设计使学生系统的熟悉和掌握单片机控制系统设计方面的内容体系、开发流程和程序设计,培养学生具有综合运用所学的理论知识去开拓创新及解决实际问题的能力。培养学生掌握设计题的思想和方法,树立严肃认真的工作作风、培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。同时是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 目录 一、任务书...............................P1 二、引言..............................P2 二、要求与发挥...........................P4 三、设计摘要.............................P6 四、模块方案比较.......................P7 1.避障模块 2.驱动模块

3.控制模块 五、程序设计.........................P9 1.程序流程图 2.程序编写 六、工作原理.........................P13 七、结论............................P13 八、参考文献........................P14 九、毕业设计(论文)成绩评定表.....P15 任务: 利用单片机、红外实现避障,要求具有下述功能: 1.小车前进可以避开(前、左、右)20cm的障碍物; 2.实现下车前进时,不碰障碍物; 3.具有声音播报功能。 引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人

超声波避障小车开题报告

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 课程设计说明书(论文) 设计题目:超声波避障小车 院系:电气学院自动化测试与控制系 班级: 设计者: 学号: 指导教师:周庆东 设计时间:9.2~9.13 哈尔滨工业大学 哈尔滨工业大学课程设计任务书

*注:此任务书由课程设计指导教师填

开题报告 1立项依据 1.1立项目的 (1)设计一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出各种躲避障碍的动作。 (2)进一步学习单片机原理及其应用,提高程序的编写能力。 (3)掌握单片机系统外扩器件的连接与使用,了解超声波传感器的工作原理。 (4)掌握软件和硬件调试的基本技巧与方法。 1.2立项意义 在当今社会,汽车成为了越来越普遍,人们不可缺少的交通工具。但汽车的不断增加,随之而来就是越来越多的交通事故。交通事故成为了现在越来越严重的安全隐患。所以随着汽车工业的快速发展,我们必须加强对汽车安全性能的考虑。所以,智能汽车概念应运而生,他既是汽车产业的机遇也是汽车产业的挑战。汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于超声波的智能小车的避障研究。 超声波作为智能车避障的一种重要手段,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。 2主要设计内容及方案 2.1总体方案 系统采用51单片机作为核心控制单元用于智能车系统的控制,在超声波检测到障碍物之后,主控芯片根据距离值控制直流电机的转动,在与障碍物距离较大的情况下,快速前进,在与障碍物距离较小但还未到达临界转弯方向值的时候,慢速前进。在与障碍物距离很近需要转向避障时,方案上将尝试进行转向,来进行避障。 2.2设计原理 该智能车系统可分为三个主要模块:单片机主控核心模块,传感器避障模块,电机驱动模块。系统主要原理是:通过超声波避障模块(即感测模块)实时监测路面情况并及时传输给单片机。由单片机主控核心模块根据感测模块给予的信息控制小车两电机转动工作状态。电机驱动模块驱动两电机转动,实现前进或者左、右转。

智能避障小车设计--毕业设计完整版-附程序编程

毕业设计设计题目:智能避障小车设计 系别:机电工程系 班级:测控技术与仪器 姓名:XXX 指导教师: XXX

智能小车设计 摘要 随着近年来机器人的智能水平不断提高,其中机器人的感觉传感器种类越来越多,而视觉传感器成为自动行走和驾驶的重要部件。智能小车可应用于无人工厂,仓库,服务机器人等领域解决一些高危环境下的难题。同时单片机技术的迅速发展使得机器人的智能控制更加智能化,人性化。 该设计是利用光电传感器以一定的频率发射红外线来检测障碍物,然后将检测信号发送到STC89C52单片机,并以STC89C52单片机为控制芯片进而电动小汽车的速度及转向,以此实现自动避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波调速控制。本设计结构简单,较容易实现,与实际相结合,现实意义很强,但具有高度的智能化、人性化,一定程度体现了智能。 关键词:智能小车; STC89C52单片机; L298N; PWM波

Design Of Smart Car Abstract Along with the robot's intelligent level rises ceaselessly, the types of robot sensory sensor are more and more, and the vision sensor have become the important part in the automatic walking and driving .Smart car can be applied to unmanned factory, warehouse, service robot and etc. to solve some high risk environment problems,At the same time,The rapid development of MCS technology makes the intelligent control of robot more intelligent ang humane. This design uses a photoelectric sensor sending a certain frequency transmitting infrared to detect obstacles, and then sends a detection signal to a STC89C52 MCS. While the car is drived by the L298N circuit, its speed is controlled by the output PWM signal from the STC89C52 MCS.This design is practical ,easy realization and simple in the structure, but highly intelligent, humane, Intelligent in some degree. Key words:Smart Car; STC89C52 MCS; L298N; PWM Signa

超声波避障小车程序设计

/****************************************************************************** *****************************/ //5路超声波避障实验:51单片机 + HC-SR04超声波 // /****************************************************************************** *****************************/ #include //器件配置文件 #include #define RX1 P3_6 //小车左侧超声波HC-SR04接收端 #define TX1 P1_7 //发送端 #define RX2 P3_3 //左前方超声波 #define TX2 P0_2 #define RX3 P2_4 //正前方超声波 #define TX3 P2_5 #define RX4 P3_5 //右前方超声波 #define TX4 P3_4 #define RX5 P3_7 //右侧超声波 #define TX5 P1_6 #define Left_moto_pwm P1_5 //PWM信号端 #define Right_moto_pwm P1_4 //PWM信号端 //定义小车驱动模块输入IO口 sbit IN1=P1^0; sbit IN2=P1^1; sbit IN3=P1^2; sbit IN4=P1^3; sbit EN1=P1^4; sbit EN2=P1^5; bit Right_moto_stop=1; bit Left_moto_stop =1; #define Left_moto_go {IN1=0,IN2=1,EN1=1;} //左电机向前走 #define Left_moto_back {IN1=1,IN2=0,EN1=1;} //左边电机向后走 #define Left_moto_Stop {EN1=0;} //左边电机停转 #define Right_moto_go {IN3=1,IN4=0,EN2=1;} //右边电机向前走 #define Right_moto_back {IN3=0,IN4=1,EN2=1;} //右边电机向后走 #define Right_moto_Stop {EN2=0;} //右边电机停转 unsigned char pwm_val_left =0;//变量定义 unsigned char push_val_left =0;// 左电机占空比N/20 unsigned char pwm_val_right =0; unsigned char push_val_right=0;// 右电机占空比N/20 unsigned int time=0; unsigned int timer=0; unsigned long S1=0; unsigned long S2=0; unsigned long S3=0; unsigned long S4=0;

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

毕业设计智能循迹避障 小车设计 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

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

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

目录

摘要 随着计算机、微电子、信息技术的快速进步,智能化技术的开发速度越来越快,智能度越来越高,应用范围也得到了极大的扩展。智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。智能电动小车就是其中的一个体现。设计者可以通过软件编程实现它的行进、循迹、停止的精确控制以及检测数据的存储、显示,无需人工干预。因此,智能电动小车具有再编程的特性,是机器人的一种。 本设计采用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 第一章绪论 智能小车的意义和作用 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。 随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传

超声波避障小车设计

超声波避障小车设 计

Harbin Institute of Technology 课程设计说明书(论文) 设计题目:超声波避障小车 院系:电气工程及自动化 班级: 1 21 设计者:张佳炜 学号: 11 0316 指导教师:周庆东 设计时间: .09.14- .09.25 哈尔滨工业大学

课程设计考核表 题目:超声波避障小车 学生姓名:张佳炜班级: 1 21 学号: 11 0316 实验部分考核 总结报告评分 总成绩:指导教师签字:

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

开题报告 1立项依据 1.1立项目的 (1)设计一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出各种躲避障碍的动作。 (2)深入学习单片机原理及其应用,提高程序的编写能力。 (3)掌握单片机系统外围电路的设计,了解超声波传感器的工作原理。(4)掌握软件和硬件调试的基本技巧与方法。 1.2立项意义 汽车作为人们不可缺少的交通工具,给人类带来了极大的便利,但随着汽车的量越来越多,交通事故也越来越多。交通事故成为了现在越来越严重的安全隐患。我们必须加强对汽车安全性能的考虑。随着电子技术、信息技术、网络技术的发展,智能汽车概念应运而生,将电子信息网络和汽车接合起来实现汽车的智能化,是传统汽车产业的机遇也是的挑战。汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于超声波的智能小车的避障研究。 超声波具有穿透力强、方向性好、操作简单、方便、快速和安全等的特点,在很多 领域有着广泛的应用前景。超声波作为智能车避障的传感信号,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。作为一个发展大

超声波避障小车论文

河南科技学院新科学院2012届本科毕业论文 智能小车运动控制技术研究 学生姓名:xxx 所在院系:新科学院信工系 所学专业:计算机科学与技术导师姓名:xxx 完成时间:2012年5 月5日

智能小车运动控制技术研究 摘要 本系统采用STC89C52单片机为控制核心,利用超声波传感器检测道路上的障碍,然后把数据传送给单片机,当超声波检测到距离小车前方20CM有障碍物时单片机就发出指令让小车左转一定角度,然后停止运行继续探测.如果前方20CM没有障碍物就直走,否则继续左转一定角度。如此通过超声波不断的循环检测周边环境的情况进行自动避障。该系统在驱动方面采用L298驱动4个直流电机带动小车运行。并且,用PWM系统调速,控制小车前进的速度。 关键词:STC89C52,PWM调速,电动小车,超声波 I

SMART CAR MOTION CONTROL TECHNOLOGY Abstract The system uses STC89C52 single chip to control the core,The use of ultrasonic sensors to detect road obstacles,Then send data to the microcontroller,When ultrasonic testing to distance the car in front of 20CM there is an obstacle, the microcontroller issued a directive to allow the car to turn left at an angle,Then stop the run to continue detection,If the front 20CM there are no obstructions on the straight,Otherwise, continue to turn left at an angle,So by the ultrasonic continuous loop to detect the surrounding environment, the automatic obstacle avoidance,This system L298 drive 4 DC motors to drive the car running in the drive,And speed control of the PWM system to control the forward speed of the car. Keywords:STC89C52;PWM control;electric car; ultrasonic II

红外避障电动小车C51程序

红外避障电动小车C51程序 时间:2009-05-13 来源: 作者: 点击:1400 字体大小:【大中小】 #include"reg51.h" #include #define uchar unsigned char #define uint unsigned int #define left_infrare 0 #define right_infrare 1 #define dj_state1 0X5F //前进 #define dj_state2 0X4F //右转 #define dj_state3 0X1F //左转 #define dj_state4 0X0F //后退 #define dj_state5 0XfF //停车 #define light_off 0x0f //关转向灯 #define left_light 0X5F //左转向灯两个是5f #define right_light 0XaF //右转向灯0xaf,两个是0xbf #define back_light 0XcF //刹车灯即后灯 #define front_light 0x3f //前灯 #define light_on 0xff //开所有灯 #define true 1 #define false 0 #define LCD_Data P0 #define Busy 0x80 //用于检测LCD状态字中的Busy标识 sbit c=P1^2; //转向灯使能端 uchar code talk1[]={"backward"}; uchar code talk2[]={"forward"}; uchar code talk3[]={"Turnleft"}; uchar code talk4[]={"Turn right"}; uchar flage =0x00; sbit ledcs=P1^2; //74H573的片选信号 //sbit left_led=P0^2; //左红外发射管 //sbit right_led=P0^3; //右红外发射管 sbit LCD_RS = P1^5; //LCD定义引脚 sbit LCD_RW = P1^6; // sbit LCD_E = P1^7 ; void Delay5Ms(void) { uint TempCyc = 5552; while(TempCyc--); } //400ms延时 void Delay400Ms(void)

超声波避障小车设计

Harbin Institute of Technology 课程设计说明书(论文) 设计题目:超声波避障小车 院系:电气工程及自动化 班级:1201121 设计者:张佳炜 学号:1120110316 指导教师:周庆东 设计时间:2012.09.14-2012.09.25 哈尔滨工业大学

课程设计考核表 题目:超声波避障小车 学生姓名:张佳炜班级:1201121 学号:1120110316 实验部分考核 总结报告评分 总成绩:指导教师签字:

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

开题报告 1立项依据 1.1立项目的 (1)设计一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出各种躲避障碍的动作。 (2)深入学习单片机原理及其应用,提高程序的编写能力。 (3)掌握单片机系统外围电路的设计,了解超声波传感器的工作原理。 (4)掌握软件和硬件调试的基本技巧与方法。 1.2立项意义 汽车作为人们不可缺少的交通工具,给人类带来了极大的便利,但随着汽车的量越来越多,交通事故也越来越多。交通事故成为了现在越来越严重的安全隐患。我们必须加强对汽车安全性能的考虑。随着电子技术、信息技术、网络技术的发展,智能汽车概念应运而生,将电子信息网络和汽车接合起来实现汽车的智能化,是传统汽车产业的机遇也是的挑战。汽车的智能化必将是未来汽车产业发展的趋势,在这样的背景下,我们开展了基于超声波的智能小车的避障研究。 超声波具有穿透力强、方向性好、操作简单、方便、快速和安全等的特点,在很多领域有着广泛的应用前景。超声波作为智能车避障的传感信号,以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。作为一个发展大国,应该把握未来汽车产业发展的方向,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。 2主要设计内容及方案 2.1总体方案 系统采用51单片机作为核心控制单元用于智能车系统的控制,在超声波检测到障碍物之后,主控芯片根据距离值控制直流电机的转动,在与障碍物距离较大的情况下,快速前进,在与障碍物距离较小但还未到达临界转弯方向值的时候,慢速前进。在与障碍物距离很近需要转向避障时,方案上将尝试进行转向,来进行避障。 2.2设计原理 该智能车系统可分为三个主要模块:单片机主控核心模块,传感器避障模块,电机驱动模块。系统主要原理是:通过超声波避障模块(即感测模块)实时监测路面情况并及

超声波避障技术设计说明

南 京 理 工 大 学 毕业设计说明书(论文) 作 者 : 薛玉洁 号: 6 教 学点 : 工业职业技术学院 专 业 : 电子工程 题 目 : 超声波在小车避障技术的应用设计 指导者: (姓 名) (专业技术职务) 评阅者: (姓 名) (专业技术职务) 倪瑛 副教授 副教授 戴娟

2013 年 5 月 毕业设计说明书(论文)中文摘要

毕业设计说明书(论文)外文摘要

目次 1 引言 (1) 1.1 研究背景与意义 (1) 2 超声波的避障技术 (4) 2.1 小车的避障技术 (4) 2.2 超声波的传播特性 (5) 2.3 超声波测距技术 (5) 2.4 基于单片机的超声波测距系统 (6) 2.5 超声波的衰减 (6) 3 超声波避障系统硬件设计 (8) 3.1 方案概述 (8) 3.2 方案设计 (8) 3.3 元器件介绍 (9) 3.4 超声波发射系统电路 (16) 3.5 超声波接收系统电路 (16) 3.6 相关软件、电路模块和器件清单。 (17) 4 超声波避障系统的软件设计 (19) 4.1 直流电机控制软件设计 (19) 4.2 超声波测距模块软件设计 (19) 4.3 超声波避障技术软件设计 (21) 4.4 软件与硬件的整合软件与硬件的整合 (22) 5 超声波避障系统调试 (23) 5.1 调试过程 (23) 5.2 问题分析 (26) 5.3 误差分析 (26) 致 (29) 参考文献 (30)

1 引言 1.1 研究背景与意义 随着机器人技术的发展,自主移动机器人以其活性和智能性等特点,在人们的生产、生活中的应用来越广泛。自主移动机器人通过各种传感器系统感知外界环境和自身状态, 在复杂的已知或者未知环境中自主移动并完成相应的任务。而在多种探测手段中, 超声波传感器系统由于具有成本低, 安装方便, 不易受电磁、光线、被测对象颜色、烟雾等影响,时间信息直观等特点, 对于被测物处于黑暗、有灰尘、烟雾、电磁干扰、有毒等恶劣的环境下有一定的适应能力, 因此在移动机器人领域有着广泛用。 本设计主要体现多功能小车的智能避障模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。 智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。 超声波测距与避障系统包括硬件及软件两个部分。硬件开发基STC89S52微控制器,集成了传感器电路、信号处理电路、微控制器外围电路及电源电路等;软件设计主要包括测距算法设计和避障算法设计。其中,避障算法由单传感器避障策略、多传感器精确避障策略以及多传感器模糊避障策略组成。

Arduino智能避障小车避障程序

Arduino智能避障小车避障程序 首先建立一个名为modulecar.ino的主程序。 // modulecar.ino,玩转智能小车主程序 #include //导入舵机库 #include //导入NwePing库 // 对照系统配线方案依次指定各I/O const int ENA = 3 ; //左电机PWM const int IN1 = 4 ; //左电机正 const int IN2 = 5 ; //左电机负 const int ENB = 6 ; //右电机PWM const int IN3 = 7 ; //右电机正 const int IN4 = 8 ; //右电机负 const int trigger = 9 ; //定义超声波传感器发射脚为D9 const int echo = 10 ; //定义传感器接收脚为D10 const int max_read = 300; //设定传感器最大探测距离。 int no_good = 35; //*设定35cm警戒距离。 int read_ahead; //实际距离读数。 Servo sensorStation; //设定传感器平台。 NewPing sensor(trigger, echo, max_read); //设定传感器引脚和最大读数//系统初始化 void setup() { Serial.begin(9600); //启用串行监视器可以给调试带来极大便利 sensorStation.attach(11); //把D11分配给舵机

pinMode(ENA, OUTPUT); //依次设定各I/O属性 pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(ENB, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(trigger, OUTPUT); pinMode(echo, INPUT); sensorStation.write(90); //舵机复位至90? delay(6000); //上电等待6s后进入主循环 } //主程序 void loop() { read_ahead = readDistance(); //调用readDistance()函数读出前方距离Serial.println("AHEAD:"); Serial.println(read_ahead); //串行监视器显示机器人前方距离 if (read_ahead < no_good) //如果前方距离小于警戒值 { fastStop(); //就令机器人紧急刹车 waTch(); //然后左右查看,分析得出最佳路线 goForward(); //*此处调用看似多余,但可以确保机器人高速运转下动作的连贯性 }

红外避障小车课程设计报告

前言 --------------------------------------------------- 随着生产自动化的发展需要,机器人已经越来越广泛地应用到生产自动化上,随着科学技术的发展,机器人的传感器种类也越来越多,其中红外传感器已经成为自动行走和驾驶的重要部件。 红外的典型应用领域为自主式智能导航系统,机器人要实现自动避障功能就必须要感知障碍物,感知障碍物相当给机器人一个视觉功能。智能避障是基于红外传感系统,采用红外传感器实现前方障碍物检测,并判断障碍物远近。 由于时间和水平有限,我们暂选最基本的避障功能作为此次设计的目标。 本设计通过小车这个载体再结合由AT89S51为核心的控制板可以达到其基本功能,再辅加由漫反射式光电开关组成的避障电路、555组成的转速控制电路、电源电路、差分驱动电路就可以完善整个设计。

目录 前言------------------------------------------------------------------------------1目录------------------------------------------------------------------------------2摘要------------------------------------------------------------------------------3功能概述------------------------------------------------------------------------3硬件设计------------------------------------------------------------------------3 避障电路------------------------------------------------------------------------4单片机电路---------------------------------------------------------------------7电机转速控制电路------------------------------------------------------------7电源电路------------------------------------------------------------------------8电机驱动电路---------------------------------------------------------------9主程序设计--------------------------------------------------------------------12小结-----------------------------------------------------------------------------23参考文献-----------------------------------------------------------------------23

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

单片机系统课程设计轮式移动机器人的设计 学院:通信与电子工程学院 班级:电子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

相关文档