Сборка цифрового амперметра на Arduino: пошаговое руководство по DIY измерению тока
Сборка собственного амперметра на Arduino
Работа с измерительными приборами
Амперметр (амперметр) измеряет ток в цепи. Arduino открывает доступ к множеству проектов — в том числе к построению собственного измерителя тока. Проект многократно переиспользуем. Ниже — полное руководство с минимумом деталей.
Необходимые компоненты:
- OLED дисплей 128×32 (I2C, совместимый с Arduino)
- Датчик тока INA219 (breakout-плата)
- Arduino Pro Mini Rev 5 (5 В, ATmega328P)
- Программатор CH340 (USB-UART)
- Корпус для кроны 9В (с батареей)
- JST PH 2-pin разъем (female)
- JST угловой разъем
- Микрозаковертка плоская
- 6-pin уголовой заголовок для Arduino
- Паяльник
- Монтажный провод 0,56 мм (24 AWG, плавкий, 18 А)
- Микрощипцы
- Кусачки
- Пена-двусторонний скотч
- Перемычки 4-pin female-female
Аппаратная конфигурация
Подготовка
Три блока: OLED (вывод), INA219 (измерение тока/напряжения), Arduino Mini (обработка, связь). Arduino Mini — два ряда пинов. INA219 подключается по I2C (A4 — SDA, A5 — SCL).
Важно: Используйте Pro Mini 328P Rev 5 (или клон) с пинами A4/A5. Пины Arduino, INA219 и OLED должны совпадать по назначению.
Подключение INA219:
- VCC → VCC Arduino
- GND → GND Arduino
- SDA → A4 Arduino
- SCL → A5 Arduino
Подключение OLED (тоже I2C):
- VCC → VCC Arduino
- GND → GND Arduino
- SDA → A4 Arduino
- SCL → A5 Arduino
Оба устройства на одной шине I2C (адреса разные: INA219 0x40, OLED 0x3C).
Инструкции по сборке
- Снимите пины с INA219 и OLED паяльником. Пластиковые колпачки — отверткой. Нагрейте каждую ножку сзади и стряхните.
- Подготовьте провода: 4 куска по 40 мм из монтажного провода 0,56 мм.
- Припаяйте провода к OLED вместо снятых пинов.
- Соедините OLED с Arduino по схеме выше. Должен получиться «сэндвич». Разведите проводы отверткой — без замыканий.
- Припаяйте провода к Arduino, не обрезайте — пойдут к INA219. Верхние (к OLED) можно укоротить.
- Соедините Arduino с INA219 теми же проводами (параллельно на шинах I2C). Разведите, припаяйте к INA219.
- Укоротите провода для аккуратности.
- Припаяйте 6-pin угловой заголовок к Arduino (для программатора). OLED придется чуть приподнять — аккуратно.
- Питание: JST PH female → к проводам кроны. JST угловой → к Arduino: красный (RAW), черный (GND).
- Программатор: 4-pin female-female перемычки: Arduino Pro Mini → CH340 (TX↔RX, RX↔TX, VCC, GND). CH340 → USB компьютера.
- Прошивка — см. раздел «Программная конфигурация».
- После прошивки: подключайте измеряемую цепь к входам INA219 (VIN+, VIN-). Питание амперметра — от USB программатора или кроны 9В.
Программная конфигурация (Arduino IDE)
Требазовые знания Arduino IDE. Скетчи для каждого модуля.
Код для OLED 128×32 (библиотека U8g2)
#include <Arduino.h>
#include <U8g2lib.h>
#include <SPI.h>
#include <Wire.h>
U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C u8g2(U8G2_R0);
void setup(void) {
u8g2.begin();
// ina219.begin(); // инициализация датчика в основном скетче
}
void loop(void) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_logisoso32_tr);
u8g2.setCursor(0, 32);
u8g2.print(millis()); // заглушка, замените на чтение INA219
u8g2.sendBuffer();
delay(200);
}
Код для INA219 (библиотека Adafruit_INA219)
#include <Wire.h>
#include <Adafruit_INA219.h>
Adafruit_INA219 ina219;
void setup(void) {
Serial.begin(115200);
Serial.println("Hello!");
Serial.println("Measuring voltage and current with INA219...");
ina219.begin();
}
void loop(void) {
float shuntvoltage = 0;
float busvoltage = 0;
float current_mA = 0;
float loadvoltage = 0;
shuntvoltage = ina219.getShuntVoltage_mV();
busvoltage = ina219.getBusVoltage_V();
current_mA = ina219.getCurrent_mA();
loadvoltage = busvoltage + (shuntvoltage / 1000);
Serial.print("Bus Voltage: "); Serial.print(busvoltage); Serial.println("V");
Serial.print("Shunt Voltage: "); Serial.print(shuntvoltage); Serial.println("mV");
Serial.print("Load Voltage: "); Serial.print(loadvoltage); Serial.println("V");
Serial.print("Current: "); Serial.print(current_mA); Serial.println("mA");
Serial.println();
delay(2000);
}
Скетч для INA219 назовите GetCurrent.
Итоговый скетч объединяет оба: инициализирует INA219, читает ток/напряжение, выводит на OLED. Пример логики в loop(): чтение INA219 → форматирование строки → u8g2.print() → sendBuffer().
Заключение
После настройки железа и софта — работающий амперметр для любой низковольтной цепи. Проект простой, за вечер. Идеален для новичков. Можно переделать в вольтметр или использовать как модуль в других проектах.
Приятного творчества! Спасибо за чтение.
Промышленные технологии
- Измерение тока амперметром: практическое руководство
- Сборка кастомного аналогового мультиметра: от деталей к калибровке
- Разблокировка IoT-данных: как Business Rules Management драйвит enterprise value
- Максимизируйте опыт Manufacturing Day: экспертные советы и стратегии
- Достижение успеха с первой интеграцией робота: практическое руководство
- Выявление слабых звеньев в процессе электропроектирования: практическое руководство
- Оптимизируйте свою цепочку поставок для устойчивости и эффективности сегодня
- Превосходите конкурентов с цифровыми рабочими инструкциями
- Оптимизация производства и отгрузки: проверенные стратегии снижения затрат и повышения эффективности
- Мастерство офисной организации на производственных заводах: проверенные советы для эффективности и снижени…