MyCottage.cc

Энергомера CE301
Wiren Board и энергомониторинг

безопасное подключение RS-485 и чтение параметров

Подключаем CE301 по RS-485 и расширяем шаблон: кроме энергии получаем мощность по фазам, напряжения, токи, PF, частоту и диагностические параметры.

← К списку статей

Задача

Энергомера CE301 R33 с интерфейсом EIA485 можно подключить к Wiren Board для учёта энергии и наблюдения за доступными измеряемыми параметрами: напряжениями и токами по фазам, мощностью, коэффициентом мощности, частотой и углами.

Граница применения
CE301 остаётся счётчиком электроэнергии. Вывод параметров в интерфейс Wiren Board удобен для эксплуатации, но не превращает систему в сертифицированный анализатор качества электроэнергии.

Что такое wb-mqtt-serial

wb-mqtt-serial — основной драйвер Wiren Board для последовательных устройств (RS-485/Modbus/IEC и т. д.). По сути это мост Serial ⇄ MQTT: устройства описываются JSON-шаблонами, и вы можете расширять их без переписывания драйвера.

Важно
В этой схеме используется RS-485. Оптопорт остаётся полноценной альтернативой и особенно удобен, когда клеммная крышка счётчика опломбирована.

Подключение Энергомера CE301 по RS-485

1) Выбор интерфейса

  • RS-485 — проводное подключение к шине контроллера; наличие интерфейса проверяйте по точной модификации счётчика.
  • Оптопорт — вариант без доступа к клеммам, в том числе для уже опломбированного счётчика.

2) Распиновка клемм RS-485 (CE301)

Клемма Назначение Комментарий
12Aлиния данных A
13Bлиния данных B
14Vcc (+)плюс отдельного источника 9–12 В DC, не менее 100 мА
15GNDобщий провод / 0 В питания интерфейса; не защитный PE
Про питание Vcc/GND
Для исполнения CE301 R33 руководство требует внешний источник постоянного тока 9–12 В с нагрузочной способностью не менее 100 мА. В этой схеме интерфейс питается только от отдельного стабилизированного источника; Vout Wiren Board к Vcc счётчика не подключается.

3) Схема подключения

На схеме питание Wiren Board и интерфейса счётчика разведено: CE301 получает 12 В от отдельного стабилизированного источника, а между устройствами соединяются A, B и общий провод.

4) Практические нюансы RS-485

  • Полярность: перепутали A/B — счётчик не отвечает.
  • Экран: способ заземления задавайте проектом и документацией оборудования; не подключайте экран к сигнальному GND автоматически.
  • Терминация: резистор подбирают по волновому сопротивлению кабеля и ставят на концах длинной магистрали; для короткой линии не добавляйте его автоматически.
  • Кабель: используйте витую пару и магистральную топологию; допустимая длина зависит от скорости, кабеля, помех и количества устройств.

Параметры обмена и адрес

Текущие настройки последовательного порта в Web UI могут быть любыми: при опросе драйвер wb-mqtt-serial сам переключает порт в режим 9600 7E1. Таблица показывает фактические параметры обмена со счётчиком, а не обязательные ручные настройки порта.

ПараметрЗначение
Скорость9600
ParityEven
Data bits7
Stop bits1

Slave ID для CE301/CE303 — последние 9 цифр серийного номера. Пример: 8842104233 → 842104233.

Проверка по документации
Для CE301/CE303 Wiren Board указывает клеммы RS-485: 12 = A, 13 = B, 14 = Vcc, 15 = GND; драйвер сам переводит порт в 9600 7E1 при опросе по МЭК 61107.

Добавление устройства в Wiren Board

Settings → Configs → Serial Device Driver Configuration

  1. Выберите нужный RS-485 порт и включите Enable Port.
  2. Добавьте устройство (шаблон Energomera CE301/CE303 или кастомный JSON).
  3. Укажите Slave ID.
  4. Сохраните и перезапустите драйвер.

Расширение официального JSON-шаблона

