当前位置:文档之家› 单片机课程设计 基于单片机的循迹小车

单片机课程设计 基于单片机的循迹小车

单片机课程设计 基于单片机的循迹小车
单片机课程设计 基于单片机的循迹小车

黄山学院

单片机课程设计说明书

专业:自动化

班级: 14自动化2班

学生姓名:

指导老师:

成绩:

目录

第1章绪论 (3)

1.1 引言 (3)

1.2 课题任务要求 (3)

1.3 本论文研究的内容 (3)

第2章系统总体设计 (4)

2.1 小车的机械特性 (4)

2.2 智能小车寻迹基本原理 (4)

第3章系统硬件设计 (6)

3.1 控制器的选择 (6)

3.1.1 概述 (6)

3.1.2 STC89C51开发工具特性 (6)

3.2 硬件电路设计 (6)

3.2.1 系统电源电路 (6)

3.2.2 电机驱动模块 (8)

3.2.3 红外线检测电路 (9)

3.3 附加功能 (10)

3.3.1 蓝牙小车 (10)

第4章系统软件设计 (11)

4.1 编译环境 (11)

4.2 模块的驱动 (11)

4.2.1 红外线传感器模块 (11)

4.2.2 电机模块的驱动 (12)

4.2.3 按键模块 (21)

第5章系统调试分析 (26)

5.1 系统设计中的注意事项 (26)

5.1.1 外部因素 (16)

5.1.2 内部因素 (26)

5.2 硬软件总体调试 (26)

第6章结束语 (27)

致谢 (28)

参考文献 (29)

附录 (30)

第1章绪论

1.1 引言

我们所处的这个时代是信息革命的时代,各种新技术、新思想层出不穷,纵观世界范围内智能汽车技术的发展,每一次新的进步无不是受新技术新思想的推动。

随着汽车工业的迅速发展,传统的汽车的发展逐渐趋于饱和。伴随着电子技术和嵌入式技术的迅猛发展,这使得汽车日渐走向智能化。智能汽车由原先的驾驶更加简单更加安全更加舒适,逐渐的向智能驾驶系统方向发展。智能驾驶系统相当于智能机器人,能代替人驾驶汽车。它主要是通过安装在前后保险杠及两侧的红外线摄像机,对汽车前后左右一定区域进行不停地扫描和监视。计算机、电子地图和光化学传感器等对红外线摄像机传来的信号进行分析计算,并根据道路交通信息管理系统传来的交通信息,代替人的大脑发出指令,指挥执行系统操作汽车。

1.2 课题任务要求

应用STC89C51微控制器中的端口、外部中断、定时器等基本模块,实现核心控制,再结合电源板、电机驱动板来控制电机的转向,最后加上传感检测模块,实现小车的智能寻迹。

这次课程实践要求每一同学都要动手都制作出一辆循迹小车,真正实现从听中学到做中学,提高同学们的动手能力。这次实践最基本的功能底线就是能够实现循迹和壁障。

1.3 本论文研究的内容

本论文是基于STC89C51单片机开发,主要是研究4轮小车的路径识别。

第2章系统总体设计

2.1 小车的机械特性

小车采用的是一辆三轮车车模。后轮控件前进或转弯,前轮根据后轮驱动左右摆动即可以实现左右转。该种车模控制简单。小车可通过PWM控制后轮电机转动的速度来控制前轮电机的转动幅度从而控制小车的转弯幅度,实现小车的前进与转弯操作。小车可通过对DIR控制后退。

2.2 寻迹小车基本原理

探测路面黑线的基本原理:光线照射到路面并反射,由于黑线和白纸对光的反射系数不同,可以根据接收到的反射光强弱来判断是否是黑线。利用这个原理,可以控制小车行走的路迹。

这里的循迹是指小车在白色地板上循黑线行走,通常采取的方法是红外探测法。

红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。处理器就根据是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。

智能小车系统以处理器为核心,为了使智能小车能够快速行驶,处理器必须把路径的迅速判断、相应的转向电机控制以及直流驱动电机的控制精密地结合在一起。如果传感器部分的数据没有正确地采集和识别,转向电机控制的失当,都会造成模型车严重抖动甚至偏离赛道;如果直流电机的驱动控制效果不好,也会造成直线路段速度上不去,弯曲路段入弯速度过快等问题。其系统结构如所示。

本次红外探测采用的是反射式探测。

图 2.1 系统结构图

