suoma 发表于 2016-8-9 20:35:52

关于arduino DAC采样误差

各位,我今天在使用arduino PWM脚输出AD值时,发现理论的和实际存在近0.03V误差,不只是什么原因造成?
程序中设定D9开始输出160,对应实际采样电压5*160/255=3.137V,实际万用表测试为3.163V
当到255时,理论5v,实际测得5.04V,因为我这边想通过DA输出控制另一块开发板上的传感器温度,让另一块开发板报过温故障,实际测试电压与理论电压一直存在误差,理论AD精度是0.0196,
不知道大家之前测试误差多少?这个误差是什么引起的?如何消除?附测试程序,int OST = 9;
int brightness = 160;    //定义整数型变量brightness与其初始值,此变量用来表示LED的亮度。
int fadeAmount = 5;    //定义整数型变量fadeAmount,此变量用来做亮度变化的增减量。
void setup(){
pinMode(OST, OUTPUT);// 设置9号口为输出端口:
pinMode(13, OUTPUT);
}        
void loop()
{           
analogWrite(9, brightness);//把brightness的值写入9号端
brightness = brightness + fadeAmount;//改变brightness值,使亮度在下一次循环发生改变          

delay(60000); //1min

if (brightness == 160 || brightness == 255)
{
    {
fadeAmount = -fadeAmount ; //在亮度最高与最低时进行翻转
digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
delay(1000);            // wait for a second
digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
delay(1000);
    }
}
}

anduony 发表于 2016-8-9 21:51:39

之前测试过AD转换有一个精度范围的,一般AD转换比如±5%,在一个就是参考电压的区别,如果用USB供电测量会比直接电源供电偏小,在一个就是你使用的是正版的还是淘宝上买的,元器件不一样,结果也是不一样的。淘宝上的电压波纹比较大,之前在论坛上看到坛友有评测

林定祥 发表于 2016-8-10 17:10:07

电源电压偏高了吧,测一下。

suoma 发表于 2016-8-11 12:50:14

anduony 发表于 2016-8-9 21:51 static/image/common/back.gif
之前测试过AD转换有一个精度范围的,一般AD转换比如±5%,在一个就是参考电压的区别,如果用USB供电测量会比 ...

我的是seeed的uno开发板,USB供电

suoma 发表于 2016-8-11 12:51:11

林定祥 发表于 2016-8-10 17:10 static/image/common/back.gif
电源电压偏高了吧,测一下。

USB供电,因为我是每分钟DA口输出AD值,然后测试,发现都比计算的偏大

林定祥 发表于 2016-8-11 13:07:53

suoma 发表于 2016-8-11 12:51 static/image/common/back.gif
USB供电,因为我是每分钟DA口输出AD值,然后测试,发现都比计算的偏大

如果供电压高了D/A后相对也较高。标称5V电压,如果是5.04V也只有1%的偏差,如果真的需要如此精确的D/A值,那就需要高精度的稳压源和很好的滤波电路。

suoma 发表于 2016-8-12 07:36:56

林定祥 发表于 2016-8-11 13:07 static/image/common/back.gif
如果供电压高了D/A后相对也较高。标称5V电压,如果是5.04V也只有1%的偏差,如果真的需要如此精确的D/A值, ...

电脑的USB口供电标准5V输出,但是arduino测出来却是5.04V,不是很理解
页: [1]
查看完整版本: 关于arduino DAC采样误差