Измерение тока и напряжения в электронных проектах часто является важной задачей. Модуль INA226 предоставляет отличное решение для точного и надежного измерения этих параметров. В этой статье мы рассмотрим, как подключить INA226 к плате Arduino Uno, описав характеристики обоих устройств, схему подключения, необходимые библиотеки и предоставив пример кода.
INA226 – это высокоточный двухканальный датчик напряжения и тока с интерфейсом I2C. Его основные характеристики включают:
- Измерение напряжения и тока: Модуль способен измерять напряжение и ток с высокой точностью.
- Широкий диапазон напряжения: INA226 поддерживает напряжение питания от 2.7 В до 5.5 В.
- Высокая точность: Точность измерения тока составляет 0.1%, а напряжения – 0.8%.
- Интерфейс I2C: Обеспечивает удобное взаимодействие с микроконтроллерами, включая Arduino.
- Защита от перегрузки: Модуль способен автоматически выключать нагрузку в случае перегрузки, что обеспечивает безопасность ваших устройств.
Arduino Uno – это одна из самых популярных платформ для разработки проектов с микроконтроллерами. Ее основные характеристики включают:
- Микроконтроллер ATmega328P: Arduino Uno использует микроконтроллер ATmega328P с тактовой частотой 16 МГц.
- Цифровые и аналоговые пины: Плата имеет 14 цифровых и 6 аналоговых пинов, которые можно использовать для взаимодействия с различными устройствами.
- Интерфейсы: Arduino Uno поддерживает UART, I2C и SPI для коммуникации с другими устройствами.
- Простота в использовании: Эта плата отличается простотой и удобством в программировании, что делает ее отличным выбором для начинающих и опытных разработчиков.
Схема подключения
Для подключения модуля INA226 к Arduino Uno следуйте следующей схеме:
INA226 | Arduino Uno | АКБ | Мотор |
---|---|---|---|
IN+ | not connected | BAT+ | not connected |
IN- | not connected | not connected | Motor+ |
VBS | not connected | not connected | Motor+ |
ALE | 8 | not connected | not connected |
SCL | A5 | not connected | not connected |
SDA | A4 | not connected | not connected |
GND | GND | BAT- | Motor- |
VCC | 5V | not connected | not connected |
Библиотеки
Для работы с модулем INA226 в среде Arduino IDE вам понадобится библиотека, облегчающая взаимодействие с устройством. Для установки этой библиотеки:
- Запустите Arduino IDE.
- Перейдите в меню “Скетч” -> “Подключить библиотеку” -> “Управление библиотеками”.
- В поисковой строке введите “INA226”, найдите соответствующую библиотеку и установите ее.
Пример кода
Загрузите представленный ниже код на Arduino и откройте монитор порта. Попробуйте затормозить вал мотора, вы увидите, как потребляемый им ток возрастёт.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#include <Wire.h> #include <INA226.h> // Замените на адрес вашего устройства #define I2C_ADDRESS 0x40 // Инициализация INA226 с использованием шины I2C (Wire) INA226 ina226(I2C_ADDRESS); void setup() { // Настройка последовательного порта для вывода данных Serial.begin(9600); // Инициализация шины I2C Wire.begin(); // Проверка успешной инициализации INA226 if (!ina226.begin()) { Serial.println("Ошибка инициализации INA226. Проверьте подключение."); while (1); } } void loop() { // Получение значений напряжения на шине, напряжения на шунте и тока float busVoltage = ina226.getBusVoltage(); float shuntVoltage = ina226.getShuntVoltage_mV(); float current = ina226.getCurrent_mA(); // Вывод измерений на монитор последовательного порта с двумя знаками после запятой Serial.print("Напряжение шины: "); Serial.print(busVoltage, 2); Serial.println(" V"); Serial.print("Напряжение на шунте: "); Serial.print(shuntVoltage, 2); Serial.println(" mV"); Serial.print("Ток: "); Serial.print(current, 2); Serial.println(" mA"); // Задержка перед следующим измерением delay(1000); } |
Подключение модуля INA226 к Arduino Uno предоставляет отличную возможность для измерения напряжения и тока в ваших проектах. INA226 обладает высокой точностью и множеством настроек, что делает его универсальным инструментом для разработчиков.