电动智能小车Word格式文档下载.docx
- 文档编号:18955162
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:51
- 大小:348.73KB
电动智能小车Word格式文档下载.docx
《电动智能小车Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电动智能小车Word格式文档下载.docx(51页珍藏版)》请在冰豆网上搜索。
五寻迹传感器电路11
六避障传感器电路11
七显示电路12
八PWM输出控制电路12
九声光提示电路13
十电源电路14
第四章软件设计15
一软件流程15
二代码分析16
第五章小结31
致谢31
参考文献32
附录A程序清单33
附录B硬件原理图45
第一章前言
随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,指导教师已经有充分的准备。
本题目是结合科研项目而确定的设计类课题。
设计的智能电动小车应该能够实时显示时间,具有自动寻迹、寻光、避障功能,可程控行驶速度、准确定位停车。
根据题目的要求,确定如下方案:
在现有玩具电动车的基础上,加装光电、红外线、避障传感器等电路,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
本设计采用MCS-51系列中的STC89C51单片机。
以STC89C51为控制核心,利用超声波传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,以及自动停车,并可以自动记录时间,自动寻迹和寻光功能。
STC89C51是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。
它是第四代单片机的代表。
第四代单片机包括了Intel公司发展MCS-51系列的新一代产品。
新一代的单片机的最主要的技术特点是向外部接口电路扩展,以实现Microcomputer完善的控制功能为己任,将一些外部接口功能单元如A/D﹑PWM﹑PCA(可编程计数器阵列)﹑WDT(监视定时器)﹑高速I/O口﹑计数器的捕获/比较逻辑等。
这一代单片机中,在总线方面最重要的进展是为单片机配置了芯片间的串行总线,为单片机应用系统设计提供了更加灵活的方式。
Philips公司还为这一代单片机STC89C51系列8xC592单片机引入了具有较强功能的设备间网络系统总线----CAN(ControllerAreaNetworkBUS).
新一代单片机为外部提供了相当完善的总线结构,为系统的扩展与配置打下了良好的基础。
本设计就采用了比较先进的80C51为控制核心,80C51采用CHOMS工艺,功耗很低。
该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。
尤其是
在足球机器人研究方面具有很好的发展前景;
在考古方面也应用到了超声波传感器进行检测。
所以本设计与实际相结合,现实意义很强。
第二章系统功能描述及设计思路
由于机械结构的不同,智能车有两种控制转向的方式,一种是采用四轮双电机结构,前面两个轮子用于控制转向,后面两个控制速度;
另一种是采用三轮双电机结构,前面采用一个万向轮,后面采用两台电动机分别控制两个轮子,利用两个轮子速度不同来实现转向。
这里设计的简单智能小车采用的是第二种机械结构。
一系统功能描述
如图1-1所示,设计制作一个智能小车,该小车能按照要求自行运动,按照虚线路径通过一个建筑物中曲折的道路,并完成规划的动作。
设矩形建筑物有两个门A,B,门宽24cm,建筑物的墙壁是10cm高,2cm厚的矮墙,建筑物内无引导轨迹。
具体功能如下:
.要求智能小车从A门进入并开始自动计时,从B门出来,在行进过程中,能自动选择适当的路径,避开墙壁,找到通路,三分钟之内到达B门;
.到达B门,停5s,小车自动计时并数字显示AB段所用的时间,并声光报警;
.自B门外,循环形引导轨迹BC前进(引导轨迹为2cm宽);
.到达C点后,小车停止前进并停止计时,显示BC段所用的时间;
BC
图1-1
小车
A
二设计思路
在本次设计中,小车底盘选取的是三轮双电机结构,通过后轮电动机转速和转向的不同实现对小车方向的控制。
左右两侧电动机控制采用电动机驱动芯片L298实现驱动,转速调节是通过单片机输出的PWM脉冲宽度方式进行调节。
为了保证小车在建筑物内行进过程中不碰壁,因此选用一组光电开关实现障碍物的检测,当传感器检测到障碍物时进行及时避让和调整。
另外,在小车离开建筑物时,可以通过安装在小车底部的光电开关检测黑色循迹线,使得小车沿线运行。
第三章硬件电路设计
一个单片机应用系统的硬件电路设计包含有两部分内容:
一是系统扩展,即单片机内部的功能单元,如ROM﹑RAM﹑I/O口﹑定时/记数器﹑中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。
二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器﹑打印机﹑A/D﹑D/A转换器等,要设计合适的接口电路。
一STC89C51单片机硬件结构
STC89C51单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上[2]。
如果按功能划分,它由如下功能部件组成,即微处理器、数据存储器、程序存储器、并行I/O口、串行口、定时器/计数器、中断系统及特殊功能寄存器。
它们都是通过片内单一总线连接而成,其基本结构依旧是CPU加上外围芯片的传统结构模式。
但对各种功能部件的控制是采用特殊功能寄存器的集中控制方式。
1微处理器
该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。
2数据存储器
片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等,所以称为数据存储器。
3程序存储器
由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。
4中断系统
具有5个中断源,2级中断优先权。
5定时器/计数器
片内有2个16位的定时器/计数器,具有四种工作方式。
6串行口
1个全双工的串行口,具有四种工作方式。
可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。
7P1口、P2口、P3口、P4口
为4个并行8位I/O口。
8特殊功能寄存器
共有21个,用于对片内的个功能的部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。
由上可见,80C51单片机的硬件结构具有功能部件种类全,功能强等特点。
特别值得一提的是该单片机CPU中的位处理器,它实际上是一个完整的1位微计算机,这个一位微计算机有自己的CPU、位寄存器、I/O口和指令集。
1位机在开关决策、逻辑电路仿真、过程控制方面非常有效;
而8位机在数据采集,运算处理方面有明显的长处。
MCS-51单片机中8位机和1位机的硬件资源复合在一起,二者相辅相承,它是单片机技术上的一个突破,这也是MCS-51单片机在设计的精美之处。
二最小应用系统设计
STC89C51是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小系统简单﹑可靠。
用80C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图3.1STC89C51单片机最小系统所示。
由于集成度的限制,最小应用系统只能用作一些小型的控制单元。
其应用特点:
(1)有可供用户使用的大量I/O口线。
(2)内部存储器容量有限。
(3)应用系统开发具有特殊性。
图1-
2STC89C51单片机最小系统
1、时钟电路
STC89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
STC89C51单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度
有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。
所以本设计中,振荡晶体选择6MHZ,电容选择65pF。
在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。
为了提高温度稳定性,应采用NPO电容。
2、复位电路
STC89C51的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实现的。
只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。
时钟频率用6MHZ时C取22uF,R取1KΩ。
除了上电复位外,有时还需要按键手动复位。
本设计就是用的按键手动复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位是通过RST端经电阻与电源Vcc接通而实现的。
按键手动复位电路见图3.2。
时钟频率选用6MHZ时,C取22uF,Rs取200Ω,RK取1KΩ。
图1-3STC89C51复位电路
如图1-4所示,智能电动车的系统原理框图主要包括主控器,电动机驱动控制电路,避障红外传感器电路,寻线红外传感器电路,显示电路,时钟电路,报警电路和电源电路等部分构成。
电动机驱动控制
显示电路
避障红外传感器
主控器
时钟电路
寻线红外传感器
报警电路
电源电路
图1-4智能电动车的系统原理框图
三主控器
本系统中主控器需要对双电机进行控制,因此需要使用PWM脉冲信号输出。
AT89S51是一种低功耗,高性能CMOS8位微控制器,三个定时器/计数器,
具有8KB在系统可编程Flash存储器。
主控器外围电路如图1-5所示。
图1-5主控器外围电路图
四电动机驱动控制
L298是SGS公司(意法半导体公司)的一款H桥电动机驱动芯片。
该芯片内部有4通道逻辑驱动电路,具有两套H桥电路,可以方便地驱动两个直流电动机。
电动机驱动控制电路如图1-6所示。
图1-6电动机驱动控制电路图
五寻迹传感器电路
寻迹传感器电路采用TCRC5000L型红外对管进行设计。
该型号的传感器内部由一个高发射功率红外光电二极管和高灵敏度光电晶体管组成,具有体积小,结构紧猝,灵敏度高,工作性能稳定等特点,能够满足本次设计的要求。
传感器的工作原理如下:
红外发射管发出红外线,若红外光照射到白色的平面将存在反射光线,传感器会输出一个低电平信号:
反之,若红外光照射到黑色的平面将无反射光线,传感器侧输出一个高电平信号。
寻迹传感器电路如图1-7所示,通过一个电压比较器可以获取每个传感器的检测状态。
如果传感器末检测到黑线,比较器LM324会输出一个低电平;
如果检测到黑线,LM324则输出一个高电平。
为了节省单片机的I/O接口,这里通过74LS165将8个传感器输出信号转为串行信号送入单片机中。
图1-7寻迹传感器电路
六避障传感器电路
避障传感器电路采用红外光电开关E3F-DS10C4进行避障。
该型号的传感器具有操作简单,使用方便等特点。
传感器内部将集发射器和接收器于一体,当有被检测物体经过时,物体将光电开关发射器发射的足够量的光线反射到接收器,于是光电开关就产生了开关信号。
当有光线反射回来时,传感器输出低电平信号;
当没有光线反射回来时,输出高电平信号。
避障传感器电路如图1-8所以,同样为了节省单片机的I/O接口,这里也通过74LS165将6个传感器输出信号转为串行信号送入单片机中。
图1-8寻迹传感器电路
七显示电路
本系统需要显示的内容较少,主要是计时时间的显示,因此选用一个LCD1602即可实现该项功能。
LCD1602液晶也称1602字符型液晶,是一种专门用来显示字母,数字,符号等的点阵型液晶模块,可以显示两行,每行16个字符液晶模块(显示字符和数字)。
该显示模块具有微功耗,体积小,显示内容丰富,超薄轻巧等特点,常用在袖珍式仪表和低功耗应用系统中。
本系统显示电路如图1-9所示。
图1-9显示电路
八PWM输出控制电路
PWM信号的产生电路如图1-10所示。
8254所需的基准频率是由有源晶振Y2产生的。
晶振Y2的震荡频率为1MHz,因此产生周期为1us的时钟信号。
图1-10PWM输出控制电路
九声光提示电路
声光提示电路如图1-11所示,发光二极管的驱动采用灌电流的方式,当单片机驱动引脚LED为低电平时,发光二极管点亮。
蜂鸣器使用一个PNP三极管进行驱动,当单片机BEEP引脚输出低电平时,蜂鸣器发出声音进行提示。
图1-11声光提示电路
十电源电路
智能小车的驱动电机需要9V直流电,采用充电电池供电。
因此,需要通过一个电源变换电源实现DC9V到DC5V的转换。
这里选用一个开关电源芯片LM2576进行设计,该芯片是美国国家半导体公司生产的3A集成稳压电路,它内部集成了一个固定的振荡器,只需极少外围器件便可构成一种高效的稳压电路,可大大减小散热片的体积,而在大多数情况下不需散热片,内部有完整的保护电路,包括电流限制及热关断电路等。
电源电路如图1-12所示。
图1-12电源电路
第四章软件设计
一软件流程
简易智能电动车的主程序流程如图1-13所以。
系统上电后,首先完成对定时器T0,T1和液晶的初始化,然后启动智能车前进,进入避障和循迹程序的检测。
开始
初始化
定时器T0
定时器T1
初始化液晶
小车前进
避障,循迹检测
图1-13主程序流程图
避障程序流程如图1-14所示,在该程序中,系统实时读取避障传感器的状态,更加各传感器的输入信号来判断智能车的行进位置及状态,并根据位置和状态信息及时调整车的走向。
图1-14避障程序流程图
在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。
数据处理包括:
数据的采集、数字滤波、标度变换等。
过程控制程序主要是使单片机按一定的方法进行计算,然后再输出,以便控制生产。
为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。
所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,。
二代码分析
智能车控制软件分为主程序,避障传感器检测程序,循迹传感器检测程序,电动机控制程序,显示程序,定时器T0,T1有关子程序,延时程序等,各部分程序功能如下:
主程序通过调用各个子程序,实现系统功能。
避障传感器检测程序用于检测智能车在迷宫中的行进状态,并及时调整小车的位置避免与迷宫内的墙壁发生碰撞。
循迹传感器检测程序用于检测智能车在迷宫外的进行状态,通过这些传感器可以实现车沿着黑线进行,防止跑偏。
电动机控制子程序是实现对智能车实现前进,制动,左转,右转等控制。
显示程序主要是显示智能车的行进状态,并对行进过程进行计时。
定时器T0有关子程序包括完成对T0的初始化设置,以及在T0的中断服务程序中对定时器T0和8254的初值设置等功能。
定时器T1有关子程序包括完成对T1的初始化设置,以及在T1的中断服务程序中对定时器实现计时时间的计算。
延时函数用于在智能车行进过程中行走状态的保持。
系统具体的程序代码如下。
1.函数声明及变量定义
为方便程序的编写,这里把部分常用的变量进行定义。
由于本实列中显示器件选用的是LCD1602,该器件在前面的章节中已经进行了详细的介绍,这里就不在重述了。
修改LCD1602.C文件中引脚定义,然后直接引用该头文件。
#include<
reg52.h>
intrins.h>
absacc.h>
LCD1602.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineCount0XBYTE[0x1fff]//8254计数器0
#defineCount1XBYTE[0x3fff]//8254计数器1
#defineCon_wordXBYTE[0x7fff]//8254控制字
/*********************引脚声明**********************/
//避障传感器输出
sbitsen1dat=P3^1;
//74165数据引脚
sbitsen1clk=P3^0;
//74165时钟引脚
sbitsen1ld=P3^4;
//74165锁存引脚
//循迹传感器输出
sbitsen2dat=P3^2;
sbitsen2clk=P3^3;
sbitsen2ld=P3^5;
//左侧电机
sbitIN1=P1^2;
sbitIN2=P1^3;
sbitPWM0=P1^6;
//右侧电机
sbitIN3=P1^4;
sbitIN4=P1^5;
sbitPWM1=P1^7;
//声光提示
sbitbeep=P1^7;
//声音提示
sbitled=P1^6;
//发光提示
/*********************变量定义**********************/
bitOutFlag=0;
bith0,h1,h2,h3,h4,h5;
//障碍物检测标志位
ucharhped,xped;
ucharMeaTime=0;
ucharMeaMs=0;
uchardisbuffer[2];
uinttime1=20000,time2=20000;
//8254计数器0、计数器1初值
ucharcodeDispTAB[]={"
0123456789ABCDEF"
};
//显示代码
ucharcodeTab1[]={"
Position:
"
ucharcodeTab2[]={"
Time:
ucharcodeTab3[]={"
A--->
B"
ucharcodeTab4[]={"
B--->
C"
/*********************函数声明**********************/
ucharSen1In(void);
//避障传感器信号
ucharSen2In(void);
//循迹传感器信号
voidinitPWM(void);
//初始化PWM占空比
void
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电动 智能 小车