Как измерить максимальный диапазон моего омметра?
Всем привет Я работаю над проектом, который будет измерять значение ом резистора .
Ссылка на схему / статью 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 ответ
Лучший ответ:
Ваше разрешение АЦП (аналогового считывания) будет 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
- Чтение датчика давления от 4 до 20 мА с использованием uno
- Остановить мигание светодиодов
- Как узнать, нужно ли мне использовать резистор в цепи?
- Минимальное значение I2C-подтягивающий резистор для arduino
- Резисторы на LCD-дисплеях — имеет ли значение небольшая разница?
- Считанное значение не меняется при вращении потенциометра в Arduino?
- Модуль HC-05 не получает команд и не спаривается
- Почему нужны транзисторы и резисторы для поворота двигателя постоянного тока с помощью Arduino, но я могу подключить его непосредственно к батарее
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