Оглавление:

Модуль измерения мощности своими руками для Arduino: 9 шагов (с изображениями)
Модуль измерения мощности своими руками для Arduino: 9 шагов (с изображениями)

Видео: Модуль измерения мощности своими руками для Arduino: 9 шагов (с изображениями)

Видео: Модуль измерения мощности своими руками для Arduino: 9 шагов (с изображениями)
Видео: Котика ударило током, 10 т. Вольт 2024, Июль
Anonim
Модуль измерения мощности своими руками для Arduino
Модуль измерения мощности своими руками для Arduino
Модуль измерения мощности своими руками для Arduino
Модуль измерения мощности своими руками для Arduino
Модуль измерения мощности своими руками для Arduino
Модуль измерения мощности своими руками для Arduino

Всем привет, надеюсь у вас все отлично! В этом руководстве я покажу вам, как я сделал этот модуль измерителя мощности / ваттметра для использования с платой Arduino. Этот измеритель мощности может рассчитать мощность, потребляемую нагрузкой постоянного тока. Помимо мощности, этот модуль также может давать нам точные показания напряжения и тока. Он может легко измерять низкие напряжения (около 2 В) и малые токи, вплоть до 50 мА с погрешностью не более 20 мА. Точность зависит от выбора компонентов в соответствии с вашими требованиями.

Запасы

  • Микросхема LM358 с двойным операционным усилителем
  • 8-контактная база IC
  • Шунтирующий резистор (в моем случае 8,6 МОм)
  • Резисторы: 100 кОм, 10 кОм, 2.2 кОм, 1 кОм (1/2 Вт)
  • Конденсаторы: керамические конденсаторы 3 * 0,1 мкФ
  • Veroboard или нулевая доска
  • Винтовые клеммы
  • Паяльник и припой
  • Arduino Uno или любая другая совместимая плата
  • OLED-дисплей
  • Подключение проводов хлебобулочных изделий

Шаг 1: Сбор необходимых компонентов

Сбор необходимых компонентов
Сбор необходимых компонентов

В этом проекте используются очень простые и доступные компоненты: в их число входят резисторы, керамические конденсаторы, операционный усилитель и вероплата для прототипирования.

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

Шаг 2: Принцип работы

Принцип работы
Принцип работы
Принцип работы
Принцип работы
Принцип работы
Принцип работы
Принцип работы
Принцип работы

Работа силового модуля основана на двух концепциях теории цепей и основ электричества: концепции делителя напряжения для измерения входного напряжения и закона Ома для расчета тока, протекающего по цепи. Мы используем шунтирующий резистор, чтобы создать на нем очень небольшое падение напряжения. Это падение напряжения пропорционально величине тока, протекающего через шунт. Это небольшое напряжение, усиленное операционным усилителем, может быть использовано в качестве входа для микроконтроллера, который может быть запрограммирован на выдачу нам текущего значения. Операционный усилитель используется как неинвертирующий усилитель, где коэффициент усиления определяется значениями обратной связи. резистор R2 и R1. Использование неинвертирующей конфигурации позволяет нам использовать общую землю в качестве эталона для измерения. Для этого ток измеряется на стороне низкого напряжения цепи. Для своего приложения я выбрал усиление 46, используя резисторы 100 кОм и 2,2 кОм в качестве цепи обратной связи. Измерение напряжения выполняется с помощью схемы делителя напряжения, которая делит входное напряжение пропорционально используемой цепи резисторов.

Как текущее значение от OP-Amp, так и значение напряжения от сети делителя можно подать на два аналоговых входа Arduino, чтобы мы могли рассчитать мощность, потребляемую нагрузкой.

Шаг 3: Собираем части вместе

Собираем части вместе
Собираем части вместе
Собираем части вместе
Собираем части вместе
Собираем части вместе
Собираем части вместе

Приступим к созданию нашего силового модуля с определения положения винтовых клемм для подключения входа и выхода. Разметив соответствующие позиции, припаиваем винтовые клеммы и шунтирующий резистор на место.

Шаг 4: Добавление частей для сети измерения напряжения

