飞道的博客

常用数字、模拟量输出传感器原理介绍

261人阅读  评论(0)

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

实现目标:

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

硬件准备:

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

LED灯

单片机(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输出低电平。

1)模拟量输出:烟雾浓度越大,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) 串口一键下载

 本次的介绍就到这里啦,后面有更精彩的内容,欢迎大家持续关注嵌入式实验基地!

  如果你觉得对自己有帮助的话,给个赞,点个关注,点个在看,感谢前进的道路上有你的陪伴!

推荐阅读

开源电路のSTM32最小系统设计

☞一种你值得拥有的简单易实现的开关电路

☞无线通讯之红外通讯

DIY一个离线语音控制器

HAL库us延时的3种实现方式

逻辑分析仪的简单使用介绍(附带iic,uart,spi数据波形分析)

☞ART-PI重力感应无线智能小车第一弹----ART-PI扩展板设计

ART-PI重力感应无线智能小车第二弹----Onenet+wifi+L298N电机驱动

☞ART-PI重力感应无线智能小车第三弹----RT-Studio+MPU6050+MQTT发布订阅

☞STM32 DAC音频输出

PCB设计基础

☞OLED+ESP8266网络小时钟

 


转载:https://blog.csdn.net/qq_16519885/article/details/115676265
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场