Поиск

24 мая 2017 г.

Дистанционное снятие показаний электросчетчика, часть 2

Пришлось изменить прошивку считывателя показаний счетчика Меркурий 231 AT, заодно и упростилась схема.

Как оказалось, конвертеры UART - IrDA MCP2120 закупленные на aliexpress.com оказались подделкой.
У них на 9600 бод ширина ТХ импульса 1.5us вместо 20us, и в итоге передача не устойчивая бывает.

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



Чтобы заработал встроенный IrDA должны быть включены биты UART0_CONF0: UART_IRDA_EN, UART_IRDA_TX_EN,  UART_IRDA_RX_INV, UART_IRDA_DPLX.
Также нужно выключить подтяжку у RX пина.

Оказалось, в реализации IrDA в esp8266 два бага: глотает биты в четных байтах при блочной отправке и реальный baud rate ниже, причем только при отправке.



То есть, чтобы успешно использовать встроенный IrDA нужно писать в UART FIFO по 1 байту и повесить таймер на длительность байта + пауза между байтами.

Плюс одновременно увеличивать скорость UART на baud/15 перед отправкой блока данных и возвращать ее на место после.

Однако, все равно остается небольшая проблемка - между 7 и 8 битом интервал завышен:



Но счетчик это переваривает.
Если для вышеуказанного использовать стандартный ets_timer, то при активной передаче через wifi, паузы между байтами достигают нескольких миллисекунд.



ИК интерфейс счетчика Меркурий 231 AT при достижении паузы в 10ms начинает подвисать, поэтому, для надежности, используется NMI таймер.

Схема:
Вместо TFDU4100 нельзя использовать TFDU4101 - у него эхо.

Исходник тут:  https://github.com/vad7/PowerMeter-IrDA

12 комментариев:

  1. Здравствуйте. У меня в Меркурии нет инфракрасного порта... а если tx rx подать на микросхему pca82c250t(can шина) проект будет работоспособен?

    ОтветитьУдалить
  2. Добрый день!
    Хочу повторить Ваш проект, закупил все детали, в том числе MCP2120. Какую версию посоветуете собрать - с ним или без него?

    ОтветитьУдалить
    Ответы
    1. Добрый!
      у меня без него работает уже несколько лет норм.

      Удалить
    2. С ним будет более универсальна. Если захочешь залить другую прошивку, к примеру easyesp.

      Удалить
  3. За проект спасибо, давно искал такую реализацию. было бы интерна прошивка без fram, т.к. она весьма не дешевая.

    ОтветитьУдалить
  4. Здравствуйте, у меня такой же счетчик 231 at o1i, хотел бы приобрести у вас готовый комплект диспечеризации, как с вами связаться?

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      По электронной почте.

      Удалить
    2. Этот комментарий был удален автором.

      Удалить
  5. Добрый день, уважаемый vad7. У меня есть к Вам вопрос как уже вижу к специалисту.
    На предприятии у нас необходимо поставить 4шт электросчетчика по 380в, для анализа потребления с 4 точек.
    Можете посоветовать какие счетчики поставить и можно ли у вас приобрести готовое решение по диспетчеризации с подключением к этим счетчикам с выводом показателей, графиков и т.д.? Нужна аналитика по потреблению, от дельных участков (парогенераторная, прачечная и т.д.)
    P.S. почту вашу не смог найти куда писать...

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      По счетчикам не подскажу, готовых решений для промышленной автоматизации нет.

      Удалить
    2. Хочу сделать по вашему принципу.
      Подсказали электрики... На каждую фазу поставим трансформатор (TTC-DB - Трансформатор тока с разъемным сердечником) для понижения и подключим (например Меркурий 231 АТ). Дальше ESP8266 по вашим исходникам (я уже установил себе на ESP01 и ESP8266 для примера, все показывает, но без всей схемы... нет ни время ни опыта для этого...). Думаю что получиться. Первоначально нужно получить общие данные с парогенераторной где стоит 4шт котла по 200кВт каждый. Один общий счетчик, а второй на котёл который не давно отремонтировали для понимания его затрат в отдельности (или их вообще потом поменять на современные!). Котлам (американским) уже более 10 лет.
      Что скажите, получиться получить аналитику по такой схеме? Потом можно и Raspberry подключить как общий сервер для объединения всех в одно место и т.д. На ваших картинках мне понравился интерфейс со всеми данными и по разному оборудованию. Это МастерСкада?

      Удалить
  6. что-то тихо в данном чате...
    Может есть идеи у других участников?
    В инете есть подобные уже готовые предложения, но эта меня заинтересовала своей не зависимостью.

    ОтветитьУдалить