Как измерить сопротивление на ардуино

Измерение сопротивления с помощью Arduino

Но был ещё такой редко встречающийся калькулятор «Электроника МК-64», оборудованный АЦП. Одноканальным, но самым настоящим. Вот он позволял сделать омметр безо всяких генераторов. Калькулятор мог ещё и программы выполнять, почти как современный микроконтроллер, и делать пересчёт автоматически. А это уже, считай, прямопоказывающий омметр, только довольно дорогой, а программу при каждом включении надо набирать заново.

Как измерить сопротивление на ардуино. s46391357. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s46391357. картинка Как измерить сопротивление на ардуино. картинка s46391357

Далее идёт огромная, страшная, формула. Матан любите? Автор тоже, вот он её и упростил, и даже показал, как:

Как измерить сопротивление на ардуино. s51905009. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s51905009. картинка Как измерить сопротивление на ардуино. картинка s51905009

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

Как измерить сопротивление на ардуино. 22804334. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-22804334. картинка Как измерить сопротивление на ардуино. картинка 22804334

Как измерить сопротивление на ардуино. s53540541. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s53540541. картинка Как измерить сопротивление на ардуино. картинка s53540541

/*
The program reads the analog values of A0. These values are in the range of 0-1023.
*/

#define analogInput A0
#define R1 220
#define vin 5
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

LiquidCrystal_I2C lcd(0x27, En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void loop() <
int sensorValue=analogRead(analogInput);
float voltage=sensorValue*(5.0/1023.0);
screen(String(resistance(voltage)));
delay(3000);
>

int resistance(float vout) <
return R1*(1/(vin/vout-1));
>

void screen(String text) <
//Define the LCD as 16 column by 2 rows
lcd.begin (16,2);

//Switch on the backlight
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH);

//goto first column (column 0) and first line (Line 0)
lcd.setCursor(0,0);

//Print at cursor Location
lcd.print(«Resistor value is: «);

//goto second column and first line
lcd.setCursor(0,1);
lcd.print(text);
lcd.print(» ohm»);

Небольшое, но важное примечание. В списке деталей и на схеме автор рекомендует применить дисплей на 2 строки по 16 знаков (1602), а сам берёт на 4 строки по 20 знаков (2004). И в коде первую строку на дисплее пишет такую, что в 16 знаков она не влезет. Если будете применять более распространённый дисплей 1602, вам придётся уменьшить длину этой строки.

На следующих фотографиях прибор показан в действии:

Как измерить сопротивление на ардуино. s90201041. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s90201041. картинка Как измерить сопротивление на ардуино. картинка s90201041

Как измерить сопротивление на ардуино. s65562460. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s65562460. картинка Как измерить сопротивление на ардуино. картинка s65562460

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

Как измерить сопротивление на ардуино. s68997529. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-s68997529. картинка Как измерить сопротивление на ардуино. картинка s68997529

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

Но зачем нужен такой омметр, если в вашем мультиметре уже есть готовый? А вам не надоело его постоянно переключать: то вольты, то омы, то вольты, то омы? А с двумя приборами переключатель на мультиметре дёргать придётся реже.

Ещё у мультиметра фиксированный порог срабатывания звуковой сигнализации. Обычно 50 Ом. А тут можно к Arduino подключить пищалку, доработать скетч, и выставить такой порог, какой вам нужен. Или сделать несколько порогов с разными частотами.

Наконец, поскольку АЦП в Arduino несколько, можно попробовать сделать многоканальный омметр, одновременно считывающий, например, показания нескольких тензорезисторов, а также автоматически пересчитывающий омы в ньютоны.

Отлаженный на breadboard’е омметр следует разобрать, а затем собрать заново пайкой, после чего поместить в распаечную коробку либо самодельный корпус из фанеры, оргстекла, и т.п.

Не пропустите обновления! Подписывайтесь на нашу страницу в Instagram.
Так же у нас есть Telegram канал.

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Омметр на Arduino своими руками

