您当前的位置:五五电子网电子知识单片机-工控设备MSP430单片机MSP430超声波测距 正文
MSP430超声波测距

MSP430超声波测距

点击数:7426 次   录入时间:03-04 11:57:49   整理:http://www.55dianzi.com   MSP430单片机
  本应用报告描述了一种采用MSP430F413 超低功耗微控制器的基于超声波的距离测量系统。系统向测量目标发射超声波脉冲然后接收相应的反射波。MSP430 集成的模拟比较器A 用于检测到达系统的回声。超声波脉冲从系统到目标然后反射回系统所需的时间可以由MSP430精确的测量。假设声波室温下在空气中的速度为1100 英尺/秒,MSP430 计算系统与目标间的距离并采用内部集成的LCD 驱动器将其显示在一两位的静态液晶显示器上。距离以英寸为单位显示,精度为1 英寸本系统能够测量的最小距离是8 英寸,因为受到发射器传感器稳定时间;能够测量的最大距离为99英寸,回声的强度取决于反射物的材质形状、和尺寸。地毯之类的吸音材料或者反射面积小于两平方英尺的物体反射能力很弱,这类目标最大测量范围相对较小。如果系统接收到的回声的强度很小以至于比较器A 无法检测到就超出了系统的测量范围。这时系统将显示错误信息“E”。
                                DIY样品图如下:
                    

以下将按几个部分来讲述此次超声波距离测量步骤:
  1-工作原理
  2-电路描述
  3-软件
   UltrasonIC.s43
   设备初始化子
   程序主循环程序
   计算子程序
   BT_ISR 子程序
   显示子程序
   延时子程序

工作原理
   本应用基于声波的反射。声波在其传播的介质中被定义为纵波。当声波受到尺寸大于其波长的目标物阻挡时就会发生反射;反射波称为回声。如果声波在介质中传播的速度是已知的,而且测量到声波从声源到达目标然后返回声源的时间,从声源到目标的距离就可以精确地计算出来。这就是本应用的测量原理。这里声波传播的介质就是空气,采用不可见的超声波。
   假设室温下声波在空气中的传播速度是1100 英尺/秒,测量到的声波从声源到达目标然后返回声源的时间是t,秒距离d可以由下列公式计算:
                                   d=1100 12 t (英寸)
    因为声波经过的距离是声源与目标之间距离的两倍,声源与目标之间的实际距离应该为d/2。

