Из этой статьи мы узнаем, как сделать датчик тока совместимый с 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 Датчик
Источник: