你能把规格表贴在那个麦克风上吗?没有理由你需要使用驻极体麦克风获得 5000 的增益,除非你有一个没有内部 FET 的裸机。如果是这种情况,前置放大器需要看起来大不相同。
此外,您使用的电路不太适合用作驻极体麦克风的前置放大器。
我建议:
R5/R4 设置增益并且可以在不拧紧电路输入阻抗的情况下进行调整。R3 可以从 2k -> 10k ish。10k 往往会改善失真性能,如果将其调整得太低,则应重新考虑 R1 和 R2 的值以固定输入阻抗。
电源充分去耦也非常重要,因为任何噪音都会进入麦克风。
正如其他答案提到的那样,当您读取 ADC 时,您的“零”点将是 ~512,并且无论您做什么都会有一点波动。
如果您的目标是闪烁灯光以响应级别,那么无论如何您都不应该使用 arduino 进行瞬时读数,因为我怀疑您是否能够足够快地采样以使其响应良好。而是在模拟域中进行峰值或平均电平检测,并根据您的采样率按比例设置平均周期。
编辑:有关使用峰值检测器执行此操作的更多信息
您在这里遇到的问题是 arduino 的采样率相对有限,我认为您的最大值约为 10khz,这意味着您最多只能解析 5khz 的音频信号。也就是说,除了运行 ADC 之外,arduino 几乎没有做任何事情,如果你需要做任何实际工作(并且你做一些工作来获得电平),那么采样率会更低。
请记住,您对原始信号进行离散采样,仅仅因为您将全范围正弦波馈入 ADC 并不意味着您不会从 ADC 获得读数为 0,您将在波形的各个点获得样本. 对于真实的音乐,产生的信号将非常复杂,并且您将在所有地方都有样本。
现在,如果您要测量的只是输入信号的电平,而不关心实际获得信号的数字表示,那么您可以在这个前置放大器之后使用一个简单的峰值检测器来做到这一点。
这是做什么的,它将您的音频信号转换为代表其峰值电平的电压。当您使用 ADC 测量此电压时,您将获得一个立即值,该值表示读取读数时的信号电平。由于声音是一个复杂的、总是变化的波形,你仍然会有一点摇晃,但这应该很容易在软件中处理。
没有保持的峰值检测器实际上只是一个在输出端带有滤波器的整流器。在这种情况下,我们需要处理低电平信号并保持准确性,因此我们需要做的比一般整流器电路要做的多一点。这一系列电路被称为“精密整流器”。
有大约十亿种不同的方法可以做到这一点,但我会选择这个电路,它似乎在使用单电源时效果最好。这将在已经讨论过的前置放大器电路之后进行,并且输入可以是交流耦合或不耦合,尽管它由单电源运行,只要您不超过可用峰值,它实际上可以在负输入电压下正常工作 -来自运算放大器的峰值电压。
OP1 充当(几乎)理想的二极管,它解决了整流时二极管两端电压降的常见问题。几乎任何小信号二极管都适用于 D1,具有较低正向电压降的东西会提高精度,但我怀疑它对您的使用是否重要。
C1 和 R4 充当低通滤波器以平滑输出,您可以使用它们的值来匹配性能与您尝试执行的操作(以及您的采样率)。
您可能可以使用与前置放大器中使用的相同的运算放大器模型,但轨到轨和高转换速率是该电路的理想选择。如果您有稳定性问题,请将 R1、R2 和 R3 增加到 100k 欧姆。