基于单片机的液位测量系统
扫描二维码
随时随地手机看文章
工作频率:压电晶片的共振频率,波长越长,频率越小,检测距离越大但是精度会降低。
灵敏度:输出功率越高,灵敏度高。
波束角:以传感器中轴线延长线为轴,能量强度减少一半(-3dB)处,这个角度被称为波束角。可以理解为超声波的指向性。该数值越大,容易测到周围物体
盲区:超声波无法检测到的距离值
传感器分类:
超声波传感器的种类有很多,根据不同分类方法有以下几类:以使用方法可分为收发一体型、收发分体型(收发各一只);以据结构可分为开放型、防水型、高频型等;以使用环境可分为空气中和水声、固体换能器;
测量原理:
声音在空气中的速度已知,并随温度变化而变化,温度与声速的关系:V=331.3+0.607°C, 超声波传播时间由模块获得,距离就可知。高度h可由h=H-S求得
因为之前做过超声波测量的课程设计,用的是分立元件搭起来的电路,可分为3各部分:第一个为超声波发射电路,用555电路产生的40KHz的方波并上RC非门产生4Hz的方波,产生的波形如下(即模块的多少秒脉冲信号)第二部分为接收电路,将收到的信号进行放大、比较在经触发(器)电路得到返回时间波形。第三部分是功率驱动电路。详细的波形如下图2
当时对模电内容真的不是很了解,对原件的选型都不清楚的,所以大家都会用同一种电路,减少工作量嘛,当时放大器选的op37,op07应该能用,这个要两级放大。这个调试的过程就不详细说了,有点曲折,也是因为不太理解模拟的东西。测出来的有1m多吧,但是要求只看你的波形,不要求精度,所以就完成了。当然自己设计的模拟类的东西是效果肯定是没有人家研究出来模块的好,这是肯定的可能当时也就为了完成这个任务而已。也因为之前做过,比较熟悉,所以才选这个课题,,当然上面的不是毕设的作品,只是简单的课程设计,介绍只是为了让大家先了解了解电路,直接用模块就不是涉及这些了。
回归到正题
超声波模块用的是KS103这款,测量范围大,可选择多种量程测量和多种测量指令可返回时间和距离,模块内含有温度传感器,可进行温度补偿,补偿后精度最高可达到毫米级,系统稳定。使用也比较方便,该模块由两种接口IIC、TTL串口,可通过硬件连接选择。
最简单的是串口模式,串口发送16进制的指令,串口中断要判断高电位且接受完数据后要清除接收寄存器,不然容易造成接收错误,这个就是核心,简单但是容易出错。当然建议先用USB—TTL连接器电脑,用串口助手先调试,弄清楚数据类型,指令发送,最后应用在单片机上。STM32串口发送还是有个小问题,这是我后来才发现的,但不影响该作品的功能,在下个帖子我会涉及到。
显示屏用的是0.91寸OLED屏,屏幕小,IIC接口,就4pin线。
wifi传输数据用的是ESP8266这个模块,把它配置成路由器模式与单片机连接,将数据通过WIFI发送至移动终端。也是先连接到电脑。用串口助手进行AT指令调试。
单片机我用的是stm32F103ZET6,其实用小的芯片就够了比如说48pin的RCT6之类的,双串口就行了。但串口也可以,超声波模块就要改用IIC。
硬件部分就是这样,在作品中软件加入了按键选择测量模式的功能,可选择发送不同的测试指令。
成品:
毕设做的不是做的太好,也很丑,总体的测距功能是能实现的精度也够,这个不一定用来测液面的,正常测距就可以,液面低的时候会测不准。备注下:不同物体对超声波的反射吸收不一样,会有一定的误差。