Licznik G-M : XR-1

Opis rozbudowy urządzenia XR-1 o kontroler ESP8266

Opis rozbudowy fabrycznego urządzenia XR-1. Dodanie modułu ESP8266, który umożliwi komunikację WiFi a przez to gromadzenie na zdalnym serwerze i prezentację ciągłych pomiarów w długim okresie.

Dostępny popularny zgrabny licznik Geigera XR-1, który zliczy każdą cząstkę jonizującą. Jest odporny na zakłócenia i nie reaguje na ultrafiolet. Co dalej ? Pomiary chwilowe są możliwe i wygodne. Pomiary monitorujące już nie. Ten przyrząd nie ma komunikacji ze światem.

scianka tylna z miejscem na baterie

Tylna ścianka obudowy XR-1 zawiera miejsce na baterie 3xAA. Tam zmieścił się ESP8266 D1 mini

Schematy połączeń dodatkowego układu do XR-1

schemat połączeń wersji z OLED i termometrem – przewody skierowane w dół są do podłączenia z punktami A B C przyrządu XR-1

Wersja minimum, zlicza impulsy i „naciska” klawisz [L] – przewody skierowane w dół są do XR-1

Gdzie się podłączyć ?

Miejsca gdzie przylutować druciki oznaczono A B i C

Obraz oscyloskopowy sygnału w punkcie C.

miejsca lutowań drucików do klawiszy L i ON. Drucik z klawisza ON podłącz do masy – ja to zrobiłem przez mikrowyłącznik.

Galeria fotografii własnych

Środowisko programistyczne

  • Wykorzystałem jak na razie bezpłatny system Tasmota, którą bardzo łatwo wgrywa się i to on-line ze strony: https://tasmota.github.io/install/ TASMOTA zapewnia obsługę MQTT co jest pomocne do komunikacji ze światem.
  • Tasmota za pomocą protokołu mqtt wymienia dane z serwerem nazywanym też brokerem moquitto ( opis moquitto )
  • Środowisko on-line jakim jest NodeRed też komunikuje się z mosquitto analizuje i filtruje dane dane, które wysyła do bazy danych MySQL.
  • Teraz pozostaje udostępnić wykresy czyli zrobić stronę www ze skryptami PHP oraz Jawy.

Konfiguracja Tasmota

wersja bez termometru i wyświetlacza. Tasmota ma możliwość uruchamiania skryptów, które musimy wykorzystać. Dla potrzeb zerowania licznika działa rule1 o treści:

rule1

on tele-counter#c1 do
counter1 0
endon
on tele-counter#c1 do
power1 1
endon

power1 1 steruje klawiszem L (rozwiera)

wersja OLED Tasmota od 2025

wersja z OLED i termometrem DS18b20 wymaga zdefiniowania Rule1 i Rule3.

Rule1

on tele-counter#c1 do
counter1 0
endon
on tele-counter#c1 do
if (VAR2<4) power1 TOGGLE; VAR2=VAR2+1 endif
endon
on tele-COUNTER#C1 do
DisplayText Licznik %value%
endon
on tele-DS18B20#temperature do
if (VAR1<5) displaymode %VAR1%; VAR1=VAR1+1 else VAR1 1 endif
endon
on System#Boot do
Backlog VAR1=3; power1 0; VAR2 0; power2 1
endon

Power2 i Toggle2 są virtualne i związane z wyświetlaczem OLED. Impulsy są podawane na GPIO13 (D7). Counter_n oznacza, że pin jest bez wewnętrznego rezystora podciągającego (internal pull-up resistor).

Regulacja czułości licznika eliminująca zakłócenia polega na określeniu minimalnego czasu pomiędzy kolejnymi impulsami: CounterDebounce 1 ms.

Rule3 musi być takie rozbudowane i nie powinno być aktywne bo wykonuje go [ Option A3 ]. Tak uaktywnia się uDisplay driver dla Oled Display w nowej Tasmota.

Rule3 :H,SSD1306,128,64,1,I2C,3c,,,* :S,0,2,1,0,30,20 :I AE D5,80 A8,3F D3,00 40 8D,14 20,00 A1 C8 DA,12 81,9F D9,F1 DB,40 A4 A6 AF :o,AE :O,AF :A,00,10,40,00,00 :i,A6,A7 #

więcej na: tasmota.github a konkretnie: copy RULE 3