Радиолюбителю зачастую необходимо знать сопротивление того или иного резистора или какого-либо участка цепи, но мультиметра под рукой может при этом не оказаться, зато неподалеку может быть Arduino, на основе которого можно самостоятельно собрать простой омметр для измерения сопротивлений.

Как измерить сопротивление с помощью Arduino

Сразу следует отметить, что помимо Arduino также нужен один резистор с известным номиналом. Схема очень проста и основана на делителе напряжения, в котором один резистор является известным, а сопротивление другого следует выяснить. Затем на Arduino мы запустим программу, которая будет вычислять сопротивление по закону Ома. Итак, схема омметра на основе Arduino и делителя напряжения выглядит следующим образом:

Как измерить сопротивление на ардуино. 1498038510 arduino ohm meter. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1498038510 arduino ohm meter. картинка Как измерить сопротивление на ардуино. картинка 1498038510 arduino ohm meter

Код (скетч) для создания простого омметра на основе Aduino представлен ниже:

Введите значение вашего известного резистора (в омах) в строке 5 приведенного выше кода. В данном случае используется известный резистор со значением 1 КОм (1000 Ом). Поэтому строка 5 должна выглядит так: float R1 = 1000. Программа устанавливает аналоговый вывод A0 для считывания напряжения между известным резистором и неизвестным резистором. Вы можете использовать любой другой аналоговый вывод, но просто измените номер линии в строке 1 и соответствующим образом подключите схему. Когда вы откроете последовательный монитор, вы увидите значения сопротивления, выводимые один раз в секунду. Будут два значения: R2 и Vout. R2: сопротивление вашего неизвестного резистора в Ом. Vout: падение напряжения на вашем неизвестном резисторе.

Насколько же будут точными измерения с помощью Arduino? Ниже приведен экран последовательного порта при измерении резистора номиналом 200 Ом.

Как измерить сопротивление на ардуино. 1498038465 arduino ohm meter2. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1498038465 arduino ohm meter2. картинка Как измерить сопротивление на ардуино. картинка 1498038465 arduino ohm meter2

Значения довольно точны, ошибка составляет всего лишь 1.6%. Но это справедливо только для тех случаев, когда неизвестный резистор не на порядки отличается от известного, чтобы напряжение было не слишком маленьким, и его можно было считать с помощью АЦП Arduino. Но вот какие значения можно получить, если измерять сопротивление резистора номиналом 220 Ком при эталонном резисторе 1 КОм.

Как измерить сопротивление на ардуино. 1498038635 arduino ohm meter3. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1498038635 arduino ohm meter3. картинка Как измерить сопротивление на ардуино. картинка 1498038635 arduino ohm meter3

Так что для разных диапазонов измерения сопротивления нужны разные эталонные резисторы. В целом, данный проект позволяет сделать довольно простой и дешевый омметр на Arduino своими руками.

Источник

Измеритель сопротивления на Arduino

Данная статья является первой в серии статей про измерение с помощью Arduino параметров различных компонентов и физических величин, используемых в радиоэлектронике. Начнем с самого простого – с измерения сопротивления.

Определение сопротивления резистора по цветовому коду может вызывать некоторые трудности. Чтобы преодолеть эту сложность, мы собираемся с помощью Arduino построить простой измеритель сопротивления. Основным принципом данного проекта является использование схемы делителя напряжения. Значение неизвестного сопротивления будет отображаться на LCD дисплее 16×2. Данный проект также служит примером взаимодействия Arduino с символьным LCD дисплеем.

Как измерить сопротивление на ардуино. 9a39b772d12d3b925602085aca70a2c8e75836dd. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-9a39b772d12d3b925602085aca70a2c8e75836dd. картинка Как измерить сопротивление на ардуино. картинка 9a39b772d12d3b925602085aca70a2c8e75836dd Измеритель сопротивления на Arduino

Необходимые компоненты

Принципиальная схема

Arduino Uno