89C51处理器通过引脚读出超声波信号管脚 89C51处理器向红外线传感器供5V 电压,通过采集其高低电平可以控制小车的转弯。

89C51处理器通过DATA 引脚向键盘显示板发送要显示的数据,还可以通过KEY 引脚读取键盘的按键,实现相应的功能。

STC89C51单片机 红外传感

电源板

电机驱动

第3章系统硬件设计

3.1 控制器的选择

本次设计采用的是89C51单片机。

3.1.1概述

STC89C51是一款由美国NXP半导体公司提供的增强型89C51微控制器,包括16KB Flash程序存储器和1KB数据RAM,且功能上完全覆盖标准89C51单片机系列

3.1.2STC89C51 开发工具特性

1.89C51内核,5V工作电压,操作频率0~40MHZ;

2.16KB片内Flash存储器,1KB片内SRAM;

3.SPI串行通信接口和增强型UART;

4.PCA(可编程计数器列阵),具有PWM和捕获、比较功能;

5.4个8位I/O口,含有三个高电流P1口(每个I/O口的电流为16mA);

6.8个中断源,4个中断优先级,3个16位定时器/计数器和可编程看门狗

定时器(WDT);

7.2个DPTR寄存器;

3.2 硬件电路设计

本次项目采用的电路板从画电路原理图开始,到PCB板的布线以及电路板的焊接与检测一系列工作都是自己在大一下学期课程实践期间制作的。

3.2.1系统电源电路

交流电经过全波电路在经过电容滤波,在经过稳压电源芯片做成稳压电路,输出电压5V、7.2V的直流电源。其电源电路原理图如图3.2所示。

图 3.2 系统电源电路原理图

图3.3 硬件电路1

图3.4 硬件电路图2

小车的驱动电机的供电电压为7.2V,经过电容滤波后接7805进行稳压,稳

压输出5V的电压。提供单片机所需5V电压。

3.2.2 电机驱动模块

1. 驱动实现与原理

本项目驱动两路直流电机,实现电机的正反转与测速和遥控。 输入输出逻辑表真值表3.2。

表 3.1 L298N 输入输出逻辑真值表 通道1

通道2

输入

输出控制电机1 输入 输出控制电机2 EnA In1 In

2

OUT1

OUT2 转向

EnB

In 3 In 4 OUT3

OUT4

转向

1

0 0 0 0 停止 1

0 0 0 0 停止 0 1 0 1 反传 0 1 0 1 反传 1 0 1 0 正转 1 0 1 0 正转 1 1 0 0 停止 1 1 1 1 停止 0

X

X

停止

0 X

X

停止

其中“0”为低电平;“1” 为高电平;“X ” 为任何状态。

图3.5驱动原理图

红外线检测电路

红外对管电路原理其实很简单,就是利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收,Cortex-M0内核采集到的电压就是高电平;如果遇到黑线则红外光被吸收,小车上的接收管

接收不到红外光,然后89C51内核采集到的电压就是低电平。其基本原理图如图3.6所示。

图3.6 红外线检测电路原理图

鉴于本项目设计需实现的功能比较简单,故只要两路红外线检测电路即可,分别位于小车中心轴的两测即可。

3.3 附加功能

3.3.1蓝牙模块

蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。

图3.6 蓝牙模块

作为取代数据电缆的短距离无线通信技术,蓝牙支持点对点以及点对多点的通信,以无线方式将家庭或办公室中的各种数据和语音设备连成一个微微网(Pico-net),几个微微网还可以进一步实现互联,形成一个分布式网络

(scatter-net),从而在这些连接设备之间实现快捷而方便的通信。本文介绍蓝牙接口在嵌入式数字信号处理器OMAP5910上的实现,DSP对模拟信号进行采样,并对A/D变换后的数字信号进行处理,通过蓝牙接口传输到接收端,同样,DSP对蓝牙接收到的数字信号进行D/A变换,成为模拟信号。

蓝牙信号的收发采用蓝牙模块实现。此蓝牙模块是公司最近推出的遵循蓝牙V1.1标准的无线信号收发芯片,主要特性有:具有片内数字无线处理器DRP (DigitalRadioProcessor)、数控振荡器,片内射频收发开关切换,内置ARM7嵌入式处理器等。接收信号时,收发开关置为收状态,射频信号从天线接收后,经过蓝牙收发器直接传输到基带信号处理器。基带信号处理包括下变频和采样,采用零中频结构。数字信号存储在RAM(容量为32KB)中,供ARM7处理器调用和处理,ARM7将处理后的数据从编码接口输出到其他设备,信号发过程是信号收的逆过程,此外,还包括时钟和电源管理模块以及多个通用I/O口,供不同的外设使用。的主机接口可以提供双工的通用串口,可以方便地和PC机的RS232通信,也可以和DSP的缓冲串口通信。

3.3.2蓝牙小车

1)利用单片机和安卓操作系统的智能手机编制主控界面;

2)蓝牙手机与车载的蓝牙装备配对,建立无线通信单,片机的RX 和TX接蓝牙模块,用于实现十米范围内遥控小车;;

3)自制驱动电机电路,STC89C51的P0~3接L298N的IN1~4,控制小车的转向;P2的0和1口接L298N的ENA和ENB,通过控制使能端实现小车轮子的转速控制,实现小车转弯。由于单片机STC89C51没有直接输出的PWM信号,所以利用单片机的两个定时器输出一定周期内的高低电平给L298N控制小车的转速。

第4章系统软件设计

4.1 编译环境

Keil集成开发环境(又称Keil IDE)是广州致远电子有限公司开发的一个微处理器软件开发平台,是一款具有强大内置编辑器的多内核编译调试环境,支持8051、ARM、AVR等多种微控制器,可以完成从工程建立和管理,编译,链接,目标代码的生成,到软件仿真,硬件仿真(挂接TKS系列仿真器等硬件)等完整的开发流程。

Keil集成开发环境包括工程管理器、代码编辑器、编译工具链、源码级调试器和外部工具等。

4.2 模块的驱动

4.2.1红外线传感器模块

红外线模块只要M0处理器向其供5V电压就能工作,然后通过引脚采集其电平高低就可以根据不同情况做出相应的处理。

其具体程序控制见程序清单4.1.

程序清单 4.1读取红外传感器的高低电平

void Track(void)

{

if((IN1==0&&IN2==0)||(IN1==1&&IN2==1))

{

Forward(); //调用前进函数

}

if(IN1==1&&IN2==0)

{

Lift(); //调用左转函数

}

if(IN1==0&&IN2==1)

{

Right(); //调用右转函数

}

}

4.2.2电机模块的驱动

首先,通过设置L298N芯片的输入方向RIGHT_FANZHUAN,RIGHT_ZHENGZHUAN,RIGHT_STOP,LEFT_ZHENGZHUAN,LEFT_FANZHUAN,LEFT_STOP,从而控制电机的正反转。详见程序清单4.3.

程序清单 4.3直流电机驱动与路径识别

void Forward() //电机前进

{

PWM1=1;

PWM2=1;

}

void Lift() //电机左转

{

PWM1=0;

PWM2=1;

}

void Right() //电机右转

{

PWM1=1;

PWM2=0 ;

}

void Track(void)

{

if((IN1==0&&IN2==0)||(IN1==1&&IN2==1))

{

Forward(); //调用前进函数

}

if(IN1==1&&IN2==0)

{

Lift(); //调用左转函数

}

if(IN1==0&&IN2==1)

{

Right(); //调用右转函数

}

}

前轮为方向轮,只有在需要转弯的时候才需要后边电机驱动其左右转动,在常态下则由后轮的推力使前轮向前转动。具体实现是通过控制前面产生的两路

PWM 波的占空比和L298N 芯片的In1、In2的方向来实现小车的前进寻迹与后退寻迹,其程序流程图详见图4.1所示。

图 4.1直流电机控制流程图

根据图4.1可以看到程序一开始就进行读取红外线传感器,如果左右两边都遇到黑线则停止前进;如果左边遇到黑线而且右边没有遇到黑线,小车则左转;如果右边遇到黑线而且左边没有遇到黑线,小车则右转;如果两边都没有遇到黑线小车则直行。 开始

读取传感

是否两边都遇到黑

停止

是否左遇到且右没

是否右遇到且左没

左转弯

右转弯

直行

Y

N

Y

Y

N

N

4.2.3 按键模块

按键模块处理流程图如图4.2所示。

图 4.2 按键处理程序流程图

