Устройство измерения малых сопротивлений своими руками
Миллиомметр – это устройство, которое можно использовать для определения номиналов малых резисторов, сопротивления дорожек на печатной плате и для обнаружения короткого замыкания на печатной плате.

В Интернете есть много схем миллиомметров и схем измерителей низкого сопротивления, но сегодня мы будем использовать Arduino и популярную ИС линейного стабилизатора LM317, чтобы сделать очень простой измеритель низкого сопротивления, который не только надежен, но и дает точное измерение. Он также отобразит информацию на OLED-дисплее, и в конце мы проведем тест нашей схемы. Согласно нашим тестам, эта схема не только точна, но и имеет приличный диапазон. Нам удалось довольно точно измерить сопротивления в диапазоне 0,05–22 Ом. Итак, без лишних слов, приступим.
Как было сказано выше, миллиомметр – это устройство, которое используется для измерения низкого сопротивления, и если вы спрашиваете, почему так важно измерять низкое сопротивление, позвольте сказать вам, что его можно использовать во многих различных типах приложений, кроме измерения сопротивления. Пример может быть таким: предположим, у вас есть печатная плата, которая показывает короткое замыкание в силовой части, в большинстве случаев проблема может быть в плохом конденсаторе. Если у вас есть измеритель низкого сопротивления, вы можете проверить различные части вашей печатной платы, чтобы определить конкретную область, где сопротивление является самым низким, а затем вы можете начать отладку оттуда.
Сопротивление можно определить как компонент, противодействующий потоку электронов, единица измерения сопротивления - ом. Миллиомметр – это очень простой прибор, используемый для измерения неизвестных и малых сопротивлений. На рынке доступно множество омметров, которые могут измерять сопротивление в широком диапазоне, но у этих измерителей есть одна общая черта: они довольно дороги для новичков.
Наш миллиомметр работает по принципу закона Ома. принцип работы и схема очень просты, как вы уже знаете из названия, мы собираемся использовать Arduino для обработки текущей информации, но Arduino не умеет измерять ток, он знает только, как измерять напряжение, чтобы преобразовать значение тока в значение напряжения, мы будем использовать источник постоянного тока в сочетании с законом Ома, и мы будем использовать популярный стабилизатор LM317 для источника постоянного тока. Для создания этого проекта вам понадобится несколько компонентов, так как они очень распространенные, вы можете найти их все в своем местном магазине электроники.

Полная принципиальная схема измерителя низкого сопротивления на основе Arduino показана далее.

Схема подключения и принцип работы этой схемы очень просты, как вы можете видеть на приведенной выше схеме, у нас есть Arduino Nano, который отвечает за сбор, расчет и обработку данных. У нас есть OLED-дисплей, который показывает рассчитанное значение сопротивления. И, наконец, мы используем LM317T, который является источником постоянного тока. Имея источник постоянного тока и закон Ома, мы можем довольно легко вычислить значение сопротивления. На схеме вы можете увидеть формулу, которая используется для расчета предельного тока для ИС стабилизатора LM317. Как вы также можете видеть на схеме, мы использовали резистор 10 Ом со схемой для расчета постоянного тока 0,125 А или 125 мА. Теперь, когда у нас есть текущее значение, нам просто нужно разделить его на напряжение, чтобы получить сопротивление V = IR, поэтому R = V/I, и мы получим сопротивление.
Код программы для реализации миллиомметра на основе Arduino приведен далее.
#include <Adafruit_SSD1306.h>
#include <Wire.h>
#define SCREEN_WIDATA_PINH 128
#define SCREEN_HEIGHT 64
#define LM317_REF 1.25
#define LM317_Resistance 10.1
const int numReadings = 50;
int readings[numReadings];
int readIndex = 0;
int total = 0;
int ADCaverage = 0;
float R;
int inputPin = A0;
Adafruit_SSD1306 display(SCREEN_WIDATA_PINH, SCREEN_HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for (;;);
}
display.setTextColor(WHITE);
display.setRotation(2);
for (int thisReading = 0; thisReading < numReadings; thisReading++) {
readings[thisReading] = 0;
}
delay(500);
}
void loop() {
total = total - readings[readIndex];
readings[readIndex] = analogRead(inputPin);
total = total + readings[readIndex];
readIndex = readIndex + 1;
if (readIndex >= numReadings) {
readIndex = 0;
}
ADCaverage = total / numReadings;
Serial.print("AVG: ");
Serial.print(ADCaverage);
float voltage = ADCaverage * (5.0 / 1024.0);
Serial.print(" \t \t");
Serial.print(voltage, 3);
Serial.print(" \t \t");
R = voltage / (LM317_REF / LM317_Resistance) ;
Serial.print("Resistance: ");
Serial.println(R);
display.clearDisplay();
display.setTextSize(2);
display.setCursor(10, 10);
display.print(R,3);
display.print(" R");
display.display();
delay(50);
}
Для проверки этой схемы используется следующая установка. Она выполнена на макетной плате только для целей тестирования, и настоятельно рекомендуется реализовывать эту схему на подходящей печатной плате.

Как вы можете видеть на картинке, мы сделали схему на макетной плате, поскольку это была тестовая схема, и это оказалось плохой идеей, потому что контактное сопротивление и импеданс серьезно сказывались на схеме. Вот почему в последний момент мы решили припаять некоторые провода прямо на печатной плате, а также припаяли сопротивление 10 Ом и провод зажима типа «крокодил» непосредственно на саму микросхему LM317.

Как только мы закончили с этим, мы измерили некоторые сопротивления этим измерителем и наблюдали за результатами, и результаты были довольно хорошими. Как вы можете видеть на изображении выше, значение очень точно соответствует реальности.

© digitrode.ru