智能小车测速系统.docx
《智能小车测速系统.docx》由会员分享,可在线阅读,更多相关《智能小车测速系统.docx(43页珍藏版)》请在冰豆网上搜索。
智能小车测速系统
内蒙古科技大学
智能仪表综合训练设计说明书
题目:
智能小车测速系统设计
学生姓名:
学号:
专业:
测控技术与仪器
班级:
2009-1
指导教师:
孙采鹰讲师
摘要
近年来,随着我国经济建设的高速发展,机动车辆拥有量也在急剧增长,交通事故也日益增多,车辆超速成为了越来越严重的问题。
而我国生产的汽车、摩托车电机转速测量系统大多使用动圈式模拟测速。
这种测量系统存在精度差、过载能力弱等缺点。
本次的智能仪表综合训练的主要任务是设计一个智能小车,要求实现小车能够直走、通过光电传感器进行测速、通过PWM电路模块进行调速以及通过LCD1602液晶模块进行脉冲、速度、PWM的占空比三个参数的显示。
控制板的设计以8位的STC89C52单片机为控制核心,驱动板则以L289N驱动芯片为核心,应用光电传感器和LCD液晶模块,成功的实现了小车的测速、调速和显示功能这三大功能。
课题完成了光电传感器、单片机、控制板、驱动板选择,采购接口电路的设计和连接以传感器和电路的安装位置和方式的安排,并完成了整个硬件的安装工作。
除此之外,还对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成了软件和硬件的融合,基本实现了智能小车要求实现的预期的功能。
关键词:
智能小车;光电传感器;驱动芯片;LCD液晶模块;单片机
第一章绪论
1.1问题的提出
当今世界,科学技术日新月异。
传感器技术和自动控制正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。
现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田发明的机器人,其仿人双足行走已经做得十分的逼真了,而且还具有一定的学习能力,据说这机器人的智商已达到了6岁儿童的水平。
作为机械行业的代表产品——汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:
一是电子装置占汽车整体(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很可能成为依托整车制造业和用车提升配置而快速成为新的增长点:
二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时具有交通、娱乐、办公和通讯等多种功能。
无容置疑,机电一体化人才的培养不论是在国外还是在国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:
亚洲广播电视联盟亚太地区机器人大赛、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对机电一体化的兴趣与强化机电一体化的相关知识。
所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。
为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:
通过独立设计一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。
所以立“基于单片机的智能小车测速设计”一题作为尝试。
这项设计是以采购的小车为基础,采用16位STC89C52RC单片机作为控制核心,逐步实现测速、调速、显示这三大功能。
本次设计主要解决问题是如何实现所要求的三大功能,最后完成硬件实物的组装,并编制相关程序,使其实现功能的融合,做出具有预先要求功能的实物。
1.2设计思路
本次设计的硬件框图如1-1图所示
1-1图
这次的智能仪表综合训练是基于单片机的智能小车测速系统,这次设计所使用的测速传感器为光电测速传感器,在单位时间内计算脉冲的次数,然后再进行转换和处理即得到所测量的速度。
通过PWM调速模块结合软件进行调速。
通过Keil进行软件编程、编译、链接、调试以及用Proteus画图进行仿真,编出能够满足要求的程序。
最后用STC-ISPV38A.exe把生成的16进制的文件下载到单片机即可。
第二章方案论证
智能小车的总体结构如下:
智能小车由各零部件组成,零部件主要有智能车底盘一个(直流减速电机1个,电机固定座1个,轮胎41个,有机玻璃板一块),单片机开发板1块,测速套装(模块+100线码盘)1套,BTS7960电机驱动模块1个,7.2V电池1块。
本次设计通过光电传感器进行测速、PWM调速模块进行调速、LED数码管进行显示。
具体原理是:
把100线的光码盘安装在减速电机的转轴上,由于车轮也与减速电机的转轴连接,因此车轮与光码盘是同步的,它们具有相同的角速度。
光码盘与光电传感器是配套使用的,光电传感器安装在光码盘的旁边。
当电机转动时,光码盘也随之转动。
光电传感器输出TTL电平,当光码码盘线数来决定。
因此当光码盘转动时,光电传感器就会有脉冲输出。
光电传感器脉冲输出端接在单片机的P32口,也就是接到了外部中断0上。
通过外部中断服务在单位时间内进行脉冲数的计算。
在本次设计中采用定时器T1进行1秒定时。
在这1秒钟的时间内把测量到的脉冲数进行处理,转换成速度。
调速部分需要硬件和软件结合。
BTS7960驱动模块里有两个H型电桥,用来控制减速电机。
有1个使能EN,有两个PWM控制端分别为pwm1和pwm2,用来控制电机的正转和反转及电机转速。
EN常接高电平,当pwm1为高电平pwm2为低电平时电机正转,pwm1为低电平pwm2为高电平时,电机反转。
本次设计的小车使用也很方便,只需打开一个开关按键,小车就跑起来。
下面根据设计要求,针对各模块需要完成的功能,本着简单、实用、廉价、容易操作、稳定的原则,对各个模块进行充分理论分析和方案论证。
2.1控制核心的选择及其简介
本次设计的小车具有测速、调速以及参数显示的功能。
由于需要实现的功能不多,因此用一般的51系列的单片机就可以实现,由此选择了STC89C52RC单片机。
该单片机价格便宜、工作稳定、操作方便、功能齐全、性能稳定等优点深受广大单片机爱好者好评。
2.1.1STC89C52RC单片机简介
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、非常有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
特性方面:
1.STC89C52RC单片机。
2.8K字节程序存储空间。
3.512字节数据存储空间。
3.内带4K字节EEPROM存储空间。
5.可直接使用串口下载。
6.AT89S52单片机。
7.8K字节程序存储空间。
8.256字节数据存储空间。
9.没有内带EEPROM存储空间。
参数方面:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
2.工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
3.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4.用户应用程序空间为8K字节
5.片上集成512字节RAM
6.通用I/O口(32个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。
8.具有EEPROM功能。
9.具有看门狗功能。
10.共有3个16位定时器/计数器。
即定时器T0、T1、T2。
11.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
12.通用异步串行口(UART),还可用定时器软件实现多个UART。
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)。
14.PDIP封装。
引脚说明
单片机STC89C52如下1-1图所示
2-1图单片机
1.Vss:
第20个引脚,功能是电源地。
2.Vcc:
第40个引脚,功能是电源引脚。
正常操作、空闲、掉电以及对OTPROM、FlashROM编程或校验进的工作电压。
一般为2.7~6.0V(89C5X、89C5XX2电源电压一般为5.0V)。
3.P00~P17:
作为I/O口使用时,P0口是漏极开路双向口,向口锁存器写入1时,I/O口引脚悬空,是高阻输入引脚;在读写外部存储器时,P0口作为低8位地址/数据总线。
4.P10~P17:
内部带有弱上拉的准双向口I/O口,作为输入引脚使用前,先向P1口锁存器写入1,使P1口引脚上拉至高电平。
P10,P11口除了作为一般I/O口使用外,还具有第二输入/输出功能。
T2(P10)——定时器T2的计数输入端或定时器T2的时钟输出端。
T2EX(P11)——定时器T2的外部触发输入端。
5.P20~P27:
内部带有弱上拉的准双向I/O口,作输入引脚使用前,先向P2口锁存器写入1,使P2口引脚上拉至高电平。
在读写外部存储器时,P2口输出高8位地址信号A15~A8。
6.P30~P37:
内部带有弱上拉的准双向I/O口,作输入引脚使用前,先和向P3口锁在器写入1,使P2口引脚上拉至高电平。
P3口除了可作为一般的I/O口使用外,还具有第二输入/输出功能。
RXD(P30)——串行数据接收(输入)端。
TXD(P31)——串行数据发送(输出)端。
INT0(P32)——外部中为0输入端。
INT1(P33)——外部中断1输入端。
T0(P34)——定时/计数T0的外部输入端。
T1(P35)——定时/计数T1的外部输入端。
WR(P36)——外部数据存储器写选通信号,低电平有效。
RD(P37)——外部数据存储器读选通信号,低电平有效。
7.RST:
第9个引脚,功能是复位信号输入端,高电平有效。
8.ALE:
第30个引脚。
低8位地址锁存信号。
9.PSEN:
第29个引脚。
外部程序存储器读选通信号,低电平有效。
从外部程序存储器取指令时,每个机器周期PSEN信号被激活两次。
只有执行外部程序存储器中的指令时,PSEN才有效,而执行其它操作时PSEN无效。
10.EA/Vpp:
第31个引脚。
外部程序存储器读选通信号,低电平有效。
11.XTAL1:
第19个引脚。
片内晶振电路反相放大器输入端,接CPU内部时钟电路。
12.XTAL2:
第18个引脚。
片内部晶振电路反相放大器输出端。
2.1.2小车控制板简介
小车控制板如下2-2图所示
2-2图控制板
本控制器采用双层板设计,布局合理,线路精密,,40位单片机卡座可兼容51系统及STC所有系列单片机,采用晶振12M,大电流供电端子设计及优质电源开关及优质复位开关设计,指示灯设计等。
单片机接口与电源和GND采用三位一排方式排列,有效解决了常用三位引线传感器电源输入的问题,预留有串口无线模块接口排座、超声波接口、LCD1602和LCD12864液晶接口(亮度可分别通过两个滑动变阻器调节)及TTL程序下载接口等。
关于供电,外接电源6~9V,本控制板采用AMS-1117-5.0稳压之后给单片机供电,使单片机工作更加稳定。
关于程序下载,本控制板是TTL接口直接引出,下载程序必须接一个TTL转USB的模块连接到电脑的USB口,正常识别串口后,便可以下载。
下载时,先选择下载文件,其次点击下载按钮,最后再按开关接通电源便可正常下载,如果发现不能正常下载,首先要检查线路是否接对,其次调一下波特率,正常都能解决。
接口如下2-3图所示
2-3图小车控制板
接口说明
标号1:
电源供电端子,6~9V输入,VCC接正极,GND接负极。
标号2:
电源供电指示灯。
标号3:
电源开关。
标号4:
复位按键。
标号5:
串口数据接收指示灯。
标号6:
串口数据发送指示灯。
标号7:
程序下载接口,TTL接口,从下到上的顺序依次为VDD,RXD,TXD,GND。
标号8:
单片机IO口,接口引脚说明请参考单片机说明资料。
标号9:
VDD。
标号10:
GND。
标号11:
LCD1602液晶屏亮度调节变阻器。
标号12:
LCD12864液晶屏亮度调节变阻器。
标号13:
AMS-1117-5.0稳压管。
标号14:
LCD1602液晶屏接口。
标号15:
LCD12864液晶屏接口。
标号16:
超声波接口。
标号17:
单片机IC座。
标号18:
串口无线模块接口。
标号19:
单片机IO口,接口引脚说明请参考单片机说明资料。
标号20:
VDD。
标号21:
GND。
标号22:
晶振,12M。
标号23:
P0口上位排阻。
2.1.3小车驱动板简介
小车驱动板如2-4图所示
2-4图小车驱动板
BTS7960模块输入输出关系如下表所示
ENA
PWM1
PWM2
电机运转情况
H
H
L
正转
H
L
H
反转
H
IN1
IN2
快速停止
L
X
X
停止
2-1表
产品参数说明
1.驱动芯片:
BTS7960双H桥直流电机驱动芯片。
2.带光耦驱动隔离功能,带正反转指示灯和电源指示灯。
3.驱动部分端子供电范围Vs:
+5V~+35V。
4.驱动部分峰值电流Io:
60A。
5.逻辑部分端子供电范围Vss:
+5V~+12V。
6.逻辑部分工作电流范围:
0~36mA。
7.输入电压范围:
低电平:
-0.3~1.5V,高电平:
2.3V~Vss。
8.使能信号输入电压范围:
低电平:
-0.3~1.5V(控制信号无效),高电平:
2.3V~Vss(控制信号有效)。
9.功耗:
20W。
(温度T=75度时)。
2.2小车驱动方式选择
方案一:
采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整,此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
方案二:
采用由集成了双极性管组成的H桥电路芯片BTS7960。
用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也很高,是一种广泛采用的调速技术。
综合两种方案的优缺点,决定选择方案二。
2.3光电测速模块
光电测速模块如2-5图所示
2-5图光电测速模块
模块参数
1.供电电压:
5V。
2.输出信号:
TTL电平(码盘无缝隙时输出高电平,码盘有缝隙时输出低电平)。
转动一圈输出脉冲数根据码盘线数决定。
3.接线说明:
红色接+5V,黑色接GND,绿色接OUT。
100线光码盘如2-6图所示
2-6图光码盘
注意事项:
1.固定时需要轻拿轻放,以勉损坏光码盘。
2.固定时要确保码盘缝隙能够放在光电传感器的凹槽里。
3.由于光码盘是安装在小车底盘的底部,尽量在水平的地面行走,以勉碰坏光码盘。
2.4LCD1602显示模块
系统采用1602液晶显示,它可以显示2*16个字符,同时只用11个I/O端口,它不仅节省了单片机的资源,相比较数码管液晶显示更加直观、节能,同时在硬件上面液晶的驱动电路比数码管简单的多,故采用LCD显示。
LCD1602液晶屏如2-7图所示。
2-7图1602字符型液晶显示
LCD1602液晶也叫1602字符型液晶,它是一种专门来显示字母、数字、符号等的点阵型液晶模块。
它有若干个5X7或者5X11等点阵字符位能成,每个点阵字符都可以显示一个字符。
每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能显示图形。
目前市场上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上在部分的字符型液晶。
LCD1602液晶屏的特性
1.+5V电压,对比度可调。
2.内含复位电路。
3.提供各种控制命令。
如:
清屏、字符闪烁、光标闪烁、显示移位等多种功能。
4.内建有160个5*7点阵的字符型的字符发生器CGROM。
5.有8个由用户定义的5*7的字符发生器CGRAM。
接口信号说明:
编号1:
VSS,电源地。
编号2:
VDD,电源正极。
编号3:
VL,液晶显示偏压信号。
编号4:
RS,数据/命令选择(H/L)。
编号5:
R/W,读/写选择端(H/L)。
编号6:
E,使能信号。
编号7:
D0,DataI/O。
编号8:
D1,DataI/O。
编号9:
D2,DataI/O。
编号10:
D3,DataI/O。
编号11:
D4,DataI/O。
编号12:
D5,DataI/O。
编号13:
D6,DataI/O。
编号14:
D7,DataI/O。
编号15:
BLA,背光源正极。
编号16:
BLK,背光源负极。
基本操作时序如下表所示
1读状态输入:
RS=L,
RW=H,E=H
输出:
D0-D7=状态字
2写指令输入:
RS=L,
RW=L,D0-D7=指令码,E=脉冲
输出:
无
3读数据输入:
RS=H,
RW=H,E=H
输出:
D0-D7=数据
4写数据输入:
RS=H,
RW=1,D0-D7=数据,E=H
输出:
无
2-2表
2-8图LCD1602尺寸图
下图2-9是LCD1602液晶显示与单片机接口连接图。
2-9图
第三章系统硬件设计
3.1车体结构及其驱动电路
车体驱动方式已经在前面确定下来了,硬件部分则在采购的小车基础上进行,小车的实物图如图3-1所示,控制板下的电路板为减速电机。
3-1图
该小车为四轮结构,车轮的安装位置如下图3-2所示。
其中后面两个轮由减速电机驱动,控制小车前进和后退。
车体前安装两个轮,由舵机控制控制小车的左转和右转。
3-2图
小车的驱动电路如下图3-3所
3-3图驱动电路
此驱动电路元器件有TLP521-4光电耦合隔离器芯片、BTS7960驱动芯片,电阻,电容,齐纳稳压管、LED指示灯等等。
3.2测速模块的设计
小车速度检测方案的设计是个不可忽视的问题。
只有选择好测速方案,才能省时、省力、省线地去做设计,常用的测速方法常有以下几种。
方案一:
光电测速传感器
原理是传感器开孔圆盘的转轴与减速电机转轴相连,光源的光通过开孔盘的孔和缝隙反射到光敏元件上,开孔盘旋转体转一周,光敏元件上照到光的次数等于盘上的开孔数,从而测出旋转体旋转速度。
灵敏度较高,但容易受外界光源的影响。
方案二:
测速发电机
原理是将旋转机械能转化成电信号,适合于测量速度较高的旋转体的速度。
采用电磁感应的原理。
但市场上测速发电机应用于低压市场的比较少,而且都比较重,不适合用于模型车,并且要将测速发电机安装到电动车上需要对电动车模型进行大改动,由于其质量较重,可能会严重影响电动车的机动性能,除非自制。
优点是测速准确、稳快速,可以直接由AD转换器读入计算机测得当前速度值,下图为测速发电机。
3-4图测速发电机
方案三:
霍尔传感器
其工作原理是:
利用霍尔开关元件测速,内部具有稳压电路、霍尔电势发生器、放大器、施密特触发器和输出电路,其输出电平和TTL电平相兼容。
在待测旋转体的转轴上装上一个圆盘,在圆盘上装上若干对小磁钢,小磁钢越多分辨率就超高。
霍尔开关固定在小磁钢附近,当旋转体以角速度M旋转时,每当一个小磁钢转过霍尔开关,霍尔开关便输出一个脉冲,计算出单位时间的脉冲数,即可确定旋转体的速度了。
霍尔传感器测速如3-5图所示
3-5图
方案选择论证
在前面已经说过选用光电传感器进行测速。
虽然光电传感器受外界光源影响很大,但是它使用方便、安装简单,还有本设计要求的准确度不是很高,因此就选择了光电测速传感器。
光电测速传感器的原理图如下图所示
3-6图光电测速原理图
3.2.2测速模块的使用方法及连线
测速模块的使用方法也是很简单,只需把两个测速传感器与单片机连接即可,不需要转换电路,使用简单,省时省力。
关键的地方就是写程序,让测速功能发挥作用。
光电传感器总共有三根引线,第一根为黑色线,连接的是电源地线;第二根为红色线,连接的是电源的正极;第三根为绿色线,这条线为信号输出线,连接到单片机。
在本次设计中,光电传感器的信号线连接到单片机的外部中断0,也就是P32口。
3.3PWM调速模块的设计
调速模块决定了小车的调速功能,本次设计使用PWM进行调速。
脉冲宽度调制(PWM)是英文“PulseWidthModulation”的缩写,简称脉宽调制。
它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用于测量,通信,功率控制与变换等许多领域。
一种模拟控制方式,根据相应载荷的变化来调制晶体管栅极或基极的偏置,来实现开关稳压电源输出晶体管或晶体管导通时间的改变,这种方式能使电源的输出电压在工作条件变化时保持恒定。
脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。
通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。
PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。
电压或电流源是以一种通(ON)或断(OFF)的重复脉序列被加到模拟负载上去的。
通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。
只要带宽足够,任何模拟值都可以使用PWM进行编码。
3.3.1PWM硬件电路的设计
在本次设计中用PWM进行调速,要想达到调速的目的,必须硬件和软件相结合,方能实现调速。
设计中采用专用芯片BTS7960作为电机驱动芯片。
BTS7960是一个具有高电压大电流的全桥驱动芯片,它相应频率高,一片BTS7960可以分别控制两个直流电机,而且还带有控制使能端。
用该芯片作为电机驱动,操作方便,稳定性好,性能优良。
且由BTS7960结合单片机可实现对小车速度的精确控制。
这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点,因此决定采用BTS7960控制直流电机。
电机驱动芯片BTS7960,是一款承受高压大电流的全桥型直流/步进电压驱动器,如下3-9图所示。
3-9图电机控制芯片L298N的引脚排列
表3-1为L298N引脚编号与功能。
引脚编号
名称
功能
1
电流传感器A
在该引脚和地之间接小阻值电阻可用来检测电流
2
输出引脚1
内置驱动器A的输出端1,接至电机A
3
输出引脚2
内置驱动器A的输出端2,接至电机A
4
电机电源端
电机供电输入端,电压可达46V
5
输入