主题中讨论的其他部件:Energia
大家好,
只是想问一下如何使用analogRead()命令稳定ADC读数?
我尝试读取稳定的模拟电压源,并尝试使用analogReadResolution (x)的不同分辨率。
("x"表示8位,10位,12位和14位)。 我使用了方程式(ADC_Code)*(3.3 /y)。
("y"表示255 in 8位,1023 in 10位,4095 in 12位和1.6383万 in 14位)。但电压以毫伏差显示摆动。
我在A0输入之前集成了一个10kohm和0.33uf/50V的RC低通滤波器,两者均具有1 % 容差,以抑制一些噪音。
在我得到第二个有效小数点之前,让我们说1.003 是预期的,我将平均大约1000个以上的ADC读数,延迟间隔在5-10ms之间。
平均化的循环代码为:
浮点z = 0.00 ;
长样本= 0L;
浮动电压= 0.00 ;
对于(int i = 0;i < 1000;I++){
样本=样本+ analogRead (A0);
延迟(5);
}
Z =(浮点)样本/1000);
电压= z *(3.3 / y (分辨率分隔符);
serial.println (电压,6);
我正在测量0.52.3414万 伏直流电压,它随机跳至0.524xxx伏直流电或低于0.522xxx伏直流电压。
只要所有连接都稳定且不移动。
M.C.U.使用3.3 的是来自良好的LDO稳压器的清洁+LDO电压直流电压,该稳压器具有推荐的旁路电容器值。
我看到了CCS中的视频教程如何使用ADC,它可以通过更改ADC采样率来过滤读数跳转。
我想知道如何使用Energia中的核心库来使用它,以及从adc14.h库中逐步调用它需要执行哪些过程。
谢谢,祝您好!
Leo B. Pestañas ć