当前位置:文档之家› 智能循迹小车

智能循迹小车

智能循迹小车
智能循迹小车

摘要

进入二十一世纪,随着计算机技术和科学技术的不断进步,机器人技术较以往已经有了突飞猛进的提高,智能循迹小车即带有视觉和触觉的小车就是其中的典型代表。本文论述了基于单片机的智能循迹小车的控制过程。智能循迹是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。该技术已经应用于无人驾驶机动车,无人工厂,仓库,服务机器人等多种领域。

本设计采用AT89C51单片机作为小车的控制核心;用红外探测传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号;采用驱动芯片L298构成双控制直流电机,其中软件系统采用C程序,本设计的电路结构简单,容易实现,可靠性高。

关键词:单片机;智能;自动循迹。

目录

1 绪论 (1)

2 设计要求 .............................................................................................. 错误!未定义书签。

3 系统设计分析 ...................................................................................... 错误!未定义书签。

4 系统基本组成 ...................................................................................... 错误!未定义书签。

5 设计步骤及流程图 .............................................................................. 错误!未定义书签。6系统所需元器件 (3)

7主要模块介绍 (3)

7.1 L298驱动模块简介 (3)

7.2 LM016L显示模块 (4)

8小车运动逻辑 (6)

9系统原理图 (6)

10系统程序设计 (7)

11系统仿真 (17)

12结果分析 (17)

13感想与收获 (19)

1 绪论

智能循迹小车又被称为Automated Guided Vehicle,简称AGV,是二十世纪五十年代研发出来的新型智能搬运机器人。智能循迹小车是指装备如电磁,光学或其他自动导引装置,可以沿设定的引导路径行驶,安全的运输车。工业应用中采用充电蓄电池为主要的动力来源,可通过电脑程序来控制其选择运动轨迹以及其它动作,也可把电磁轨道黏贴在地板上来确定其行进路线,无人搬运车通过电磁轨道所带来的讯息进行移动与动作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。

AGV的另一个特点是高度自动化和高智能化,可以根据仓储货位要求、生产工艺流程等改变而灵活改变行驶路径,而且改变运行路径的费用与传统的输送带和传送线相比非常低廉。AGV小车一般配有装卸机构,可与其它物流设备自动接口,实现货物装卸与搬运的全自动化过程。此外,AGV小车依靠蓄电池提供动力,还有清洁生产、运行过程中无噪音、无污染的特点,可用在工作环境清洁的地方。

随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度很高等其他事情的工具,于是就诞生了机器人这门学科。世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。循迹小车共历了三代技术创新变革:第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。

支持离线编程的第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。

第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化作出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让循迹小车能独立工作,一方面应具有较高的智慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息

2 设计要求

设计一个智能循迹小车,要求小车通过红外探测器自动探测路面轨迹标示,将数据传送给单片机进而控制电动机的转速,做到自动转向,自动行驶。同时通过显示屏实时显示循迹小车的运动状态,直行、左转、右转、停止。

3系统设计分析

根据设计要求,将系统分为控制模块、检测模块、电机驱动模块。其中信号检测部分通过红外探测器检测并将信号传回单片机进行处理。控制部分的作用是接收并处理传感器检测到的信号,通过判断信号的类别控制小车的动作同时控制显示屏的显示状态。本系统采用AT89C51单片机,其特点是小型、快速、低功耗、I/O口资源丰富等,能够满足本小车的设计要求。采用两个直流电机驱动,电路简单,成本不高。电机的驱动芯片采用L298,该芯片有四路输出,可以驱动一个四相步进电机或两个直流电机,四路总电流可达4A,输出电压最高可达46V,可以直接用单片机I/O口的输出信号来控制。

检测模块采用红外探测器。红外探测模块主要由红外感光管、电压比较器、敏感调节器组成。最左边是红外感光管,中间的黑色芯片是电压比较器,绿色的是敏感调节器。4系统基本组成

5设计步骤及流程图

1)根据设计要求,确定控制方案。

2)画出程序流程图,使用C语言进行编程,运用Keil C进行模拟调试。

3)利用Proteus设计合理的硬件原理图。

4)进行仿真调试以实现控制功能。

6系统所需元器件

单片机AT89C51、瓷片电容CAP30pf、晶振CRYSTAL12MHZ、电解电容CAP-ELEC、按钮BUTTON、电阻RES、L298、COMPIM、MOTOR-ENCODER、RESPACK-8、SWITCH。

