Датчик тока для Arduino - Своими руками
Своими руками

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

>

Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для 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 мОм.
Датчик тока для ArduinoДатчик тока для ArduinoШаг второй: схема
Для устройства мастер разрабатывает схему и экспортирует ее в PDF-файл для печати.
Датчик тока для ArduinoДатчик тока для ArduinoСкачать файл можно ниже.
Current Sensor Layout.pdf

Шаг третий: изготовление печатной платы
После завершения проектирования схемы и макета мастер распечатал его в таком масштабе, чтобы размер печати соответствовал фактическому размеру печатной платы. Печатать нужно в зеркальном изображении. По размерам схемы вырезал заготовку для платы.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoМедь, находящаяся на воздухе в течение длительного времени, имеет свойство образовывать оксидный слой, который может влиять на общую проводимость. Важно, чтобы этот оксидный слой был удален с помощью очень мелкой наждачной бумаги.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoНа плату укладывает распечатанную схему лицевой стороной вниз и проглаживает утюгом. После этого замачивает заготовку в воде в течении 10 минут. Вынимает заготовку и снимает бумагу.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoНаливает в емкость раствор хлорида железа и помещает в него заготовку платы. Периодически нужно встряхивать плату. В результате этой операции вся медь вокруг рисунка растворится.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoПромывает плату в воде, а затем ацетоном стирает тонер с дорожек.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoШаг четвертый: отверстия
С помощью гравера просверлил отверстия.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoШаг пятый: монтаж
В виду отсутствия у мастера паяльной станции, монтажа SMD-компонентов он производил с помощью паяльника и утюга.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoЗатем припаивает штыревой разъем и винтовой зажим.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoШаг шестой: кодирование и калибровка
Теперь нужно закодировать микроконтроллер и откалибровать значение датчика для получения точных показаний.
Мастер использовал 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
Датчик тока для ArduinoДатчик тока для ArduinoШаг седьмой: тестирование
После завершения настройки аппаратного и программного обеспечения, последнее, что остается, – это проверить функциональность и точность текущего модуля датчика. Для этого мастер использовал аккумуляторную батарею на 12В и модуль понижающего преобразователя на 5В. В качестве нагрузки он подключил смартфон для зарядки. Как вы можете видеть на фото, значения на мультиметре и дисплее совпадают.
Датчик тока для ArduinoДатчик тока для ArduinoДатчик тока для ArduinoВсе готово.
Датчик тока для ArduinoДатчик тока для Arduino

SitesReady

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

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.