Strona 1 z 11

8 x DS na ESP

: pn paź 29, 2018 8:15 pm
autor: wojtas567
Na początek muszę powiedzieć, że nie jest to jeszcze ideał ale działa :) przynajmniej na biurku
a teraz do rzeczy.
Udało mi się poprawić i dodać kilka drobiazgów dzięki którym 8 czujników DS działa.
W załączeniu soft który na początku odczytuje do 8 czujników i podaje takie informacje:
  • czy czujnik/czujniki są zasilane pasożytniczo
  • adresy urządzeń
  • rozdzielczość (o tym później za chwilę)
  • no i temperatury z poszczególnych DS
Oczywiście działa opcja aktualizacji przez www

Po odczytaniu adresów najlepiej przepisać je do linijek jak poniżej:
DeviceAddress jeden = { 0x28, 0xFF, 0xE8, 0x00, 0xB6, 0x16, 0x03, 0x65 };

na początku skieczu opisałem też co należy usunąć jak już wpiszemy wszystkie adresy.

Teraz trochę informacji o tym co to jest "rozdzielczość" odczytu czujników DS.

Dla 9 bitów są 2 podziałki między kolejnymi stopniami: 0,0 0,5
Czyli możemy odczytać temperaturę z rozdzielczością 0,5 °C. Dla tej rozdzielczości czas pomiaru wynosi 93,75 ms. Czyli możemy wykonywać 10,6 pomiarów na sekundę.

Dla 10 bitów są 4 podziałki między kolejnymi stopniami: 0,0 0,25 0,5 0,75
Tu odczytujemy temperaturę z rozdzielczością 0,25 °C. Czas pomiaru dla tej rozdzielczości wynosi 187,5 ms, co pozwala na 5,3 pomiarów na sekundę

Dla 11 bitów jest 8 podziałek między kolejnymi stopniami: 0,0 0,125 0,25 0,375 0,5 0,625 0,75 0,875
Czyli rozdzielczość wynosi 0,125 °C Czas pomiaru dla tej rozdzielczości wynosi 375 ms. co pozwala na 2,6 pomiaru na sekundę.

Dla 12 bitów jest 16 podziałek między kolejnymi stopniami: 0,0 0,0625 0,125 0,1875 0,25 0,3125 0,375 0,4375 0,5 0,5625 0,625 0,6875 0,75 0,8125 0,875 0,9375
Czyli rozdzielczość jest na poziomie 0,0625 °C Czas pomiaru wynosi w tym przypadku 750 ms, czyli możesz dokonać 1,3 pomiaru na sekundę.

Standardowo DS jest ustawiony na 12 bitów i w zasadzie jeden pomiar na ok 1 sekundę to teoretycznie ESP daje radę razem z SUPLĄ ale,
pytanie czy nam jest potrzebna taka dokładność? schodząc do 10 bitów odczyt z czujników jest już na poziomie zadowalającym ni najważniejsze działa odczyt z 8 czujników.

Druga sprawa i tu zwracam się z pytaniem i prośbą o pomoc odnośnie pętli odczytu czujników, zauważyłem, że funkcja
sensors.requestTemperatures();
odczytuje wszystkie czujniki na raz i w zasadzie wystarczyło by teraz te dane rozesłać na poszczególne kanały, w programie natomiast jest tak, że odczyt z czujników jest 8 razy a to spowalnia wyświetlanie pomiarów.
Na dzień dzisiejszy nie potrafię tego w SUPLI zmienić, ale może komuś się to uda.

*************************
Zmodyfikowałem odczyt i wysyłkę z DS odczyt jest tylko raz a potem wysyłka i faktycznie różnica jest widoczna :).
Dzięki Espablo za podpowiedz.

Re: 8 x DS na ESP

: wt paź 30, 2018 4:34 pm
autor: PioKar
Jak ja bym chciał dostać łopatologię do odczytania adresów i wgrania na "coś co zadziała".
Naprawdę Was szanuję :)

