USBtoSerial мониторинг и изменение настроек контроллера заряда серии Epever XTRA.

Вопрос или проблема

Как я могу использовать порт RS485 контроллера солнечной зарядки Epever XTRA (возможно, также Tracer)?
Я хотел бы использовать его для мониторинга, а также для простого изменения параметров. В данный момент на моем ноутбуке установлена Fedora 39.

Да, это возможно.

Самый простой способ – купить совместимый USB/RS485 кабель для контроллеров MPPT Epever/EPsolar серии XTRA/Tracer и PWM LSxxxxB серии. В моем случае он был обозначен как CC-USB-RS485-150U, и lsusb сообщает о нем следующее:

Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial

# lsusb -t
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/15p, 480M
    |__ Port 001: Dev 007, If 0, Class=Communications, Driver=cdc_acm, 12M

Fedora 39 (а возможно, и более новые версии) может обнаружить его и использовать модуль cdc_acm в качестве драйвера. Это создает устройство /dev/ttyACM0. В моем случае не понадобилась специальная компиляция модуля (такие проекты можно найти в Интернете).

Контроллер зарядки, с которым я пробовал подключение, – Epever XTRA4210N-XDS2.

Я успешно использовал проект epevermodbus версии 0.0.18 для подключения:
https://pypi.org/project/epevermodbus/0.0.18/

Установка через Python pip действительно проста: pip install epevermodbus

epevermodbus требует прав root для запуска. Для простого чтения достаточно указать порт устройства (/dev/ttyACM0) и адрес_slave (обычно 1):

# epevermodbus --portname /dev/ttyACM0 --slaveaddress 1
Данные в реальном времени
Солнечное напряжение: 13.82V
Солнечный ток: 0.47A
Солнечная мощность: 6.23W
Напряжение нагрузки: 12.46V
Ток нагрузки: 0.08A
Мощность нагрузки: 1.37W
Напряжение батареи: 12.46V
Ток батареи: 0.45A
Мощность батареи: 6.72W
Состояние заряда батареи: 51%
Температура батареи: 16.95°C
Температура удаленной батареи: 0°C
Температура контроллера: 21.95°C
Статус батареи: {'wrong_identifaction_for_rated_voltage': False, 'battery_inner_resistence_abnormal': False, 'temperature_warning_status': 'NORMAL', 'battery_status': 'NORMAL'}
Статус оборудования зарядки: {'input_voltage_status': 'NORMAL', 'charging_mosfet_is_short_circuit': False, 'charging_or_anti_reverse_mosfet_is_open_circuit': False, 'anti_reverse_mosfet_is_short_circuit': False, 'input_over_current': False, 'load_over_current': False, 'load_short_circuit': False, 'load_mosfet_short_circuit': False, 'disequilibrium_in_three_circuits': False, 'pv_input_short_circuit': False, 'charging_status': 'BOOST', 'fault': True, 'running': True}
Статус оборудования разрядки: {'input_voltage_status': 'NORMAL', 'output_power_load': 'LIGHT', 'short_circuit': False, 'unable_to_discharge': False, 'unable_to_stop_discharging': False, 'output_voltage_abnormal': False, 'input_over_voltage': False, 'short_circuit_in_high_voltage_side': False, 'boost_over_voltage': False, 'output_over_voltage': False, 'fault': False, 'running': True}
Дневное время: True
Ночное время: False
Максимальное напряжение батареи сегодня: 14.18V
Минимальное напряжение батареи сегодня: 12.32V
Максимальное напряжение PV сегодня: 20.96V
Минимальное напряжение PV сегодня: 0V
Перегрев устройства: False
Потребленная энергия сегодня: 0.11kWh
Потребленная энергия за месяц: 0.25kWh
Потребленная энергия за год: 0.25kWh
Общая потребленная энергия: 0.25kWh
Сгенерированная энергия сегодня: 0.02kWh
Сгенерированная энергия за месяц: 0.43kWh
Сгенерированная энергия за год: 0.43kWh
Общая сгенерированная энергия: 0.43kWh
Текущее время устройства: 2013-01-14 23:58:31


Параметры батареи:
Номинальный зарядный ток: 40A
Номинальный ток нагрузки: 40A
Реальное номинальное напряжение батареи: 12V
Тип батареи: GEL
Ёмкость батареи: 200AH
Коэффициент температурной компенсации: 3mV/°C/ячейка
Напряжение отключения при перенапряжении: 16V
Максимальное зарядное напряжение: 15V
Напряжение повторного подключения при перенапряжении: 15V
Напряжение выравнивающей зарядки: 15V
Напряжение повышенной зарядки: 14.2V
Напряжение поддерживающей зарядки: 13.8V
Напряжение повторного подключения при повышенной зарядке: 13.2V
Напряжение повторного подключения при низком напряжении: 12.6V
Напряжение восстановления при низком напряжении: 12.2V
Предупреждающее напряжение при низком напряжении: 12V
Напряжение отключения при низком напряжении: 11.1V
Напряжение ограничения разрядки: 10.6V
Номинальное напряжение батареи: AUTO
Настройки включения/выключения нагрузки в ручном режиме: ВКЛ
Продолжительность выравнивания: 120 мин
Продолжительность повышенной зарядки: 120 мин
Разряд батареи: 30%
Зарядка батареи: 100%
Режим зарядки: VOLTAGE_COMPENSATION

