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

Предложение Измеритель мощности

Тема в разделе "Предложения о выполнении проектов на заказ", создана пользователем ale48666, 5 дек 2018.

  1. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    На базе ESP8266 ESP-12 , PZEM-004T и управляемого реле, сделать дистанционный мониторинг и накопление данных электросчётчиков в СНТ по WiFi путём ежемесячного обхода сомнительных участков. Считывать показания предполагается с предварительной селекцией из нескольких доступных в данный момент счетчиков. Интересует информация - ежемесячное потребление электричества с последующим анализом в EXCEL
    При необходимости ограничивать неплательщиков в потреблении. За работоспособную документацию (скетч, схема, консультация по настройке) для устаревшего электронщика с руками готов заплатить согласованную сумму АССИГНАЦИЯМИ. Сайт Измеритель мощности с WiFi, цветным дисплеем и логгером на базе PZEM-004T - самопал.pro моя "настольная книга", но пока на мониторе порта имею: v=0, a=0, p=0 и т.д., Rx и Tx перекрестил, Tx у PZEM-004T через R=10к подтянул к +5В.
     
    Последнее редактирование: 5 дек 2018
  2. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    Аттестовать прибор в Госрегистрации вряд ли удастся, а для отслеживания правлением потребления и последующей оплаты эл. энергии в СНТ я думаю очень может быть востребованным. Так что коммерческая перспектива весьма радужная. Но об этой стороне вопроса, я думаю, говорить пока преждевременно.
     
  3. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    Ну что ж давайте крошить "не убитого" медведя. Оцените стоимость проработки проекта. Для обмена конфиденциальной информацией, я в личку кину свой E-mail.
     
  4. CodeNameHawk

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.618
    Симпатии:
    180
    Попробуйте согласовать уровни, есп нравится 3.3в.
    Посмотрите, что нужно для начала измерения.
     
  5. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    nikolz,
    Куда посмотреть?
     
  6. nikolz

    nikolz Гуру

    Сообщения:
    4.753
    Симпатии:
    453
    про согласование не я написал
    если есть документация на модуль измерения дайте ссылку чтобы не искать
    посмотрю и скажу
     
  7. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
     
  8. nikolz

    nikolz Гуру

    Сообщения:
    4.753
    Симпатии:
    453
    надо запитать этот модуль от 3.3 и TX-RX RX-TX к ESP
    -----------
    уточняю
    цифровое питание сделать 3.3
    а аналоговое сделать 5
    -------------------------------------
    VDD Digital power supply 2.4 ...5.25 V
    AVDD Analog power supply 4.75 ... 5.25 V
    вот datasheet микросхемы которая в этом модуле:
    http://www.sdicmicro.com/DataSheet/SD3004 datasheet v0.2c.pdf
     
    Последнее редактирование: 5 дек 2018
  9. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
  10. CodeNameHawk

    CodeNameHawk Moderator Команда форума

    Сообщения:
    1.618
    Симпатии:
    180
    Начните с гоогла, как согласовать 5в с 3.3в
    Потом подключаете, как здесь описано olehs/PZEM004T
    И этот скетч загрузите в есп, установив эту библиотеку. olehs/PZEM004T
     
    ale48666 нравится это.
  11. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
     
  12. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
     
  13. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    Спасибо! Пошел переваривать :(
     
  14. nikolz

    nikolz Гуру

    Сообщения:
    4.753
    Симпатии:
    453
  15. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    #include <SoftwareSerial.h> // Arduino IDE <1.6.6
    #include <PZEM004T.h>
    PZEM004T pzem(10,11); // (RX,TX) connect to TX,RX of PZEM
    IPAddress ip(192,168,1,1);
    unsigned long LstRd =0;
    byte Ncycle = 1;
    #define RdDly 1000 // задержка мс между обращениями к PZEM004T
    void setup() {
    Serial.begin(115200);
    pzem.setAddress(ip);
    LstRd = millis();
    }
    void loop() {
    if (Ncycle == 1 && millis() - LstRd > RdDly)
    {
    Ncycle++; LstRd = millis();
    Serial.print("V=");
    float v = pzem.voltage(ip); if (v < 0.0) v = 0.0; Serial.print(v);
    Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    }
    if (Ncycle == 2 && millis() - LstRd > RdDly)
    {
    Ncycle++; LstRd = millis();
    Serial.print("I=");
    float i = pzem.current(ip); if(i < 0.0) i = 0.0; Serial.print(i);
    Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    }

    if (Ncycle == 3 && millis() - LstRd > RdDly)
    {
    Ncycle++; LstRd = millis();
    Serial.print("P=");
    float p = pzem.power(ip); if(p < 0.0) p = 0.0; Serial.print(p);
    Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    }

    if (Ncycle == 4 && millis() - LstRd > RdDly)
    {
    Ncycle = 1; LstRd = millis();
    Serial.print("E=");
    float e = pzem.energy(ip); if(e < 0.0) e = 0.0; Serial.print(e);
    Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    Serial.println();
    }

    }
    Выполнил все рекомендации, Esp(Tx)-Pzem(Rx) соедены через R=100Ом соответственно
    Pztm(Tx)-Esp(Rx) также соедены через R=100Ом, результат во вложениях.
     

    Вложения:

    Последнее редактирование: 6 дек 2018
  16. sharikov

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

    Сообщения:
    580
    Симпатии:
    52
    Любителям PZEM-004T желающим выжить
    стоит посмотреть на зазор до изолированных цепей оптронов.
    [​IMG]
    Безграмотным напомню что гальваническая изоляция от сети по самому мягкому классу должна выдерживать 2,5КВ что требует зазор не менее 5,25мм. Найдите его в PZEM-004T.
    Придурки которые разводили плату PZEM-004T забыли убрать заливку из под оптронов.
     
  17. nikolz

    nikolz Гуру

    Сообщения:
    4.753
    Симпатии:
    453
    вопрос какой?
    или нет вопросов.
     
  18. sharikov

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

    Сообщения:
    580
    Симпатии:
    52
    К вам нет.
    А вообще есть: когда наконец перестанут рекомендовать гумно, причем опасное для жизни гумно.
     
  19. nikolz

    nikolz Гуру

    Сообщения:
    4.753
    Симпатии:
    453
    вроде бы не вас спрашивал.
    -----------------------------
    Если вам рекомендуют посмотреть, это не означает что это надо кушать.
    Вы как дете малое. Все в рот тяните.
    -----------------------------
    посмотреть - это значить и анализировать, что смотрите, чтобы учиться как надо а как не надо делать.
    Шариков Вы наш.
     
    Последнее редактирование: 6 дек 2018
  20. ale48666

    ale48666 Новичок

    Сообщения:
    21
    Симпатии:
    0
    Код (Text):
    1.  
    2. #include <SoftwareSerial.h> // Arduino IDE <1.6.6
    3. #include <PZEM004T.h>
    4. PZEM004T pzem(10,11);  // (RX,TX) connect to TX,RX of PZEM
    5. IPAddress ip(192,168,1,1);
    6. unsigned long LstRd =0;
    7. byte Ncycle = 1;
    8. #define RdDly  1000  // задержка мс между обращениями к PZEM004T
    9. void setup() {
    10.   Serial.begin(115200);
    11.   pzem.setAddress(ip);
    12.   LstRd = millis();
    13. }
    14. void loop() {
    15.   if (Ncycle == 1 && millis() - LstRd > RdDly)
    16.   {
    17.   Ncycle++; LstRd = millis();
    18.   Serial.print("V=");
    19.   float v = pzem.voltage(ip); if (v < 0.0) v = 0.0; Serial.print(v);
    20.   Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    21.   }
    22.   if (Ncycle == 2 && millis() - LstRd > RdDly)
    23.   {
    24.   Ncycle++; LstRd = millis();
    25.   Serial.print("I=");
    26.   float i = pzem.current(ip); if(i < 0.0) i = 0.0; Serial.print(i);
    27.   Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    28.   }
    29.  
    30.   if (Ncycle == 3 && millis() - LstRd > RdDly)
    31.   {
    32.   Ncycle++; LstRd = millis();
    33.   Serial.print("P=");
    34.   float p = pzem.power(ip); if(p < 0.0) p = 0.0; Serial.print(p);
    35.   Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    36.   }
    37.  
    38.   if (Ncycle == 4 && millis() - LstRd > RdDly)
    39.   {
    40.   Ncycle = 1; LstRd = millis();
    41.   Serial.print("E=");
    42.   float e = pzem.energy(ip); if(e < 0.0) e = 0.0; Serial.print(e);
    43.   Serial.print(" ("); Serial.print(millis()- LstRd); Serial.print(") ");
    44.   Serial.println();
    45.   }
    46.  
    47. }
    48. [IMG]https://esp8266.ru/forum/data/attachments/6/6901-26ff61c0f414368b797b24c2c40b53a1.jpg[/IMG]
    49. [IMG]https://esp8266.ru/forum/data/attachments/6/6903-9bbbd88a761f9970a42f2d40d80ab8d4.jpg[/IMG]
     

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