Счетчик импульсов 1-WIRE.

В арсенале системы SYREMO появился новый датчик. Это счетчик импульсов. С помощью этого датчика появляется возможность мониторинга актуальных параметров. Счетчик посчитывает импульсы и из полученного количества импульсов можно высчитать необходимый нам параметр, например объем воды, количество электроэнергии, количество осадков, скорость ветра, скорость вращения и т. п.

Загрузка...
Загрузка...
Загрузка...
Загрузка...

Для примера рассмотрим реализацию счетчика в одном из проектов.

Счетчик импульсов 1-WIRE.
Счетчик импульсов 1-WIRE.

Задача стоит подсчитать полученное количество энергии от теплового насоса. Для расчета этого параметра нам необходимо знать три величины: температура теплоносителя до и после теплового насоса и объем теплоносителя проходящий через тепловой насос. Температуры получим от термодатчиков. В трубопровод системы отопления врезаем датчик расхода воды. При протекании через датчик воды, он генерирует импульсный сигнал. Эти импульсы мы и посчитаем нашим счетчиком. Зная количество импульсов в литре воды посчитаем объем протекаемой жидкости. Высчитаем получаемую мощность по формуле.

На персональной странице мониторинга можно смотреть текущее значение мощности, полученную от нашего теплового насоса. На странице ГРАФИКИ автоматически построятся графики изменения мощности. Также можно настраивать SMS или e-mail оповещения при выходе значения мощности за указанные границы или настраивать логические условия с этим параметром.

Таким образом можно мониторить мощность твердотопливного котла или солнечного коллектора.

Возможны и другие применения счетчика импульсов. Например подсчитывать количество вспышек лампочки на электронном бытовом электросчетчике. И у вас появится возможность следить за потреблением электроэнергии, недопустить превышения лимита, определять время пиковых нагрузок, получать оповещения о перерасходе электроэнергии и т. п. Это также относится к счетчикам холодной и горячей воды.

Некоторым интересно знать скорость ветра на улице перед прогулкой.

Пример кода для микроконтроллера для чтения счетчика по шине 1-wire:

w1_init(); //reset
w1_write(0x55);
w1_write(rom_codes[devices][0]); //для счетчика rom_codes[0]=0x20
w1_write(rom_codes[devices][1]); //для счетчика rom_codes[1]=0x11
w1_write(rom_codes[devices][2]); //для счетчика rom_codes[2]=0x11
w1_write(rom_codes[devices][3]);
w1_write(rom_codes[devices][4]);
w1_write(rom_codes[devices][5]);
w1_write(rom_codes[devices][6]);
w1_write(rom_codes[devices][7]);
w1_write(0xAA);
w1_write(0x00);
w1_write(0x00);
crc=0;counter=0;
read1=w1_read();crc=crc8(crc,read1);
counter=counter+read1*16777216; //вычисление значения счетчика
read1=w1_read();crc=crc8(crc,read1);
counter=counter+read1*65536; //вычисление значения счетчика
read1=w1_read();crc=crc8(crc,read1);
counter=counter+read1*256; //вычисление значения счетчика
read1=w1_read();crc=crc8(crc,read1);
counter=counter+read1; //вычисление значения счетчика
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read();crc=crc8(crc,read1);
read1=w1_read(); //чтение crc от датчика. read1 должно быть равно crc

Так выглядит график производительности циркуляционного насоса в системе отопления.

Счетчик импульсов 1-WIRE.

Умножив производительность протока теплоносителя на удельную теплоемкость воды и на разность температур подачи и обратки нагревательного агрегата, можно получить производимую им мощность. Тогда график мощность будет иметь следующий вид.

Счетчик импульсов 1-WIRE.