如何从驻极体麦克风(或其他组件)获得 +5v 的大声噪音,0v 的静音?

电器工程 Arduino 放大器 微处理器 麦克风 npn
2022-01-12 06:19:47

我一直在这里问几个问题来找到一个合适的问题,我问的最初的问题在最后是相关的。我使用 Fritzing 来制作我最初想法的一些示意图,但至少我需要关于组件值的帮助,我只是模糊地理解并选择了似乎合理或常见的值。

基本上,我有一个有 6 个模拟输入的 Arduino。它使用 10 位 ADC 读取任何模拟引脚上的电压,因此 0 = 0v、511 = 2.5v 和 1023 = 5v,以及介于两者之间的所有值。它会读取 LINEAR DC,所以我不是在这里寻找逻辑 1-0。

我把它挂在 LED 灯上,我想让它们对音乐做出反应。我想要的是最小组件的最大分辨率,我认为我使用了太多组件并且使这种方式过于复杂。也许驻极体麦克风不是我想要的,我对其他东西持开放态度。我宁愿不使用运算放大器来节省 PCB 上的空间。

我想要的是一个简单的噪音水平传感器。我不希望重现音频,或者具有清晰度或任何内容,但我希望尽可能接近:

  • 完美静音 = 尽可能接近 0v DC(稳定,非 AC)
  • 中等噪音 = 大约 2.5v DC(稳定,不是 AC)
  • 响亮的噪音 = 尽可能接近 5v DC(稳定,不是 AC)

我了解 BJT 可以得到的最好的电压是 0.6v 到 4.4v,但这是可以接受的。然而,没有的是半波,0.6v 到 2.5v。这似乎无缘无故浪费了我可用分辨率的一半。但是,如果除了 BJT 之外还有其他设置可以让我更接近 0v-5v,我有兴趣尝试一下;只要它们简单。

这是一个更简单的,我希望这是可能的,但它需要驻极体信号有足够的幅度来驱动包络检波器电路(二极管、电阻器和电容器)只得到正半部分。我不认为它可以因为二极管的正向压降,但也许这可以在输出电容之前重新排列或完成?包络检波器和放大器电阻的值应该是多少?灵敏度电位器应该放在信号上还是RE还是RL上,它的值应该是多少?线性还是对数?

简单的

然而,驻极体输出可能无法承受包络检波器、灵敏度分流器和仍然驱动 NPN 晶体管。如果没有,这里有一个更复杂的版本。我需要走这条路吗?从电路中获得我想要的输出真的需要所有这些组件吗?

复杂的

以下是我在更充分地理解我想要表达的内容之前提出的一些过去的问题,以获取更多详细信息。这是包络检测器“应该”做的事情,我不确定如何调整它以适应驻极体输出:

包络检测器 电路原理图

3个回答

虽然你可以只用一个放大器和一个微控制器 (Arduino) 来完成这一切,但据我所知,你需要模拟选项。我试图创建一个在麦克风上输出语音电平的电路。范围从 0V 到 4V。但是,您只需更换 OP-AMP,即可轻松将其从 0V 升级到 5V。现在,让我们开始吧;

首先,我用运算放大器代替了晶体管放大器。这是我想出的;

在此处输入图像描述

这是一个简单的反相放大器,增益为 100。这是计算增益的公式;

$$ V_{out}=-\dfrac{R_f}{R_{in}}*V_{in} = -\dfrac{100k}{R_{in}}*V_{in} = -100*Vin $$

如您所见,U1 将输入信号取反,然后将其乘以 100。您可以更改 R2 或 R3,您会看到 U1 的增益发生了变化。输入信号的反转在这里无关紧要,稍后您将了解。让我们看看这个放大器的输出,你会看到输入信号有很大的增长。

在此处输入图像描述

在上图中,您将看到输出的直流偏移电压为 2.5 伏。那是因为我们使用了虚拟地面。如果我们创建一个虚拟接地,这意味着我们将接地带到另一个电压电平。在本例中,我们将其移至 2.5 V。使用新配置,我们为电路创建了类似于-2.5 V、0 V 和 2.5 V 的电压。为了实现这一点,我必须创建一个 2.5 伏的新电压轨。由于该电压轨不会提供太多功率(小于 1 mA),因此很容易创建;

在此处输入图像描述

注意上述电路的负反馈。这将给 OP-AMP 发出 \$V+=V-\$ 的命令。OP-AMP 将尽最大努力实现这个等式。因此,输出将为 2.5 V,即电源电压的一半。这就是我们的新起点。

放大后,我们应该把信号放到“包络检测器”,或者换句话说,“包络跟随器”。这将获得信号的电平,如您所愿以及您在问题图片中显示的那样。这是一个基本的信封追随者的样子:

在此处输入图像描述

看起来一切都很好,但是请注意,这里的 D3 是一个二极管,它自身会下降约 0.6 V。所以,你失去了电压。为了克服这个问题,我们将使用所谓的“超级二极管”。太棒了,因为电压降几乎是0V!为了实现这一点,我们包括一个带二极管的运算放大器,仅此而已!运算放大器将补偿二极管的压降,您将拥有一个几乎理想的二极管;

在此处输入图像描述

由于这个配置有负反馈,U5会尽量让\$V+=V-\$。因此,每当输入为 3V 时,它都会使其输出为 3.6V,以补偿 D3 上的 0.6V 压降。所以,这个超级二极管的输出,因此 \$V-\$ 输入将等于它的输入电压 \$V-\$。但是,当 \$V+\$ 输入为负时,D3 将不允许 U5 使输出为负。另请注意,U5 的负轨是 GND,即 0 V。无论如何它都不能低于 0 V。它就像一个理想的二极管一样工作!

现在,将上述包络跟随器电路中的 D3 更改为超级二极管,您就有了更好的包络跟随器!让我们看看我们的结果;

在此处输入图像描述

我们越来越近了。如您所见,包络跟随器的输出,即红线,可以从 2.5 V 变为 4 V。2.5 V 为无声,4 V 为响亮,3.25 V 为中声。要将其缩放到您想要的,我们可以减去 2.5 V 偏移电压并对其进行缩放。因此,当您减去 2.5 V 时,它变为;0 V代表无声,1.5 V代表响亮,0.75 V代表中等声音等等。在那之后,如果你把它乘以大约 3,你会得到你想要的。0 V 表示无声音,2.5 V 表示中等声音,5 V 表示响亮的声音。回顾一下,我们想要的是这个;

\$V_{out}=(V_{in} - 2.5V) * 3 \$

为了实现这一点,我们将使用一个差分放大器,或者换句话说,一个“减法器”。

在此处输入图像描述

当电阻器 R1 = R2 和 R3 = R4 时,差分放大器的传递函数可以简化为以下表达式:

$$V_{输出}=\dfrac{R_3}{R_1}*(V2-V1)$$

如果您使 V1= 2.5V 和 R3/R1 比率为 3,那么您将获得您想要的输出。

这是完整的原理图,可以满足您的要求:

在此处输入图像描述

我在这里使用 LM324 OP-AMP 进行仿真。这会将最大输出电压限制为 4V。为了获得全范围输出,您应该使用轨到轨输出运算放大器。我建议MCP6004更改 R1 和 R2,直到获得所需的结果。这是我通过模拟得到的:

在此处输入图像描述

现在,在 ADC 中测量这些值时,您不会得到线性感觉,而是更好地理解对数的声音,因为我们的耳朵是这样听到的。所以,你应该使用分贝如果您不熟悉分贝,这里有一个很棒的视频教程。

例如,一个安静的房间被测量为大约 40 dB。房间里的派对将使房间的音量上升到 100 dB,或者可能是 110 dB。这个网站上,你可以找到关于它的重要信息,我也嵌入了下面的图片。考虑分贝水平并试验电路的电压输出。然后,计算您需要的 ADC 分辨率。很可能,您可以使用 12 位 ADC。

在此处输入图像描述

你似乎走在正确的轨道上。这种事情确实需要很多分立元件。你可能不相信我,但使用运算放大器可能会使这一切变得更简单、更小。我相信您可以找到更具体的 IC,它们可以在更小的封装中满足您的更多需求。我敢打赌,那里有一个 IC 可以完全满足您的需求。然而,如果你没有他们继续学习,你会学到更多,即使只是为了学术价值。

您还可以通过将逻辑移动到微处理器中来简化其中的一些操作。包络检测在软件中很容易,根据您需要的准确度和麦克风的灵敏度,您甚至可以在麦克风之后省略放大器,并将其输出直接输入 ADC。这不会让你得到 0V-5V,但这有关系吗?您可以将其乘以软件中的常数。您失去的是拥有全范围 ADC 可用的准确性,但这可能不如简单性重要。你决定。

首先,你不需要 arduino,除非你需要做更多的处理——你真正想要的只是一个放大器(一个运算放大器会做,谷歌上到处都是基本电路的负载)来提高范围内的麦克风输出0-5v。如果您不太担心准确性(因为这是为了乐趣而不是科学测量),您可以使用相当基本的削波电路,将输出连接到施密特触发器,或使用 LM3914 生成显示。

通过制作一个 AGC 电路来自动提高和降低平均水平的增益,可以稍微提高一些技巧。

无论如何,通过抛弃 arduino 并按照自然的意图进行模拟,您将获得重大的积极业力;)

编辑:很有可能网上也有大量的“麦克风前置放大器”电路,这些天可能需要一个 0.10 美元的 SOT23 芯片来为你做这件事……