EXPANDER GSM „INTEGRAL+ ®” ® 2G – czujniki CT DS1820 / DS18B20 – dlaczego nie trzeba kupować tych po 29.00

TL;DR (wielki skrót)

Producent nadpisuje dwa bajty konfiguracji czujnika DS1820 na 0x44 0x53, aby sprzedawać urządzenia po 29.00zł, zamiast po 6.00zł. Zmieniając (w bardzo prosty sposób) te bajty w dowolnym czujniku – zacznie on poprawnie działać. To ustawienie nie ma żadnego związku z działaniem samego czujnika, jednak da się je odczytać i jeśli nie zgadza się z kodem ustawionym przez producenta – program pokaże błąd, pomimo faktycznego działania czujnika.

Podkład historyczny

Jakiś czas temu kupiłem sobie takie urządzenie: „Expander GSM INTEGRAL+”. Cena urządzenia – ciężko określić czy niska, czy wysoka, nie mniej jednak cena czujników temperatury na pewno z kosmosu.

Do urządzenia, według zapewnień producenta miały pasować wszystkie czujniki DS1820, dostępne na allegro za niecałe 6.00zł. Sam producent sprzedaje jednak ‚wybierane’ czujniki w cenie 29.00zł.

Niby prosta piłka – nikt nie każe nam kupować tych po 29.00, skoro pasują te po 6.00. Czy aby jednak na pewno?

„Moduł nie może podłączyć nowego czujnika CT”

2014-12-29 16.28.26

Próbowałem 10 czujników z 10 sklepów – jednak za każdym razem moim oczom ukazywał się ten sam błąd. Dla odmiany czujniki kupione w sklepie producenta działały poprawnie. Czy więc sprzedawca miał rację pisząc o ‚przebranych’ czujnikach?

Oczywiście, że nie

Pod tym adresem: http://www.systronix.com/Resource/ds1820.pdf znajduje się dokumentacja techniczna czujnika. Na stronie 8 opisane są bajty pamięci dostępne do odczytu / zapisu w EEPROMIE, a więc jedyne ‚trwałe’ ustawienia.

Było to więc jedyne miejsce, gdzie producent w prosty sposób mógł coś zapisać. Podłączając dowolne czujniki do urządzenia odczytującego (prod własna, na zdjęciach) – dziwnym trafem wszystkie czujniki dostępne na rynku zwracały domyślny kod (pierwszy wierz do kod urządzenia, drugi to scratchpad, 5 i 6, 7 i 8 znak to bajty konfiguracji)

0x4B 0x46

2014-12-29 16.51.55

podczas gdy czujniki sprzedawane do urządzenia – zwracały kod

0x44 0x53

2014-12-29 15.30.03

To oczywiście niekoniecznie musiała być przyczyna, jednak został wykonany…

Szybki test

Przy użyciu płytki z atmegą dwa bajty konfiguracji czujnika z dowolnego sklepu zostały ustawione na te odczytane z czujników od producenta. Potem zostało wykonane ‚Copy Scratchpad’ (opisane w dokumentacji) aby utrwalić ustawienie w EEPROMIE i czujnik został zamontowany do urządzenia „EXPANDER”.

Dziwnym trafem urządzenie poprawnie wykryło czujnik.

Zaprogramowane kolejne 5 czujników – o dziwo wszystkie wykrywane poprawnie.

Wszystkie czujniki kupione za 1/5 ceny zostały „ożywione” i urządzenie działa poprawnie.

DS1820 / DS18B20 / DS18S20

Smutna wiadomość dla posiadaczy DS18B20 – niestety urządzenie jest z nimi po prostu niekompatybilne – będzie pokazywało ujemne temperatury (wszystko przesunięte o 3 bity)

DS18S20 i DS1820 są teoretycznie identyczne – różnią się czasem pomiaru i sposobem jego wykonania, jednak format danych jest taki sam.

Jak zaprogramować DS1820 / DS18S20 aby działały z „EXPANDEREM”?

Wymagana jest podstawowa znajomość elektroniki oraz obsługi 1-Wire

Aby zaprogramować czujnik – należy podłączyć go samodzielnie (tylko jeden) do procesora i wykonać:

  1. Zapisanie danych:
    1. Reset
    2. Write SKIP_ROM
    3. Write 0x4E (polecenie Write ScratchPad)
    4. Write 0x44 (pierwszy bajt konfiguracji)
    5. Write 0x53 (drugi bajt konfiguracji)
  2. Utrwalenie danych
    1. Reset
    2. Write SKIP_ROM
    3. Write 0x48 (Copy ScratchPad)
    4. while(!ReadBit()); (poczekać aż linia się podniesie – zapis gotowy)

Gotowe.

W razie pytań zapraszam do kontaktu.

4 myśli nt. „EXPANDER GSM „INTEGRAL+ ®” ® 2G – czujniki CT DS1820 / DS18B20 – dlaczego nie trzeba kupować tych po 29.00

  1. mobax

    To prawda, że firma strasznie naciąga na akcesoriach i na przesyłce też.
    Sam użytkuję ich pierwsze dwa modele (NV33 i NV44). Mogę tylko dodać, że do NV33 pasują bezproblemowo 1820
    Jednak, ze względu na możliwości, cały czas kręci mnie właśnie INTEGRAL (tylko ta cena!)
    A dla Ciebie P.K. duże dzięki za informację, może kiedyś się przyda.
    Świetna robota, panie P.K.

    Odpowiedz
  2. Jasiek

    Całkowicie się zgadzam.Ja mam z kolei prosty Sim Ster 3.0
    Do niego też są czujniki CT za podobne i większe pieniądze. Nie wiem, czy moja wersja wymaga również czujnika cyfrowego czy podejdzie tam analog?
    Cena rynkowa 4,50, u nich albo 29 albo prawie 50 zł 🙁

    Odpowiedz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *