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

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

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

Введение

Амперметр используется для измерения тока через любую нагрузку или устройство. Здесь, мы объясним про измерение тока, используя закон ома. Это будет довольно интересно, а также хорошее применение фундаментальной науки, которую мы изучали в наши школьные годы.

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

V = IR

V = напряжение на проводнике в вольтах (v),
I = ток проходит через проводник в амперах (А),
R = постоянная сопротивления в Ом (Ω).

Чтобы найти текущий ток через устройство, мы просто переставляем уравнение, как показано ниже, или мы можем вычислить с помощью калькулятора закона Ома.

I = V / R

Поэтому, чтобы узнать ток, нам нужны некоторые данные:

  • напряжение,
  • сопротивление.

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

Как и на приведенном выше рисунке, мы должны найти два напряжения, протекающие через резистор. Разница между напряжениями (V1-V2) на двух концах резисторов дает нам падение напряжения на резисторе (R), и мы делим падение напряжения на величину резистора, мы получаем ток (I) через устройство. Вот как мы можем вычислить текущее значение, проходящее через него.

Необходимые инструменты и периферия для реализации проекта «Амперметр» на базе микроконтроллера Arduino

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

  1. База, в которой будет находиться весь программный код. Ею выступит стандартная Arduino nano (можно и Uno), выбранная, не в последнюю очередь, благодаря своему размеру. Раз уж мы создаём что-то своё, почему не собрать измеритель силы тока, который вы не найдёте в магазине. Останется лишь подобрать соответствующий корпус.
  2. Оболочка, в которую конечный результат будет всунут. Здесь всё зависит исключительно от вас. Кому-то привычнее видеть голые провода и платы, а кто-то хочет эстетики. Использовать можно как уже готовые квадратные боксы, в которых останется пропаять пару дырочек, так и специальные, вырезанные на 3-д принтере корпуса, если он у вас есть. Всё зависит исключительно от вашей фантазии.
  3. Чтобы амперметр на Аrduino не был бесполезным набором проводов и выводил какую-то информацию, нам потребуется экран. Можете взять любой простой LCD экранный шилд, который найдёте у себя на балконе. А для особо заинтересованных в программной части подойдёт набор диодов, которые необходимо будет подключить комбинированным способом. Мы рассмотрим вариант с шилдом, так как он проще в реализации.
  4. Несколько резисторов, один на 56 Ом, второй на 100 кОм, ведь нам нужно быть готовым к любому току, который подадут на наше устройство. Вместе с ними стоит прикупить и конденсатор на 10 мКф.
  5. В зависимости от ваших потребностей, подберите датчик тока. Они бывают под различные номинальные и максимальные измерения, мы же возьмём простейший CT – Talema AC103, на 30 и 75 А соответственно. Его достоинством является небольшая стоимость и испытанное не одним проектом качество.

Здесь у любого инженера закрадётся вопрос, а что же собой представляет этот датчик тока? На деле, такой модуль – это просто магнитопровод с небольшим зазором и обмоткой для компенсации. Всё это можно было бы собрать самостоятельно, если бы не встроенные датчики Холла и плата для управления.

Выше обозначенный датчик размещают в зазорах магнитопровода. Он реагирует на создаваемое электромагнитное поле, которое образуется вследствие протекания тока по катушке. В зависимости от напряжения и напряжённости поля, датчик подаёт различные сигналы, усиливаемые микроконтроллером внутри него. Датчик стоит подбирать отдельно под переменный или постоянный ток. Бывают также и комбинированные, но в нашем случае мы выбрали универсальный вариант – модуль для измерения переменного тока.
Помимо периферии, вам также потребуется иметь при себе:

  1. Место или специальный стол для пайки.
  2. Припой и олово.
  3. Паяльник.
  4. Плоскогубцы.

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

Схема подключения и алгоритм работы в проекте «Амперметр» на базе МК Arduino

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

А вот сквозь датчик необходимо провести кабель фазы, ведь нулевой провод нам здесь не подходит. Дело в том, что часть напряжения, приходящегося на ноль, может уходить в заземление, из-за чего показания бывают крайне неточными. А мы ведь хотим собрать не только маленький, но и практичный амперметр, которым вы сможете затем пользоваться в других своих проектах.

Также не забудьте откалибровать нагрузочный резистор, для этого подойдёт специальная формула расчёта:

R=N/I ,

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

Ближе всего при подстановке чисел, в нашем случае, окажется резистор на 56 Ом, его мы и возьмём. А вот, чтобы делить основное напряжение, подаваемое на питание платы, необходимо будет поставить пару одинаковых резисторов.

Кодирование МК Arduino для работы амперметра

Это самый важный момент, ведь без программного кода собранная конструкция останется просто грудой металлолома. Вы можете воспользоваться уже готовыми библиотеками, но в них есть весомый недостаток – придётся долго искать ПО, подходящее под ваши модули и резисторы. С другой стороны, для тех, кто никогда не занимался программированием и не знает даже основ алгоритмизации – это оптимальное решение.

Но можно и самостоятельно написать небольшую программку на С++, в ней будет пара функций для вывода на экран силы тока и вспомогательных параметров. Вам потребуется подключить библиотеку LiquidCrystal.h к проекту, чтобы код смог обрабатывать сигналы, поступающие с датчика тока.

После написания кода остаётся лишь калибровка получившейся установки, и здесь всё лучше делать при известной заранее нагрузке и мощности тока. Можете воспользоваться заготовленным амперметром или использовать простые лампы накаливания. Достаточно взять лампочку на 100 Ватт и воспользоваться школьной программой физики, чтобы рассчитать необходимую силу тока.

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

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

Например, если в выбранном нами датчике тока слишком малый диапазон измерений для вашего случая, то подыщите подходящий конкретно под ваши запросы. Также хорошим выбором станут комбинированные датчики, но они стоят недёшево из-за особенностей своей конструкции, и потому мы решили их не брать в тестовый проект, дабы лишний раз не тратиться.
Вы же вольны выбирать любые доступные на рынке устройства, главное, чтобы они удовлетворяли вашим требованиям.