POWER MONITOR на Arduino

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
Kod.Begemot
Сообщения: 358
Зарегистрирован: Чт июн 20, 2013 5:53 pm
Благодарил (а): 32 раза
Поблагодарили: 42 раза

Re: POWER MONITOR на Arduino

Сообщение Kod.Begemot » Пт фев 12, 2016 10:58 pm

Хех... это ж какие возможности открываются!
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: POWER MONITOR на Arduino

Сообщение pastry777 » Пт фев 12, 2016 11:10 pm

однозначно,но есть один большой минус,это все в пределах одного щитка,на много метров это не работает...хотя на сколько не знаю...
но уверен,ибо не было бы модулей RS485 для ардуин....
дальше уже нужно смотреть в именно сторону RS485,хотя его суть все равно на основе SoftwareSerial...
именно поэтому дальнейшие мои планы,это освоить передачу данных на 2.4Ггц на модулях NRF2401,давно они у меня уже пылятся,ждут своего часа=)
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Сб фев 13, 2016 9:11 am

короче,ребята,это гениально!!=))все сработало!любопытство победило и я присоединил второй слейв...просто назначил ему другой адрес,ну и с мастера обращался по очереди сначала к одному,потом ко второму и получал значения и с одного и со второго))мелочь,а приятно...
На этой шине в АМС висят часы. Ваше изобретение совместимо с другими устройствами? Будет ли это работать параллельно с другими устройствами?
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Сб фев 13, 2016 9:38 am

Громадное спасибо!!Просто прежде чем городить огород хотелось услышать про устойчивость системы передачи данных.(По сетке,сериалу или по-другому). Я только подхожу к реализации умного дома.Уже реально работает блок РМ для котельни с градусниками и мотором,но с индикацией на LCD на I2C.Плюс на шине будет сидеть внешний EEPROM. А дальше по такому блоку в каждый "тяжелый" девайс-стиралку,сушилку,бойлер....Все данные отображаются на своей страничке.....мечты...мечты...
Так что одной меги катастрофически не хватает.
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: POWER MONITOR на Arduino

Сообщение pastry777 » Сб фев 13, 2016 11:03 am

Alex писал(а): На этой шине в АМС висят часы. Ваше изобретение совместимо с другими устройствами? Будет ли это работать параллельно с другими устройствами?
мне,конечно,очень приятно,но к сожалению,изобретение не мое=))...просто,вероятно,среди нас AMSшников я первый это попробовал в практике..а так то для этого шина i2c и разработана...
немножко не понял про "другие устройства"...
а в целом,конечно,у меня так и работает в моем проекте и часы и про мини сидит на шине,ну вот пару постов выше еще одну дуинку подсоединял,все работает...с часами мы работаем через библиотеку и если в ней поколупаться,то наверняка найдем,что обращаемся к ним мы по адресу(просто он на всех часах один и тот же)...загрузите скетч i2c-сканер,подключите часы и вы увидите,что на самом деле ардуина найдет два устройства(ну,это что касается заводских часов DS1307 и DS3231),первое это часы,а второе-eeprom 24c32(c которой я работаю на due)....
так и живем...
СпойлерПоказать

Код: Выделить всё

////////////////////////////////////
//      I2C SCANER
////////////////////////////////////

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 1; address < 127; address++ ) 
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");

      nDevices++;
    }
    else if (error==4) 
    {
      Serial.print("Unknow error at address 0x");
      if (address<16) 
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(5000);           // wait 5 seconds for next scan
}
 
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Сб фев 13, 2016 12:24 pm

мне,конечно,очень приятно,но к сожалению,изобретение не мое=))...просто,вероятно,среди нас AMSшников я первый это попробовал в практике..а так то для этого шина i2c и разработана...
немножко не понял про "другие устройства"...
а в целом,конечно,у меня так и работает в моем проекте и часы и про мини сидит на шине,ну вот пару постов выше еще одну дуинку подсоединял,все работает...с часами мы работаем через библиотеку и если в ней поколупаться,то наверняка найдем,что обращаемся к ним мы по адресу(просто он на всех часах один и тот же)...загрузите скетч i2c-сканер,подключите часы и вы увидите,что на самом деле ардуина найдет два устройства(ну,это что касается заводских часов DS1307 и DS3231),первое это часы,а второе-eeprom 24c32(c которой я работаю на due)....
так и живем...
При случае можно будет воспользоваться. Как я понял, это для специфического случая, когда два контроллера находятся рядом.
pastry777
Сообщения: 81
Зарегистрирован: Пт окт 02, 2015 7:47 pm
Благодарил (а): 7 раз
Поблагодарили: 4 раза

Re: POWER MONITOR на Arduino

Сообщение pastry777 » Сб фев 13, 2016 12:46 pm

да,я тоже так думаю...если бы шина i2c работала на большие дистанции,это бы было крутое решение из "коробки",а так заморачиваются с rs485 и подобным..
serghei
Сообщения: 2575
Зарегистрирован: Пт ноя 06, 2015 10:22 am
Откуда: Кишинёв
Благодарил (а): 303 раза
Поблагодарили: 282 раза

Re: POWER MONITOR на Arduino

Сообщение serghei » Сб фев 13, 2016 9:03 pm

Вообще-то мне казалось что rs485 на техже rx-tx работает.На Али шилды 10$ мешок(20 штук).И до 32 машин можно связать.
И уж если мы мониторим сеть и мощность,то святое ещё и киловатт-часы считать.А помножить на деньги сразу в местных
Тугриках).13 счетчиков на халяву-это жесть.В скетче выше реализован один,и сразу отпадает куча вопросов(где деньги,Зин..)
Там 10 строк кода и коряво выводится на экран,но с этим борюсь потихоньку.Если идея понравится Вам,то вопрос Алексу-может
интегрировать это в следующюю версию АМС ?
AMS : ESP32 + NRF24 + 1Wire-I2C мост DS2482 + счетчик DS2423 + сеть MySensors + редактирование страниц в браузере + Upload по воздуху + SPIFFS
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: POWER MONITOR на Arduino

Сообщение akouz » Сб фев 13, 2016 10:30 pm

pastry777 писал(а):если бы шина i2c работала на большие дистанции
Для шины I2C существуют специальные буферы, P82B96 и P82B715, с помощью которых расстояние можно увеличить до 20 м (при подтяжке к 5В) или даже до 100 м (при подтяжке к 12В).
I2C_extender.png
I2C_extender.png (24.52 КБ) 13024 просмотра
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: POWER MONITOR на Arduino

Сообщение Alex » Сб фев 13, 2016 10:53 pm

Алексу-может
интегрировать это в следующюю версию АМС ?
Общий принцип такой: вы публикуете здесь решение и каждый желающий может им воспользоваться. Как только у меня дойдут руки, то можно совместными усилиями интегрировать что-то в АМС.
Ответить