智能循迹小车设计论文(8100字)

发表于:2016.4.18来自:www.ttfanwen.com字数:8100 手机看范文

智能循迹小车的设计

摘要:

循迹小车采用传感器来识别白色路面中央的黑色引导线,通过C8051F310单片机实现对转向舵机和驱动电机的PWM控制,利用检测器检测道路上的标志,使小车实现快速稳定地循线行驶。分模块阐述了循迹小车的原理、软硬件设计及制作过程.针对路径特点对循迹小车的方向控制和速度控制提出了舵机分级转向、速度分段控制的解决方案。实验表明,循迹小车能够较快速、平稳地完成对各种曲率引导线的循迹行驶任务。

关键词:

单片机、电机、传感器、循迹。

Summary:

Tracing car photoelectric sensor to identify the white road to guide the central black line through the C8051F310 microcontroller and drive to achieve the steering servo motor PWM control, the use of detector on the road signs to make the car look fast and stable line-line, down. Sub-module describes the principles of tracing the car, hardware and software design and production process.Path tracing for the characteristics of the car’s direction and speed control servo proposed classification steering, speed control sub-solutions. Experiments show that, tracing the car can be more rapid and smooth completion of the guide line of curvature of the driving task of tracing. Keywords:

Microcontroller, motors, sensors, tracing.

- 1 -

智能循迹小车的设计

目 录

第一章 引言

一、设计目的?????????????????????????4

二、 设计方案?????????????????????????4

三、报告内容安排???????????????????????4

四、技术方案概要???????????????????????5

第二章 硬件部分

一、单片机最小系统??????????????????????6

二、电源电路?????????????????????????7

三、 H桥电机驱动电路?????????????????????7

四、传感器输入电路??????????????????????8

五、硬件电路原理图??????????????????????9

第三章 软件部分

一、软件设计框架???????????????????????10

二、端口初始化????????????????????????10

三、PWM初始化????????????????????????11

四、功能函数 ????????????????????????12

第四章 程序清单???????????????????????14

第五章 总结??????????????????????????19 参考文献????????????????????????????20 附 录??????????????????????????????21 - 2 -

智能循迹小车的设计

第一章 引言

随着微电子技术的不断发展,微处理器芯片的集成度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统,这种技术促进机器人技术也有了突飞猛进的发展。单片机技术作为自动控制技术的核心之一,被广泛应用于工业控制、智能仪器、机电产品、家用电器等领域。

作为机械行业的代表产品——汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具,同时能具有交通、娱乐、办公和通讯等多种功能。

随着控制技术及计算机技术的发展,循迹小车系统将在未来工业生产和日常生活中扮演重要的角色,单片机功能也越来越强大。本设计基于单片机技术在智能循迹小车控制系统的设计中,以AT89C51为核心,驱动两个电机,当产生信号驱动小车前进时,是通过循迹模块里的传感器是否循到黑线产生的电平信号,通过传感器再返回到单片机,单片机根据程序设计的要求做出相应的判断送给电机驱动模块,让小车实现前进、左转、右转、停车等基本功能。循白线时,外部环境光线的强弱对小车的运动会产生很大的影响,基于此原因,本实验中的循迹是指在白色地板上循黑线。

- 3 -

智能循迹小车的设计

一、 设计目的

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

二、 设计方案

该智能车采用红外传感器对跑道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片发出控制命令,控制电机的工作状态以实现对小车姿态的控制。

三、 报告内容安排

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

- 4 -

智能循迹小车的设计

技术方案概要

本模型车的电路系统包括传感器输入电路、单片机电路、H桥电机驱动电路、电源电路。

工作原理:

利用传感器采集到路面上的轨迹;

将轨迹信息送到单片机;

单片机求出转向的角度和行走速度,然后去控制行走部分;

最终完成智能小车可以按照路面上的轨迹运行。

- 5 -

智能循迹小车的设计

第二章 硬件部分

一、单片机最下系统

智能循迹小车设计论文

如图所示,单片机最小系统是由复位、电源、振荡电路等几部分组成。其中,复位电路采用上电复位,上电期间,元件保持复位状态,RST引脚驱动在低电平,直到VDD超过VRST电平。从复位到退出要经过一个延时。该延时随VDD上升时间的增大而减小;

对于晶振,在单片机内部都有自带的晶振,晶振的作用很大,XTAL1和XTAL2分别为两个晶振的输入,器件包含一个可编程内部振荡器,该振荡器在系统复位后被默认为系统时钟。内部振荡器的周期可通过OSCICL寄存器编程。OSCICL对应频率为24MHz。系统时钟可以从内部振荡器分频得到,分频数由寄存器OSCICN中的IFCN位设定,可为1、2、4、8,。相对于内部晶振来说,外部晶振电路的启动时间较长。在晶体振荡器稳定之前就切换到外部晶体振荡器可能产生不可预见的后果。所以在切换之前应该如下操作:

1、

2、

3、 通过想端口寄存器的对应位写0使XTAL1和XTAL2引脚为低电平; 将XTAL1和XTAL2配置为模拟输入; 使能外部振荡器;

- 6 -

智能循迹小车的设计

4、

5、

6、 等待至少1ms; 查询XTLVLD=>‘1’; 将系统时钟切换到外部振荡器。

二、电源电路

智能循迹小车设计论文

VCC输出得到的为5V电压,5V电压一部分人用来作为直流电机的驱动电路,另一部分用来作为单片机稳压电源的驱动电源。LM1117输入端为VCC,在肯定输出的情况下VDD端可得到3V电压输出,电路的输入和输出都应该加入滤波电容,输入端电容值应该稍微偏大些,对于稳态输出起重要作用。输出电容对于保持输出电压的稳定性同样起着重要作用,它必须同时满足最小容值和ESR(等效串联电阻)的要求。

三、 H桥电机驱动电路

- 7 -

智能循迹小车的设计

H桥驱动电路是为了直流电机而设计的一种常见电路,它主要实现直流电机的正反向驱动,如图,其形状类似于字母“H”,而作为负载的直流电机像“桥”一样架在上面,所以称之为“H桥驱动”。

从电路看,假设开关A、D接通,电机为正向转动;开关B、C接通时,直流电机将反向转动,从而实现了电机的正反向驱动。

借助这四个开关还可以产生另外两个电机的工作状态:

(1)刹车 将B、D开关(或A、C)接通,则电机惯性转动产生的电势将被短路,形成阻碍运动的反动势,形成“刹车”作用。

(2)惰性 4个开关全部断开,则电机惯性所产生的电势将无法形成电路,从而也就不会产生阻碍运动的反动势电机将惯性转动较长时间。

电流的大小决定了电机的转速,通过PWM的占空比来决定电流的大小,从而间接控制了电机的转速。

四、传感器输入电路

智能循迹小车设计论文

- 8 -

智能循迹小车的设计

硬件电路原理图:

智能循迹小车设计论文

智能循迹小车设计论文

- 9 -

智能循迹小车的设计

第三章 软件部分

软件设计框架:

智能循迹小车设计论文

单片机系统根据传感器输入信号的不同判别轨迹的位置,经处理后控制舵机及后轮驱动系统实现小车整体按照指定路线行驶。软件设计采用C语言实现。

(1) 端口初始化

为了到达正常使用输入输出端口的目的,必须将交叉开关使能,采用交叉开关使能地方式可以将P0.0和P0.1配置成PWM输出方式,即使:CEX0、CEX1连到端口引脚,根据晶体引脚被跳过的交叉开关优先权译码表可得010,对应的XBR1寄存器的值为02H,XBR0的值不变,为00H。同时需将P0输入寄存器配置为数字输入,输出配置为推挽方式,P0口作为输出时,只用到了P0.0和P0.1作为输出,类似P2设为数字输入,输出对应L、R、U、P为推挽输出,P3口输入为数字输入,输出为推挽输出,初始化过程中应该将传感器状态初始化,避免小车上电后的误动作,程序如下:

void PORT_Init(void)

{

- 10 -

智能循迹小车的设计

P0MDOUT=0XFF; //根据实际引脚配置该处

P0MDIN=0xFF;

P0=0x00;

P1MDOUT=0X2E;

P1MDIN=0XFF;

P1=~0X2E;

P2MDOUT=0X0F;

P2MDIN=0XFF;

P2=0xF0;

P3MDOUT=0X00;

P3MDIN=0XFF;

P3=0xFF;

XBR1=0x42;

}

(2) PWM初始化

在端口初始化之后将CEX0配置成P0.0输出,CEX1配置成P0.1输出,故需将PWM的占空比,波形输出方式做设定,采用8位脉宽调制器方式。PWM输出的频率取决于PCA计数器/定时器的时基。使用模块的捕捉/比较寄存器PCA0CPLn改变PWM输出信号的占空比。当PCA计数器/定时器低字节(PCA0L)与PC0CPLn中的值相等时,CEXn引脚上的输出被置‘1’;当PCA0L中的计数值溢出时,CEXn输出被复位。

占空比公式:

(256-PCA0CPHn) 占空比= 256

初始化程序如下:

void PWM_Init(void)

{

- 11 -

智能循迹小车的设计

PCA0MD=0x02; //禁止CF中断

PCA0CPH0=0xff;

PCA0CPH1=0xff;

PCA0CPM0=0x42;//CCM0为8位PWM方式

PCA0CPM1=0x42;//CCM0为8为PWM方式

PCA0CN=0x40; //允许PCA计数器

}

(3)功能函数

在检测到传感器传过来的信息后,需要做出判断并实现左转、前进和右转几个功能,将这几项功能编制成函数体之后再调用即可。左转、右转和前进就是控制前后两个电机的导通顺序,前进是只需控制后轮电机运转即可,左转和右转用到前后两个电机。

//函数名:void run_front(void)**************//

//功能描述:前进 *********************//

void run_front(void)

{

front=1;

back=0;

}

//函数名:void turn_left(void)**************//

//功能描述:左转 *********************//

void turn_left(void)

{

left=1;

right=0;

}

- 12 -

智能循迹小车的设计

//函数名:void turn_right(void)**************// //功能描述:右转 *********************// void turn_right(void)

{

left=0;

right=1;

}

//函数名:void turn_mid(void)**************// //功能描述:前进 *********************// void turn_mid(void)

{

left=0;

right=0;

}

- 13 -

智能循迹小车的设计

第四章 程序清单

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

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

#include"c8051F310.h"

#define pwm_run PCA0CPH0

#define pwm_rudder PCA0CPH1

sbit right=P2^1;

sbit left=P2^0;

sbit back=P2^2;

sbit front=P2^3;

sbit engine=P0^0;

sbit PORT_LEFT_MAX=P2^7;

//sbit PORT_LEFT=P2^7;

sbit PORT_MID=P3^3; //根据实际引脚配置该处

//sbit PORT_RIGHT=P;

sbit PORT_RIGHT_MAX=P3^1;

void run_front(void)

{

front=1;

back=0;

}

void turn_left(void)

{

left=1;

right=0;

}

- 14 -

智能循迹小车的设计

void turn_right(void)

{

left=0;

right=1;

}

void turn_mid(void)

{

left=0;

right=0;

}

//函数名:void PORT _Init(void)**************// //功能描述:端口初始化*********************// void PORT_Init(void)

{

P0MDOUT=0XFF; //根据实际引脚配置该处 P0MDIN=0xFF;

P0=0x00;

P1MDOUT=0X2E;

P1MDIN=0XFF;

P1=~0X2E;

P2MDOUT=0X0F;

P2MDIN=0XFF;

P2=0xF0;

P3MDOUT=0X00;

P3MDIN=0XFF;

- 15 -

智能循迹小车的设计

P3=0xFF;

XBR1=0x42;

}

//函数名:void PWM _Init(void)**************// //功能描述:端口初始化*********************// void PWM_Init(void)