7主要模块介绍

7.1 L298驱动模块简介

L298驱动模块:采用L298作为电机驱动芯片。L298具有高电压、大电流、响应频率高的全桥驱动芯片,一片L298可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便,稳定性好,性能优良。L298的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298

的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题

表7.1 L298引脚标号与功能

引脚编号名称功能

1 电流传感器A 在该引脚和地之间接小阻值电阻可用来检测电流

2 输出引脚1 内置驱动器A的输出端1,接至电机A

3 输出引脚2 内置驱动器A的输出端2,接至电机A

4 电机电源端电机供电输入端,电压可达46V

5 输入引脚1 内置驱动器A的逻辑控制输入端1

6 使能端A 内置驱动器A的使能端

7 输入引脚2 内置驱动器A的逻辑控制输入端2

8 逻辑地逻辑地

9 逻辑电源端逻辑控制电路的电源输入端为5V

10 输入引脚3 内置驱动器B的逻辑控制输入端1

11 使能端B 内置驱动器B的使能端

12 输入引脚4 内置驱动器B的逻辑控制输入端2

13 输出引脚3 内置驱动器B的输出端1,接至电机B

14 输出引脚4 内置驱动器B的输出端2,接至电机B

15 电流传感器B 在该引脚和地之间接小阻值电阻可用来检测电流

7.2 LM016L显示模块

1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样。

8小车运动逻辑

表8.1 小车运动逻辑

9系统原理图

10系统程序设计

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define LCD_IO P0 //定义P0口与LCD1602的数据口相接

/***********************LCD1602接线引脚定义**************************/ #define LCD_IO P0 //定义P2口与LCD1602的数据口相接

sbit LCD_RS = P2^6; //数据、命令选择端1为数据

sbit LCD_RW = P2^5; //读、写选择端1为读

sbit LCD_EN = P2^7; //使能控制

sbit LCD_BUSY=LCD_IO^7; //忙碌标志位

/**********************另外相关的定*********************************/

#define HIGH 1

#define LOW 0

#define TURE 1

#define FALSE 0

#define uchar unsigned char

#define uint unsigned int

/**********************输入方式设置**************************** */

#define LCD_AC_AUTO_INCREMENT 0x06 //数据读、写操作后,AC自动增一

#define LCD_AC_AUTO_DECREASE 0x04 //数据读、写操作后,AC自动减一

#define LCD_MOVE_ENABLE 0x05 //数据读、写操作,画面平移

#define LCD_MOVE_DISENABLE 0x04 //数据读、写操作,画面不动

#define LCD_GO_HOME 0x02 //AC=0,光标、画面回HOME位

#define LCD_DISPLAY_ON 0x0C //显示开

#define LCD_DISPLAY_OFF 0x08 //显示关

#define LCD_CURSOR_ON 0x0A //光标显示

#define LCD_CURSOR_OFF 0x08 //光标不显示

#define LCD_CURSOR_BLINK_ON 0x09 //光标闪烁

#define LCD_CURSOR_BLINK_OFF 0x08 //光标不闪烁

#define LCD_LEFT_MOVE 0x18 //LCD显示左移一位

#define LCD_RIGHT_MOVE 0x1C //LCD显示右移一位

#define LCD_CURSOR_LEFT_MOVE 0x10 //光标左移一位

#define LCD_CURSOR_RIGHT_MOVE 0x14 //光标右移一位

#define LCD_DISPLAY_DOUBLE_LINE 0x38 //两行显示,8位数据端口

#define LCD_DISPLAY_SINGLE_LINE 0x30 //单行显示

#define LCD_CLEAR_SCREEN 0X01 //清屏

/***********************LCD1602地址相关******************************/ #define LINE1_HEAD 0x80 //第一行DDRAM起始地址

#define LINE2_HEAD 0xc0 //第二行DDRAM起始地址

#define LINE1 0 //第一行

#define LINE2 1 //第二行

#define LINE_LENGTH 16 //每行的最大字符长度

/*************************以下是函数的申明部*************************/ void LCD_Init(void); //LCD1602初始化

void LCD_Write_Command(uchar); // 写命令

void LCD_Write_Data(uchar); //写数据

void LCD_Flash(uchar); //LCD 画面闪烁