Добавление частей для сети измерения напряжения
Добавление частей для сети измерения напряжения
Добавление частей для сети измерения напряжения
Добавление частей для сети измерения напряжения
Добавление частей для сети измерения напряжения
Добавление частей для сети измерения напряжения

Для измерения входного напряжения я использую сеть делителей напряжения 10K и 1K. Я также добавил конденсатор 0,1 мкФ к резистору 1 кОм, чтобы сгладить напряжения. Схема измерения напряжения припаяна рядом с входной клеммой.

Шаг 5: Добавление частей для текущей сенсорной сети

Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети
Добавление частей для текущей сенсорной сети

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

Шаг 6: Завершение оставшихся подключений и завершение сборки

Завершение оставшихся подключений и завершение сборки
Завершение оставшихся подключений и завершение сборки
Завершение оставшихся подключений и завершение сборки
Завершение оставшихся подключений и завершение сборки
Завершение оставшихся подключений и завершение сборки
Завершение оставшихся подключений и завершение сборки

После того, как цепи измерения напряжения и тока подключены и припаяны, самое время припаять штырьки штекерного разъема и выполнить необходимые подключения силовых и сигнальных выходов. Модуль будет питаться от стандартного рабочего напряжения 5 вольт, которое мы легко можем получить от платы Arduino. Два выхода измерения напряжения будут подключены к аналоговым входам Arduino.

Шаг 7: Подключение модуля к Arduino

Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino
Подключение модуля к Arduino

Теперь, когда модуль готов, пришло время подключить его к Arduino и запустить. Чтобы увидеть значения, я использовал OLED-дисплей, который использовал протокол I2C для связи с Arduino. На экране отображаются следующие параметры: напряжение, ток и мощность.

Шаг 8: Код проекта и принципиальная схема

Код проекта и принципиальная схема
Код проекта и принципиальная схема

Я прикрепил принципиальную схему и код модуля питания на этом этапе (ранее я прикреплял файлы.ino и.txt, содержащие код, но из-за какой-то ошибки сервера код был недоступен или нечитаемым для пользователей, поэтому я написал весь код на этом этапе. Я знаю, что это не лучший способ поделиться кодом:(). Не стесняйтесь изменять этот код в соответствии с вашими требованиями. Я надеюсь, что этот проект был вам полезен. Поделитесь своими отзывами в комментариях. Ура!

#включают

#включают

#включают

#включают

#define OLED_RESET 4 Отображение Adafruit_SSD1306 (OLED_RESET);

float val = 0;

ток поплавка = 0;

плавающее напряжение = 0;

float power = 0;

void setup () {

pinMode (A0, ВХОД);

pinMode (A1, ВХОД);

display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // инициализируем с адресом I2C 0x3C (для 128x32) display.display ();

задержка (2000);

// Очищаем буфер.

display.clearDisplay ();

display.setTextSize (1);

display.setCursor (0, 0);

display.setTextColor (БЕЛЫЙ);

Serial.begin (9600); // Чтобы увидеть значения на последовательном мониторе

}

void loop () {

// взятие среднего для стабильных показаний

for (int i = 0; i <20; i ++) {

ток = ток + аналоговое чтение (A0);

напряжение = напряжение + аналоговое чтение (A1); }

ток = (ток / 20); ток = ток * 0,0123 * 5,0; // значение калибровки, которое должно быть изменено в соответствии с используемыми компонентами

напряжение = (напряжение / 20); напряжение = напряжение * 0,0508 * 5,0; // значение калибровки, которое должно быть изменено в соответствии с используемыми компонентами

мощность = напряжение * ток;

// печать значений на последовательном мониторе

Serial.print (напряжение);

Serial.print ("");

Serial.print (текущий);

Serial.print ("");

Serial.println (питание);

// выводим значения на OLED-дисплей

display.setCursor (0, 0);

display.print ("Напряжение:");

display.print (напряжение);

display.println ("V");

display.setCursor (0, 10);

display.print ("Текущий:");

display.print (текущий);

display.println («А»);

display.setCursor (0, 20);

display.print ("Мощность:");

display.print (мощность);

display.println ("W");

display.display ();

задержка (500); // частота обновления устанавливается задержкой

display.clearDisplay ();

}

Рекомендуемые: