Оглавление:

Устройство для измерения стоимости электроэнергии Arduino: 13 шагов (с изображениями)
Устройство для измерения стоимости электроэнергии Arduino: 13 шагов (с изображениями)

Видео: Устройство для измерения стоимости электроэнергии Arduino: 13 шагов (с изображениями)

Видео: Устройство для измерения стоимости электроэнергии Arduino: 13 шагов (с изображениями)
Видео: ЧТО ТАКОЕ АНАЛОГОВЫЕ И ЦИФРОВЫЕ СИГНАЛЫ [Уроки Ардуино #10] 2024, Июнь
Anonim
Image
Image
Подготовка. Инструменты, винты и расходные материалы
Подготовка. Инструменты, винты и расходные материалы

Вы слишком много платите за электроэнергию?

Хотите знать, сколько электроэнергии потребляет ваш чайник или обогреватель?

Сделайте свой собственный портативный счетчик электроэнергии!

Посмотрите, как я нашел применение этому устройству.

Шаг 1: Подготовка. Инструменты, винты и расходные материалы

Для создания этого проекта вам понадобится несколько вещей.

  • Домашний компьютер с установленной XOD IDE.
  • 3д принтер.

Инструменты:

  • Машинки для стрижки.
  • Отвертка.
  • Плоскогубцы.
  • Паяльные инструменты.
  • Напильник.

Расходные материалы:

  • Наждачная бумага.
  • Термоусадочные трубки.
  • Провода не более 14 AWG для цепи 220 В.
  • Провода 24 или 26 AWG для логической цепи 5 В.

Винты:

  • Винт M3 (DIN7985 / DIN 84 / DIN 912) длиной 20 мм.
  • Винт M3 (DIN7985 / DIN 84 / DIN 912) длиной 10 мм.
  • Винт M2 / M2,5 (DIN7981 или другой).
  • Шестигранная гайка M3 (DIN 934 / DIN 985).

Шаг 2: Подготовка. Электроника

Подготовка. Электроника
Подготовка. Электроника
Подготовка. Электроника
Подготовка. Электроника
Подготовка. Электроника
Подготовка. Электроника

Для создания устройства вам понадобятся некоторые электронные компоненты. Разберемся какие.

Прежде всего, вам понадобится датчик переменного тока.

Устройство может работать с большим током, поэтому датчик должен быть подходящим. В интернете я нашел датчик ACS712 производства Allegro.

1 x 20A модуль датчика тока ACS712 ~ 9 $;

Этот датчик является аналоговым и измеряет ток с помощью эффекта Холла. Он использует один провод для передачи измеренного значения. Может и не очень точно, но для такого устройства думаю хватит. Датчик ACS712 может быть трех типов с разными максимальными пределами измерения:

  • ACS712ELCTR-05B (не более 5 ампер);
  • ACS712ELCTR-20A (не более 20 ампер);
  • ACS712ELCTR-30A (макс.30 ампер).

Вы можете выбрать нужную вам версию. Я использую версию на 20 ампер. Я не думаю, что ток в моих розетках превышает это значение.

Вам нужен контроллер, чтобы считывать данные датчиков и выполнять все другие вычисления.

Конечно, я выбрал Ардуино. Считаю, что для подобных проектов своими руками нет ничего удобнее. Моя задача не сложная, поэтому навороченная доска мне не нужна. Я купил Arduino Micro.

1 х Arduino Micro ~ 20 $;

Arduino питается от постоянного напряжения до 12 В, в то время как я собирался измерить переменное напряжение 220 В. Причем датчик ACS должен быть запитан ровно 5 вольт. Чтобы решить проблему, я купил преобразователь переменного тока в постоянный с 220 до 5 вольт.

1 x модуль питания переменного тока в постоянный Вход питания: AC86-265V Выход: 5V 1A ~ 7 $;

Я использую этот преобразователь для питания Arduino и датчика.

Чтобы визуализировать свои измерения, я отображаю на экране потраченную сумму денег. Я использую этот ЖК-дисплей 8x2 символов.

1 x 0802 LCD 8x2-символьный ЖК-дисплей 5V ~ 9 $;

Он маленький, совместим с дисплеем Arduino. Он использует собственную шину данных для связи с контроллером. Также этот дисплей имеет подсветку, которая может быть одного цвета. Я получил оранжевый.

Шаг 3: Подготовка. Sonnectors

Подготовка. Sonnectors
Подготовка. Sonnectors
Подготовка. Sonnectors
Подготовка. Sonnectors
Подготовка. Sonnectors
Подготовка. Sonnectors

Устройство должно иметь собственную вилку и розетку.

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

Решил купить в строительном магазине несколько универсальных розеток и вилок, чтобы разобрать их и использовать какие-нибудь детали. Разъемы, которые я купил, относятся к типу F или, как их еще называют, Shuko. Это соединение используется по всему Европейскому Союзу. Существуют разные типы разъемов, например, типы A или B немного меньше F и используются в Северной Америке. Внутренние размеры розеток и внешние размеры вилок стандартизованы для всех разъемов данного типа.

Для получения дополнительной информации вы можете прочитать здесь о различных типах сокетов.

Разобрав несколько розеток, я обнаружил, что их внутренние части легко снимаются. Эти детали имеют практически одинаковые механические размеры. Решил ими воспользоваться.

Итак, для создания собственного устройства вам необходимо:

  • Выберите тип подключения;
  • Найдите вилки и розетки, которые можно использовать и которые можно легко разобрать;
  • Снимите их внутренние части.

Я использовал эту розетку:

1 розетка с заземлением на 16 А, 250 В ~ 1 $;

И вот этот штекер:

1 штекер 16А 250В ~ 0,50 $;

Шаг 4: Подготовка. 3D-печать

Подготовка. 3D-печать
Подготовка. 3D-печать
Подготовка. 3D-печать
Подготовка. 3D-печать
Подготовка. 3D-печать
Подготовка. 3D-печать

Распечатал части корпуса устройства на 3D-принтере. Я использовал АБС-пластик разных цветов.

Вот список деталей:

  • Основной корпус (фиолетовый) - 1 шт.;
  • Задняя крышка (желтая) - 1 шт.;
  • Корпус розетки (розовый) - 1 шт.;
  • Корпус штекера (красный) - 1 шт.;

Основной корпус имеет резьбовые отверстия для крепления датчика тока и задней крышки.

На задней крышке есть резьбовые отверстия для крепления преобразователя переменного тока в постоянный и защелкивающееся соединение для крепления Arduino Micro.

Все детали имеют отверстия под винты M3 для крепления корпуса дисплея, вилки и розетки.

Обратите внимание на корпус розетки и детали корпуса вилки.

Внутренние поверхности этих деталей предварительно смоделированы специально для моих разъемов. Для тех разъемов, которые были разобраны на предыдущем шаге.

Таким образом, если вы хотите сделать собственное устройство и ваши штекерные разъемы отличаются от моих, вам необходимо исправить или изменить 3D-модели корпуса розетки и корпуса штекера.

Модели STL находятся во вложении. При необходимости могу прикрепить исходные модели САПР.

Шаг 5: Сборка. Корпус розетки

Сборка. Корпус розетки
Сборка. Корпус розетки
Сборка. Корпус розетки
Сборка. Корпус розетки
Сборка. Корпус розетки
Сборка. Корпус розетки

Список материалов:

  1. Корпус розетки, напечатанный на 3D-принтере - 1 шт.;
  2. Розетка - 1 шт.;
  3. Провода высокого напряжения (14 AWG или меньше).

Процесс сборки:

Посмотрите на набросок. Изображение поможет вам в сборке.

  • Подготовить розетку (поз. 2). Розетка должна плотно входить в корпус до упора. При необходимости обработайте контур розетки наждачной бумагой или надфилем.
  • Подключите высоковольтные провода к розетке. Используйте клеммные колодки или пайку.
  • Вставьте розетку (поз. 2) в корпус (поз. 1).

По желанию:

Закрепите розетку в корпусе винтом через платформу на корпусе

Шаг 6: Сборка. Основной корпус

Сборка. Основной корпус
Сборка. Основной корпус
Сборка. Основной корпус
Сборка. Основной корпус
Сборка. Основной корпус
Сборка. Основной корпус

Список материалов:

  1. Основной корпус, напечатанный на 3D-принтере - 1 шт.;
  2. Корпус розетки в сборе - 1 шт.;
  3. Датчик тока ACS 712 - 1 шт.;
  4. ЖК-дисплей 8x2 - 1 шт.;
  5. Винт M3 (DIN7985 / DIN 84 / DIN 912) длина 20мм - 4 шт.
  6. Винт M3 (DIN7985 / DIN 84 / DIN 912) длина 10мм - 4 шт.
  7. Винт М2 / М2,5 (DIN7981 или другой) - 2 шт.
  8. Гайка шестигранная М3 (DIN 934 / DIN 985) - 8 шт.
  9. Провода 24 или 26 AWG.
  10. Провода высокого напряжения (14 AWG или меньше).

Процесс сборки:

Посмотрите на набросок. Изображение поможет вам в сборке.

  • Подготовьте большое отверстие в основном корпусе (поз. 1). Собранный корпус розетки должен плотно входить в него. При необходимости обработайте контур отверстия наждачной бумагой или надфилем.
  • Вставьте корпус розетки (поз. 2) в основной корпус (поз. 1) и закрепите его винтами (поз. 6) и гайками (поз. 8).
  • Подключите высоковольтные провода к датчику тока (поз. 3). Используйте клеммные колодки.
  • Закрепите датчик тока (поз. 3) с основным корпусом (поз. 1) винтами (поз. 7).
  • Подключите или припаяйте провода к дисплею (поз. 4) и к датчику тока (поз. 3).
  • Закрепите дисплей (поз. 4) с основным корпусом (поз. 1) винтами (поз. 5) и гайками (поз. 8).

Шаг 7: Сборка. Штепсельная вилка

Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка
Сборка. Штепсельная вилка

Список материалов:

  1. Корпус штекера, напечатанный на 3D-принтере - 1 шт.;
  2. Вилка - 1 шт.;
  3. Провода высокого напряжения (14 AWG или меньше).

Процесс сборки:

Посмотрите на набросок. Изображение поможет вам в сборке.

  • Подготовить заглушку (поз. 2). Заглушка должна плотно входить в корпус до упора. При необходимости обработайте контур розетки наждачной бумагой или надфилем.
  • Подключите высоковольтные провода к вилке (поз. 2). Используйте клеммные колодки или пайку.
  • Вставьте заглушку (поз. 2) в корпус (поз. 1).

По желанию:

Закрепите заглушку в корпусе винтом. Место для винта показано на эскизе

Шаг 8: Сборка. Задняя обложка

Сборка. Задняя обложка
Сборка. Задняя обложка
Сборка. Задняя обложка
Сборка. Задняя обложка
Сборка. Задняя обложка
Сборка. Задняя обложка

Список материалов:

  1. Задняя крышка, напечатанная на 3D-принтере - 1 шт.;
  2. Корпус штекера в сборе - 1 шт.;
  3. Преобразователь напряжения AC-DC - 1 шт.;
  4. Arduino Micro - 1 шт.;
  5. Винт M3 (DIN7985 / DIN 84 / DIN 912) длина 10мм - 4 шт.
  6. Винт М2 / М2,5 (DIN7981 или другой) - 4 шт.
  7. Гайка шестигранная М3 (DIN 934 / DIN 985) - 4 шт.

Процесс сборки:

Посмотрите на набросок. Изображение поможет вам в сборке.

  • Подготовьте большое отверстие в задней крышке (поз. 1). Собранный корпус заглушки (поз. 2) должен плотно входить в него. При необходимости обработайте контур отверстия наждачной бумагой или надфилем.
  • Вставьте корпус разъема (поз. 2) в заднюю крышку (поз. 1) и закрепите его винтами (поз. 5) и гайками (поз. 7).
  • Присоедините Arduino (поз. 4) к задней крышке (поз. 1) с помощью защелкивающегося соединения.
  • Прикрепите преобразователь напряжения AC-DC (поз. 3) к задней крышке (поз. 1) винтами (поз. 6).

Шаг 9: Сборка. Пайка

Сборка. Пайка
Сборка. Пайка
Сборка. Пайка
Сборка. Пайка
Сборка. Пайка
Сборка. Пайка
Сборка. Пайка
Сборка. Пайка

Список материалов:

  1. Провода высокого напряжения (14 AWG или меньше).
  2. Провода 24 или 26 AWG.

Сборка:

Спаяйте все компоненты вместе, как показано на эскизе.

Высоковольтные провода от вилки припаяны к преобразователю AC-DC и к кабелям от розетки.

ACS712 - это аналоговый датчик тока, питаемый от 5 В. Вы можете запитать датчик от Arduino или напрямую от преобразователя переменного тока в постоянный.

  • Вывод Vcc - вывод 5V Arduino / вывод 5V AC-DC;
  • GND - вывод GND Arduino / вывод GND AC-DC;
  • OUT - аналоговый вывод A0 Arduino;

Жидкокристаллический ЖК-дисплей 8x2 символов питается от 3,3-5 В и имеет собственную шину данных. Дисплей может обмениваться данными в 8-битном (DB0-DB7) или 4-битном режиме (DB4-DB7). Я использовал 4-битный. Вы можете запитать дисплей от Arduino или от преобразователя переменного тока в постоянный.

  • Вывод Vcc - вывод 5V Arduino / вывод 5V AC-DC;
  • GND - вывод GND Arduino / вывод GND AC-DC;
  • Vo - вывод GND Arduino / вывод GND AC-DC;
  • R / W - вывод GND Arduino / вывод GND AC-DC;
  • RS - цифровой 12 пин Arduino;
  • E - цифровой 11 пин Arduino;
  • DB4 - цифровой 5 пин Arduino;
  • DB5 - цифровой 4 пин Arduino;
  • DB6 - цифровой 3 пин Arduino;
  • DB7 - цифровой 2 пин Arduino;

Уведомление:

Не забудьте изолировать все высоковольтные провода термоусадочными трубками! Кроме того, изолируйте паяные контакты высокого напряжения на преобразователе напряжения переменного тока в постоянный. Кроме того, изолируйте паяные контакты высокого напряжения на преобразователе напряжения переменного тока в постоянный.

Будьте осторожны с 220В. Высокое напряжение может убить вас!

Не прикасайтесь к электронным компонентам, когда устройство подключено к электросети.

Не подключайте Arduino к компьютеру, когда устройство подключено к электросети.

Шаг 10: Сборка. Заканчивать

Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать
Сборка. Заканчивать

Список материалов:

  1. Основной корпус в сборе - 1 шт.;
  2. Задняя крышка в сборе - 1 шт.;
  3. Винт М3 (DIN7985 / DIN 84 / DIN 912) длина 10мм - 4 шт.

Процесс сборки:

Посмотрите на набросок. Изображение поможет вам в сборке.

  • После завершения пайки надежно вставьте все провода в основной корпус (поз. 1).
  • Убедитесь, что нигде нет открытых контактов. Провода не должны пересекаться, а их открытые места не должны касаться пластикового корпуса.
  • Прикрепите заднюю крышку (поз. 2) к основному корпусу (поз. 1) винтами (поз. 3).

Шаг 11: XOD

Для программирования контроллеров Arduino я использую среду визуального программирования XOD. Если вы новичок в электротехнике или, может быть, вам просто нравится писать простые программы для контроллеров Arduino, как я, попробуйте XOD. Это идеальный инструмент для быстрого создания прототипов устройств.

В XOD вы можете создавать программы прямо в окне браузера. Лично я предпочитаю настольную версию.

Для своего устройства ECEM я создал библиотеку gabbapeople / Electric-meter в XOD. Эта библиотека содержит все узлы, необходимые для создания одной и той же программы. Он также включает в себя подготовленный пример программы. Так что не забудьте добавить его в свое рабочее пространство XOD.

Процесс:

  • Установите программное обеспечение XOD IDE на свой компьютер.
  • Добавьте в рабочую область библиотеку gabbapeople / electric meter.
  • Создайте новый проект и назовите его чем-л.

Далее я собираюсь описать, как программировать это устройство в XOD.

Я также приложил снимок экрана с расширенной версией программы на последнем шаге по инструкциям.

Шаг 12: Программирование

Программирование
Программирование
Программирование
Программирование
Программирование
Программирование

Вот необходимые вам узлы:

Узел acs712-20a-ac-current-sensor

Это первый узел, который нужно разместить на патче. Он используется для измерения мгновенного тока. В этой библиотеке есть 3 разных типа узлов. Они различаются типом цоколя для измерения силы тока. Выберите тот, который соответствует вашему типу датчика. Ставлю узел acs712-20a-ac-current-sensor. Этот узел выводит значение силы тока в амперах.

На выводе PORT этого узла я должен поместить значение вывода Arduino Micro, к которому я подключил свой датчик тока. Я припаял сигнальный контакт датчика к контакту A0 Arduino, поэтому я установил значение A0 на контакт PORT.

Значение на выводе UPD должно быть установлено на «Непрерывно», чтобы непрерывно измерять силу тока после включения устройства. Также для измерения переменного тока мне нужно указать частоту. В моей электросети частота переменного тока равна 50 Гц. Я поставил значение 50 на вывод частоты FRQ.

Узел умножения

Он рассчитывает электрическую мощность. Электрическая мощность - это произведение силы тока на напряжение.

Поместите узел умножения и соедините один из его выводов с узлом датчика и подайте значение переменного напряжения на второй вывод. Ставлю 230 значение. Это относится к напряжению в моей электросети.

Узел integte-dt

С двумя предыдущими узлами можно мгновенно измерить ток и мощность устройства. Но вам нужно рассчитать, как потребление энергии меняется с течением времени. Для этого вы можете интегрировать мгновенное значение мощности с помощью узла Integrate-dt. Этот узел будет накапливать текущее значение мощности.

Вывод UPD запускает обновление накопленного значения, а вывод RST сбрасывает накопленное значение в ноль.

Узел получения денег

После интеграции на выходе узла integte-dt вы получаете потребляемую электрическую мощность в ваттах в секунду. Чтобы было удобнее считать потраченные деньги, поместите узел to-money на патч. Этот узел преобразует потребляемую мощность из ватт в секунду в киловатты в час и умножает накопленное значение на стоимость одного киловатта в час.

Поставьте цену одного киловатта в час на вывод PRC.

С помощью узла to-money накопленная стоимость потребляемой электроэнергии конвертируется в сумму потраченных денег. Этот узел выводит его в долларах.

Все, что вам осталось сделать, это отобразить это значение на дисплее.

Узел text-lcd-8x2

Я использовал ЖК-дисплей с 2 строками, четырьмя 8 символами. Я установил для этого дисплея узел text-lcd-8x2 и установил все значения контактов порта. Контакты этого порта соответствуют микропортам Arduino, к которым припаян дисплей.

В первой строке дисплея, на выводе L1, я написал строку «Всего:».

Я соединил выходной контакт узла to-money с контактом L2, чтобы показать сумму денег во второй строке дисплея.

Патч готов.

Нажмите Deploy, выберите тип платы и загрузите ее на устройство.

Шаг 13: Расширенная программа

Расширенная программа
Расширенная программа

Вы можете самостоятельно расширить программу с предыдущего шага. Например, посмотрите на прикрепленный снимок экрана.

Как можно доработать патч?

  • Свяжите выход acs712-20a-ac-current-sensor напрямую с узлом дисплея, чтобы вывести текущее значение тока на экран без других вычислений.
  • Свяжите выход узла умножения непосредственно с узлом отображения для вывода электроэнергии, потребляемой прямо сейчас;
  • Свяжите выходные данные узла Integrate-dt непосредственно с узлом отображения для вывода накопленного значения потребления;
  • Сбросьте счетчик, нажав кнопку. Хорошая идея, но я забыл добавить место для кнопки на своем устройстве =). Поместите узел кнопки на патч и свяжите его вывод PRS с выводом RST узла integration-dt.
  • Вы можете создать устройство с экраном больше 8x2 и отображать все параметры одновременно. Если вы собираетесь использовать экран 8x2, как я, используйте узлы concat, format-number, pad-with-zeroes, чтобы уместить все значения в строки.

Сделайте собственное устройство и узнайте дома самую жадную технику!

Вы можете найти это устройство очень полезным в домашнем хозяйстве для экономии электроэнергии.

До скорого.

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