void LCD_Char(uchar, uchar, uchar); //在第几行第几列显示一个字符

void LCD_Str(uchar, uchar, char *); //从第几行第几列开始显示一个字符串

void DelayMs(uchar); //延迟毫秒

void DelayUs(uchar); //延迟微秒

void LCD_Check_Busy(void); //LCD 忙碌检测

uchar high_time1; //定义变量

uint zkb1,zkb2;

uchar count1;

uchar high_time1;

uchar count2;

uchar high_time2;

sbit Output1=P1^0;

sbit Output2=P1^1;

sbit HZ = P3^6;

sbit HY = P3^7;

sbit Z1 = P1^2;

sbit Z2 = P1^3;

sbit Y1 = P1^4;

sbit Y2 = P1^5;

void Timer0Init(void);//函数的声明

void Timer1Init(void);

void Pwm_set1(uint zkb);

void Pwm_set2(uint zkb);

void xunji(unsigned char vx);

void LCD_Check_Busy(void);

/************延迟函数*******************************/ void DelayUs(uchar us)//delay us

{

unsigned char uscnt;

uscnt=us>>1; /* Crystal frequency in 12MHz*/

while(--uscnt);

}

void DelayMs(uchar ms)//delay Ms

{

while(--ms)

{

DelayUs(250);

DelayUs(250);

DelayUs(250);

DelayUs(250);

}

}

void LCD_Init()

{

DelayMs(15); //延迟15ms,等待LCD电源稳定,使其进入工作状态

LCD_IO = 0x00;

LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE);

DelayMs(5);

LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE);

DelayMs(5);

LCD_Write_Command(LCD_DISPLAY_DOUBLE_LINE); //显示模式设置为两行显示,8位数据接口,5*8点阵DelayMs(5);

LCD_Write_Command(LCD_AC_AUTO_INCREMENT | LCD_MOVE_DISENABLE); //数据读、写操作后,AC自动增一,画面不动

DelayMs(5);

LCD_Write_Command(LCD_DISPLAY_ON | LCD_CURSOR_OFF); //显示开,光标不显示

DelayMs(5);

LCD_Write_Command(LCD_CLEAR_SCREEN); //清除LCD显示内容

}

/************LCD1602写指令*******************************/

void LCD_Write_Command(uchar com)

{

LCD_Check_Busy();

LCD_RS = LOW;

LCD_RW = LOW;

_nop_(); //一个_nop_();是一个机器周期,是1us

LCD_EN = HIGH;

LCD_IO = com;

LCD_EN = LOW;

}

/*****************LCD1602写数据**************************/

void LCD_Write_Data(uchar dat)

{

LCD_Check_Busy();

LCD_RS = HIGH;

LCD_RW = LOW;

_nop_();

LCD_EN=HIGH;

LCD_IO=dat;

LCD_EN=LOW;

}

/**********************显示一个字节**************************/

void LCD_Char(uchar x, uchar line, uchar dat) //从第x开始写一个字节

{

unsigned char address;

if (line == LINE1) // line=0,为第一行

address = LINE1_HEAD + x;

else // 否则为第二行

address = LINE2_HEAD + x;

LCD_Write_Command(address);

LCD_Write_Data(dat);

}

/******************LCD1602显示字符串*********************/

void LCD_Str(uchar x,uchar line,uchar *Str) //从第line行的第x位置开始显示字符串{

uchar i = x;

if (line == LINE1)

{

while( *Str != '\0')

LCD_Char(i++, 0, *Str++);

}

else

{

while( *Str != '\0')

LCD_Char(i++, 1, *Str++);

}

}

/***************************LCD忙碌状态*******************************/ void LCD_Check_Busy(void) //检测LCD状态,看它是不是还在忙呢

{

do

{

LCD_EN=0;

LCD_RS=0;

LCD_RW=1;

LCD_IO=0xff;

LCD_EN=1;

}

while (LCD_BUSY==1);

LCD_EN=0;

}

/*****************屏幕闪烁********************/

void LCD_Flash(uchar time) //控制停留时间

{

LCD_Write_Command(LCD_DISPLAY_OFF); //关闭显示

DelayMs(time); //延时

LCD_Write_Command(LCD_DISPLAY_ON); //开显示

DelayMs(time);

LCD_Write_Command(LCD_DISPLAY_OFF); //关闭显示

DelayMs(time); //延时

LCD_Write_Command(LCD_DISPLAY_ON); //开显示

DelayMs(time);

}

