基于某MSP430地简易超声波探测仪Word文件下载.docx
《基于某MSP430地简易超声波探测仪Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于某MSP430地简易超声波探测仪Word文件下载.docx(30页珍藏版)》请在冰豆网上搜索。
在空气中传播速度为340m/s,容易控制;
受环境影响小,因此采用超生波传感器作为距离探测的"
眼睛"
。
用于测距领域的超声波频率为20kHz~400kHz的频段,空气介质中常用为40kHz。
避障系统的超声波测距通常运用超声波的反射原理,采用渡越时间法,通过测量超声波发射到返回之间的时间间隔来计算距离。
由于时间长度与声音通过的距离成正比关系,当发射超声波传感器发出一个短暂的脉冲波时,记时开始;
当接收超声波传感器接收到第一个回波脉冲后,计时立即停止。
此时,记录得到的时间值为t,那么从超声波发射位置到障碍物之间的实际距离就可按下式求得。
L=ct/2(I)
式(I)中:
L为超声波发射位置到障碍物之间的实际距离;
t为超声波发生器发出超声波到接收到超声波的时间间隔。
1.2系统概述
此系统为一个简易超声波测距仪,测量4m以内的距离。
它以MSP430G2553为中心控制器,由测距、显示、供电、以及测温部分组成。
测距部分采用HC-SR04模块,显示部分为5110液晶显示。
系统由两块串联到一起的手机电池供电,通过两个1117稳压芯片把电压转换成5v和3.3v给各个模块供电。
DS18B20芯片首先测得当前温度,对于超声波测距进行校正,并和温度值一起在5110液晶上进行显示。
还可以通过两个按键锁定和解锁液晶。
完成对于距离的测量。
考虑到这是一个便携式的设备,系统要尽可能的简化电路以减少功耗。
程序设计也尽可能的减少硬件的工作次数,比如较为复杂温度的测量就是每隔30s刷新一次。
不仅如此系统的大小还得考虑,合理的安排元件的位置,以减少板子的大小。
第2章设计方案与论证
2.1超声波测距模块
方案一:
按照电路图手工焊接相关电路。
优点:
可以合理安排零件的位置,减少系统的大小。
缺点:
调试难度大,并且精度没有保证。
最后不予考虑。
方案二:
使用超声波模块KS103。
测距最大距离8米,盲区为最小1cm之内。
测量精度平均3mm,最高达1mm.而且相当灵敏。
具有目前其他同类超声波模块产品所无法达到的性能优势和质量保障。
测量距离,温度,光强,三合一功能。
但是缺点是价格太高,不予考虑。
方案三:
使用超声波模块HC-SR04模块。
模块特点:
HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;
模块包括超声波发射器、接收器与控制电路。
综合价格、大小、精度等各方面因素,系统最后选择此模块座位测距模块。
2.2供电模块
方案一:
使用若干节五号干电池供电。
由于直流升压芯片相比降压来说要少,并且在稳压过程中的损耗比降压要大,所以需要5v以上的电压供电。
干电池每节1.5v,也就是说需要4节干电池。
体积较大,并且不能充电,所以不采用此方案。
使用手机电池供电。
手机电池为锂电池,电量大,体积小。
要达到5v以上电压只需两块电池串联。
并且还可以充电,便于循环使用。
两块手机电池串联之后实际电压为8.4v,1117稳压芯片也很便宜。
经过两级降压分别输出5v和3.3v的电压。
本系统就是采用这个方案。
2.3显示模块
1602液晶显示屏,可以显示两排数字以及字符。
但是它所占用的引脚太多,除去供电引脚外还需12个引脚。
MSP430G2只有组8位I/O口,所以1602不予考虑。
方案二:
5110液晶显示屏可以显示15*6个数字或字符,并且还能显示汉字。
除去电源引脚外只需占用5个I/O口即可工作,所以本系统采用此液晶显示。
2.4测温模块
使用热电阻组成电桥电路,将温度转换成电压值,经过单片机内部的AD转换电路变成数字量。
但是电桥电路的平衡由于存在各种漂移不容易调整,并且电桥持续工作浪费电量,不符合便携式的设计要求,综上不予考虑此方案。
数字化芯片DS18B20温度传感器,控制较为简单,并且只需占用一个引脚。
集成程度高,休眠时的功率也很小。
精度为0.5摄氏度。
满足本系统的设计要求。
第3章硬件设计
3.1系统原理方框图
图3-1系统原理方框图
3.2主电路图
图3-2主电路图
3.3I/O口分配
P1.0接DS18B20,P1.1和P1.2分别接HC-RS04的Trig和Echo引脚。
P1.3P1.4接两个按钮。
P1.7P1.6P2.5P2.4P2.3接5110液晶显示屏
图3-3单片机I/O口分配图
3.4元器件选型
3.4.1主控制芯片MSP430G2553
MSP430G2系列是德州仪器推出的一款产品,在秉承MSP430超低功耗,高集成度
的优点的同时,具有高性价比的特点
MSP430单片机片上外围模块:
?
•16MHz主频16位CPU
•片上程序存储器FLASH(512B/1KB/2KB/4KB/8KB/16KB)及FLASH控制器
•片上随机存储器SRAM(128B/256B/512B)
•通用并行输入输出端口GPIO(4位/16位/20位/24位)
•支持电容触摸式I/O
•看门狗定时器WDT
•上电复位模块BOR
•多功能通信模块USI(I2C/SPI)USIC_A(UART/LIN/IrDA/SPI)USIC_B(I2C&
SPI)
•比较器模块ComparatorA+
•片内温度传感器TempSensor
•十位逐次逼近型ADC10
•斜率型slopeADC
3.4.2HC-SR04超声波模块
HC-SR04可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;
使用方法:
控制口发一个10US以上的高电平,就可以在接收口等待高电平输出.一有输出就可以开定时器计时,当此口变为低电平时就可以读定时器的值,此时就为此次测距的时间,方可算出距离.如此不断的周期测,就可以达到你移动测量的值了
基本工作原理:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2。
图3-4HC-SR04模块原理图
3.4.3温度传感器DS18B20
独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源测量温度范围为-55°
C至+125℃。
-10°
C至+85°
C范围内精度为±
0.5°
C。
温度传感器可编程的分辨率为9~12位,温度转换为12位数字格式最大值为750毫秒,用户可定义的非易失性温度报警设置。
由于DS18B20是一条口线通信,所以中央微处理器与DS18B20只有一个一条口线连接。
为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。
因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于图3-5DS18B20接线图
1条总线。
这使得温度传感器放置在许多不同的
2条地方。
3.4.4稳压芯片LM1117
AMS1117是一个正向低压降稳压器,在1A电流下压降为1.2V。
AMS1117有两个版本:
固定输出版本和可调版本,固定输出电压为1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V,具有1%的精度;
固定输出电压为1.2V的精度为2%。
AMS1117内部集成过热保护和限流电路,是电池供电和便携式计算机的最佳选择。
图3-61117稳压模块原理模块
3.4.55110液晶显示
该模块具有以下特点:
1、84x48的点阵LCD,可以显示4行汉字,
2、采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条。
支持多种串行通信协议(如AVR单片机的SPI、MCS51的串口模式0等),传输速率高达4Mbps,可全速写入显示数据。
3、可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。
4、LCD控制器/驱动器芯片已绑定到LCD晶片上,模块的体积很小。
5、采用低电压供电,正常显示时的工作电流在200μA以下,且具有掉电模式
图3-75110原理图
第4章软件设计
4.1主流程图及介绍
图4-1系统软件流程图
程序初始化之后,首先由DS18B20为温度赋初值。
之后HC-SR04模块开始测距,测距时使用的定时器T0为模块返回的高脉冲计时,按模块的设计要求,计算出脉冲宽度即可得到声波反射所需时间。
得出时间后代入公式测试:
距离=(高电平时间*声速(340M/S))/2。
并且此时的声速已经经过了温度矫正,以减少误差。
与此同时定时器T1一直在定时,每隔50ms就会产生一次中断,在中断程序中标志位每次加1,当标志位加到600时,即一共30s时,程序就会刷新温度值。
在5110液晶上显示的为距离值,单位cm,以及温度值。
当按键1按下时,触发中断改变标志位,使得液晶锁屏。
按键2按下时触发中断解锁屏幕。
由于超声波计数和温度测量时的程序不允许打断,在这两项进行的时候全局中断关闭,防止打断程序影响结果。
第五章系统调试
5.1测距调试
首先将HC-SR04模块固定,前方放置一个长直尺,单片机中烧入测距程序并循环此程序。
在循环开始处设置断点,通过CCS软件自带的单步执行功能在电脑上显示出测距值,并于直尺上的数值进行对照。
在3cm之内时测量
实际值/cm
0.5
1
1.5
2.0
2.5
3.0
3.5
测量值/cm
无结果
2.4左右
2.2
2.4
3.1
3.7
表5-1近距离系统测试结果
(在3cm之内的程序略有不同,对于数值的显示精确度进行了修改)
在3cm之外的测量
5
10
15
20
30
40
50
60
4
9
14
29
59
表5-2远距离系统测试结果
通过结果可得在2cm之内时,测距值精确度不高,因为盲区的影响不能实现近距测量。
但是3cm之后的测量比较准确,基本可以实现设计要求。
第6章设计心得
通过此次课程设计首先我学习HC-SR04超声波测距模块的使用方法,也了解了很多超声波的应用以及测距的发展历史。
另外DS18B20的使用是我对于串行口的数据输出、输入的常用格式有了一定的了解。
其次对于511