Magistrala 1-wire

Jul 16, 2008 20 Replies

Witam Mam pytanie dotyczace magistrali 1-wire dallasa. Do mikrokontrolera ATTiny26 chce podlaczyc 1czujnik temperatury DS18B20 oddalony od mikrokontrolera o okolo 20 do 25m. Kabel bedzie polozony na zewnetrznej czesci elewacji budynku.



1) Jaki kabel najlepiej zastosowaæ?
2) Czy lepiej zastosowac zasilanie pasywne z linii sygnalowej, czy pelne
+5V, GND i "linia sygnalowa" podciagnieta rezystorem 5k przy czujniku?
3) Czy konieczne jest stosowanie na takiej dlugosci optoizolacji?
4) Czy rezystor 5k nie bedzie za du¿y na tak± odleglosc? Jaki?


5) Domyslam sie ze lepiej bedzie zastosowac kabel ekranowany ale czy wszystkie zyly umieszczac w ekranie?


6) czy ekran moge wykorzystac jako GND dla czujnika, czy rozs±dniej bedzie poslac osobnym drutem GND zasilania a ekran poloczyæ w jednym punkcie z GND stabilizatora 7805.

Prosze o jakies praktyczne porady. Pozdrawiam.


U¿ytkownik "roxy" snipped-for-privacy@o2.pl napisa³ w wiadomo¶ci news:g5kn0m$53p$ snipped-for-privacy@news.onet.pl...

Pe³ne zasilanie, opornik 1k , zwyk³e 3 druty. Ekranowany nie zawadzi, Mo¿e UTP na zapas ? Bez "optoizolacji" cokolwiek by to mia³o znaczyæ:-)

Obojetnie.

Zasilanie aktywne, bo po co sobie komplikowac zycie. Rezystor 4k7 wystarczy.

Nie. Natomiast w sumie wartoby rozwazyc jakies zabezpieczenie przeciwprzepieciowe, mozesz kupic oryginalne Dallasa do 1-wire lub wstawic 2 diody.

Odleglosc jest nieistotna, pojemnosc tak.

Tylko to drugie rozwiazanie. Puszczanie GND ekranem niweluje sens istnienia ekranu.

Prosze o namiary co to za uklad dallasa lub schemacik dla rozwiazania na 2 diodach.

2 diody polaczone zaporowo pomiedzy masa, magistrala a +5V. Obcinaja zaklocenia do poziomu -0.6V wzgledem GND i +0.6V wzgledem Vcc. To samo masz w dedykowanym scalaku DS9503. BTW. Nie prosciej ci zastosowac LM35? Odpada koniecznosc pisania softu obslugujacegto 1-wire.

Uzytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisal w wiadomosci news:g5l1tc$688$ snipped-for-privacy@news.onet.pl...

Zbedne. Sa w strukturze DS18B20

U¿ytkownik "lwh" snipped-for-privacy@vvp.pl napisa³ w wiadomo¶ci news:g5lcc2$46s$ snipped-for-privacy@news.onet.pl...

ale wytrzymuj± tyle co nic.

BTW, je¶li ju¿ zabezpieczaæ DS-a, to koniecznie przed wzrostem Vcc, co wcale nie jest takie banalne, bo szpilka 7V go ju¿ ubija.

e.

Gdyby byly zbedne to Dallas nie produkowalby dedykowanego do tego cleu scalaka. Zreszta zobacz ich noty aplikacyjne. Te diody na strukturze DSa (takie sam sa na porcie w mikrokontrolerze) nie wytrzymaja zbyt wiele, mikrokontrolerowe sa na ok. 1mA.

Dnia Wed, 16 Jul 2008 09:45:38 -0400, T.M.F. napisał(a):

Moze to dziwne, ale przy 8 czujnikach na magistrali o dlugosci ok 30 metrow mialem problemy przy rezystorze 4k7. Zmiana na 2k2 pomogla.

m.

Znaczy miales problem z narastaniem zboczy. Wszystko zalezy od programu, ktrory napisales. Niestety te proste spotykane w sieci sa napisane tak fatalnie, ze potem daja takie magiczne zachowanie:)

U¿ytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisa³ w wiadomo¶ci news:g5nom1$436$ snipped-for-privacy@news.onet.pl...

Jak pojemno¶ci kabla ogromne, a scalak ciep³y to szybszy Czas dysponowany na zbocze to mikrosekunda, na poziom ze 20 mikrosekund Program wiele nie pomo¿e, szczególnie przy maleñkich powolnych mikrokontrolerach Osobi¶cie uwa¿am, ¿e 1-wire musi mieæ uzasadnienie Znacznie ³atwiej obs³u¿yæ mikrokontrolerem czujniki temperatury I2C, choæ drutów trzeba wiêcej

U¿ytkownik "entroper" snipped-for-privacy@CWD.spamerom.poczta.onet.pl> napisa³ w wiadomo¶ci news:g5lcns$ft5$ snipped-for-privacy@atlantis.news.neostrada.pl...

DS18B20 jest wyj±tkowo zawodny. Jemu wszystko przeszkadza. Zabezpieczenie go dyskwalifikuje sens jego u¿ycia.