void Pwm_set1(uint zkb)

{

high_time1=zkb;

}

void Pwm_set2(uint zkb)

{

high_time2=zkb;

}

void Timer0Init(void) // AUXR &= 0x7F; //定时器时钟12T模式

{

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

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

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

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

TF0 = 0; //清除TF0标志

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

EA=1;//开总中断

ET0=1;//开定时器0中断

}

void Timer1Init(void) // AUXR &= 0x7F; //定时器时钟12T模式{

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

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

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

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

TF1 = 0; //清除TF0标志

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

EA=1;//开总中断

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

}

void serve_T0() interrupt 1 using 1

{

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

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

if(++count1<=(high_time1))

{

Output1=1;

}

else if(count1<=100)

{

Output1=0;

}

else count1=0;

}

void serve_T1() interrupt 3

{

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

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

if(++count2<=(high_time2))

{

Output2=1;

}

else if(count2<=100)

{

Output2=0;

}

else count2=0;

}

void go (uchar S)

{

Pwm_set1(S);

Pwm_set2(S);

Z1=1;

Z2=0;

Y1=1;

Y2=0;

LCD_Str(5,1,"GO ! "); }

void right(void)

{

Pwm_set1(80);

Pwm_set2(30);

Z1=1;

Z2=0;

Y1=1;

Y2=0;

LCD_Str(5,1,"TURN R"); }

void left(void)

{

Pwm_set1(30);

Pwm_set2(80);

Z1=1;

Z2=0;

Y1=1;

Y2=0;

LCD_Str(5,1,"TURN L"); }

void stop(void)

{

Pwm_set1(0);

Pwm_set2(0);

Z1=1;

Z2=1;

Y1=1;

Y2=1;

LCD_Str(5,1,"stop ");

LCD_Str(0,0,"***smart car***"); }

void xunji(uchar vx)

{

if( (HZ==1)&&(HY==1) )

{

go(vx);

}

else if ( (HZ==1)&&(HY==0) )

{

left( );

}

else if ( (HZ==0)&&(HY==1) )

{

right();

}

else if ( (HZ==0)&&(HY==0) )

{

stop();

}

}

void main (void)

{

Timer0Init();

Timer1Init();

LCD_Init();

LCD_Str(5, 0, "1421h");

LCD_Str(0,0,"***smart car***");

LCD_Str(0,1,"*DANG HONG MIN*");

while(POWER) LCD_Flash(500);;

DelayMs(50);

LCD_Write_Command(0x01);

LCD_Str(0,0,"***smart car***");

while(1)

{

xunji(800);

}

}

11系统仿真

1.在Keil中调试与仿真:创建“智能循迹小车”项目,选择单片机型号为AT89C51,

输入C语言,保存为“智能循迹小车.C”。将源程序“智能循迹小车.C”添加

到项目中,编译源程序,并创建了“智能循迹小车.HEX”。

2. 在Proteus中调试程序:打开“智能循迹小车.DSN”,双击单片机,选择程序

“智能循迹小车.HEX”。单机按钮进行仿真:

3. 因为Proteus中没有红外探测器模块,所以使用SW-ROT-3代替。

12结果分析

1仿真开始,两电机转速相同,显示屏显示“GO”此时表示小车直线行走。

向左转向。同时显示屏显示“TURN L”。

智能车实验报告

宁波大学 创新性开放实验报告题目基于光电传感器的自动寻迹小车 学号: 姓名: 专业: 指导教师: 目录 光电感应智能车............................................................................................. 错误!未定义书签。

一、硬件系统…………………………………………………………………………………错误!未定义书签。 (一)硬件框图 (3) 1、电源模块 (4) 2、寻迹模块 (4) 3、驱动模块 (5) 4、测速模块 (6) 二、软件系统 (7) (一)主程序流程图 (7) 1、电机驱动 (8) 2、舵机驱动 (10) 参考文献 (13)