Re: 8 x DS na ESP

: wt paź 30, 2018 4:51 pm
autor: slawek
Adresy odczyta ci po starcie i wyświetli w konsoli - potwierdzam - działa...

Re: 8 x DS na ESP

: wt paź 30, 2018 4:52 pm
autor: wojtas567
Wgraj soft przez arduino, włącz terminal i adresy Ci się wyświetlą.
w takiej postaci : 28371BCB050000E2 a trzeba zmienić na postać jak poniżej

Kod: Zaznacz cały

DeviceAddress osiem = { 0x28, 0x37, 0x1B, 0xCB, 0x05, 0x00, 0x00, 0xE2 }; 

Re: 8 x DS na ESP

: wt paź 30, 2018 5:00 pm
autor: Espablo
A testowałeś tak, raz uruchomić

Kod: Zaznacz cały

sensors.requestTemperatures() 
I potem odczytywać stany z poszczególnych czujników np tak

Kod: Zaznacz cały

t1= sensors.getTempC(jeden);
t2 = sensors.getTempC(dwa);
itd... 

Re: 8 x DS na ESP

: wt paź 30, 2018 5:09 pm
autor: wojtas567
Trochę inaczej w sumie podobnie ale wtedy jest tylko jeden odczyt przy starcie i już koniec ale sprawdzę tą kombinację.

Re: 8 x DS na ESP

: wt paź 30, 2018 5:21 pm
autor: Espablo
Tak sobie jeszcze myślę, że z tymi adresami to trochę kłopot jest. Możesz zrobić tak że na początku tworzysz pustą tablicę adresów w eepromie. W setup sprawdzasz czy tablica jest pusta. Jeśli tak, to sprawdzasz adresy czujników i zapisujesz do tablicy. Potem tylko odnosisz się już do adresów w tablicy. Gdy tablica będzie już zapisana to już nie odczytujesz adresów.
Można jeszcze dołożyć jakąś funkcję gdy będziesz chciał wymienić czujnik na nowy. Zerowanie tej tablicy lub jeszcze inaczej.

Re: 8 x DS na ESP

: wt paź 30, 2018 5:34 pm
autor: bulek68
Zielony jestem więc wybaczcie:
Rozumem że 8xDS to na jednym GPIO?
Czy nie łatwiej jest ogarnąć multipomiar wykorzystując różne GPIO?

Wiem, wiem takie rozwiązanie pozwala użyć w zasadzie każde urządzenie oparte o esp8266. Ale z drugiej strony taki wemos majątku nie kosztuje a ma wprowadzone kilka GPIO.

Jeśli coś porecilem proszę bez nagonki 😅

Re: 8 x DS na ESP

: wt paź 30, 2018 5:45 pm
autor: Zari
Panowie kombinujcie kombinujcie :D Ja w te klocki za słaby jestem a potrzebuję dla znajomego pomiar temperatury z kilku czujników.
Wgrałem mu już raz soft od Zybiego ale niestety był on dla konkretnego nodemcu i 8 sztuk DS18b20 to za mało ;)
Nadmienię że poza tym że soft był kompilowany dla konkretnego ESP8266 adresy czujników nie miały znaczenia, przynajmniej z punktu widzenia użytkownika.

8 DS na jednym GPIO nie jest raczej problemem. Problem leży w połączeniu z Suplą, tak mi się przynajmniej wydaje.
Ostatnio wgrałem sobie soft z elektrody https://www.elektroda.pl/rtvforum/topic3357545.html i na thingspeak ładnie idzie odczyt z 3 DS na jednym GPIO.

Re: 8 x DS na ESP

: wt paź 30, 2018 5:49 pm
autor: slawek
Zari pisze:
wt paź 30, 2018 5:45 pm
... adresy czujników nie miały znaczenia, przynajmniej z punktu widzenia użytkownika.
A co będzie gdy jeden się uszkodzi/odetnie?
A z adresami wiesz, który zaszwankował lub zginął