极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 69845|回复: 24

基于Arduino的电阻计

[复制链接]
发表于 2013-1-30 22:27:14 | 显示全部楼层 |阅读模式
本帖最后由 wasdpkj 于 2013-1-30 23:59 编辑

晚上闲着,写了一个测电阻的程序,


原理是通过基准电阻,对比测试端电压,比较后经过算法测出电阻,经测试,以20k为基准,测大于1k电阻时比较准确。



可以根据待测量的范围更换基准电阻以求准确

接线如下(电容用的104瓷片):



程序,用了均值滤波算法:

  1. #define N 12

  2. #define basis 20000.0

  3. int potpin = A4;
  4. float val, r;


  5. void setup()
  6. {
  7.     Serial.begin(9600);
  8. }

  9. void loop()
  10. {
  11.     val = analogRead(potpin);

  12.     r = ((basis * 1023.0) / (1023.0 - val)) - basis;

  13.     delay(100);

  14.     Serial.print(" R:  ");
  15.     if(filter() >= 1000)
  16.     {
  17.         if(filter() >= 500.0*1000.0)
  18.         {
  19.             Serial.println("Infinity!!");
  20.         }
  21.         else
  22.         {
  23.             Serial.print(filter() / 1000.0);
  24.             Serial.println("K ohm");
  25.         }
  26.     }

  27.     else
  28.     {
  29.         Serial.print(filter());
  30.         Serial.println(" ohm");
  31.     }
  32. }


  33. float filter()
  34. {
  35.     float sum = 0;
  36.     for(int count = 0; count < N; count++)
  37.     {
  38.         sum += r;
  39.         delay(5);
  40.     }
  41.     return (float)(sum / N);
  42. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1 +15 收起 理由
swim + 15 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2013-1-30 23:26:17 | 显示全部楼层
{:soso_e104:}欢迎制作更多日常工具!非常实用的一个小功能。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-31 00:12:17 | 显示全部楼层
Ansifa 发表于 2013-1-30 23:26
欢迎制作更多日常工具!非常实用的一个小功能。。。

多谢鼓励 首精了,感动一下
回复 支持 反对

使用道具 举报

发表于 2013-1-31 08:53:24 | 显示全部楼层
很想用arduino做一个rlc测量仪器。。一直懒。。。
回复 支持 反对

使用道具 举报

发表于 2013-1-31 22:48:04 | 显示全部楼层
可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用的超慢速24位ADC来提高精度
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-2-1 00:49:46 | 显示全部楼层
迷你强 发表于 2013-1-31 22:48
可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用 ...

弱弱的问一下,后半句的24位ADC是嘛?
回复 支持 反对

使用道具 举报

发表于 2013-2-1 13:19:24 | 显示全部楼层
不错,就是滤波的写法看的人难受
回复 支持 反对

使用道具 举报

发表于 2013-2-1 13:21:25 | 显示全部楼层
另外,搞一个多段的拨动开关,就能做测量多种电阻的的玩意了
回复 支持 反对

使用道具 举报

发表于 2013-4-18 13:52:10 | 显示全部楼层
不错,值得学习
回复 支持 反对

使用道具 举报

发表于 2013-4-26 15:32:01 | 显示全部楼层
我很想知道,你的这个电子版的电路图是用什么工具画的,谢谢~~
回复 支持 反对

使用道具 举报

发表于 2013-4-26 15:47:43 | 显示全部楼层
飞跃 发表于 2013-4-26 15:32
我很想知道,你的这个电子版的电路图是用什么工具画的,谢谢~~

就是用这个软件...

http://www.geek-workshop.com/thread-4349-1-1.html
回复 支持 反对

使用道具 举报

发表于 2013-11-10 21:36:23 | 显示全部楼层
迷你强 发表于 2013-1-31 22:48
可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用 ...

我看到了您的另外一篇帖子 关于使用内部基准源的 用analogReference(INTERNAL); 调用
但是请问 调用之后 程序里面的算法要怎么修改呢
回复 支持 反对

使用道具 举报

发表于 2013-11-13 09:03:55 | 显示全部楼层
playoutside 发表于 2013-11-10 21:36
我看到了您的另外一篇帖子 关于使用内部基准源的 用analogReference(INTERNAL); 调用
但是请问 调用之后 ...

内置基准源为1.1V,调用后arduino量程为1.1V二不是默认的5V
回复 支持 反对

使用道具 举报

发表于 2013-11-26 23:02:41 | 显示全部楼层
这个filter滤波器有意义吗?累加r12次再除以12不就是r吗没有变化啊?
回复 支持 反对

使用道具 举报

发表于 2013-11-27 01:55:51 | 显示全部楼层
这个电阻测量,理论精度最高能达到多少呢?灰常关心
回复 支持 反对

使用道具 举报

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

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 13:12 , Processed in 0.048002 second(s), 31 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

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