光电感应自动寻迹智能车 【摘要】如果把自动寻迹小车成比例的扩大数倍,就成为真正有意义上的智能车,可以运用于军事、民用领域,对未来汽车行业的发展有一定的借鉴意义。通过光电传感器来寻找轨迹,以所编写的程序为软件支持,通过单片机计算生成相应的控制参数,驱动电机来使小车按照轨迹运动。其中小车在直线行驶过程控制参数保持不变,匀速行驶,而在小车要转弯之前则要先减速以防止小车过弯时冲出赛道,弯道过去之后在加速行驶以减少行驶时间。 【关键词】红外传感器;PID控制;自动寻迹 一、硬件系统 (一)智能小车的整体结构图 智能车通过单片机来接受和发出参数状态信号,电源模块是给智能车各个模块提供电压以使模块可以正常运作,寻迹模块则是包含着参数输送给单片机的作用,驱动模块是小车动起来的根源,测速模块是为了控制车速以使智能车平稳的沿着车道运行。

智能循迹小车程序

#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; }

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

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

2017年10月10日

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

七、总结 (15)

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

智能循迹小车设计报告

电子作品设计报告 项目名称:智能小车 学院:机电工程学院 专业:应用电子技术 班级:09应电(1)班 组别:第三组 姓名:杨磊赖焕宁梁广生 指导老师:杨青勇玉宁

目录 摘要: (3) 关键词: (3) 引言: (3) 一、系统设计 (3) 1.1设计要求 (4) 1.2车体方案认证与选择 (4) 二、硬件设计及说明 (5) 2.1原理图设计 (5) 2.1.1稳压电源 (5) 2.1.2基本系统 (5) 2.1.3电机驱动 (5) 2.1.4液晶显示部分 (6) 2.1.5RS485数据总线 (6) 2.1.6循迹部分 (7) 2.2PCB设计 (7) 2.2.1主板PCB (7) 2.2.2循迹板PCB (8) 三、软件设计及说明 (8) 四、系统测试过程 (10)

五、总结 (11) 六、附录 (11) 附录一:系统元器件清单 (11) 附件二:系统测试源程序 (12) 摘要:本组的智能小车是采用凌阳的车架,是以两个电机来驱动小车,主板部 分自行设计。通过接收器MAX1483来采集信息,传送进主控芯片PIC16F886单片机,进行数据处理后,送进驱动芯片L293D以完成相应的操作。采用反射式红外光电传感器ST178来实现小车自动循迹功能,并且整个过程采用液晶显示屏RT1602来显示相应的数据。 关键词:PIC16F886 L293D 反射式红外光电传感器ST178 自动循迹引言: 近现代,随着电子科技的迅猛发展,人们对技术也提出了更高的要求。汽车的智能化在提高汽车的行驶安全性,操作性等方面都有巨大的优势,在一些特殊的场合下也能满足一些特殊的需要。智能小车系统涉及到自动控制,车辆工程,计算机等多个领域,是未来汽车智能化是一个不可避免的大趋势。本文设计的小车以PIC16f886 为控制核心,用反射式红外光电传感器作为检测元件实现小车的自动循迹前行,并显示等功能。 一、系统设计 本组智能小车的硬件主要有以PIC16f886 作为核心的主控器部分、自动循迹部分、显示部分、电机驱动部分。其中电机驱动部分和其他部分分别由两个不同的电源分开供电。 小车硬件系统结构示意图如下:

基于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)

电子实习报告智能循迹小车

电子实习报告智能循迹小 车 Prepared on 24 November 2020

电子实习报告 学院:电气学院 专业班级: 学生姓名: 指导教师: 完成时间: 2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模 块 (3) (2)电机驱动模块 (4) (3)简易控制模块 (6) (4)红外循迹模 块 (7) 3.电路的安装与调试 (8) (1)安装 (8) (2)调试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11) 五、附录 (11) 1.元件说明 (11)

(1)电阻 (11) (2)电解电容 (11) (3)LED (12) (4)芯片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力;2.巩固本课程所学的理论知识和实验技能; 3.掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 4.熟练掌握焊接机能、电子元器件的识别。 5.了解智能循迹小车构成的设计方法。

智能小车循迹报告

