你好!欢迎来到深圳市品慧电子有限公司!
语言
当前位置:首页 >> 技术中心 >> 传感技术 >> 详解:常用数字/模拟量输出传感器的原理与应用

详解:常用数字/模拟量输出传感器的原理与应用


哈喽,大家好,本期小飞哥带来的是常用的数字量输出传感器的原理与使用说明,希望能对小伙伴们有所帮助!


实现目标:了解常用传感器的原理实现,达到举一反三的效果,学会如何操作。


硬件准备:

1、声音传感器(或者其他同类传感器)

2、LED灯

3、单片机(STM32F103C8T6或其他)


软件:keil5


















下面,先来介绍几款我们在DIY小玩意的时候经常用到的几款传感器:


一、常用传感器认识


1、声音传感器


声音传感器,在某宝很容易找到,一般有4线制,三线制,主要区别是4线兼容3线的,4线的多一个模拟量输出,让我们开发的空间更大,比如对声音粗略的分等级,不同分贝的声音控制不同的设备,当然这种模块精度不高。


输出方式如下:

1)数字量输出:通过板载电位器设定声音检测阈值,当检测到声音超过阈值时,通过数字引脚DO输出低电平

2)模拟量输出:声音越大,AO引脚输出的电压值越高,通过ADC采集的模拟值越高。


▲4线制声控传感器模块


▲3线制声控传感器模块


2、光敏传感器


接收端是光敏电阻,光照不同会呈现不同的电阻值,这种传感器同样也是有3线制,4线制,与上面声控传感器原理相同。


输出方式如下:

1)数字量输出:通过板载电位器设定光照检测阈值,当检测到光照强度超过阈值时,通过数字引脚DO输出低电平。

2)模拟量输出:光照强度越大,AO引脚输出的电压值越高,通过ADC采集的模拟值越高。



▲4线制光敏传感器模块


▲3线制光敏传感器模块


3、烟雾传感器


接收端是MQ-2烟雾传感器,MQ-2传感器对可燃气、烟雾等气体灵敏度高,这种传感器同样也是有3线制,4线制,与上面传感器原理相同,这个模块某宝大多是4线制,可能3线的不怎么好卖吧,哈哈~


输出方式如下:

1)数字量输出:通过板载电位器设定烟雾检测阈值,当检测到烟雾浓度超过阈值时,通过数字引脚DO输出低电平。

2)模拟量输出:烟雾浓度越大,AO引脚输出的电压值越高,通过ADC采集的模拟值越高。


▲4线制烟雾传感器模块


诸如此类的传感器还有很多,像雨水传感器、震动传感器等等,下面图片中的许多都是一样的原理,大家学会一种,就可以举一反三啦。


二、原理图说明


接下来,小飞哥以声音传感器为例,对此类传感器的通用底板做点简单介绍,下图是找的某款模块手册,做的也是非常用心了,板子上有LM393进行数字量输出,LM386对声音信号放大后作为模拟量输出,接着来分析下此模块的原理图。




可以看到,声音信号进来之后,是比较微弱的,经过R1可调电阻控制声音的幅值,经过LM386对声音信号进行放大,放大倍数有两种方式,一种是pin 1及pin 8间加一个10μF的电容即可使增益变成200,也就是此模块采用的方式;另外一种是在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为200以内的任意值。


然后放大后的声音信号,一路是经过c6电容去直流之后,直接输出至模块AOUT引脚,此信号可以结合我们的单片机ADC进行采集,然后可以对声音信号做傅里叶变化,显示屏显示,就可以得到音乐频谱了;另一路是输入至LM393电压比较器,通过调节R3可调电阻,作为正相输入电压,当反相输入电压大于正相电压时,LM393输出高电平;反之,输出低电平,实现不同阈值下的电压比较功能,也就是检测声音的大小。



什么是电压比较器?简单地说,电压比较器是对两个模拟电压比较其大小(也有两个数字电压比较的,这里不介绍),并判断出其中哪一个电压高,如图1所示。图1(a)是比较器,它有两个输入端:同相输入端(“+” 端) 及反相输入端(“-”端),有一个输出端Vout(输出电平信号)。


另外,有电源V+及地(这是个单电源比较器),同相端输入电压VA,反相端输入VB。VA和VB的变化如图1(b)所示。在时间0~t1时,VA>VB;在t1~t2时,VB>VA;在t2~t3时,VA>VB。在这种情况下,Vout的输出如图1(c)所示:VA>VB时,Vout输出高电平(饱和输出);VB>VA时,Vout输出低电平。根据输出电平的高低便可知道哪个电压大。


如果把VA输入到反相端,VB输入到同相端,VA及VB的电压变化仍然如图1(b)所示,则Vout输出如图1(d)所示。与图1(c)比较,其输出电平倒了一下。输出电平变化与VA、VB的输入端有关。



其他一些模块大多是没有前级放大芯片,模拟量是直接输出的,可能是由于输出的信号比较强吧,柱极咪头输出的声音电信号是非常微弱的,若果没有前置放大的话,单片机AD不好采集得到,所以前置放大器还是必须的。简单的应用场景,平时用的更多的是数字量输出,直接接到单片机IO,检测高低电平,然后控制后端继电器或者其他设备。


三、声音传感器模块测试


代码比较简单,主要用到外部中断引脚,或者普通IO轮训方式也可以,就不多说了,主要介绍下,实验用到的最小系统部分,主芯片用的是STM32F103C8T6,这也是小飞哥以前无聊画的板子,把以上介绍的多种传感器原理在最小系统板子上实现了,板子开源大家可以进群获取资料,主要包括以下功能:


1)?NRF24L01

2)?EEPROM

3)?4个独立按键

4)?LED灯

5)?LED灯驱动电路

6)?电压比较器电路

7) 串口一键下载


也是非常的简洁了。。。做一个声控灯又太浪费,哈哈,可以测试NRF24L01,小飞哥已经调通,有做板子的童鞋,代码可以找我要哈。

最后,让我们看一下实现效果吧!

????????????

? ? ? ? ?


作者:embeded小飞哥
来源:小飞哥玩嵌入式

版权归原作者所有,如有侵权,请联系删除。

用户评论

发评论送积分,参与就有奖励!

发表评论

评论内容:发表评论不能请不要超过250字;发表评论请自觉遵守互联网相关政策法规。

深圳市品慧电子有限公司