Кроме чтения в удобочитаемом виде, инструмент также поддерживает экспорт в формате JSON с параметром --json. Полный список параметров доступен с параметром --help.

Есть примеры изменения даты и настроек контроллера “Напряжение выравнивающей зарядки”:

# epevermodbus --portname /dev/ttyACM0 --slaveaddress 1 --set-time
Старое значение RTC: 2013-01-15 00:03:09
Новое значение RTC: 2024-12-14 10:51:34
# epevermodbus --portname /dev/ttyACM0 --slaveaddress 1 --set-equalize-charging-voltage 14.1
Старое напряжение выравнивающей зарядки: 15V
Новое напряжение выравнивающей зарядки: 14.1V

Чтобы проверить, действительно ли значения изменяются, просто прочитайте снова:

# epevermodbus --portname /dev/ttyACM0 --slaveaddress 1
...
Текущее время устройства: 2024-12-14 10:55:03
...
Напряжение выравнивающей зарядки: 14.1V
...

С помощью этого инструмента вы можете легко изменить параметры зарядки, чтобы они наиболее подходили для настроек вашей батареи – делать это через мониторинг на ЖК-дисплее контроллера довольно трудно…

(Объяснение низких значений – это установка довольно маленькая (400Wp) и при зимних облачных условиях дня и в основном юго-западной ориентации она не вырабатывает много энергии – когда солнечно, производство энергии гораздо лучше – позже в тот же день она производила около 40W, и погода не была действительно солнечной.)

Ответ или решение

Чтобы использовать порт RS485 контроллера солнечной зарядки Epever XTRA (а также, возможно, Tracer) для мониторинга и изменения настроек, необходимо выполнить несколько шагов, которые я подробно опишу ниже.

1. Приобретение оборудования

Первым шагом является покупка совместимого USB/RS485 кабеля для контроллеров Epever/EPsolar MPPT серии XTRA/Tracer и PWM LSxxxxB. Для моего случая подошел кабель, отмеченный как CC-USB-RS485-150U. После подключения кабеля вы можете проверить его определение с помощью команды lsusb:

lsusb

В результате команда должна показать устройство, например:

Bus 001 Device 007: ID 1a86:55d3 QinHeng Electronics USB Single Serial

2. Установка драйвера

На вашем ноутбуке с установленной Fedora 39 драйвер cdc_acm автоматически обрабатывает новое устройство, создавая файл устройства /dev/ttyACM0. В современных версиях Linux, включая Fedora, не требуется компиляция специальных модулей; драйверы работают «из коробки».

3. Установка и конфигурация программного обеспечения

Для взаимодействия с контроллером идеально подходит проект epevermodbus, который можно установить через pip. Используйте следующую команду для его установки:

pip install epevermodbus

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

4. Подключение и мониторинг

После установки программного обеспечения, вы можете легко начать мониторинг контроллера с помощью следующей команды:

epevermodbus --portname /dev/ttyACM0 --slaveaddress 1

Эта команда вернет данные о текущем состоянии системы, включая напряжение солнечной панели, ток, состояние аккумулятора и другую важную информацию. Ниже приведен пример вывода:

Real Time Data
Solar voltage: 13.82V
Solar current: 0.47A
...
Battery state of charge: 51%
...

5. Изменение настроек

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

  1. Установка времени:
epevermodbus --portname /dev/ttyACM0 --slaveaddress 1 --set-time
  1. Изменение напряжения равновесной зарядки:
epevermodbus --portname /dev/ttyACM0 --slaveaddress 1 --set-equalize-charging-voltage 14.1

После выполнения этих команд вы можете заново прочитать значения для подтверждения изменений:

epevermodbus --portname /dev/ttyACM0 --slaveaddress 1

Заключение

Использование RS485 порта контроллеров серии Epever XTRA и Tracer предоставляет пользователю удобный способ мониторинга и изменения параметров работы системы. Программа epevermodbus является простым и эффективным инструментом, который позволяет легко настраивать и контролировать работу вашего солнечного зарядного устройства.

Если вам потребуется дополнительная информация или поддержка по работе с epevermodbus, вы можете обратиться к официальной документации проекта или задать вопросы на форумах, посвященных солнечной энергетике и оборудованию Epever.

Оцените материал
Добавить комментарий

Капча загружается...