DS1820 i wlasny adres

May 30, 2006 19 Replies

Witam!



Mam urzadzenie w ktorym bede chcial mierzyc temperature w 16 punktach (cyfrowo oczywiscie :-) ). Po przekopaniu grupy wybralem powszechnie polecany ukladzik dallasa. sciagnalem sobie pdfa, poczytalem.



I tu pytanie: skad procek ma wiedziec ze dany pomiar pochodzi z konkretnego czujnika? (wiem ze kazdy czujnik ma swoj unikalny numer) Czy jakos samodzielnie mozna nadac kazdemu kolejny adres? Info z tyh pomiarow bedzie obrabiane przez 8051



Pozdrawiam, Krzysiek



No wlasnie stad... :-)

m.

nie mozna, trzeba wiedziec jakie maja adresy poszczegolne by sie orientowac "w terenie". Mozna odczytac je elektronicznie i cos tam napisane jest tez na obudowie :)

OK, w przypadku jednego urzadzenia moglbym robic tak: podlaczac 1 czujnik zczytywac adres->podlaczac 2 czujnik zczytywac 2 adres... itd. ale w moim przypadku to bedzie kilkanascie-kilkadziesiat urzadzen i taka robota jest pracochlonna. Moze mozna prosciej? Np. zaprogramowac n ds1820'ow adresem 1, nastepnie tyle samo adresem 2 itd... (n=ilosc urzadzen)

A moze wybrac inny czujnik?

Pozdrawiam, Krzysiek

Krzysiek napisał(a):

Jesli powiesisz je na jednej magistrali - nie da sie rozpoznac ktory czujnik ma jaki adres. Adresy sa wpisane w czujniki na stale, zmienic ich nie mozesz. Spisywanie dlugich adresow i numerowanie czujnikow tez jest robota glupiego...

Na szczescie jest taki fajny wynalazek jak eeprom w DS18B20 (1820 tez go chyba ma?). Co prawda sluzy on do czegos innego - np ustawienia i zapamietania granicznych temperatur uwazanych za alarmowe - ale jesli tego nie uzywasz - to mozesz do tych komurek wpisac co chcesz, a alarm ignorowac. Bierzesz worek czujnikow, dzielisz na 16 kupek, i kazdej kupce zapisujesz do eepromu numerek od 1 do 16, zaznaczajac jakos sobie na obudowie (moze farba? albo przylepne cos?)... Potem adresy czujnikow (te dlugie orginalne i niezmienialne) ignorujesz, a rozpoznajesz DSy po zawartosci komorek odpowiedzialnych za alarm (na przyklad).

I co wtedy - miec na skladzie setke roznych "podtypow" ?

Ten ktory sobie wybrales taki jest i basta.

Inne .. tylko jakie ? Bo albo beda analogowe i wymagaly A/C, kupy kabli i multipleksera, albo beda mialy przelacznik do ustawiania nr, albo bedzie ten sam klopot. No chyba ze cos polaczonego "szeregowo" - ale sobie nie przypominam takowych.

Jesli zostaniesz przy 1820 [a nawiasem pytajac .. one zadzialaja w ilosci kilkadziesiat sztuk ?] to powinienes pomyslec nad ulatwieniem roboty .. moze jakies zaciski do szybkiego "programowania", moze instalacja pod napieciem i sterownik w trybie "uczenia" ?

J.

(...)

Super dzieki :) i o to chodzilo

Pozdrawiam, Krzysiek

U¿ytkownik "BartekK" snipped-for-privacy@drut.org napisa³ w wiadomo¶ci news:e5h6io$o1u$ snipped-for-privacy@nemesis.news.tpi.pl...

mo¿na ewentualnie zczytaæ adresy a czujniki jedynie posegregowaæ (niestety równie¿ g³upiego robota, ale programowanie eepromów to te¿ dodatkowy k³opot). Procedura wykrywania adresów na magistrali mo¿e równie¿ odwo³ywaæ siê do kolejnych odnalezionych adresów. Jedyny powa¿niejszy problem to serwis - pó¼niej mo¿e nie byæ czujnika pasuj±cego adresem w miejsce zepsutego i trzeba bêdzie wymieniæ kilka.

entrop3r

Dzieki ale to troche za duza rzezba :-)

Krzysiek

BartekK napisał:

Ależ da się! Jest procedura, która pozwala po wykonaniu iluś tam kroków odczytanie ilości podpiętych do jednej linii urządzeń i ich adresy. Pisze o tym Dallas w jednym z PDFów. Programowanie tego w asemblerze byłoby wyjątkowo upierdliwe, ale widziałem też chyba gdzieś kiedyś jakąś gotową bibliotekę do tego celu.

Ale nadal nie wiesz ktory jest gdzie ..

J.

Dnia Tue, 30 May 2006 15:28:02 +0200, J.F. napisał(a):

Kein problem :) Ujmujemy w paluchi i już wiemy.

Pzdr Marcin Stanisz

Przy 30+ czujnikach w duzym obiekcie tez ? :-)

J.

krzych napisał(a):

Przeczytaj dokladnie co napisalem. Metode o ktorej piszesz znam, nijak sie nie ma ona do rozpoznania _ktory_ czujnik (fizycznie, np ten co go trzymam w rece) jaki ma adres i jako ktory kolejny bedzie on odnaleziony ta metoda. Ta metoda dowiesz sie jedynie ile masz czujnikow na magistrali i jakie maja adresy. Kolejnosc odnajdywania jest zwiazana z adresami ale nijak z polozeniem na magistrali.

Nie trzeba wszystkich na raz ujmować ;)

TP.

J.F. <jfox snipped-for-privacy@poczta.onet.pl> napisał(a): .. .. moze

I to jest właśnie najlepsze wyjście , czyli proste "uczenie" sterownika "who is who"."Inteligencja" powinna znajdować się w sterowniku , lub w głowie instalatora - najlepiej tu i tu.Bo co się stanie , jeśli fachowiec pojedzie do takiego sterownika np.200km i na miejscu okaże się , że DS z zapisaną 5 w eepromie , który jest akurat potrzebny , zastrajkował ? Musiałby wtedy taki pan , wozić ze soba przenośny programator DS-ów.Ja przerzucam wszystko na sterownik.

Piotrek

U¿ytkownik "Krzysiek" <kobrebski_Wywal_To snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:e5h1kf$a0c$ snipped-for-privacy@nemesis.news.tpi.pl...

Skoro za trudno przygotowaæ procedurê przypisywania identyfikatora kodu czujnika, to u¿yj 16 nó¿ek procesora lub do³ó¿ jaki¶ muliplexer. Bêdziesz wiedzia³, ¿e to co na zacisku qh1.... qh16 pod³±czone jest pod konkretn± obs³ugiwana liniê procesora.

Oczywiscie. Moze miec nawet osobne zaciski do rozpoznawania i zapisywania czujnikow przed montazem.

Ale i tak pierwszy montaz bedzie troche niewygodny.

J.

jesli sterownik ma lcd to porownasz numer wyryty z wyswietlanym. jesli ni ma to moze rozpoznawac do³aczenie / odlaczenie jednej sztuki

W moim przypadku nie moge sobie pozwolic na taka rozrzutnosc, poza tym takie cos ma krotkie nogi. Co jesli pan klient zarzyczy sobie 30 pomiarow_ Chyba najlepsza metoda jest jednak uyzcie sztucznego adresu wpisanego do epromu ds'a -- metoda zaproponowana przez BartkK'a. Pozdrawiam, Krzysiek

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required