qq1115487732 发表于 2016-7-8 21:45:55

Arduino读取电压,,数据一直抖动,求助

求助,Arduino读取电压,数据一直抖动,跳变

这是代码

void setup() {

Serial.begin(9600);         //使用9600速率进行串口通讯
}

void loop() {
int val=analogRead(A0);
double n = val*(5/1023);
Serial.println(val);
delay(500);                           //等待60秒,控制刷新速度
}

qq1115487732 发表于 2016-7-8 21:48:49

我用万用表测电压挺稳定的,但是arduino却显示这样

164335413 发表于 2016-7-8 23:04:16

410,411。409,如果是10位AD的话,电压浮动很小了。。。。万用表刷新也很慢,抖动有时发现不了,这种误差可以忽略。

GDHack 发表于 2016-7-9 00:09:09

加个滤波算法就好了,或者用PID简单一点

林定祥 发表于 2016-7-9 09:16:17

409~412,换算到5V只有0.015V的漂移,这个漂移可能电源的纹波或干扰形成的,应该对测试数据要求不会这么高吧。0.3%的误差。

qq1115487732 发表于 2016-7-9 09:19:51

164335413 发表于 2016-7-8 23:04 static/image/common/back.gif
410,411。409,如果是10位AD的话,电压浮动很小了。。。。万用表刷新也很慢,抖动有时发现不了,这种误差可 ...

谢谢你,我是用传感器来测温度的,变动三个是不是电压变了3*0.0048=0.0114mv啊,温度传感器是-50-150度对应0-5V电压,这样一跳变的话温度就变了0.56度了

Paderboy 发表于 2016-7-9 09:32:28

用多次采样后取平均值,试试。。。。。。

qq1115487732 发表于 2016-7-9 10:34:54

林定祥 发表于 2016-7-9 09:16 static/image/common/back.gif
409~412,换算到5V只有0.015V的漂移,这个漂移可能电源的纹波或干扰形成的,应该对测试数据要求不会这么高吧 ...

我的传感器是0-5V对应-50-200度的,变了三个就是变了0.56度了

qq1115487732 发表于 2016-7-9 13:39:56

Paderboy 发表于 2016-7-9 09:32 static/image/common/back.gif
用多次采样后取平均值,试试。。。。。。

还是在跳动

林定祥 发表于 2016-7-9 14:30:37

本帖最后由 林定祥 于 2016-7-9 14:32 编辑

qq1115487732 发表于 2016-7-9 10:34 static/image/common/back.gif
我的传感器是0-5V对应-50-200度的,变了三个就是变了0.56度了

-50~200度这么大范围不能容受0.56度的漂移,要求太高了吧。你能确定传感器用的电源的精度也能达到要求吗?需要提一下你的设计要求,重新审视一下设计方案。

qq1115487732 发表于 2016-7-9 16:11:52

林定祥 发表于 2016-7-9 14:30 static/image/common/back.gif
-50~200度这么大范围不能容受0.56度的漂移,要求太高了吧。你能确定传感器用的电源的精度也能达到要求 ...

恩,是的,我没怎么考虑这方面,确实疏忽了,现在用了滤波程序,数据好多了

Jz.Geek 发表于 2016-7-13 18:01:07

使用内部1.1V电压
http://wiki.geek-workshop.com/doku.php?id=arduino:arduino_language_reference:analogreference
页: [1]
查看完整版本: Arduino读取电压,,数据一直抖动,求助