把89V81RB2的P3.5引脚设置为检测引脚,设置为输入,进行扫描键盘。使用变量i 作为位码设置变量,由0至7依次循环,例如当按下5号键的时候,当i 变成5的时候,会在5号线上出现低电平,p3.5上出现低电平,当89V81RB2上边检测到低电平的时候,将变量i 的值赋值给按键号标志变量whichkeydown,,当按键松开后,对whichkeydown 的值进行处理,也就是相当于对按键的事件进行了处理,处理完成后,将whichkeydown 的值赋值为8,说明没有按键按下。按键要定时检测按键是否按键,实时处理即可。这里使用的是前面设置的16位定时器0的定时2.5ms 进行检测。其具体详见程序清单4.7

将预备发送显示的整数的每一位依次存放于一个数组单

发送时间是否到达

等待发送时间 将存储好的数据发送到键盘显示板上显示

查询等待按键按下

是否有键

按下

修改相关程序或数据信息

执行程序

N

Y Y

Y

N

程序清单 4.2.5按键检测void Key_Proc(void)

{

uint32 key;

if(有按键) //有按键

DelayNS(30); //延时去抖

if(按键有效0) //按键有效

读取按键值

while() //等待释键

;

switch(key)

{

case按键1:

……; //按键1处理

break;

case按键2:

……; //按键2处理

break;

case按键3:

……; //按键3处理

break;

}

}

第5章系统调试分析

5.1 系统设计中的注意事项

5.1.1外部因素

外部因素主要有环境光线、赛道材质等因素。以采用光电寻迹方案的智能车为例,如果接收的信号中有很多噪声成分,或者黑白区分不清晰,就很难识别路线,从而对后续的控制过程造成很大影响。因此,合理的传感器离地间隙和反射角度、较好的滤波电路设计都是需要考虑的。

5.1.2内部因素

(1)重量因素

整车质量的增加,对系统动力性有较大影响。因此,除了智能车工作必须的电路之外,应尽可能减少车重。即使是必备部件,可应该采用轻量化的设计。比如为了测量模型车的速度,需要在驱动轮上加装转速传感器,一般购买的电机编码器重量都较大,有的队伍就利用鼠标上的光电电路设计制作了一个轻量化的转速传感器,从而大大减小了重量。

(2)过度转向的避免

由于是后轮驱动,在弯曲的路线上加速可能会出现过度转向现象,因此在车辆弯道行驶时需要小心控制车辆的转向速度。

(3)传感器的影响

刚开始的时候,我的传感器装的比较高,这样就不能很好的感应到路线,以至于出现乱跑的现象。如果在以后的设计中需要的话,可以采用激光传感器进行探测,这样就会更精准的寻迹。

5.2 硬软件总体调试

硬件、软件独立调试都有效果之后,下一步就是硬软件总体调试了,在硬软件总体调试之前,应现把各个跳线接后,然后在用贴有黑胶带的白纸来回在红外线发射接收管左右移动,看小车的电机转速是否会发生变化,如果用贴有黑胶带的白纸来回在各个红外线发射接收管左右移动时,电机的转速都会发生改变,则说明总体调试初步有效,最后让小车在赛道上进行行走,在初次调试的时候,小车的速度不能太大。

第6章结束语

历经四五天的课余时间,终于把本次嵌入式课程设计完成了,从资料的搜索到最终的调试,在整个课程过程中,感觉自己学到了许多东西,忽然间才明白,原来看起来很难的东西,其实只要努力去做,其实并没有什么。很多时候,真正阻止一个人发展的,还是自己的心。因为在很多时候,我们都被自己吓回去了。于是,这个世界,终究是属于那些敢想敢干,并坚持下去的人的。

在这之前,我也曾想做好多东西。然而真正下决心并做成的,其实并没有几个。此次的成功,无疑给予了我很大的决心。

关于此次的循迹车,从一幅幅电路图到一个个电子元件,再到一个一个成型的模块,最后到组装并成功实现功能。这其中所花费的精力,也有些让自己动容。然而我想,做每个项目本都应该如此吧!一步步的,品味到了辛酸,才会获得甘甜。十分的信心,十足的恒心。只有这样,才能成事。

在本课题的设计中,虽然把实物做出来了,而且都符合课题设计的要求并在此基础上还加了些功能,但是相比“飞思卡尔”智能汽车邀请赛上的智能小车还是存在很大的差距,最主要的问题是速度上的问题,本论文设计的智能小车的行走的速度不能太快,否则会出现寻迹不准确。还有一个问题就是红外线接收头之间存在干扰问题。由于时间的问题,没能用PWM进行调速,这实在是一大遗憾。如果时间允许的话,采用PID精准算法来控制电机的转速。我想,这才算是一个真正的智能的小车吧。