电路描述
   本应用中中用来发射和接收超声波的装置是40KHz 的陶瓷超声波传感器。MSP430 采用晶体振荡器产生的一个40KHz 方波信号的12 周期脉冲序列驱动发射传感器,接收传感器则接收回声。MSP430 的定时器A被定义为40KHz 晶振频率计数器,因此时间测量精度为25 微秒,这对本应用来说足够用了。测量的时间基准是非常稳定的因为它由石英晶体振荡器产生。接收传感器收到的回声由运算放大器放大后送到比较器A 的输入端。比较器A 检测到其输入端的回声信号后触发定时器A 计数值的捕捉来捕获比较寄存器CCR1 的值。捕捉在回声到达系统的瞬间进行。捕获的计数值就是超声波脉冲序列从系统出发到达目标然后返回系统的时间。从系统到目标的距离(用英寸表示)就可由MSP430 用测得的时间算出并显示在两位静态液晶显示器上。显示更新后MSP430 马上转入LPM3 睡眠模式来降低功耗。基本定时器1 被编程用来每205 毫秒中断MSP430 一次。基本定时器1的中断信号唤醒MSP430 并重复测量周期更新显示。
    图1 显示的是本应用的电路原理图。其中MSP430F413 U1 是系统的核心部分。参考文献[1]是这个芯片的技术资料。LCD1 是一由MSP430F413内部集成的LCD 驱动器驱动的两位低压静态液晶显示器。R03 连接到Vss R13 和R23, 悬空将LCD 外围电路设置为静态LCD 驱动模式。这里方便的选用了一个40KHz 的低频晶振,与本应用中采用的超声波传感器的谐振频率相匹配。R12 作为复位线的上拉电阻,内部集成的掉电保护电路可以预防掉电情况。C9 位于靠近芯片电源线的位置,提供MSP430 的电源耦合。14 脚的接插件(J1) 提供JTAG 接口与MSP430 相连,可使用MSP430FLASH 仿真工具进行在线调试和编程LED1 用来指示测量周期。端口引脚P1.5 被定义为输出超声波发射器所需要的40KHz 方波ACLK信号。
   传感器的输出驱动电路直接由9V 电池供电并提供18Vpp 驱动超声波发射器。18Vpp 是通过一个二进制非门CD4049(U4)桥电路实现的。参考文献[6]是它的技术资料。其中一个非门用来为驱动器的一侧提供180 度的相移信号。另一侧由相内信号驱动。这种结构使输出端的电压提高了一倍,为发射传感器提供了18Vpp 电压。两个门并联连接以便每一侧能够为传感器提供足够的驱动电流。电容C6 C7 阻断了到传感器的直流通路。因为CD4049 工作于9V 而MSP430 工作于Vcc 3.6V。 MSP430 和输出驱动器之间的逻辑电平是不匹配的,双极性晶体管Q1 就作为这两种逻辑电平之间的转换器。
   运算放大器U3 是TI 公司的高速运算放大器TLV2771 。参考文献[5]是它的技术资料。这个放大器具有高增益带宽并在40KHz 时提供充分的高增益。运算放大器连接成反相放大器构造。R7、R5 设置增益为55、C5 提供高频滚降。R3、R4 偏置非反相输入端,为运算放大器的单输入工作提供一个虚拟中间值。放大后的超声波信号在这个虚拟中间值。上下波动传感器RX1 的高Q 值提供选择性并丢弃除了40KHz 之外的频率。运算放大器的输出端连接到比较器A 的输入端CA0 (即端口引脚P1.6)。 比较器A 的参考电平内部选择为0.5Vcc 。当接收到回声时电压高于参考电平从而触发比较器A 的输出CAOUT 。调整R3 可以得到需要的灵敏度并优化测量范围。
   MSP430 和超声波信号放大器电路由9V 电池经TI 公司的LDO 芯片TPS77001 调制后的3.6V 电压供电。参考文献[4]是它的技术资料。电阻R1和R2 调整稳压器输出电压为3.6V。 C1和C2 是推荐使用的稳压器的正常工作的供电电容。发射器的驱动电路是由9V 电池直接供电的。开关S1 是本应用的电源开关。
   图2 显示的是12 周期的40KHz 脉冲序列的波形轨迹图。我们注意到19.2V 的峰峰电压波动。方波顶部的正弦响铃波是由于传感器内部的谐振。
   图3 显示的是一个完整测量周期的波形轨迹。轨迹1显示的是发射传感器输出端的12周期的40KHz脉冲序列。轨迹2 显示的是接收传感器输出经运算放大器放大后在引脚1上的输出。轨迹上的第一个脉冲序列信号,代表直接从发射器上收到的信号被MSP430忽略。接下去的脉冲序列代表目标反射的回声,被MSP430 用于测量。轨迹3 显示的是MSP430 测得的时间间隔的宽度。这个宽度代表该脉冲序列从系统到达目标再返回所花的时间,显然它取决于所测量的距离。

                           图1

     
                           图2

     
                           图3
软件Ultrasonic.s43
   设备初始化子程序
   这个子程序初始化及设置外围电路。首先关闭看门狗电路,采用一个软件延时让低频晶振稳定,将FLL+倍频器设置为64 来产生2.56MHz 的MCLK频率。P1.0 设置为输出控制LED。未使用的端口引脚设置为输出,端口引脚P1.5 设置为输出带缓冲的40KHz ACLK。频率基本定时器1 启动并设置为提供一个150Hz LCD 频率并每205 毫秒中断CPU 开始一次测量周期比较器A 内部参考电平设置为0.5Vcc ,CAPD 位设置为关闭比较器输入引脚的输入缓冲。LCD 模块打开并在本应用中设置为静态模式驱动两位静态LCD 。LCD 存储器清零,LCD 的初始显示为00。基本定时器1 中断和全局中断打开,这样基本定时器1 就可以周期性中断CPU。

   主循环程序
   主循环用存储在DIGITS 缓冲区内的值更新液晶显示器然后MSP430置于LPM3 睡眠模式。MSP430 维持在睡眠模式直至基本定时器1 中断发生及BT_ISR 返回活动模式。这时就开始一个测量周期定时器A 设置为16 位增计数模式,选择ALCK 作为其时钟源。CCR1 设置为比较模式,初始值为12 以便在P1.5 引脚上输出12 个周期的40KHz 的脉冲序列接下去是一个36ACLK 周期的延时,保证输出传感器稳定这是通过设置CCR1为初始值36 的比较模式实现的,在CCR1 处于比较等待状态时,MSP430保持LPM0 状态。

[1] [2] [3] [4] [5] [6] [7]  下一页


本文关键字:超声波  MSP430单片机单片机-工控设备 - MSP430单片机