Автор Тема: Измерение тока и напряжения INA226  (Прочитано 87 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Александр

  • Модератор
  • *****
  • Сообщений: 137
  • Репутация: 1
  • Мощность альтернативной энергоустановки: 800
Ну а раз уж жрать куктусы - то по полной :)
Решил я поковыряться во внутренностях этого проекта и закончилось все плагином для INA226. Правда, мне было лень оформлять свой плагин, а плагин для INA219 мне не нужен, да и вообще я его счел не очень удачно написанным. В общем, переписал под свои нужды.
Все реально нужные параметры настраиваются из вэб морды.
Собранная прошивка во вложении.

PS частота контроллера увеличена до 160 мГц - заметно отзывчивей.
Прошивка собрана без затирания области настроек, возможно, предварительно придется прошиться штатной ESPEasy/

Просто начальный набросок правила для счетчика энергии.
Положу его здесь - пусть полежит.
On System#Boot do    //When the ESP boots, do
   timerSet,1,1      //Set Timer 1 for the next event in 10 seconds
 endon
On Rules#Timer=1 do
   //repeat after 1 seconds
   timerSet,1,1
   taskvalueset 2,1,[Counter1#Var1]+1
endon
« Последнее редактирование: 17 Март 2019, 00:43:27 от Александр »

Оффлайн Александр

  • Модератор
  • *****
  • Сообщений: 137
  • Репутация: 1
  • Мощность альтернативной энергоустановки: 800
Re: Измерение тока и напряжения INA226
« Ответ #1 : 21 Март 2019, 17:07:00 »
От использования правил отказался, т.к. в правилах таймер прибавляет около 1с к установленному времени и неизвестно, насколько стабильно это делает.
Код счетчика реализовал в самом плагине, кстати, при перезагрузке ESP показания счетчика не сбрасываются, при этом сохраняются с частотой 1с и не протирают дырку во flash памяти модуля, т.е. хранятся не там.
В области RTC ESP8266 они тоже не хранятся (а очень жаль) по причине того, что в модуле ESP-12F, как и в прочих китаемодулях, питание RTC чипа не разведено. Пропадают 512 байт практически энергонезависимого ОЗУ. Пусть разработчики модулей за это вечно горят в аду. Так вот, значение хранится не в области flash и не в области RTC. Не подключены к устройству и внешние микросхемы памяти - даже какая-нибудь стойкая i2c EEPROM "протрется" насквозь при переписывании каждую секунду через 11 дней. 1 000 000 перезаписей / 60с. / 60 минут / 24 часа = 12 дней.
Так где же хранится значение счетчика? Пусть это пока остается интригой.  ;)
На данный момент не реализован сброс счетчика по требованию.
Многозоновый учет можно реализовать правилами, если кому-то для чего-то он понадобится.
На снимке экрана реальная работа. Напряжение берется с USB<->UART переходника, а ток с лабораторного ИП. В качестве шунта стандартный для модулей с Али резистор 0,1Ом, а в настройках выбран шунт 50А, поэтому видим ток в 53А при реальных 0,8А. Так счетчик быстрее считает :)

 

Яндекс.Метрика