本人利用一些业余时间研究制做了基于MSP430f5438三维超声波测距仪的设计与制作,下面我就具体详细的论述一下产片的设计理念和制作过程,本产品以低功耗的MSP430F5438A为基础,MSP430F5438A作为主控芯片,用两个舵机作为三维的控制设备,上面加上超声波传感器作为产品的测距,之后把超声波测量到的数据用数码管显示,此产品可以实现三维空间的距离测量。舵机云台采用两个舵机控制,分别控制上下和左右,从而实现了三维测距.此产品的运动方向方位比较广泛,舵机云台可在X轴方向0——185度旋转,拨动遥杆电位器在Y轴方向运行的也可达0——185度。超声波测距准确性比较高,可以很好知道三维物体障碍物的具体位置。方便知道前方物体的具体方位。
这是MSP430F5438A的一些资料256K Flash,16K RAM;P1,P2 16个中断IO口;16位CRC 校验;16通道AD采用,200ksps,12路外部采样,同时内置一个温度传感器,可以采集芯片温度支持32位硬件乘法器;RTC实时时钟;4个USCI,UCAx支持串口,IrDA/SPI,UCBx支持SPI/IIC15个捕捉/比较定时器JTAG/SBW(4线/2线仿真下载)UCS统一时钟管理系统看门狗Watchdogs支持多种低功耗模式LPM支持欠压或低压自动复位
这是电路的核心板,上面主要有主控芯片MSP430F5438A以及它的外围电路,最小系统等这是MSP430F5438的资料方便大家编程MSP430F5438.pdf
我核心板的电路图转上来供大家参加以及利用
超声波测距模块可实现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毫秒的负向标准的中位脉冲。之后二个脉冲在一个加法器中进行相加得到了所谓的差值脉冲。输入信号脉冲如果宽于负向的标准脉冲,得到的就是正的差值脉冲。如果输入脉冲比标准脉冲窄,相加后得到的肯定是负的脉冲。此差值脉冲放大后就是驱动舵机正反转动的动力信号。舵机电机的转动,通过齿轮组减速后,同时驱动转盘和标准脉冲宽度调节电位器转动。直到标准脉冲与输入脉冲宽度完全相同时,差值脉冲消失时才会停止转动,这就是舵机的工作原理。
这些就是和核心器件的结构,至于数码管的显示我想大家应该都会的!
下面我画出它的程序流程图
程序部分我给大家一点参考文件吧