• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

基于MSP430f5438三维超声波测距仪的设计与制作

本人利用一些业余时间研究制做了基于MSP430f5438三维超声波测距仪的设计与制作,下面我就具体详细的论述一下产片的设计理念和制作过程,本产品以低功耗的MSP430F5438A为基础,MSP430F5438A作为主控芯片,用两个舵机作为三维的控制设备,上面加上超声波传感器作为产品的测距,之后把超声波测量到的数据用数码管显示,此产品可以实现三维空间的距离测量。舵机云台采用两个舵机控制,分别控制上下和左右,从而实现了三维测距.此产品的运动方向方位比较广泛,舵机云台可在X轴方向0——185度旋转,拨动遥杆电位器在Y轴方向运行的也可达0——185度。超声波测距准确性比较高,可以很好知道三维物体障碍物的具体位置。方便知道前方物体的具体方位。



这是MSP430F5438A的一些资料256K Flash16K RAM;P1P2 16个中断IO口;16CRC 校验;16通道AD采用,200ksps12路外部采样,同时内置一个温度传感器,可以采集芯片温度支持32位硬件乘法器;RTC实时时钟;4USCIUCAx支持串口,IrDA/SPIUCBx支持SPI/IIC15个捕捉/比较定时器JTAG/SBW4线/2线仿真下载)UCS统一时钟管理系统看门狗Watchdogs支持多种低功耗模式LPM支持欠压或低压自动复位

这是电路的核心板,上面主要有主控芯片MSP430F5438A以及它的外围电路,最小系统等这是MSP430F5438的资料方便大家编程MSP430F5438.pdf

核心板.pdf

我核心板的电路图转上来供大家参加以及利用


这是它的PCB班我也传上来方便大家观看,并且知道它的接口是干什么用的



这个是三维超声波的实物图,下面我把测量模块分成块分别讲讲它的电路



超声波测距模块可实现2cm~4.5m的非接触测距功能,拥有2.4~5.5V的宽电压输入范围,静态功耗低于2mA,自带温度传感器对测距结果进行校正,同时具有GPIO,串口等多种通信方式,内带看门狗,工作稳定可靠。

主要技术参数


本模块实物图及尺寸

本模块如图3.1和图3.2所示:

   

图3.1:US-100正面图         图3.2:US-100背面图

本模块的尺寸:45mm*20mm*1.6mm。板上有两个半径为1mm的机械孔,如图3.3所示:

图3.3:US-100尺寸图

接口说明

本模块共有两个接口,即模式选择跳线和5 Pin接口。

模式选择跳线接口如图4.1所示。模式选择跳线的间距为2.54mm,当插上跳线帽时为UART(串口)模式,拔掉时为电平触发模式。

图4.1:模式选择跳线接口

   5 Pin接口为2.54mm间距的弯排针,如图4.2所示:

图4.2:5 Pin接口

从左到右依次编号1,2,3,4,5。它们的定义如下:

1号Pin:接VCC电源(供电范围2.4V~5.5V)。2号Pin:当为UART模式时,接外部电路UART的TX端;当为电平触发模式时,接外部电路的Trig端。3号Pin:当为UART模式时,接外部电路UART的RX端;当为电平触发模式时,接外部电路的Echo端。4号Pin:接外部电路的地。5号Pin:接外部电路的地。电平触发测距工作原理

在模块上电前,首先去掉模式选择跳线上的跳线帽,使模块处于电平触发模式。

电平触发测距的时序如图5.1所示:

图5.1:US-100测距时序图

图5.1表明:只需要在Trig/TX管脚输入一个10US以上的高电平,系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。

在此模式下,模块将距离值转化为340m/s时的时间值的2倍,通过Echo端输出一高电平,可根据此高电平的持续时间来计算距离值。即距离值为:(高电平时间*340m/s)/2。

注:因为距离值已经经过温度校正,此时无需再根据环境温度对超声波声速进行校正,即不管温度多少,声速选择340m/s即可。

串口触发测距工作原理

在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。

串口触发测距的时序如图6.1所示:

在此模式下只需要在Trig/TX管脚输入0X55(波特率9600),系统便可发出8个40KHZ的超声波脉冲,然后检测回波信号。当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过Echo/RX管脚输出。

输出的距离值共两个字节,第一个字节是距离的高8位(HDate),第二个字节为距离的低8位(LData),单位为毫米。即距离值为 (HData*256 +LData)mm。


图6.1:串口触发测距时序图

串口触发测温工作原理

在模块上电前,首先插上模式选择跳线上的跳线帽,使模块处于串口触发模式。

串口触发测温的时序如图7.1所示:

在此模式下只需要在Trig/TX管脚输入0X50(波特率9600),系统便启动温度传感器对当前温度进行测量,然后将温度值通过Echo/RX管脚输出。

测量完成温度后,本模块会返回一个字节的温度值(TData), 实际的温度值为TData-45。例如通过TX发送完0X50后,在RX端收到0X45,则此时的温度值为[69(0X45的10进制值)-45] = 24度。

这是超声波的电子资料超声波.pdf

下面我讲一下舵机的原理


舵机的工作原理。舵机常用的控制信号是一个周期为20毫秒左右,宽度为1毫秒到2毫秒的脉冲信号。当舵机收到该信号后,会马上激发出一个与之相同的,宽度为1.5毫秒的负向标准的中位脉冲。之后二个脉冲在一个加法器中进行相加得到了所谓的差值脉冲。输入信号脉冲如果宽于负向的标准脉冲,得到的就是正的差值脉冲。如果输入脉冲比标准脉冲窄,相加后得到的肯定是负的脉冲。此差值脉冲放大后就是驱动舵机正反转动的动力信号。舵机电机的转动,通过齿轮组减速后,同时驱动转盘和标准脉冲宽度调节电位器转动。直到标准脉冲与输入脉冲宽度完全相同时,差值脉冲消失时才会停止转动,这就是舵机的工作原理。

这些就是和核心器件的结构,至于数码管的显示我想大家应该都会的!


下面我画出它的程序流程图



程序部分我给大家一点参考文件吧

第2部分 程序设计.zip









全部回复(6)
正序查看
倒序查看
2014-04-21 17:05
好帖子,刚才就发现这么多分享帖,谢谢楼主,请继续,我会一直关注。
0
回复
2014-04-24 03:47
这块核心板很强大啊
0
回复
qinzhuai
LV.3
4
2014-04-25 13:30
图里的接口,在实际操作中是怎么连接的?
0
回复
2014-04-27 00:13
@baijun6888
好帖子,刚才就发现这么多分享帖,谢谢楼主,请继续,我会一直关注。
最近单片机分享帖,实例贴很多,很值得新手学习
0
回复
小娄娄
LV.1
6
2016-03-07 14:18
大神,求51单片机超声波测距指导。
0
回复
jcpower
LV.4
7
2016-04-24 10:30
这么好的东西,竟然关注不多。
0
回复