智能小车循迹报告 电工电子实习报告 学院: 专业班级: 学生姓名: 指导教师: 完成时间: 成绩: 评阅意见: 评阅教师日期 智能循迹小车设计报告一. 设计要求 (1)(通过理论学习掌握基本的焊接知识以及电子产品的生产流程。 (2)(熟悉掌握手工焊接的方法与技巧。 (3)(完成循迹智能小车的安装与调试 二. 设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力; 2(巩固本课程所学的理论知识和实验技能; 3(掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 三.设计的具体实现 1. 系统概述 智能机器人小车的设计中我们使用的是一体反射式红外对管,所谓一体就是发射管和接受管固定在一起,反射式的工作原理就是接收管接收到的信号是发射管发

出的红外光经过反射物的反射后得到的,所以使用红外对管进行循迹时必须是白色地板 红外寻迹是利用红外光电对管对路面信号进行检测,经过比较器处理之后,送给软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。(为简化操作,本次实习只安装了两侧的探头) 1)行驶直线的控制:利用红外传感器的左右最外端的探头检测黑线,如果全白则说明在道中间,没有偏离轨道,走直线;一旦右侧探头检测到黑线,说明小车外侧探头已跑出轨道,让车左拐;同理一旦左侧检测到黑线,说明左侧探头已经出线,执行右拐命令。 2)拐直角弯的控制:当车前探头检测到黑线,执行直走,让车中心探头去检测,一旦探头检测到黑线开始左拐,直到车位探头检测到跳出左拐命令,继续开始执行循迹,通过设置车中间探头与车尾探头的间距,便可以实现拐弯的角度,进而顺利入弯。 小车的硬件主要包括4大模块:即电源模块、电机驱动模块、红外循迹 模块、简易控制模块。 系统工作框图如下: 驱动电机检测黑线简易控制控制小车 2.单元电路设计与分析 1)电源模块 电源模块电路板

智能循迹小车实验报告18447

简单电子系统设计报告 ---------智能循迹小车 学号201009130102 年级10 学院理学院 专业电子信息科学与技术姓名马洪岳 指导教师刘怀强

摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位。 本设计采用单片机STC89C51作为小车检测、控制、时间显示核心,以实验室给定的车架为车体,两直流机为主驱动,附加相应的电源电路下载电路,显示电路构成整体电路。自动寻迹的功能采用红外传感器,通过检测高低电平将信号送给单片机,由单片机通过控制驱动芯片L298N驱动电动小车的电机,实现小车的动作。 关键词:STC89C51单片机;L298N;红外传感器;寻迹 一、设计目的 通过设计进一步掌握51单片机的应用,特别是在控制系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 二、设计要求 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制,绕跑到行驶一周。 三、软硬件设计 硬件电路的设计 1、最小系统: 小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下: (1)、电源电路:给单片机提供5V电源。 (2)、复位电路:在电压达到正常值时给单片机一个复位信号。

图1 单片机最小系统原理图 2、电源电路设计: 模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用5V电源。考虑到电源为电池组,额定电压为4.5V,实际充满电后电压则为4-4.5V,所以单片机及传感器模块采用最小系统模块稳压后的5V电源供电,舵机及电机直接由电池供电。 3、传感器电路: 光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。

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

智能循迹小车总体设计方案 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的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。

循迹小车制作报告

综合电子设计与实践 课程实验报告 课题名称:循迹小车的制作 班级:XXXXXX 实验者:XXXXXX 实验时间:XXXXX

摘要 本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号检测模块采用红外光对管,用以对黑线进行检测。主控电路采用宏晶公司的8051核心的STC89C52单片机为控制芯片。电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。信号检测模块将采集到的路况信号传入STC89C52单片机,经单片机处理过后对L298N发出指令尽心相应的调整。小车速度由单片机输出的PWM波控制。控制电动小车的速度及转向,从而实现自动循迹的功能。 关键词:智能小车STC89C52单片机L298N 红外光对管 一.绪论 (一)智能小车的作用和意义 自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。随着科学技术的发展,机器人的感系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航一种实用有效的方法。机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(A VG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、CPU、执行部分。机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现 (二)智能小车的现状 现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系

智能循迹小车___设计报告

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

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

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

创新性实验 循迹小车实验报告

时间:周三上午 组号:5 创新性实验报告 题目寻迹小车 学院电子信息学院 专业xxx 班级xxx 学号xxx 学生姓名xxx 指导教师xxx 完成日期2014年5月

目录 1 摘要 (3) 2 引言 (3) 3系统总体设计 (3) 4硬件电路设计 (5) 5 制作与调试 (6) 5.1 硬件电路的布线与焊接 (6) 第一步:电路部分基本焊接 (6) 第二步:机械组装 (6) 第三步:安装光电回路 (7) 5.2 调试 (7) 整车调试: (7) 6 结论及建议 (7) 7 附录 (8)

1 摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进。LM393随时比较着两路光敏电阻的大小,当出现不平衡时(例如一侧压黑色跑道)立即控制一侧电机停转,另一侧电机加速旋转,从而使小车修正方向,恢复到正确的方向上,整个过程是一 个闭环控制,因此能快速灵敏地控制。 关键词:红外反射式传感器,自寻迹小车,闭环控制 2 引言 随着素质教育的越来越被重视,很多学校都把制作智能小车作为首选课题,智能小车生动有趣还牵涉到机械结构、电子基础、传感器原理、自动控制甚至单片机编程等诸多学科知识,学生通过动手实践能大大提高解决实际问题的能力,而且智能小车还是一个很好的硬件平台,只要增加一些控制电路就能完成循迹小车、救火机器人、足球机器人、避障机器人、遥控汽车等课题。 我们制作的是一款由数字电路来控制的智能循迹小车,在组装过程中我们不但能熟悉机械原理还能逐步学习到:光电传感器、电压比较器、电机驱动电路等相关电子知识。 3 系统总体设计 本系统的整体框图如图1所示。它包括传感器电路、电压比较电路、电 机驱动电路、电源电路。

循迹小车报告

南京工程学院 工程基础实验与训练中心 本科课程设计说明书(论文) 题目:自动循迹小车 专业:自动化(系统集成) 班级: D自集成092 学号:233090242、233090218、233090211 学生姓名:刘海军、裴阿芹、吴娟 指导教师:曾宪阳 起迄日期: 2011.6.13 ---2011.7.8 设计地点:基础实验楼B206

目录 摘要(中文) (3) 摘要(外文) (4) 一、系统方案 1、课设要求 (5) 1.1、基本功能 (5) 1.2、发挥部分 (5) 2、总体设计 (5) 3、模块方案比较与论证 (6) 3.1、电源模块 (6) 3.2、电机驱动模块 (7) 3.3、传感器模快 (8) 3.4、显示模块 (9) 3.5、测速模块 (10) 4、总原理图 (11) 二、循迹小车硬件设计 (11) 1、机械设计 (11) 2、小车各模块分布 (13) 3、小车传感器位置排布 (13) 三、循迹小车软件设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1、循迹小车主函数流程图 (13) 2、计算路程模块流程图 (14) 3、循迹模块流程图 (15) 四、程序 (15) 五、开发总结与心得. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..25 1、总体方案论证和确立 (25) 2、各分立模块的制作调试 (25) 3、总车的装配调试 (25) 4、总结与展望. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..25 六、参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..26

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) {

智能循迹小车设计

智能循迹/避障小车研究 工作报告 一、智能循迹小车程序结构框图 二、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。

循迹避障小车设计报告材料

项目名称:智能小车 系别:信息工程系 专业:11电气工程及其自动化:亮、占闯、康 指导老师:王蕾

目录 摘要: ............................................................................................ ...3关键词: ............................................................................................ .3 绪论: ............................................................................................ (3) 一、系统设 计 (4) 1.1、任务及要求 (4) 1.2车体方案认证与选择 (4) 二、硬件设计及说 明 (5) 2.1循迹+避障模块 (5) 2.2主控模块 (6) 2.3电机驱动模块 (6) 2.4机械模块 (7) 2.5 电源模块 (7)

三、自动循迹避障小车总体设计 (7) 四、软件设计及说 明 (8) 4.1系统软件流程图 (9) 4.2系统程序 (9) 五、系统测试过 程 (12) 六、总 结 (13) 七、附录:系统元器 件 (13) 摘要 本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号检测模块采用红外光对管,用以对有无障碍与黑线进行检测。主控电路采用宏晶公司的8051核心的STC89C52单片机为控制芯片。电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。信号检测模块将采集到的路况信号传入STC89C52单片机,经单片机处理过后对L298N发出指令进行相应的调整。通过有无光线接收来控制电动小车的转向,从而实现自动循迹避障的功能。 关键词:智能循迹避障小车,STC89C52单片机,L298N驱动芯片,

电子实习报告智能循迹小车

电子实习报告智能循迹小车

电子实习报告 学院:电气学院专业班级: 学生姓名: 指导教师: 完成时间:2014/8/29 成绩:

目录 一、设计要求及注意事项 (2) 二、设计的作用、目的 (2) 三、设计的具体实现 (2) 1.系统概述 (2) 2.单元电路设计(或仿真)与分析 (3) (1)电源模块..................................... (3) (2)电机驱动模块........................................ (4) (3)简易控制模块 (6) (4)红外循迹模块..................................... (7) 3.电路的安装与调试........................................ .. (8) (1)安装 (8) (2)调试 (10) 四、心得体会,存在的问题和进一步改进的意见 (11)

五、附录 (11) 1.元件说明 (11) (1)电 阻 (11) (2)电解电容 (11) (3)LED (1) 2 (4)芯片 (12)

电子实习报告 一、设计要求及注意事项 1.能独立完成设计内容并完全掌握其内部结构、工作原理和安装调试过程。 2.要求在设计过程中能熟练掌握其元器件的计算、焊接技术和电路故障的判别方法。 3.焊接顺序,先贴片后插件。 4.要求焊接的电路板调试时正常且安装好小车后能正常运行。 5.进入实习基地后按指定的实验台就位,未经许可,不得擅自挪换仪器设备。 6.要爱护仪器设备及其它公物,凡违反操作规程,不听从教师指导而损坏者,按规定赔偿。 7.未经指导教师许可,不得做规定以外的实验项目。 8.要保持实习室的整洁和安静,不准大声喧哗,不准随地吐痰,不准乱丢纸屑及杂物。 9. 必须严格按设备操作书的要求去使用设备,注意人身及设备安全,不要盲目操作。 二、设计的作用、目的 1.利用所学过的基础知识,通过本次电子实习培养独立解决实际问题的能力;2.巩固本课程所学的理论知识和实验技能; 3.掌握常用电子电路的一般设计方法,提高设计能力和实验、动手能力,为今后从事电子电路的设计、研制电子产品打下基础。 4.熟练掌握焊接机能、电子元器件的识别。 5.了解智能循迹小车构成的设计方法。 6.培养团队的协作和沟通能力。 三、设计的具体实现 1.系统概述 智能移动机器人平台以双电机轮式小车为底层移动平台,单片机为控制核心,通过红外探测模块实现对行车路线的感知,电机驱动模块实现对直流电机的驱动控制,从而完成自动行驶的功能。 如图:

智能寻迹小车实验报告

DIY 达人赛 基于STC89C52 单片机智能寻迹小车 实 验 报 告 参赛队伍: 队员: 2014 年 4 月

一、引言 我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。伴随着电子技术和嵌入式技术的迅猛发展,这使得汽车日渐走向智能化。智能汽车由原先的驾驶更加简单更加安全更加舒适,逐渐的向智能驾驶系统方向发展。智能驾驶系统相当于智能机器人,能代替人驾驶汽车。它主要是通过安装在前后保险杠及两侧的红外线摄像机,对汽车前后左右一定区域进行不停地扫描和监视。计算机、电子地图和光化学传感器等对红外线摄像机传来的信号进行分析计算,并根据道路交通信息管理系统传来的交通信息,代替人的大脑发出指令,指挥执行系统操作汽车。 1、来源汽车的智能化是21 世纪汽车产业的核心竞争力之一。汽车的智能化是以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技。 2、智能汽车国外发展情况 从20 世纪70 年代开始,美国、英国、德国等发达国家开始进行无人驾驶汽车的研究,目前在可行性和实用化方面都取得了突破性的进展。目前日本、欧美已有企业取得实用化成果。与国外相比,国内在智能车辆方面的研究起步较晚,规模较小,开展这方面研究工作的单位主要是一些大学和研究所,如国防科技大学、清华大学、吉林大学、北京理工大学、长安大学、沈阳自动化所等。我国从20 世纪80 年代开始进行无人驾驶汽车的研究,国防科技大学在1992 年成功研制出我国第一辆真正意义上的无人驾驶汽车。先后研制出四代无人驾驶汽车。第四代全自主无人驾驶汽车于2000 年 6 月在长沙市绕城高速公路上进行了全自主无人驾驶试验,试验最高时速达到75.6Km/h。 3、我们的小车 我们做的是基于STC 8 9 C52单片机开发,主要是研究3轮小车的路径识别及其遥 控运动。

智能循迹小车程序

智能循迹小车程序 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; }

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

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

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

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

相关主题
相关文档 最新文档