Датчик тока для Arduino

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

Этот датчик тока можно легко использовать для измерения до 15А и даже при пиковом токе около 20А.

Инструменты и материалы:
-LM358;
-Резистор 2,2 кОм (код SMD 222);
-Резистор 100 кОм (код 104-SMD);
-Конденсатор SMD 1 мкФ — 2 шт;
-Конденсатор SMD 100 нФ или 0,1 мкФ;
-Шунтирующий резистор 5 мОм (код SMD R005);
-Винтовой зажим;
-3-х контактный штекер;
-Мультиметр;
-Печатная плата;
-Раствор хлорного железа для травления;
-Гравер;
-Сверла 1,2 мм и 0,8 мм;
-Принтер;
-Плоскогубцы;
-Пинцет;
-Пластиковый контейнер для процесса травления;
-Паяльник с тонким наконечником;
-Припой и флюс;
-Ардуино (опция);
-Дисплей (опция);
-Макетная плата (опция);

Шаг первый: шунтирующий резистор
Основным компонентом в этой схеме является шунтирующий резистор. Именно с помощью этого резистора измеряется небольшое падение напряжения и затем усиливается до измеримых значений Arduino. Важно, чтобы номинал этого резистора был достаточно мал, чтобы не создавать значительного падения напряжения в цепи. Малое сопротивление в диапазоне миллиомов также гарантирует, что общая рассеиваемая мощность очень мала и, следовательно, сам резистор не нагревается. Падение напряжения довольно мало, чтобы микроконтроллер мог напрямую его измерить, поэтому и используется операционный усилитель.

Шунт, используемый в данной схеме, имеет маркировку — R005, что означает, что он имеет сопротивление 5 мОм.

Шаг второй: схема
Для устройства мастер разрабатывает схему и экспортирует ее в PDF-файл для печати.

Скачать файл можно ниже.
Current Sensor Layout.pdf

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

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

На плату укладывает распечатанную схему лицевой стороной вниз и проглаживает утюгом. После этого замачивает заготовку в воде в течении 10 минут. Вынимает заготовку и снимает бумагу.

Наливает в емкость раствор хлорида железа и помещает в него заготовку платы. Периодически нужно встряхивать плату. В результате этой операции вся медь вокруг рисунка растворится.

Промывает плату в воде, а затем ацетоном стирает тонер с дорожек.

Шаг четвертый: отверстия
С помощью гравера просверлил отверстия.

Шаг пятый: монтаж
В виду отсутствия у мастера паяльной станции, монтажа SMD-компонентов он производил с помощью паяльника и утюга.

Затем припаивает штыревой разъем и винтовой зажим.

Шаг шестой: кодирование и калибровка
Теперь нужно закодировать микроконтроллер и откалибровать значение датчика для получения точных показаний.
Мастер использовал Arduino Nano и среду Arduino IDE.

Код можно разбить на следующие шаги:
Инициализация библиотеки для OLED-дисплея (для этого он использовал библиотеку Adafruit)
Настройка аналогового вывода 0 как вход
Считывание аналоговое значение с выхода OP-Amp на аналоговом выводе 0
Умножение аналогового значения на коэффициент калибровки, чтобы получить правильное значение тока в амперах (или миллиамперах).
Отображение значения на OLED-дисплее
OP-Amp действует как неинвертирующий усилитель в данной схеме и вырабатывает напряжение, пропорциональное падению напряжения на шунте. Затем это напряжение измеряется с помощью АЦП Arduino, который выдает число от 0 до 1023 (10-битное разрешение АЦП в Arduino). Это число не равно фактическому текущему значению, поэтому нужно выполнить математические манипуляции в программном обеспечении, чтобы получить точное значение. В данном случае на помощь приходит мультиметр. Большинство мультиметров могут точно измерять ток до 10 А, поэтому его можно использовать в качестве эталона для определения калибровочного коэффициента.

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

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

Коэффициент калибровки можно рассчитать, как:
Калибровочный коэффициент = (показания мультиметра / показание Arduino)
Эта строка в коде прописана так:
float val = analogRead (A0);
float amp = val * 0,015426; // это калибровочный коэффициент
Код можно скачать ниже.
Current_sensor_code_with_OLED.ino

Шаг седьмой: тестирование
После завершения настройки аппаратного и программного обеспечения, последнее, что остается, — это проверить функциональность и точность текущего модуля датчика. Для этого мастер использовал аккумуляторную батарею на 12В и модуль понижающего преобразователя на 5В. В качестве нагрузки он подключил смартфон для зарядки. Как вы можете видеть на фото, значения на мультиметре и дисплее совпадают.

Все готово.

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Подборки: Arduino Датчик

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями:
KIA