极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16855|回复: 6

关于arduino DAC采样误差

[复制链接]
发表于 2016-8-9 20:35:52 | 显示全部楼层 |阅读模式
各位,我今天在使用arduino PWM脚输出AD值时,发现理论的和实际存在近0.03V误差,不只是什么原因造成?
程序中设定D9开始输出160,对应实际采样电压5*160/255=3.137V,实际万用表测试为3.163V
当到255时,理论5v,实际测得5.04V,因为我这边想通过DA输出控制另一块开发板上的传感器温度,让另一块开发板报过温故障,实际测试电压与理论电压一直存在误差,理论AD精度是0.0196,
不知道大家之前测试误差多少?这个误差是什么引起的?如何消除?附测试程序,
  1. int OST = 9;
  2. int brightness = 160;    //定义整数型变量brightness与其初始值,此变量用来表示LED的亮度。
  3. int fadeAmount = 5;    //定义整数型变量fadeAmount,此变量用来做亮度变化的增减量。
  4. void setup()  {
  5. pinMode(OST, OUTPUT);// 设置9号口为输出端口:
  6. pinMode(13, OUTPUT);
  7. }        
  8. void loop()  
  9. {           
  10.   analogWrite(9, brightness);//把brightness的值写入9号端
  11.   brightness = brightness + fadeAmount;//改变brightness值,使亮度在下一次循环发生改变            
  12.   
  13.   delay(60000); //1min
  14.   
  15.   if (brightness == 160 || brightness == 255)
  16. {
  17.     {
  18.   fadeAmount = -fadeAmount ; //在亮度最高与最低时进行翻转
  19.   digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  20.   delay(1000);              // wait for a second
  21.   digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  22.   delay(1000);
  23.     }  
  24.   }
  25. }
复制代码
回复

使用道具 举报

发表于 2016-8-9 21:51:39 | 显示全部楼层
之前测试过AD转换有一个精度范围的,一般AD转换比如±5%,在一个就是参考电压的区别,如果用USB供电测量会比直接电源供电偏小,在一个就是你使用的是正版的还是淘宝上买的,元器件不一样,结果也是不一样的。淘宝上的电压波纹比较大,之前在论坛上看到坛友有评测
回复 支持 反对

使用道具 举报

发表于 2016-8-10 17:10:07 | 显示全部楼层
电源电压偏高了吧,测一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-11 12:50:14 | 显示全部楼层
anduony 发表于 2016-8-9 21:51
之前测试过AD转换有一个精度范围的,一般AD转换比如±5%,在一个就是参考电压的区别,如果用USB供电测量会比 ...

我的是seeed的uno开发板,USB供电
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-11 12:51:11 | 显示全部楼层
林定祥 发表于 2016-8-10 17:10
电源电压偏高了吧,测一下。

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

使用道具 举报

发表于 2016-8-11 13:07:53 | 显示全部楼层
suoma 发表于 2016-8-11 12:51
USB供电,因为我是每分钟DA口输出AD值,然后测试,发现都比计算的偏大

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

使用道具 举报

 楼主| 发表于 2016-8-12 07:36:56 | 显示全部楼层
林定祥 发表于 2016-8-11 13:07
如果供电压高了D/A后相对也较高。标称5V电压,如果是5.04V也只有1%的偏差,如果真的需要如此精确的D/A值, ...

电脑的USB口供电标准5V输出,但是arduino测出来却是5.04V,不是很理解
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 16:33 , Processed in 0.038593 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表