一个实验项目的成功,需要的是信心,敢于探索,不屈不挠才会获得成功。真正的智能,我相信,还在不久之后,会在我们的制作之下,在大家面前展现。

参考文献

[1] 贾伯年 , 俞朴 , 宋爱国 . 《传感器技术(第3版)》,东南大学出版社,2007

[2] 成立,杨建宁. 《模拟电子技术》,东南大学出版社,2007 [3] 曾喆昭 . 《信号与线性系统》,清华大学出版社,2007

[3] 成立,王振宇 . 《数字电子技术(第2版)》,机械工业出版社,2010 [5] 许立梓,陈玮,何小敏,高明琴 . 微型计算机原理及应用 [M] . 北京:机械工业出版社,2011

[4] 张荣标《微型计算机原理与接口技术》 [M] . 北京: 机械工业出版社, 2005

[5] 周立功等. 《项目驱动-单片机应用设计基础》. 北京:北京航空航天大学出版社,2004

[6] 周航慈. 《单片机程序设计基础》. 北京:北京航空航天大学出版社,2003

[7] George Lee,Karina Ng,Edmond Kwang.Design of ring oscillator based voltage controlled oscillator. Project Final Report[R]. 2005 [5] T. C. Weigandt,B. Kim,and P. R. Gray.Analysis of Timing Jitter in CMOS Ring Oscillators. IEEE International Symposium on Circuits and Systems. 1994

[8]Jonathan Zdziarski ,Hacking and Securing Applications: Stealing Data, Hijacking Software, and How to Prevent It,2012:432

[9]Mourad Debbabi, Mohamed Saleh, Chamseddine Talhi and Sami Zhioua Embedded Java Security: Security for Mobile Devices,2010:221-223 [10]Stephen Arolagon,Clark and David Thiel Mobile Application Security,2012:157-161

附录

一、英文原文

Application Fundamentals

Android applications are written in the Java programming language. The compiled Java code —along with any data and resource files required by the application —is bundled by the aapt tool into an Android package, an archive file marked by an .apk suffix. This file is the vehicle for distributing the application and installing it on mobile devices; it's the file users download to their devices. All the code in a single .apk file is considered to be one application.

In many ways, each Android application lives in its own world:

1. By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications.

2. Each process has its own virtual machine (VM), so application code runs in isolation from the code of all other applications.

3. By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only to that user and only to the application itself — although there are ways to export them to other applications as well.

It's possible to arrange for two applications to share the same user ID, in which case they will be able to see each other's files. To conserve system resources, applications with the same ID can also arrange to run in the same Linux process, sharing the same VM.

Application Components

A central feature of Android is that one application can make use of elements of other applications (provided those applications permit it). For example, if your application needs to display a scrolling list of images and another application has developed a suitable scroller and made it available to others, you can call upon that scroller to do the work, rather than develop your own. Your application doesn't incorporate the code of the other application or link to it. Rather, it simply starts up that piece of the other application when the need arises.

For this to work, the system must be able to start an application process when any part of it is needed, and instantiate the Java objects for that part. Therefore, unlike applications on most other systems, Android applications don't have a single entry point for everything in the application (no main() function, for example). Rather, they have essential components that the system can instantiate and run as needed. There are four types of components:

Activities

An activity presents a visual user interface for one focused endeavor the user can undertake. For example, an activity might present a list of menu items users can choose from or it might display photographs along with their captions. A text messaging application might have one activity that shows a list of contacts to send messages to, a second activity to write the message to the chosen contact, and other activities to review old messages or change settings. Though they work together to form a cohesive user interface, each activity is independent of the others. Each one is implemented as a subclass of the Activity base class.

An application might consist of just one activity or, like the text messaging application just mentioned, it may contain several. What the activities are, and how many there are depends, of course, on the application and its design. Typically, one of the activities is marked as the first one that should be presented to the user when the application is launched. Moving from one activity to another is accomplished by having the current activity start the next one.

Each activity is given a default window to draw in. Typically, the window fills the screen, but it might be smaller than the screen and float on top of other windows. An activity can also make use of additional windows — for example, a pop-up dialog that calls for a user response in the midst of the activity, or a window that presents users with vital information when they select a particular item on-screen.

The visual content of the window is provided by a hierarchy of views — objects derived from the base View class. Each view controls a particular rectangular space within the window. Parent views contain and organize the layout of their children. Leaf views (those at the bottom of the hierarchy) draw in the rectangles they control and respond to user actions directed at that space. Thus, views are where the activity's interaction with the user takes place.

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