{

PCA0MD=0x02; //禁止CF中断

PCA0CPH0=0xff;

PCA0CPH1=0xff;

PCA0CPM0=0x42;//CCM0为8位PWM方式 PCA0CPM1=0x42;//CCM0为8为PWM方式 PCA0CN=0x40; //允许PC计算器

}

void delay3(int i)

{

int x,y;

for(x=0;x<1000;x++)

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

}

//**********功能描述:主函数****************// void main(void)

{

PCA0MD &=~(1<<6);

PORT_Init();

PWM_Init();

run_front();

- 16 -

智能循迹小车的设计

while(1)

{

if(PORT_RIGHT_MAX==0) {

pwm_run=70;

pwm_rudder=128; turn_right();

goto out;

}

if(PORT_LEFT_MAX==0) {

pwm_run=70;

pwm_rudder=128; turn_left();

goto out;

}

/*if(PORT_RIGHT==0) {

pwm_run=100; pwm_rudder=200; turn_right();

goto out;

}

if(PORT_LEFT==0) {

pwm_run=100; pwm_rudder=200; turn_left();

goto out;

}*/

- 17 -

智能循迹小车的设计

if(PORT_MID==0) {

pwm_run=255; pwm_rudder=200; turn_mid();

goto out;

}

out:delay3(10);}} - 18 -

智能循迹小车的设计

第五章 总结

经过全组十名同学将两个月认真、努力的学习、思考、设计,最终成功完成循迹小车的设计。本次论文设计过程中,遇到过一些困难,在各位老师耐心、仔细的讲解和指导下克服了所有困难。达到了预定的实验要求,做出的电路板通过了检测,效果良好。

感谢学校和学院给我们提供了一个学习、实践机会,通过这次亲手制作智能循迹小车,我又认真、系统地复习了一遍相关知识。同时感谢诸位老师在设计过程中给予我们的支持和帮助!

- 19 -

智能循迹小车的设计

参考文献

[1] .周润景 张丽娜 2006,基于PROTEUS的电路及单片机系统设计与仿真,北京航空航天大学出版社

[2]. 周润景 张丽娜 2008,Protel 99 SE原理图与印制电路板设计,电子工业出版社

[3]. 余锡存 曹国华,2007,单片机原理与接口技术(第二版),西安电子科技大学出版社

[4]. 谭浩强,2008,C程序设计(第三版),清华大学出版社

[5]. 卓晴 黄开胜 邵贝贝 等,2007,学做智能车-挑战“飞思卡尔”杯,北京航空航天大学出版社

[6]. 王东峰 王会良 董冠强,2009,单片机C语言应用100例【M】,电子工业出版社

- 20 -

智能循迹小车的设计

附录:PCB板设计图

智能循迹小车设计论文

- 21 -



更多类似范文
┣ 智能_循迹小车详细制作过程 23600字
┣ 51单片机循迹小车开题报告 3700字
┣ 循迹小车项目报告 5300字
┣ 智能循迹小车 10800字
┣ 更多智能循迹小车设计报告
┗ 搜索类似范文

更多相关推荐:
基于89s51单片机的循迹小车设计报告7200字

基于89s51单片机的循迹小车设计报告1基于89s51单片机的循迹小车设计报告摘要本文介绍了基于at89s52单片机的智能小车的设计与实现小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻...

智能循迹小车设计3700字

智能循迹避障小车研究工作报告一智能循迹小车程序结构框图二Proteus仿真图三软件程序设计一智能循迹小车程序结构框图经过几天在网上的查找对智能循迹避障小车有了大致的了解一般有三个模块1最基本的小车驱动模块使用两...

智能遥控循迹小车设计报告4900字

智能遥控循迹小车报告学院长沙民政电子信息工程学院专业机电一体化班级机电1034班成员刘佳谭佳兴游敬德曾向东指导老师黄有全20xx年12月29目录摘要3项目分工3时间安排3课题目标3设计要求4模块设计5软硬件调试...

专栏推荐
大家在关注

地图地图CC