Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Подключение esp8266 к счетчику электричества

Тема в разделе "Умный дом", создана пользователем vad7, 25 май 2016.

Метки:
  1. vad7

    vad7 Авторитетный участник сообщества

    Сообщения:
    398
    Симпатии:
    48
    Данные (импульсы) снимаются со счетчика электроэнергии посредством подключения либо импульсному выходу или на светодиод счетчика навешивается фототранзистор.
    Данные отправляются на облачный сервер и записываются во FRAM память, для защиты от пропадания питания.
    FRAM память можно использовать или I2C или SPI.
    Если SPI, то используется overlap - память припаивается поверх основного флеша на модуле esp.
    Отображение информации, графики - через web.

    Количество считанных импульсов сохраняется в энергонезависимою FRAM память.
    В ней также сохраняется кольцевой лог потребленной энергии за каждую минуту. Минуты с нулевыми значениями импульсов "архивируются", чтобы больше данных влезло.

    Если FRAM - I2C, то программный флеш работает на частоте 80 Mhz, а если SPI, то на 40 Mhz. Это связано с режимом SPI overlap.
    Особого замедления отображения веб страниц я не заметил.

    У esp8266 есть две шины SPI - которые называются SPI и HSPI.
    SPI используется процессором для доступа к флешу с прошивкой, HSPI может использоваться для других устройств.
    Встроенный SPI буфер у esp8266 - 64 байта.
    В режиме SPI overlap возможен доступ по одним и тем же линиям (MOSI,MISO,CLK) к трем устройствам, которые выбираются через CS0, CS1, CS2.
    CS0 - это программная флеш.

    Команда включения режима SPI overlap:
    Код (Text):
    1. SET_PERI_REG_MASK(HOST_INF_SEL, PERI_IO_CSPI_OVERLAP); // HOST_INF_SEL = 0x3ff00028
    Арбитр HSPI шины можно настроить волшебными командами так, чтобы он сам решал какое устройство в данный момент использовать и назначить программному флешу наивысший приоритет, чтобы работало кеширование кода (ICACHE).
    Код (Text):
    1. SET_PERI_REG_MASK(SPI_EXT3(SPI),0x1);
    2. SET_PERI_REG_MASK(SPI_EXT3(HSPI),0x3);
    3.  
    Вот эти команды включают для HSPI только линию CS2:
    Код (Text):
    1. CLEAR_PERI_REG_MASK(SPI_PIN(HSPI), SPI_CS2_DIS);
    2. SET_PERI_REG_MASK(SPI_PIN(HSPI), SPI_CS0_DIS | SPI_CS1_DIS);
    3.  
    В режиме overlap есть ограничения по частоте SPI - если программная флеш работает на частоте SPI равной 80 Mhz, то и другие SPI устройства должны работать на той же частоте.
    Либо нужно программную SPI установить в 40 Mhz, тогда можно будет использовать свои устройства на 40 Mhz и ниже.


    Исходник: GitHub - vad7/PowerMeter: Esp8266 Power meter with webserver

    screen1.jpg

    screen2.jpg

    PowerMeter-SPI.jpg
     
    Последнее редактирование: 25 май 2016
    snus, Scorpio, edgi и 7 другим нравится это.
  2. alexpika

    alexpika Новичок

    Сообщения:
    83
    Симпатии:
    4
    Очень нужная вещь!
    а коротко для чайников: куда к счетчику подключается и какими проводами. Можно с картинкой?
    и питание как берёт?
     
  3. vad7

    vad7 Авторитетный участник сообщества

    Сообщения:
    398
    Симпатии:
    48
    Схема, которая сверху - фототранзистор прикладывается к светодиоду счетчика.
    Питание - любой БП выдающий 3.3V и ток не ниже 0.5А.
    Я использую, например, такой TSP 03 заменить HLK PM03 AC DC 220 В до 3.3 В Шаг Вниз Бэк Модуль Питания Интеллектуальные Бытовые Переключатель Конвертер купить в магазине GREAT WALL Electronics Co., Ltd. на AliExpress

    Если доступны контакты счетчика (не опечатан еще) - то фототранзистор убирается, а импульсный выход [+] к GPIO3, [-] на землю.

    Щас вот начал писать код для подключения к счетчикам Меркурий 230, 231 через IrDa интерфейс - можно больше инфы получить.
     
    Последнее редактирование: 17 дек 2016
    edgi нравится это.
  4. alexpika

    alexpika Новичок

    Сообщения:
    83
    Симпатии:
    4
    и взято с оригинала : Мелкая придирка: ты kWt и kWt*h не попутал?
     
  5. vad7

    vad7 Авторитетный участник сообщества

    Сообщения:
    398
    Симпатии:
    48
    Киловаты в час, естественно.
     
  6. edgi

    edgi Новичок

    Сообщения:
    46
    Симпатии:
    4
    Здравствуйте, спасибо что начали эту тему. Расскажите как дела у Вас обстоят со счетчиками Меркурий 230, 231 через IrDa? Сам изучаю эту тему хочу на счетчик поставить и снимать показатели удаленно, а то как то накладно за город ездить ради показаний счетчика.
     
  7. grafalex

    grafalex Новичок

    Сообщения:
    17
    Симпатии:
    0
    Здравствуйте. Тоже интересуюсь установкой ЕСП к счетчику. Хочу поизучать Ваш проект.
    Но в репозитории столько всего навалено.... Где именно нужно смотреть на часть снятия показаний по моргулькам?
     
  8. Slava_T

    Slava_T Новичок

    Сообщения:
    2
    Симпатии:
    0
    Добрый день!

    до IRDA пока не добрался...

    сделал считывание по RS-485 счётчика Меркурий 230...
    сейчас захотел сделать переход WiFi-RS485...

    для удалённого считывания можно поставить на счётчик переходник RS-485-GSM например IRZ и 2-й модуль к компьютеру дома, и также нужна соответствующая симка с CSD-каналом...
     
  9. edgi

    edgi Новичок

    Сообщения:
    46
    Симпатии:
    4
    Дело в том что порт на счетчике уже запечатан пломбой. Остался светодиод и irda. По этому заинтересовался вашему сообщению по изучению этой технологии считывания.
     
  10. Slava_T

    Slava_T Новичок

    Сообщения:
    2
    Симпатии:
    0
    понял...
    тогда надо прийти с IRDA на GSM...
     
  11. Urbas81

    Urbas81 Новичок

    Сообщения:
    66
    Симпатии:
    0
    Если вместо FRAM через overlap поставить SD карту, которая сейчас работает на HSPI, может такая связка быть работоспособной?
     
  12. vad7

    vad7 Авторитетный участник сообщества

    Сообщения:
    398
    Симпатии:
    48
  13. Alex152

    Alex152 Новичок

    Сообщения:
    2
    Симпатии:
    0
    @vad7, Добрый день! Очень актуальная для меня тема. Осваиваю ESP8266 поэтапно и хочу повторить Ваш проект. Интересует реализация с I2C FRAM-памятью, счет импульсов предполагается производить подключением к импульсному выходу счетчика. Программирование знаю на уровне asm для PIC, в WEB-программировании познаний практически нет, так что прошу не судить строго :)
    Первый вопрос - какие файлы из репозитория надо залить, чтобы ESP-01 ожила и появился WEB-интерфейс? Чем и как шить - знаю :)
     
  14. Alex152

    Alex152 Новичок

    Сообщения:
    2
    Симпатии:
    0
    Сам спросил, сам отвечаю :) :
    Залил все bin из readme.txt кроме тех, в названии которых SPI (или их тоже надо было?).
    Появилась точка доступа, подключился, в браузере зашел в web, посмотрел менюшки, некоторые просят пароль\логин (какие они?). Что дальше? Подключать FRAM и пользоваться или что-то еще надо пилить?
     

Поделиться этой страницей