本科毕业设计(论文) 基于单片机的智能循迹小车设计 学生学院信息工程学院 专业测控技术与仪器 (光机电一体化方向)年级班别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作为电源电压,测试发现发射功率完全能满足检测需要;可变电阻

51红外循迹小车报告(舵机版)最终版

简易教程

前言 往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。 整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。系统分为检测、控制、驱动三个模块。首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。 智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。 个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。谢谢! 李学云王维 2016年7月27号

目录 前言 (1) 第一部分硬件设计 (1) 1.1 车模选择 (1) 1.2传感器选择 (1) 1.3 控制模块选择 (2) 第二部分软件设计及调试 (3) 2.1 开发环境 (3) 2.2总体框架 (3) 2.3 舵机程序设计与调试 (3) 2.3.1 程序设计 (3) 2.3.2 调试 (3) 2.3.3 程序代码 (4) 2.4 传感器调试 (5) 2.4.1 传感器好坏的检测 (5) 2.4.2 单片机能否识别信号并输出信号 (5) 2.5 综合调试 (7) 附录1 (9) 第一篇舵机(舵机及转向控制原理) (9) 1.1概述 (9) 1.2舵机的组成 (10) 1.3舵机工作原理 (11) 1.4舵机使用中应注意的事项 (12) 1.5如何利用程序实现转向 (12) 1.6舵机测试程序 (13) 附录2 (14) 第二篇光电红外传感器 (14) 2.1传感器的原理 (14) 2.2红外光电传感器ST188 结构图 (15) 2.3传感器的选择 (15) 2.4传感器的安装 (16) 2.5使用方法 (16) 2.7红外传感器输入输出调试程序 (17)

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

第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单片机循迹小车程序

/*功能:寻迹小车 使用芯片: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)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及 驾驶员本身的状态信息,必要时发出预警信息。主要包括碰撞预警系统和驾驶员状态监控系统。碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换

循迹小车(程序)

附录程序 目录 一、前言------------------------------------------------------------ 二、小车功能------------------------------------------------------ 三、元器件选择-------------------------------------------------- 四、I/O分配及硬件连接简图--------------------------------- 五、相关模块、算法--------------------------------------------- 六、系统框图------------------------------------------------------ 七、调试过程------------------------------------------------------ 八、小车图片资料--------------------------------------------------- 九、讲座所感------------------------------------------------------ 十、实习总结------------------------------------------------------

一、前言 感谢生产实习能给我们这次实现自己想法的机会,虽然实验条件异常简陋、资金投入非常有限,总体感觉我的队友们灰常灰常给力啊,我感觉我是抱到大腿了--王威,夏青、峰哥,团队气氛非常好,大家一起讨论,一起分工研究模块,最后一起解决问题调试程序,而且是不同的组合在不同阶段解决了不同的问题,大家精诚合作,各显身手,在奋战中给大三学年画上了圆满的句号。 之前我们本来商量是不是可以拿往年电子设计大赛的题目过来做,如果难度太大就算只实现一部分功能也算是成功完成了,结果研究一天后发现电子设计大赛的题目需要很长时间的知识积累啊,基本上都是准备一个月以上然后开工的,后来王威提议要不我们做个小车吧,超声波测距实现自动物体追踪,控制核心采用单片机,传感器采用广泛用于避障和测距的超声波传感器,前进和后退用普通伺服电机和电机驱动模块实现。在网上选购单片机最小系统的时候,发现有一家商铺的最小系统上集成了红外模块,就想着不要浪费了,就萌生了做遥控车的想法,这样系统可以实现两个功能一个是类似于“光影魔术手”一样的物体追踪功能,一个是遥控运行功能。 组队之后,我们一起讨论,从原理上进行可行性分析,最后一致讨论通过,然后就分组从网上搜集相关的资料,最后周一在淘宝上确定并购买了相关的器件,周三上午收到元器件,下午我们从零开始熟悉开发环境keil uvision3、翻看器件的技术文档、搞懂模块原理及使用方法、模块的编程调试、系统功能编程调试、系统程序整合、装车、系统功能优化。这是一个发现问题和解决问题的过程,乐趣也正在于此,我们相信一切问题皆有解决的方法,我们队员四个克服种种困难最终实现了既定的系统的功能,并且在找到带有舵机新车后添加了转弯功能,实在是意外之喜。 二、小车具体功能 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)

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