Dnia Thu, 17 Jul 2008 11:32:16 -0400, T.M.F. napisał(a):

W sumie mialem wlasny program do tego.. Mozna cos wiecej na ten temat? Czasy sa podawane na przez producenta - ciezko tu chyba cos zepsuc. Wiem, ze to czesciowo bylo spowodowane wewnetrznym oscylatorem z AVR'a - gdy sie calosc bardziej nagrzala (wyswietlacz itp, po parunastu godzinach pracy) to wtedy zaczynalo sie wszystko rozjezdzac. Zmiana rezystora zalatwila sprawe. Uklad dziala nieprzerwanie od pazdziernika 2007, 24h/dobe. Steruje dodatkowo tez kilkoma urzadzeniami.

m.

AVRy nie sa powolne. Udalo mi sie napisac program obslugujacy master/slave 1-wire tak, ze przy zegarze 1.8MHz w 100% wyrabial sie z czasami wg specyfikacji.

Zgadzam sie z toba, dlatego zarzucilem pomysl z 1-wire, chociaz w testach na 130 i 260m kabla (skretka nieekranowana) po 48 godzinach ciaglej transmisji nie mialem zadnego bledu. A w tym przypadku to zamiast jakiegokolwiek cyfrowego termometru dalbym zwykly LM35, dokladnosc taka sama jak nie lepsza, a odczyt znacznie prostszy i nie ma sie w nim co zepsuc.

Realne uklady 1-wire znacznie odbiegaja czasami od specyfikacji. MIalem taki problem z DS18B20 wlasnie, wg. specyfikacji powinien samplowac magistrale po 15 mikrosekundach od chwili kiedy master zmieni jej stan na zero, u mnie 6 sztuk tego ukladu uparcie samplowalo po ok. 8 mikrosekundach, jesli w tym czasie nie udalo mi sie wystawic wlasciwego bitu to czytaly smieci. Na szczescie przy odczycie nie bylo takich cyrkow.

Zapomnij o czasach. W tej magistrali czasy nie sa krytyczne, wazna jest sekwencja zdarzen. Jesli np. czytasz bit, to master wystawia zero, na ok. 1 mikrosekunde, w praktyce musisz napisac program tak, zeby trwalo to co najmniej 1 mikrosekunde, ale nie dluzej niz czas potrzebny do osiagniecia zera prze magistrale. Nastepnie zwalniasz ja i mozolnie samplujesz. W miedzyczasie powinna dojsc do "1", mozesz jej pomoc wystawiajac na mikrosekunde silne "1". Czekasz na odpowiedz slave. Ale tez nie wystarczy po prostu jedna probka w 15 mikrosekundzie, bo zaklocenia cie zjedza. Warto przesamplowac od 7-30 mikrosekundy i policzyc przewazajacy stan magistrali i na tej podstawie stwierdzic czy slave wystawia "1" czy "0". We wszystkich miejscach programu, gdzie magistrala jest w stanie biernym musisz byc szczegolnie czujny. Troche na temat timingow konkretnego urzadzenia 1-wire mozesz sie dowiedziec z czasu po jakim wystawia Presence Pulse po Reset Pulse i czasu trwania Presence Pulse. Program powinien si ew jaks sposob dostosowac do najszybszego (tego, ktory pierwszy wystawi PP) i najwolniejszego (tego ktory ostatni zwolni magistrale po PP) urzadzenia.

Uzytkownik "T.M.F." snipped-for-privacy@nospam.mp.pl> napisal w wiadomosci news:g5odds$334$ snipped-for-privacy@news.onet.pl...

I tu jest "pies pogrzebany". Nowe nie zawsze lepsze od starocia Wszystkie te nowomodne czujniki temperatur pokojowych maja diode Kelvina jak cwierc wieku temu w AD590. Nie jest to nic dokladniejsze.Dodano bajery, nie zawsze potrzebne, czesto zawodne.

Bo inaczej sie w czystym krzemie nie da ?

Bajery sa potrzebne, bo LM35 jako czujnik jest moze taki sam, ale tu chodzi wlasnie o podlaczenie.

A komu sie czujnik nie podoba, to ma otwarta droge - niech sobie wybierze jaki chce i dolozy bajery sam.

A ze ten 1-wire to od poczatku cos podejrzane - to inna sprawa :-)

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

Nie znasz czasem nazwy jakiegos czujnika temperatury o funkcjach podobnym do DS18B20 z podlaczeniem SPI ?

1-wire, I2C mi sie nie podobaja.

No wlasnie w tym problem - psioczyc na dallasy latwo, a jakas inna propozycja dostepna po umiarkowanej cenie ?

Zlikwodowalismy komune, a nic sie nie zmienilo - nadal trzeba patrzec co do sklepow rzucili :-)

J.

Uzytkownik "J.F." <jfox snipped-for-privacy@poczta.onet.pl> napisal w wiadomosci news: snipped-for-privacy@4ax.com...

Alternatywa jakiej uzywam to MCP9803, ale on tez ma swoje wady.

Taki los "hobbysty". Jakbym chcial milion sztuk, to ktos by zrobil

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required