wasdpkj 发表于 2013-1-30 22:27:14

基于Arduino的电阻计

本帖最后由 wasdpkj 于 2013-1-30 23:59 编辑

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


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



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

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



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

#define N 12

#define basis 20000.0

int potpin = A4;
float val, r;


void setup()
{
    Serial.begin(9600);
}

void loop()
{
    val = analogRead(potpin);

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

    delay(100);

    Serial.print(" R:");
    if(filter() >= 1000)
    {
      if(filter() >= 500.0*1000.0)
      {
            Serial.println("Infinity!!");
      }
      else
      {
            Serial.print(filter() / 1000.0);
            Serial.println("K ohm");
      }
    }

    else
    {
      Serial.print(filter());
      Serial.println(" ohm");
    }
}


float filter()
{
    float sum = 0;
    for(int count = 0; count < N; count++)
    {
      sum += r;
      delay(5);
    }
    return (float)(sum / N);
}

Ansifa 发表于 2013-1-30 23:26:17

{:soso_e104:}欢迎制作更多日常工具!非常实用的一个小功能。。。

wasdpkj 发表于 2013-1-31 00:12:17

Ansifa 发表于 2013-1-30 23:26 static/image/common/back.gif
欢迎制作更多日常工具!非常实用的一个小功能。。。

;P多谢鼓励 首精了,感动一下

zcbzjx 发表于 2013-1-31 08:53:24

很想用arduino做一个rlc测量仪器。。一直懒。。。

迷你强 发表于 2013-1-31 22:48:04

可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用的超慢速24位ADC来提高精度

wasdpkj 发表于 2013-2-1 00:49:46

迷你强 发表于 2013-1-31 22:48 static/image/common/back.gif
可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用 ...

弱弱的问一下,后半句的24位ADC是嘛?

ttyp 发表于 2013-2-1 13:19:24

不错,就是滤波的写法看的人难受:lol

ttyp 发表于 2013-2-1 13:21:25

另外,搞一个多段的拨动开关,就能做测量多种电阻的的玩意了

开心果 发表于 2013-4-18 13:52:10

不错,值得学习

飞跃 发表于 2013-4-26 15:32:01

我很想知道,你的这个电子版的电路图是用什么工具画的,谢谢~~

Alexie 发表于 2013-4-26 15:47:43

飞跃 发表于 2013-4-26 15:32 static/image/common/back.gif
我很想知道,你的这个电子版的电路图是用什么工具画的,谢谢~~

就是用这个软件...

http://www.geek-workshop.com/thread-4349-1-1.html

playoutside 发表于 2013-11-10 21:36:23

迷你强 发表于 2013-1-31 22:48 static/image/common/back.gif
可以调用一下基准源,这样电压精度会高很多。还有试试千分之一精度的电阻做基准啥的,再邪恶的用电子秤专用 ...

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

迷你强 发表于 2013-11-13 09:03:55

playoutside 发表于 2013-11-10 21:36 static/image/common/back.gif
我看到了您的另外一篇帖子 关于使用内部基准源的 用analogReference(INTERNAL); 调用
但是请问 调用之后 ...

内置基准源为1.1V,调用后arduino量程为1.1V二不是默认的5V

leoncoolmoon 发表于 2013-11-26 23:02:41

这个filter滤波器有意义吗?累加r12次再除以12不就是r吗没有变化啊?

chaqing 发表于 2013-11-27 01:55:51

这个电阻测量,理论精度最高能达到多少呢?灰常关心
页: [1] 2
查看完整版本: 基于Arduino的电阻计