Как измерить максимальный диапазон моего омметра?

arduino-uno resistor voltage-divider

Всем привет Я работаю над проектом, который будет измерять значение ом резистора .

Ссылка на схему / статью https://create.arduino.cc/projecthub/iasonas-christoulakis/how-to-make-an-arduino-ohm-meter-90fda8

И

Вот код ниже

int analogPin= 0;
int raw= 0;
int Vin= 5;
float Vout= 0;
float R1= 1000;
float R2= 0;
float buffer= 0;

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

 void loop()
{
raw= analogRead(analogPin);
if(raw) 
{
buffer= raw * Vin;
Vout= (buffer)/1024.0;
buffer= (Vin/Vout) -1;
R2= R1 * buffer;
Serial.print("Vout: ");
Serial.println(Vout);
Serial.print("R2: ");
Serial.println(R2);
delay(1000);
}
}

Должен быть известный и еще один неизвестный резистор.

Предполагается, что значение Ом известного резистора составляет 1 Тыс. Ом

Итак, мой вопрос в том, каков максимальный диапазон Ом, сможет ли мой омметр arduino измерить неизвестный резистор с помощью эталонного резистора 1k и как его рассчитать?

мне достаточно точности 5-10%.

Спасибо, что уделили мне свое внимание :D

, 👍1

Обсуждение

https://create.arduino.cc/projecthub/iasonas-christoulakis/how-to-make-an-arduino-ohm-meter-90fda8, @Subha Jeet Sikdar

Ваш вопрос имел бы больше смысла, если бы вы указали приемлемый процент ошибок. Вы можете прочитать практически любой резистор, это может быть на 100% неправильно. Подойдет ли 50%? Как насчет 10%? 1%?, @Nick Gammon

@Ник Гэммон почти с 5% до 10%, @Subha Jeet Sikdar


1 ответ


Лучший ответ:

2

Ваше разрешение АЦП (аналогового считывания) будет 1/1024 * 5 В (так как вы получаете показания в диапазоне от 0 до 1023), то есть вы можете определить разницу в приращениях 5/1024, которая составляет 0,00488 В, так что, скажем, примерно 0,005 В.

Теперь я написал немного кода, чтобы определить напряжения, которые вы получите при различных значениях для вашего переменного резистора:

r1 =      0, v = 5.000
r1 =    100, v = 4.545
r1 =    200, v = 4.167
r1 =    300, v = 3.846
r1 =    400, v = 3.571
r1 =    500, v = 3.333
r1 =    600, v = 3.125
r1 =    700, v = 2.941
r1 =    800, v = 2.778
r1 =    900, v = 2.632
r1 =   1000, v = 2.500
r1 =   1100, v = 2.381
r1 =   1200, v = 2.273
r1 =   1300, v = 2.174
r1 =   1400, v = 2.083
r1 =   1500, v = 2.000
r1 =   1600, v = 1.923
r1 =   1700, v = 1.852
r1 =   1800, v = 1.786
r1 =   1900, v = 1.724
r1 =   2000, v = 1.667
r1 =   3000, v = 1.250
r1 =   4000, v = 1.000
r1 =   5000, v = 0.833
r1 =   6000, v = 0.714
r1 =   7000, v = 0.625
r1 =   8000, v = 0.556
r1 =   9000, v = 0.500
r1 =  10000, v = 0.455
r1 =  20000, v = 0.238
r1 =  30000, v = 0.161
r1 =  40000, v = 0.122
r1 =  50000, v = 0.098
r1 =  60000, v = 0.082
r1 =  70000, v = 0.070
r1 =  80000, v = 0.062
r1 =  90000, v = 0.055
r1 = 100000, v = 0.050
r1 = 110000, v = 0.045
r1 = 120000, v = 0.041
r1 = 130000, v = 0.038
r1 = 140000, v = 0.035
r1 = 150000, v = 0.033
r1 = 160000, v = 0.031
r1 = 170000, v = 0.029
r1 = 180000, v = 0.028
r1 = 190000, v = 0.026
r1 = 200000, v = 0.025
r1 = 210000, v = 0.024
r1 = 220000, v = 0.023
r1 = 230000, v = 0.022
r1 = 240000, v = 0.021
r1 = 250000, v = 0.020
r1 = 260000, v = 0.019
r1 = 270000, v = 0.018
r1 = 280000, v = 0.018
r1 = 290000, v = 0.017
r1 = 300000, v = 0.017

Вы можете видеть, что разница в напряжении составляет всего 0,005 В (разрешение АЦП) между r1 90k и 100k. Далее, вы не можете определить разницу (в пределах 0,005 В) между 270 К и 300 К.

Я не уверен, как выразить это в процентах ошибок, возможно, кто-то лучше разбирается в математике, чем я, может это сделать. :)

,

Так значит ли это буквально, что я могу измерить максимальный резистор 100k с помощью опорного резистора 1k? Извините, но ваше объяснение немного смутило меня., @Subha Jeet Sikdar

Я этого не говорю, но если вы посмотрите на напряжение 200 К (0,025 В) и 250 К (0,020 В), то вы не сможете определить разницу между 200 К и (скажем) 220 К. Таким образом, вы можете сказать, что за 200 тысяч это будет +/- 50 тысяч. Это и есть сумма вашей ошибки. Таким образом, вы могли бы измерить резистор 200k, но величина ошибки составила бы 50/200, то есть 25%. Теперь для 100 тысяч это будет 10/100, или 10%. При условии, что моя арифметика верна, это, по-видимому, указывает на то, что 100 тысяч-это примерно ваш предел, если вы хотите точность 10% или выше., @Nick Gammon

Была бы причина, по которой дешевые мультиметры хотят, чтобы вы выбрали диапазон для измерения сопротивления, они, вероятно, меняют местами соответствующий эталонный резистор, чтобы дать разумную величину погрешности для диапазона, который вы измеряете., @Nick Gammon

Хорошо , спасибо, теперь все ясно, @Subha Jeet Sikdar

Даже очень дорогие омметры переключают диапазон, это может быть прозрачно для вас, но они это делают. За эти годы я многих отремонтировал и откалибровал, и все они это сделали., @Gil

Как? Я полагаю, что одним из способов было бы иметь полдюжины опорных резисторов и использовать МОП-транзистор для переключения измеряемого сигнала в один, а не в другой (другими словами, мультиплексировать его)., @Nick Gammon

@Ник, да , я работаю над автоматическим омметром с моим UNO, некоторыми МОП-транзисторами и резисторами 1k 22k 47k 100k и 220 k, максимальный диапазон которых должен составлять 1 м+ . Все, что вам нужно сделать, это получить значения от эталонного резистора, а затем логически отредактировать его, чтобы автоматически переключать их, @Subha Jeet Sikdar