Code Monkey home page Code Monkey logo

voltronic_mqtt's Introduction

Hardware development MQTT connection board for Solar inverter Voltronic (and clone of it)

The board was developed for home use. The program EasyEDA was used. A full description will be after assembly and verification. All description will be in Russian.

Development and verification process here


Разработка платы под Солнечный инвертор Voltronic и его клонов для управления и мониторинга по средствам MQTT

Данное устройство разрабатывалось для себя. Для солнечной станции был выбран солнечный инвертор Voltronic AXPERT KING 5KW. У него есть UART порт для подключения компьютера, но нет ни каких беспроводных средств общения. Разработанная плата общается с инвертором через UART, мониторит параметры работы, задает режимы работы по солнцу и передает даные по MQTT. Дополнительно в моем устройстве установлены 4 вольтметра для мониторинга напряжения аккумуляторных батарей, а так же эти линии заведены через делитель напряжения на АЦП для оцифровки. Поднят WEB сервер для отображения параметров по веб и управления. Поднят FTP сервер для заливки файлов на WEB сервер. Для обновления данных по WEB используется AJAX. Питание платы идет от инвертора, поэтому ее в минимальном исполнении можно прицепить к инвертору для передачи параметров по MQTT без мониторинга батарей. Так же выведены 4 светодиода для отслеживания режимов работы устройства и мониторинга проблем. Далее про все по порядку будет ниже.

Плата разрабатывалась для дома. Использовалась программа EasyEDA. Полное описание будет после сборки и проверки в работе. Все описание будет на русском языке. Плата будет доступна к продаже в Украине для любителей самостоятельной сборки.

Процесс разработки и проверки тут

⚠️ Предупреждение: Там первоначальная схема устройства и она содержит ошибку! Рабочая схема версии 1.1 ниже.

Принципиальная схема устройства версии 1.1 с исправленными ошибками

схема

Печатная плата и сборка устройства

В папке prodaction есть Gerber для заказа печатной платы и BOM файл компонентов. Я заказзывал платы на https://jlcpcb.com . Изготовляем плату и собираем. Внешний вид платы на картинке.

плата плата

Для своего устройства я использовал корпус на DIN рейку шириной в 2 модуля. Спереди прозрачное стекло для установки вольтметров.

корпус

Внутрь на термоклей закрепил 4 вольтметра. Так же через отверстия вывел 4 диода. Закрепил тоже на термоклей. Плата в сборе закрепляется на корпусе винтами.

Настройка и пршивка ESP, заливка файлов

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

  • Название сети WiFi (WiFi SSID)
  • пароль сети WiFi (WiFi Password)
  • IP адрес MQTT сервера (MQTT Server IP)
  • Название устройства MQTT, логин и пароль к вашему MQTT серверу (в строке client.connect("ESP_Voltronic", "mqtt", "mqtt"))
  • Логин и пароль FTP (по умолчанию admin/1234)

Далее компилирует скерч и заливаем в ESP.

📝 Настройки должны быть: ESP32 Dev Module, Default 4Mb with spiffs (1.2Mb APP/1.5Mb SPIFFS), 240Mhz

Запускаем ESP. Если диоды подключены и горит синий и зеленый диод - ESP подключилось к сети. Смотрим на роутере какой IP у ESP и подключаемся по FTP (не забываем логин/пароль). Я использую Total Commander. После подключения заливаем на FTP файлы, что в папке firmware/data

WEB интерфейс

WEB доступен по IP адресу устройства. При наведении на клетку есть информация по значению. Все сделано просто и наглядно. WEB работает через AJAX. Каждую секунду отправляет запросы данных. На нижней кнопке время с секундами. Время меняется при получении ответа от устройства (посекундно). Если время идет скачками или зависает - устройство не отвечает или плохая связь. При нажатии на кнопку со временем - перегружается WEB страница. Две иконки вверху: левая выводит информацию с устройства в формате json, правая переводит в настройки. В настройках переключаются режимы в блоке Voltronic Config. Там же есть апдейт прошивки. Для этого нужно скомпилировать скетч в bin формат: в Arduino Скетч/Экспорт бинарного файла. Внешний вид WEB

MQTT в Home Assistant

HA1

HA2

В Home Assistant сделано так

HA3

Принцип работы и световая индикация

Есть 4 светодиода:

  • Синий - питание. Тлеет при включении, светится если запустился проц. Тлеет все время - Нет запуска
  • Зеленый - сеть. Моргает при подключении, светит если подключен, вспыхивает при отправке MQTT
  • Желтый - UART. Светит порядка 1 сек при передаче по UART
  • Красный - АЦП. Моргает при оцифровке напряжения батарей. Светит если батареи не подключены.

Порядок работы

Напряжение батарей читает 20 раз и вычисляет среднее. Наблюдал разброс при оцифровке напряжения и решил усреднить. На 20 раз уходит примерно 5 сек. Потом получает данные по UART и отправляет все по MQTT. Получается отправка примерно раз в 6 сек. В программе есть коэфициенты расчета напряжения батарей. Так как делитель напряжения сбран из резисторов с допуском 5-10% - подгоняйте числа для более точного определения напряжения.

Дополнительные материалы

В папке manuals есть дополнительные файлы:

  • инструкция на солнечный инвертор на русском
  • характеристики солнечного инвертора
  • сервисная инструкция по ремонту на английском
  • описания протокола UART для солнечного инвертора

voltronic_mqtt's People

Contributors

viper7000 avatar

Stargazers

polesskyi-dev avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.