Ниже показан вариант на основе шаблона Energomera CE301/CE303 из репозитория wb-mqtt-serial. Каналы тарифов T1/T2 и дополнительные измерения следует считать пользовательским расширением: перед применением сверьте адреса с руководством вашей модификации и контрольными значениями счётчика.

{
  "device_type": "Energomera CE301/CE303",
  "title": "Energomera CE301",
  "group": "g-power-meter",
  "device": {
    "name": "Energomera CE301",
    "id": "energomera301",
    "protocol": "energomera_iec",
    "frame_timeout_ms": 1500,
    "response_timeout_ms": 1500,
    "channels": [
      { "name": "Total All", "reg_type": "group_single", "type": "power_consumption", "address": "0x100101" },
      { "name": "Tariff 1", "reg_type": "group_single", "type": "power_consumption", "address": "0x100102" },
      { "name": "Tariff 2", "reg_type": "group_single", "type": "power_consumption", "address": "0x100103" },

      { "name": "Total P", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400304" },
      { "name": "P L1", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400301" },
      { "name": "P L2", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400302" },
      { "name": "P L3", "reg_type": "group_single", "type": "power", "scale": 1000, "address": "0x400303" },

      { "name": "Urms L1", "reg_type": "group_single", "type": "voltage", "address": "0x400101" },
      { "name": "Urms L2", "reg_type": "group_single", "type": "voltage", "address": "0x400102" },
      { "name": "Urms L3", "reg_type": "group_single", "type": "voltage", "address": "0x400103" },

      { "name": "Irms L1", "reg_type": "group_single", "type": "current", "address": "0x400201" },
      { "name": "Irms L2", "reg_type": "group_single", "type": "current", "address": "0x400202" },
      { "name": "Irms L3", "reg_type": "group_single", "type": "current", "address": "0x400203" },

      { "name": "Frequency", "reg_type": "group_single", "type": "value", "address": "0x400D01" },
      { "name": "Voltage angle L1-L2", "reg_type": "group_single", "type": "value", "address": "0x400B01" },
      { "name": "Voltage angle L2-L3", "reg_type": "group_single", "type": "value", "address": "0x400B02" },
      { "name": "Voltage angle L3-L1", "reg_type": "group_single", "type": "value", "address": "0x400B03" },

      { "name": "PF L1", "reg_type": "group_single", "type": "value", "address": "0x400701" },
      { "name": "PF L2", "reg_type": "group_single", "type": "value", "address": "0x400702" },
      { "name": "PF L3", "reg_type": "group_single", "type": "value", "address": "0x400703" },
      { "name": "Total PF", "reg_type": "group_single", "type": "value", "address": "0x400704" },

      { "name": "Serial", "reg_type": "group_single", "type": "value", "address": "0x500301" }
    ]
  }
}

Как это выглядит в Wiren Board

После расширения шаблона в интерфейсе видны энергия, мощность, напряжения, токи, частота, углы и коэффициент мощности. Это эксплуатационный мониторинг, а не измерение соответствия нормам качества электроэнергии.

Расширенный список параметров Energomera CE301 в интерфейсе Wiren Board: энергия, мощность, напряжения, токи, частота и PF
Расширенный вариант: кроме тарифов доступны измеряемые параметры по фазам. Строка с серийным номером намеренно не публикуется.
Базовый список параметров счётчика CE301 в Wiren Board: энергия по тарифам и мощность по фазам
Базовый вид: общий расход, значения T1/T2 и мощность по фазам. Соответствие T1/T2 дневной и ночной зонам определяется тарифным расписанием конкретного счётчика.

Что получилось в итоге

  • Учёт: общая энергия и значения по тарифам T1/T2.
  • Анализ по фазам: мощность, напряжение, ток на L1/L2/L3.
  • Наблюдение за сетью: частота, PF и углы фаз.
Если что-то не читается
Начните с физики: A/B, отдельное питание интерфейса 9–12 В и общий провод. Затем проверьте параметры порта и системный адрес. Только после этого меняйте JSON-шаблон.

Источники