Arduino Uno – это открытая микроконтроллерная плата на базе микроконтроллера ATmega328p. Она имеет 14 цифровых выводов (из которых 6 выводов можно использовать в качестве выходов ШИМ), 6 аналоговых входов, встроенные стабилизаторы напряжения и так далее. Arduino Uno имеет 32 КБ флэш-памяти, 2 КБ SRAM и 1 КБ EEPROM. Она работает с тактовой частотой 16 МГц. Для связи с другими устройствами Arduino Uno поддерживает последовательный интерфейс, I2C, SPI. В таблице ниже приведены технические характеристики Arduino Uno (более подробное техническое описание можно посмотреть здесь).

МикроконтроллерATmega328P
Рабочее напряжение5 В
Входное напряжение (рекомендуемое)7-12 В
Цифровые входные/выходные выводы14
Аналоговые входные выводы6
Флэш-память32 Кбайт, из которых 0,5 Кбайт используются загрузчиком
Оперативная память SRAM2 Кбайт
Энергонезависимая память EEPROM1 Кбайт
Тактовая частота16 МГц

LCD дисплей 16×2

LCD дисплей 16×2 – это широко используемый во встраиваемых приложениях дисплей. Ниже приведено краткое описание выводов и работы LCD дисплея. В нем используется два важных регистра. Это регистр данных и регистр команд. Регистр команд используется для отправки таких команд как очистка дисплея, перемещение курсора и так далее. Регистр данных используется для отправки данных, которые должны быть отображены на LCD дисплее. Ниже приведена таблица описания выводов символьного LCD дисплея 16×2.

Назначение выводов LCD дисплея на HD44780

Номер выводаОбозначениеВход/выходНазначение вывода
1VssЗемля
2VddПитание +5В
3VeeСредний вывод потенциометра (для регулировки контрастности)
4RSвходВыбор регистра (RS=0 для регистра команд, RS=1 для регистра данных)
5RWвходЧтение/Запись (RW=0 для записи, RW=1 для чтения)
6Eвход/выходВключение
7D0вход/выход8-разрядная шина данных (младший значащий бит)
8D1вход/выход8-разрядная шина данных
9D2вход/выход8-разрядная шина данных
10D3вход/выход8-разрядная шина данных
11D4вход/выход8-разрядная шина данных
12D5вход/выход8-разрядная шина данных
13D6вход/выход8-разрядная шина данных
14D7вход/выход8-разрядная шина данных (старший значащий бит)
15A+4.2–5 В для подсветки
16Kземля

Концепция цветового кода резисторов

Чтобы определить сопротивление резистора, мы можем использовать следующую формулу:

\(R = AB \cdot 10^C \pm T\%\)

Таблица ниже показывает цветовой код резисторов.

Например, если цветовые коды на резисторе будут коричневый – зеленый – красный – серебряный, то номинал резистора рассчитывается следующим образом:

Первые три полосы соответствуют R = AB*10 C

Четвертая полоса указывает на точность ±10%

Таким образом, сопротивление реального резистора может быть где-то между 1350 Ом и 1650 Ом.

Расчет сопротивления с помощью измерителя сопротивления на Arduino

Работа измерителя сопротивлений довольно проста и может быть объяснена с помощью формулы для простого резисторного делителя напряжения, который показан на схеме измерителя сопротивления (рисунок выше).

Выходное напряжение делителя напряжения из резисторов R1 и R2 составляет

Из этой формулы мы можем вывести R2:

Примечание: значение известного резистора (R1) выбрано 3,3 кОм, но пользователи могут заменить его резистором с другим номиналом.

Как измерить сопротивление на ардуино. a62ba4d8eb1a5c0ff4d4e7a84fce9e40add7a48c. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-a62ba4d8eb1a5c0ff4d4e7a84fce9e40add7a48c. картинка Как измерить сопротивление на ардуино. картинка a62ba4d8eb1a5c0ff4d4e7a84fce9e40add7a48c Измеритель сопротивления на Arduino в действии

Поэтому, если мы получим значение напряжения на неизвестном сопротивлении (Vвых), мы сможем легко рассчитать неизвестное сопротивление R2. В данном случае мы считывали значение напряжения Vвых, используя аналоговый вывод A0 (смотрите принципиальную схему), и преобразовывали эти цифровые значения в напряжение, как описано в приведенном ниже коде.

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

Объяснение кода

Полный код программы для Arduino и демонстрационное видео к этому проекту приведены в конце статьи. Код разбит на небольшие важные фрагменты, которые объясняются ниже.

В данном фрагменте кода мы собираемся определить выводы, к которым на Arduino подключен LCD дисплей 16×2. Вывод RS LCD дисплея подключен к цифровому выводу 2 Arduino. Вывод включения LCD дисплея подключен к цифровому выводу 3 Arduino. Выводы данных (D4-D7) LCD дисплея подключены к цифровым выводам 4, 5, 6 и 7 Arduino.

В этом фрагменте кода мы определяем некоторые переменные, которые используются в программе.

В этом фрагменте кода мы собираемся инициализировать LCD дисплей 16×2. На LCD дисплей передаются команды таких настроек, как очистка дисплея, отображение и мигание курсора и так далее.

В этом фрагменте кода аналоговое напряжение на резисторе R2 (вывод A0) преобразуется в цифровое значение (от 0 до 1023) и сохраняется в переменной.

В этом фрагменте кода цифровое значение (от 0 до 1023) преобразуется в значение напряжения для будущих расчетов.

В следующем фрагменте кода с помощью процедуры, объясненной ранее, рассчитывается реальное значение неизвестного сопротивления.

В следующем фрагменте значение неизвестного сопротивления выводится на LCD дисплей.

Так легко с помощью Arduino мы рассчитали сопротивление неизвестного резистора.

Полный код программы

Видео

Источник

Создаем измеритель сопротивлений (Омметр) на базе Ардуино

Создаем измеритель сопротивлений (Омметр) для сортировки резисторов на базе Ардуино без использования цветовых кодов.

Идея проекта

Идея урока и нашего проекта по созданию омметра на Ардуино возникла после того как очередной проект завершился вот такой ситуацией:

Как измерить сопротивление на ардуино. arduino rezistori. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-arduino rezistori. картинка Как измерить сопротивление на ардуино. картинка arduino rezistori

Знакомая ситуация, неправда ли? Но я слишком ленив, чтобы проверять цветовой код на каждом резисторе, чтобы отсортировать их по величине сопротивления. И я настолько ленив, что даже использование мультиметра для меня уже слишком. Здесь и возникла идея и решение создать «ленивый омметр».

Мы будем полагаться на уравнение делителя напряжения, чтобы получить значение неизвестного резистора, включенного последовательно с резистором с известным значением. Эта простая техника имеет только один недостаток. Чем больше два резистора различаются, тем менее точными будут наши измерения. Чтобы преодолеть это явление, нам нужно будет использовать несколько резисторов и написать код, который позволит Arduino выбрать наиболее подходящий резистор для расчета неизвестного значения.

Комплектующие

Компоненты оборудования:

Программное обеспечение:

Ручные инструменты:

Схема соединения

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

Как измерить сопротивление на ардуино. arduino ommetr. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-arduino ommetr. картинка Как измерить сопротивление на ардуино. картинка arduino ommetr

На фото ниже показано устройство в собранном на макете виде:

Как измерить сопротивление на ардуино. arduino shema ommetr. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-arduino shema ommetr. картинка Как измерить сопротивление на ардуино. картинка arduino shema ommetr

Если вы используете дисплей I2C, вы также можете следовать этой схеме. Arduino Nano использует вывод A4 для SDA и A5 для SCL.

Код проекта

Давайте теперь сосредоточимся на шаге программирования нашего омметра Ардуино. Код, который я использовал, можно скачать или скопировать ниже:

Для экрана OLED мы используем библиотеку Adafruit. Её нужно скачать через менеджер библиотек Arduino IDE (либо в Библиотеках на нашем сайте) и скопировать нужный код. Я использовал два растровых изображения, чтобы сделать считывание более интересным. Вы можете легко добавить свое растровое изображение.

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

Как только код доходит до void loop, Arduino проверяет напряжение на выводе A0. Из уравнения делителя напряжения:

Если R1 и R2 одинаковы, мы должны иметь V0, близкий к 2,5 В (т.е. 512 при нашем 10-битном чтении). Если значение далеко от этих результатов, то программа переходит к следующему значению и так далее, пока мы не получим нужный (ближайший) резистор. При выполнении условия «близкое сопротивление» значение будет напечатано на дисплее.

После выбора верного резистора неизвестное значение резистора (переменная Ru внутри кода) рассчитывается с использованием уравнения делителя напряжения.

Создание корпуса

Для реального применения нашего омметра Ардуино нам нужно будет создать какой-то корпус с выводами к которым мы сможем подключать неизвестные нам резисторы, а результат будет показан на экране. Аналогичный, сделанный мною корпус, можно легко распечатать на 3D-принтере, а все детали можно закрепить клеевым пистолетом. Конечно, потребовалась некоторая пайка «известных» резисторов, чтобы всё уместилось в небольшом объеме.

Как измерить сопротивление на ардуино. arduino ommetr korpus. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-arduino ommetr korpus. картинка Как измерить сопротивление на ардуино. картинка arduino ommetr korpus

Осталось одно: вставить резистор неизвестного сопротивления в небольшие отверстия и наконец-то отсортировать кучу неизвестных резисторов.

Источник

Digitrode

цифровая электроника вычислительная техника встраиваемые системы

Миллиомметр на Arduino своими руками

Устройство измерения малых сопротивлений своими руками

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

Как измерить сопротивление на ардуино. 1612078071 arduino1. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1612078071 arduino1. картинка Как измерить сопротивление на ардуино. картинка 1612078071 arduino1

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

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

Наш миллиомметр работает по принципу закона Ома. принцип работы и схема очень просты, как вы уже знаете из названия, мы собираемся использовать Arduino для обработки текущей информации, но Arduino не умеет измерять ток, он знает только, как измерять напряжение, чтобы преобразовать значение тока в значение напряжения, мы будем использовать источник постоянного тока в сочетании с законом Ома, и мы будем использовать популярный стабилизатор LM317 для источника постоянного тока. Для создания этого проекта вам понадобится несколько компонентов, так как они очень распространенные, вы можете найти их все в своем местном магазине электроники.

Как измерить сопротивление на ардуино. 1612078166 arduino2. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1612078166 arduino2. картинка Как измерить сопротивление на ардуино. картинка 1612078166 arduino2

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

Как измерить сопротивление на ардуино. 1612078083 arduino3. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1612078083 arduino3. картинка Как измерить сопротивление на ардуино. картинка 1612078083 arduino3

Схема подключения и принцип работы этой схемы очень просты, как вы можете видеть на приведенной выше схеме, у нас есть Arduino Nano, который отвечает за сбор, расчет и обработку данных. У нас есть OLED-дисплей, который показывает рассчитанное значение сопротивления. И, наконец, мы используем LM317T, который является источником постоянного тока. Имея источник постоянного тока и закон Ома, мы можем довольно легко вычислить значение сопротивления. На схеме вы можете увидеть формулу, которая используется для расчета предельного тока для ИС стабилизатора LM317. Как вы также можете видеть на схеме, мы использовали резистор 10 Ом со схемой для расчета постоянного тока 0,125 А или 125 мА. Теперь, когда у нас есть текущее значение, нам просто нужно разделить его на напряжение, чтобы получить сопротивление V = IR, поэтому R = V/I, и мы получим сопротивление.

Код программы для реализации миллиомметра на основе Arduino приведен далее.

Для проверки этой схемы используется следующая установка. Она выполнена на макетной плате только для целей тестирования, и настоятельно рекомендуется реализовывать эту схему на подходящей печатной плате.

Как измерить сопротивление на ардуино. 1612078126 arduino4. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1612078126 arduino4. картинка Как измерить сопротивление на ардуино. картинка 1612078126 arduino4

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

Как измерить сопротивление на ардуино. 1612078111 arduino5. Как измерить сопротивление на ардуино фото. Как измерить сопротивление на ардуино-1612078111 arduino5. картинка Как измерить сопротивление на ардуино. картинка 1612078111 arduino5

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *