Pomiar zużycia gazu

Podobnie jak w przypadku monitorowania zużycia prądu czy wody, kluczowy jest sam licznik. Licznik gazowy, dokładniej jego konstrukcja wychodzi na przeciw moim oczekiwaniom, gdyż zwykły kontaktron pozwala liczyć impulsy i tym samym monitorować poziom zużycia gazu.

Najlepsze jest to, że na liczniku jest specjalnie wydzielone miejsce, dokładniej rzecz biorąc, małe zagłębienie w obudowie doskonale pasujace do wymiarów zwykłego kontaktrona. Wystarczy przyłożyć go dokładnie i w momencie odliczenia przez licznik 0.01 m3 gazu obwód na kontaktronie się zakmnie dając tym samym jeden impuls potrzebny do pomiarów.

Przykład zliczania impulsów przy użyciu Arduino i buzzera

Schemat jest taki, że tak jak w przypadku podłącznia przycisku do Arduino tak samo należy podpiąć kontaktron. Podciągnąc go opornikiem 10k do pinu cyfrowego (np. 5) i gotowe.

int lastGazKontraktorState = 0;
int gazLicznikIndex = 0;

void setup() {

  Serial.begin(115200);
  Serial.println("Test zliczania impulsów licznika gazu");
  pinMode(5, INPUT);
}

void loop() {

  byte gazKontraktorState = digitalRead(5);
  if (gazKontraktorState != lastGazKontraktorState) {

    if (gazKontraktorState == HIGH) {
      gazLicznikIndex++;
      Serial.println("gazLicznikIndex");
      Serial.println(gazLicznikIndex);
    }
    lastGazKontraktorState = gazKontraktorState;
  }

}

Tak zliczane impulsy można trzymać w pamięci Arduino i w momencie wypchnięcia danych na serwer resetować licznik i liczyć od początku.

Rozwiązanie jest tak skuteczne jak i proste. Nie ma miejsca na niezlicznie lub nadmiarowe odczytanie jakiegoś impulsu, bo licznik działa dokładnie i równo. Szkoda marnować czas na jakieś inne metody typu OCR czy przepływomierz, gdyż akurat w przypadku licznika gazu jest to opytmalne rozwiązanie.


Opublikowano: 15 grudnia, 2020 przez Pan z Pogodna

Leave a Reply