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