Elektroda.pl
Elektroda.pl
X
Elektroda.pl
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

DS18B20 nie działa na kilku metrowym przewodzie

24 Paź 2017 01:07 1410 32
  • Poziom 17  
    Ostatnio powiększyłem swoją "kolekcję" czujników DS18B20 (zakupione na Aliexpress) wszystko byłoby super gdyby nie to że nowa dostawa działa bez najmniejszych problemów na stykówce połączona kilkunasto-centymetrowymi kabelkami a nie działa na przewodzie 2-3 metrowym. Mam 30 nowych czujników z których żaden nie działa na przewodzie 2-3 metrowym i jednocześnie wszystkie działają na kilkunasto-centymetrowych kabelkach. Oczywiście można by od razu rzec że albo źle podłączyłem ten 2-3 metrowy przewód albo jest on uszkodzony, niestety tak nie jest bo mam też 20 starych (kupionych wcześniej na Aliexpress) które na tym samym układzie działają bez problemu na krótkich jak i na 2-3 metrowych. Można spróbować je jakoś uratować? Czy to może jakieś "wewnętrzne" ustawienia czujnika? Czy może powinienem je wyrzucić?
  • PCBway
  • Poziom 43  
    XnIcRaM napisał:
    Czy może powinienem je wyrzucić?
    Przed wyrzuceniem sugeruję dwie rzeczy - lekturę :
    http://pdf1.alldatasheet.com/datasheet-pdf/view/58557/DALLAS/DS18B20.html
    Oraz podłączenie czujnika przewodem ekranowanym przy takich ,,dystansach" :D
  • Poziom 17  
    Uruchomiłem już kilkadziesiąt czujników DS18B20, nigdy nie używałem przewodów ekranowanych i do 100m nigdy nie miałem problemu z układem na jednym rezystorze 4k7 dopiero przy sporo większych odległościach konieczne okazywało się zmniejszenie rezystora, dodanie tranzystora i jakieś inne modyfikacje.
    2-3 metry przewodu to tyle co nic, no i dodatkowo w dokładnie tych samych warunkach, te same przewody, wszystko to samo tylko zmieniam czujniki i te z nowej dostawy nie działają a te ze starej działają bez najmniejszych problemów.

    PS. Możesz mnie naprowadzić czego mam tam szukać (w tej lekturze)?
  • PCBway
  • Poziom 17  
    Kupiłem jako po prostu DS18B20 i dokładnie takie oznaczenie się na nich znajduje (bez "P")

  • Poziom 28  
    Jeśli dysponujesz oscyloskopem, zobacz co się dzieje na magistrali. Może po prostu trafiłeś na słabe podróbki ...
    Czym "odpytujesz" te czujniki? Z jaką częstotliwością są odpytywane?
  • Poziom 17  
    Niestety oscyloskopu nie posiadam. Testowałem je na arduino i na esp8266 z różną częstotliwością od 1sek do kilku

  • Poziom 28  
    Zakładam, że rezystor podciągający jest... Nie dziwne by było, gdybyś miał magistralę 40m ... ale na 3m musi pójść .. Jedyne co przychodzi na myśl, to trafienie na kiepskie fałszywki niestety ..
  • Poziom 20  
    Jeśli możesz to zmień rezystory podciągające np na 2k2 i sprawdź wtedy, może wykorzystasz je do aplikacji gdzie masz przewody 2-3m. Prawdopodobnie trafiły Ci się jakieś niekoniecznie oryginalne układy lub po prostu oryginalne układy, które nie przeszły testów i zamiast wylądować w koszu przedostały się na rynek jako tanie odpowiedniki. Standardowo na 4k7 powinno 5-10 metrów chodzić bez większych problemów. Jeżeli zmiana czujnika na inny poprawia działanie to problem leży w samych czujnikach. jak to mówią, chytry płaci 2x :d Kupowanie w dzisiejszych czasach elementów od niesprawdzonych dostawców jest bardzo ryzykowne.
  • Poziom 43  
    Najważniejszej sprawy nie wiadomo: jakie są kable.
    I czy czujniki są łączone każdy osobnym kablem do osobnego pinu uC, czy są łączone razem.

  • Poziom 28  
    atom1477 napisał:
    Najważniejszej sprawy nie wiadomo: jakie są kable.
    I czy czujniki są łączone każdy osobnym kablem do osobnego pinu Uc, czy są łączone razem.


    Przy 3m oryginalny czujnik pójdzie praktycznie na każdym kablu. Zwłaszcza, że autor tematu pisze, że "stara dostawa" chodzi bez problemu. Założyć więc można śmiało, że kable są ok. I że autor tematu podłącza po jednym czujniku do pinu uC co wynika z jego wypowiedzi.
    Coś więcej można by powiedzieć po przebadaniu magistrali oscyloskopem.
  • Poziom 43  
    Ale pytanie autora dotyczy tych gorszych czujników. On chce je uratować (czyli użyć ich, tak żeby zadziałały).
    A te czujniki jak widać nie działają na użytym kablu 3m.

    A więc moje pytania są ciągle aktualne. Tym bardziej że pytam z ciekawości (informacja o rodzaju kabla nie pomoże układowi w działaniu, pomoże mu dopiero wymiana kabla na inny (a na jaki to napiszę dopiero jak moja ciekawość zostanie zaspokojona :D)).

  • Poziom 28  
    Ok, rozumiem :)
    Choć.. nie wiem, czy zaufałbym takim czujnikom nawet jeśli zadziałały by na innym kablu ... Ale element edukacyjny tak czy inaczej będzie przydatny.
  • Poziom 17  
    atom1477 napisał:
    Najważniejszej sprawy nie wiadomo: jakie są kable.
    I czy czujniki są łączone każdy osobnym kablem do osobnego pinu uC, czy są łączone razem.

    kabel to OMY H03VV-F 3x0,5 300V produkcji NKT cables. Kabel jest jeden pin uC też jeden, testowałem tak że zmieniałem tylko DSy a kabel i cały układ pozostawał bez zmian. Wynik tych testów jest taki że żaden nowy czujnik (30szt.) na tym kablu nie działa a stare czujniki które mam (kilkanaście sztuk) działają bez zastrzeżeń, czujniki podłączałem na zmianę raz nowy raz stary i tak wszystkie.
  • Poziom 43  
    No to jest to nienajlepszy kabel. Stare czujniki mogą działać ale tylko przez przypadek. Może są na graniczy działania. Samo działanie starych czujników nie potwierdza więc dobrej jakości kabla.
    Najlepszym kablem do podłączania takich czujnik jest skrętka. Np. taka wyjęta z kabla Ethernetowego. Oczywiście zadziała tylko dla zasilania czujników podłączonych dwuprzewodowo (czyli z zasilaniem Parasite).
    Tak więc spróbuj takiego kabla.

  • Poziom 28  
    atom1477 napisał:
    Oczywiście zadziała tylko dla zasilania czujników podłączonych dwuprzewodowo (czyli z zasilaniem Parasite).


    Czemu tylko w trybie parasite ?
    OMY owszem, najlepszym kablem do tego nie jest ale 3m to pikuś. 20m bez problemu z kilkoma czujnikami pójdzie ( i nie przypadkowo ).
  • Poziom 43  
    zster napisał:
    atom1477 napisał:
    Oczywiście zadziała tylko dla zasilania czujników podłączonych dwuprzewodowo (czyli z zasilaniem Parasite).


    Czemu tylko w trybie parasite ?

    Bo skrętka dwużyłowa ma tylko 2 żyły.
    A w tym połączeniu chodzi o to żeby wykorzystać parametry kabla skrętki. Nie można więc puszczać trzeciego połączenia osobnym przewodem czy nawet osobną skrętką (np. wykorzystując przewód z drugiej pary z kabla Ethernetowego, który ma w sumie w sobie 4 skrętki). Żeby mieć 3 przewody musowo by mieć specjalną skrętkę 3-żyłową. I wtedy oczywiście się da. Ale po prostu bardzo ciężko o taką skrętkę.
    Ja pisałem o skrętce 2-żyłowej, a wtedy się nie da bo to jest po prostu skrętka 2-żyłowa a nie 3-żyłowa. To jedyny powód dla którego napisałem że to (dla takiej skrętki 2-żyłowej) zadziała tylko dla Parasite.

  • Poziom 28  
    A co magicznego ma para skrętki? Skrętka ujawnia swoją "magię" przy transmisji sygnału różnicowego. Przy 1W takowego nie ma. Nie ma więc znaczenia czy puścimy zasilanie jedną parą a szynę danych przewodem z drugiej pary czy dowolną inną kombinację z 3 przewodami. Można by liczyć na jakąś poprawę przy puszczeniu GND i danych jedną parą a VCC innym przewodem ale osobiście nigdy i w żadnym wypadku nie zauważyłem różnicy a mam sporo instalacji przy długościach 40..60m i kilku czujnikach w bliskości kabli sieci 230VAC...
    Poza tym tryb parasite jest bardziej narażony na wszelakie zakłócenia a przy długich magistralach i kilku czujnikach po prostu nie działa. Lub działa wyrywkowo, w zależności co jest transmitowane. Wynika to ze sposobu zasilania urządzeń 1W z takiej magistrali.
  • Poziom 43  
    zster napisał:
    A co magicznego ma para skrętki? Skrętka ujawnia swoją "magię" przy transmisji sygnału różnicowego. Przy 1W takowego nie ma.

    Nie podejmuję się tego tłumaczyć bo wielokrotnie to robiłem i zawsze to było obalane argumentem "w 1 Wire nie ma transmisji różnicowej".
    A chodzi o to że właśnie 1 Wire jest transmisja różnicowa.
    Pewnie się wszystkim to myli z transmisją symetryczną, bo w Ethernecie czy RS485 jest transmisja różnicowa symetryczna.
    A tutaj jest różnicowa ale niesymetryczna. Co nie zmienia faktu że jednak jest różnicowa, i dlatego skrętka się nadaje.
    Problemem jest definicja, bo słowo "różnicowa" zostało zarezerwowane dla określonych rodzajów transmisji. A ja go tutaj użyłem w innym określeniu. Takim ogólnym. Każda transmisja napięcia elektrycznego jest bowiem różnicowa jeżeli chodzi o ogólną zasadę transmisji.

  • Poziom 28  
    Miesza kolega i to bardzo. Termin "transmisja różnicowa" czy "sygnał różnicowy" zarezerwowany został do jednego, konkretnego przypadku ( choćby RS485 czy ETH ). Nawet z angielskiego : "differential " - oznacza różnicowy.
    W tym kontekście proszę o wyjaśnienie dlaczego 1 wire jest transmisją różnicową. Dlaczego według Kolegi parasite mode jest odporniejsze na zakłócenia ( mimo jasnego stanowiska twórców magistrali 1wire ) i w jakikolwiek sposób wykorzystuje główną zaletę transmisji skrętką ( inaczej - dlaczego według kolegi w tym wypadku TRZEBA użyć trybu parasite i tylko jednej pary skrętki).

    Dodano po 1 [minuty]:

    atom1477 napisał:
    Każda transmisja napięcia elektrycznego jest bowiem różnicowa jeżeli chodzi o ogólną zasadę transmisji.


    Nawet jeśli przymknąć oko na tą definicję, to w kontekście zastosowania skrętki nie ma to najmniejszego znaczenia.
  • Poziom 29  
    A czy nie jest tak, że skrętka jest po prostu odporniejsza na zakłócenia elektromagnetyczne niż zwykły przewód w którym druty poprowadzone są równolegle?
  • Poziom 43  
    zster napisał:
    W tym kontekście proszę o wyjaśnienie dlaczego 1 wire jest transmisją różnicową.

    W tym kontekście nie da się tego wyjaśnić. Bo ja użyłem innego kontekstu.
    Kontekst jest taki że 1Wire mierzy napięcie względem przewodu masy (z naciskiem na "przewód" a nie "masę"). Czyli różnicę potencjałów pomiędzy przewodem 1Wire a GND. A więc jest to najzwyklejszy pomiar, i faktycznie użycie tu określenia "różnicowy" jest naciągane bo nie pasuje go ogólnie przyjętej definicji transmisji różnicowych.
    Jednak takie określenie użyłem nie bez powodu.
    Chodzi o to że nie ma tu masy sztywnej po obu końcach.
    W normalnej transmisji nazywanej nieróżnicową chodzi o to że mamy masę po obu stronach kanału transmisyjnego. A co za tym idzie ewentualne zakłócenia przedostają się na linię sygnałową bardziej niż na masę. Czyli od strony nadajnika mamy masę = 0V i sygnał 0 i 5V. A na końcu masa dalej ma 0V a sygnał z powodu zakłóceń ma już np. 3 i 8V (dla zakłócenia o wartości chwilowej 3V).
    W przypadku 1 Wire jest inaczej.
    Master transmisji ma masę = 0V i sygnały 0 i 5V. Z kolei slave czyli układ Device 1Wire, jako układ o małych wymiarach i małych pojemnościach do ziemi, widzi po prostu 2 przewody. Nie odróżnia masy od sygnału. Dla niego to są 2 równoważne przewody. Równie dobrze mógł by mieć masę na +5V a sygnały równe 0 i -5V. Czyli sygnał 1Wire traktować jako masę a sygnał pobierać z przewodu GND.
    W takim przypadku układ Device odbiera sygnał różnicowo, bo po prostu mierzy różnicę potencjałów pomiędzy przewodami GND i 1Wire (nie ma dostępu do prawdziwej masy o potencjale 0V).
    Jeżeli wystąpi zakłócenie to wystąpi ono jednocześnie na przewodach GND i 1Wire, bo układ Device nie ma sztywnej masy i nie wymusza potencjału 0V na przewodzie GND. A co za tym idzie zakłócenie o wartości chwilowej podniesie oba przewody tak samo. GND do 3V i 1Wire do 3...8V. A więc Device odbierze sygnał jako równy 5V, a więc niezakłócony.
    Podobnie w drugą stronę.
    Device wysyłając dane będzie zwierało linię na jej końcu. I tu również jest różnica.
    Potocznie się mówi że układ Device zwiera linię do masy. Ale tak nie jest.
    Przy zwieraniu do masy przy zakłóceniu równym 3V, oznaczało by to że układ Device zwiera linię 1Wire do napięcia 0V. A wiec od 8 do 0V. A tak nie jest.
    On nie zwiera linii do masy, lecz do przewodu na swoim kóncu linii oznaczonego "GND".
    Czyli zewrze napięcie 8V do linii "GND" na której panuje napięcie 3V (z powodu zakłócenia). A więc zrobi zwarcie o amplitudzie 5V, i to zwarcie wróci do układu Master jako 5V (a po drodze nastąpi odjęcie zakłócenia (bo sygnał idzie w przeciwną stronę)) a więc sygnał 3/3...8V zostanie z powrotem przekonwertowany da poziomu 0/0..5V. Czyli Master odbierze go jako sygnał niezakłócony.
    I to wszystko przy układzie Master ze sztywną masą, a więc Masterem w zasadzie nieróżnicowym.

    A do tego dochodzi kolejna sprawa, mianowicie układy Master o małych wymiarach i małych pojemnościach do ziemi. Przykładowo taki układ ESP8266 zasilany z baterii, do którego podłącza się czujniki na 1Wire. Taki układ jeżeli nie będzie uziemiony, to nie ma sztywnej masy. Masa jest w takim przypadku mocno umowna. Masa wchodząca do skrętki połączenia 1Wire nie jest więc w żaden sposób usztywniona i nie pełni roli masy tylko po prostu rolę jednego z sygnałów. Można to sprawdzić oscyloskopem z niepodłączonym przewodem masy. Na linii 1Wire będzie jakiś sygnał, ale na linii GND też jakiś będzie (przeciwny w fazie, choć amplituda nie musi być dokładnie równa amplitudzie sygnału na linii 1Wire (nie ma pełnej symetryzacji ale pełniej niesymymetrii też nie ma)).
    Po prostu wtedy nie ma masy usztywnianej na żadnym końcu. Więc masa pływa wraz z zakłóceniami jak chce. Wszelkie zakłócenia dostaną się na masę tak samo jak na linię 1Wire. Trzeba więc zapewnić żeby te same zakłócenia które dostają się na jeden przewód dostawały się też na drugi przewód, bo wtedy się będą mogły skompensować.

    To wszystko sprawia że sygnał 1Wire można analizować jako sygnał różnicowy.
    A potwierdzają to pomiary zasięgu czy pomiary oscyloskopem na początku i końcu linii. I właśnie dlatego skrętka się tu sprawdza w minimalizacji zakłóceń.

    zster napisał:
    Dlaczego według Kolegi parasite mode jest odporniejsze na zakłócenia ( mimo jasnego stanowiska twórców magistrali 1wire )

    Nie będę tego wyjaśniał, bo nigdzie nie stwierdziłem że tak jest.
    Pisałem zresztą że można użyć trybu nie-Parasite tylko wymaga o skrętki 3-żyłowej.
    A problemem nie jest mniejsza odporność na zakłócenia połączenia nie-Parasite, lecz trudność w zdobyciu skrętki 3-żyłowej żeby takie połączenie w ogóle zrobić.

    zster napisał:
    i w jakikolwiek sposób wykorzystuje główną zaletę transmisji skrętką ( inaczej - dlaczego według kolegi w tym wypadku TRZEBA użyć trybu parasite i tylko jednej pary skrętki).

    Już to wyjaśniłem. Bo mówiłem konkretnie o skrętce 2-żyłowej a więc mającej po prostu 2 żyły. Tu trzeba po prostu skrętki, a więc jeżeli miały by być 3 żyły to musiała by to być skrętka 3-żyłowa. A nie skrętka 2-żyłowa + trzeci przewód nieskręcony z tą skrętką.

    komatssu: Jest. I dlatego skrętkę stosowano już w XIX wieku do prowadzenia linii telegraficznych, gdzie w zasadzie transmitowany był sygnał prądowy (a więc nie będący sygnałem ani symetrycznym ani niesymetrycznym, bo sygnał nie był przenoszony przez wartość napięcia lecz przez prąd).
    Kolejny powód dla którego skrętka się sprawdzi w 1Wire nawet gdyby obalić wszystkie moje wywody i uznać że 1Wire nie ma żadnych cech symetryczności.

  • Poziom 28  
    komatssu napisał:
    A czy nie jest tak, że skrętka jest po prostu odporniejsza na zakłócenia elektromagnetyczne niż zwykły przewód w którym druty poprowadzone są równolegle?


    Jest ale TYLKO w przypadku stosowania jej zgodnie z przeznaczeniem czyli transmitowaniu jedną parą skrętki sygnału różnicowego. W każdym innym wypadku jest to przewód równie dobry pod względem odporności na zakłócenia zewnętrzne jak każdy inny.
    Jest jednak inna cecha popularnej skrętki UTP, o której zupełnie zapomniał kolega atom1477 a która sprawia, że skrętka UTP dobrze nadaje się do 1 wire ale i nie tylko - niska POJEMNOŚĆ! Ale równie dobrze mógłby to być kabel prosty a nie parowany/skręcany.

    atom1477 napisał:
    Z kolei slave czyli układ Device 1Wire, jako układ o małych wymiarach i małych pojemnościach do ziemi

    A co ma tutaj pojemność względem ziemi? Liczy się pojemność magistrali.

    Teoria przedstawiona wygląda ładnie ale niestety nie ma pokrycia w rzeczywistości. Pisze Kolega, że poziomy napięć na wejściu danych układu 1Wire mierzone są względem masy, co oczywiście jest prawdą. Dlaczego więc zastosowanie zasilania ( chodzi o VCC ) prowadzonego kablem prostym, miało by pogorszyć odporność na zakłócenia?
    Z teorii opisanej wynika, że KAŻDY sygnał, cyfrowy jak i analogowy, można uodpornić na zakłócenia, przesyłając go skrętką. W końcu praktycznie każdy sygnał ( nie różnicowy ) jako punkt poziom odniesienia przyjmuje poziom "masy" lub "plusa"..
    Dodatkowo - GND nie zawsze jest "wiszące". Co z sytuacją ( baardzo częstą ) gdy GND wychodzi na wiele czujników czy innych urządzeń? Jak to się ma do opisanej teorii?
    Lecz... teorię tę, w odniesieniu do 1Wire, burzy coś, co Kolega sam zaproponował - parasite mode :) Wszystko to, co zostało opisane, traci w tym trybie zasilania sens a nawet sprawi więcej kłopotów niż pożytku.
    Ciekaw także jestem, dlaczego MAXIM słowem nie wspomina w swoich notach ( a jest ich sporo ) dotyczących 1Wire o rewelacjach tu opisanych. Za to poświęca sporo miejsca na skomplikowane układy konwersji 1Wire na transmisję typowo różnicową, skoro można prościej ;)

    Podkreślam - stosowanie popularnej skrętki UTP czy FTP jest jak najbardziej wskazane w 1Wire lecz nie z powodu odporności na zakłócenia spowodowanej transmiją róznicową, a małą pojemnością elektryczną tych kabli, co w przypadku wymagającej pod względem czasów opadania i narastania zboczy 1Wire jest "bardzo wskazane".

    Dodano po 2 [minuty]:

    atom1477 napisał:
    I dlatego skrętkę stosowano już w XIX wieku do prowadzenia linii telegraficznych,


    I nie miało to nic wspólnego z redukcją zakłóceń a było po prostu wynikiem technologii produkcji takich linii ( okablowania ).
  • Poziom 43  
    zster napisał:
    A co ma tutaj pojemność względem ziemi? Liczy się pojemność magistrali.

    Ma bardzo dużo. Ona decyduje o tym czy masa urządzenia będzie sztywna czy nie. A więc decyduje o tym czy masa sygnału zostanie sygnałem gorącym z punktu widzenia przesyłania jej przez skrętkę czy jakiś inny kabel.

    zster napisał:
    Teoria przedstawiona wygląda ładnie ale niestety nie ma pokrycia w rzeczywistości. Pisze Kolega, że poziomy napięć na wejściu danych układu 1Wire mierzone są względem masy, co oczywiście jest prawdą. Dlaczego więc zastosowanie zasilania ( chodzi o VCC ) prowadzonego kablem prostym, miało by pogorszyć odporność na zakłócenia?

    Bo wprowadzi zakłócenia pomiędzy masą za zasilaniem, a więc po prostu wprowadzi zakłócenia na zasilanie układu.

    zster napisał:
    Z teorii opisanej wynika, że KAŻDY sygnał, cyfrowy jak i analogowy, można uodpornić na zakłócenia, przesyłając go skrętką. W końcu praktycznie każdy sygnał ( nie różnicowy ) jako punkt poziom odniesienia przyjmuje poziom "masy" lub "plusa"..

    No i tak jest.

    zster napisał:
    Dodatkowo - GND nie zawsze jest "wiszące". Co z sytuacją ( baardzo częstą ) gdy GND wychodzi na wiele czujników czy innych urządzeń? Jak to się ma do opisanej teorii?

    Ma się tak jak opisałem. Czyli nijak bo ja opisywałem układ Device czyli nie mający własnej masy.

    zster napisał:
    Lecz... teorię tę, w odniesieniu do 1Wire, burzy coś, co Kolega sam zaproponował - parasite mode :) Wszystko to, co zostało opisane, traci w tym trybie zasilania sens a nawet sprawi więcej kłopotów niż pożytku.

    Przecież ta teoria właśnie zawierała opis tryby Parasite (pisałem o zwieraniu końca linii). Więc nic tu niczego nie burzy.

    zster napisał:
    Ciekaw także jestem, dlaczego MAXIM słowem nie wspomina w swoich notach ( a jest ich sporo ) dotyczących 1Wire o rewelacjach tu opisanych. Za to poświęca sporo miejsca na skomplikowane układy konwersji 1Wire na transmisję typowo różnicową, skoro można prościej ;)

    Tego nie wiem. Może po prostu chcą uniknąć problemów z łączeniem mas bo sposób który opisałem działa tylko dla układów Device do niczego więcej nie podłączonych.

    zster napisał:
    Podkreślam - stosowanie popularnej skrętki UTP czy FTP jest jak najbardziej wskazane w 1Wire lecz nie z powodu odporności na zakłócenia spowodowanej transmiją róznicową, a małą pojemnością elektryczną tych kabli, co w przypadku wymagającej pod względem czasów opadania i narastania zboczy 1Wire jest "bardzo wskazane".

    Pojemność akurat nie jest wcale taka mała. Wynosi z 50pF/m.

    atom1477 napisał:
    I dlatego skrętkę stosowano już w XIX wieku do prowadzenia linii telegraficznych,


    zster napisał:
    I nie miało to nic wspólnego z redukcją zakłóceń a było po prostu wynikiem technologii produkcji takich linii ( okablowania ).

    Nie miało to nic wspólnego z technologią produkcji, bo ja mówiłem o takich liniach:
    DS18B20 nie działa na kilku metrowym przewodzie

  • Poziom 28  
    atom1477 napisał:
    Ma się tak jak opisałem. Czyli nijak bo ja opisywałem układ Device czyli nie mający własnej masy.


    Co to jest "układ Device" i co oznacza, że nie ma własnej masy ?
    atom1477 napisał:
    Bo wprowadzi zakłócenia pomiędzy masą za zasilaniem, a więc po prostu wprowadzi zakłócenia na zasilanie układu.


    Skoro sygnał "mierzony" jest względem masy, to na co wpłynie podniesienie potencjału VCC?
    atom1477 napisał:
    Przecież ta teoria właśnie zawierała opis tryby Parasite (pisałem o zwieraniu końca linii). Więc nic tu niczego nie burzy.

    Owszem, burzy. Sposób zasilania układu ( ładowanie wewnętrznego kondensatora ) sprawi, że w pewnych określonych warunkach układ po prostu nie zadziała. Dlatego własnie MAXIM odradza stosowanie tego trybu, zwłaszcza przy długich magistaralach i/ lub wielu układach 1Wire na jednej linii
    .
    atom1477 napisał:
    Tego nie wiem. Może po prostu chcą uniknąć problemów z łączeniem mas bo sposób który opisałem działa tylko dla układów Device do niczego więcej nie podłączonych.

    Jakich mas i jakich problemów ? Skoro transmisja różnicowa, to o jakich masach mowa ? Czy my na pewno rozmawiamy o tym samym ? Układów do niczego nie podłączonych czyli ... w ogóle nie podłączonych?

    atom1477 napisał:
    Pojemność akurat nie jest wcale taka mała. Wynosi z 50pF/m.


    Co jest wynikiem całkiem niezłym w porównaniu z innymi "popularnymi" kablami.
  • Poziom 43  
    zster napisał:
    Co to jest "układ Device" i co oznacza, że nie ma własnej masy ?

    Układ slave 1Wire. Podłączony tylko do magistrali 1Wire i do niczego więcej.

    zster napisał:
    i co oznacza, że nie ma własnej masy ?

    To że nie ma własnej szyny zasilania (szyny odniesienia, ujemnej) o stabilnym poziomie.

    zster napisał:
    Skoro sygnał "mierzony" jest względem masy, to na co wpłynie podniesienie potencjału VCC?

    Podniesienie VCC spowoduje ładowanie/rozładowywanie wewnętrznego kondensatora w układzie Device.
    A więc przepływ prądu przez przewody VCC i GND.
    A co za tym idzie da spadek napięcia na GND, czyli zaburzy kompensację zakłóceń w skręconych przewodach GND i 1Wire (bo poziom GND od strony układu Device zmieni się z powodu tego spadku napięcia).
    Nie musi to być problemem. Ale z zasady działania jest właśnie tak jak opisałem.

    zster napisał:
    Owszem, burzy. Sposób zasilania układu ( ładowanie wewnętrznego kondensatora ) sprawi, że w pewnych określonych warunkach układ po prostu nie zadziała. Dlatego własnie MAXIM odradza stosowanie tego trybu, zwłaszcza przy długich magistaralach i/ lub wielu układach 1Wire na jednej linii

    Nie burzy w tym kontekście w jakim napisałem.
    To co opisałeś jest problemem ogólnym, nie mającym nic wspólnego z tym co opisywałem (ja opisywałem sposób rozpatrywania transmisji w przypadku trybu Parasite, bez wnikania w to czy tryb Parasite jest lepszy czy gorszy).

    zster napisał:
    Jakich mas i jakich problemów ? Skoro transmisja różnicowa, to o jakich masach mowa ? Czy my na pewno rozmawiamy o tym samym ? Układów do niczego nie podłączonych czyli ... w ogóle nie podłączonych?

    Chcą uniknąć problemów z układami Device podłączonymi na końcach do innych stabilnych mas. Wtedy nie ma transmisji różnicowej.
    Ja pisałem o przypadku gdy urządzenia Device na końcach nie są podłączone do innych mas. Wtedy na końcu nie ma stabilnej masy lecz pływa ona wraz z zakłóceniami w kablach.
    A o jakich połączeniach Ty piszesz to nie wiem.

  • Poziom 28  
    atom1477 napisał:
    Układ slave 1Wire. Podłączony tylko do magistrali 1Wire i do niczego więcej.


    Czyli do sterownika / mikrokontrolera także nie może być podłączony. Bo zakłócenia przedostaną się przez GND a także zmieni się poziom napięć na szynie danych. Trzeba więc optoizolacji ( co przy 1W takie trywialne nie jest ).

    atom1477 napisał:
    To że nie ma własnej szyny zasilania (szyny odniesienia, ujemnej) o stabilnym poziomie.


    Co oznacza, że nie ma własnej szyny zasilania? Ujemnej względem czego? Mam wrażenie, że Kolega opisuje jakiś idealny układ, odizolowany od wszystkiego, nie mający nic wspólnego z rzeczywistymi układami.

    atom1477 napisał:
    A więc przepływ prądu przez przewody VCC i GND.
    A co za tym idzie da spadek napięcia na GND, czyli zaburzy kompensację zakłóceń w skręconych przewodach GND i 1Wire (bo poziom GND od strony układu Device zmieni się z powodu tego spadku napięcia).

    Co spowoduje także spadek poziomu sygnału na szynie danych, prawda?

    atom1477 napisał:
    Nie burzy w tym kontekście w jakim napisałem.
    To co opisałeś jest problemem ogólnym, nie mającym nic wspólnego z tym co opisywałem (ja opisywałem sposób rozpatrywania transmisji w przypadku trybu Parasite, bez wnikania w to czy tryb Parasite jest lepszy czy gorszy).


    napisał kolega wyraźnie, że musi to być tryb parasite bo inaczej magia nie zadziała. Wiedząc, że ten tryb jest odradzany i sam w sobie powoduje dodatkowe problemy i jest o wiele bardziej podatny na zakłócenia. Czyli proponuje Kolega uderzenie się młotkiem w głowę by zapomnieć o bólu palca.

    Poza tym - niestety zapomina Kolega o jednym, najważniejszym fakcie - w przypadku 1W różnice napięć w poszczególnych liniach indukowane przez zewnętrzne zakłócenia są najmniejszym problemem. Znacznie bardziej trzeba martwic się o zachowanie czasów ( opadania i narastania zboczy sygnału, i czasu trwania poszczególnych stanów ).

    Miałem jeszcze zadać pytania o rezystancję miedzy poszczególnymi liniami ( zasilania i danych ) ale... widzę że dyskusja nie ma sensu. Proponuje kolega rozwiązanie metodą, która sprawi więcej problemów niż pożytku ( wymuszanie tryby parasite dla uzyskania pseudo teoretycznej odporności na zakłócenia ) zwłaszcza w przypadku domniemanych podróbek układów DS18B20 i na pewno nie zadziała. I to jest faktem.
  • Poziom 43  
    zster napisał:
    atom1477 napisał:
    Układ slave 1Wire. Podłączony tylko do magistrali 1Wire i do niczego więcej.
    Czyli do sterownika / mikrokontrolera także nie może być podłączony. Bo zakłócenia przedostaną się przez GND a także zmieni się poziom napięć na szynie danych. Trzeba więc optoizolacji ( co przy 1W takie trywialne nie jest ).

    Skoro podłączony do magistrali, to do sterownika / mikrokontrolera też.

    zster napisał:
    Co oznacza, że nie ma własnej szyny zasilania? Ujemnej względem czego?

    Ujemnej względem szyny dodatniej :D Musiałem użyć takiego określenia żeby nie używać określenia masa, bo to się kojarzy z szyną stabilną a mi chodziło o szynę zasilania ujemnego ale niestabilną.
    Chodzi mi o to że układ Device nie ma własnej szyny zasilania która dostarcza stabilne zasilanie, lecz zasilanie bierze z szyny 1Wire. A więc może to być zasilanie niestabilne i pływające wraz z zakłóceniami.

    zster napisał:
    Mam wrażenie, że Kolega opisuje jakiś idealny układ, odizolowany od wszystkiego, nie mający nic wspólnego z rzeczywistymi układami.

    Idealny nie, ale bliski idealnego bo mały układ scalony w TO92 nie podłączony do niczego a jedynie do magistrali 1Wire (i tego chyba nie rozumiesz, ja nie piszę że układy mają być nie podłączone do niczego w ogóle, ale do niczego poza szyną 1Wire czyli do szyny 1Wire mają być podłączone) ma znikomą pojemność względem ziemi a więc zachowuje się jak odizolowany od wszystkiego poza linią 1Wire, co pozwala mu działać jako odbiornik różnicowy dla danych z tej linii.

    zster napisał:

    atom1477 napisał:
    A więc przepływ prądu przez przewody VCC i GND.
    A co za tym idzie da spadek napięcia na GND, czyli zaburzy kompensację zakłóceń w skręconych przewodach GND i 1Wire (bo poziom GND od strony układu Device zmieni się z powodu tego spadku napięcia).

    Co spowoduje także spadek poziomu sygnału na szynie danych, prawda?

    No właśnie nieprawda.

    zster napisał:

    atom1477 napisał:
    Nie burzy w tym kontekście w jakim napisałem.
    To co opisałeś jest problemem ogólnym, nie mającym nic wspólnego z tym co opisywałem (ja opisywałem sposób rozpatrywania transmisji w przypadku trybu Parasite, bez wnikania w to czy tryb Parasite jest lepszy czy gorszy).


    napisał kolega wyraźnie, że musi to być tryb parasite bo inaczej magia nie zadziała.

    Nie napisałem tak. Mało tego, wyjaśniłem już dlaczego skrętka 2-żyłowa zadziała tylko w trybie Parasite:
    atom1477 napisał:
    Ja pisałem o skrętce 2-żyłowej, a wtedy się nie da bo to jest po prostu skrętka 2-żyłowa a nie 3-żyłowa. To jedyny powód dla którego napisałem że to (dla takiej skrętki 2-żyłowej) zadziała tylko dla Parasite.

    oraz napisałem że można i użyć trybu nie-parasite, tylko że:
    atom1477 napisał:
    Pisałem zresztą że można użyć trybu nie-Parasite tylko wymaga o skrętki 3-żyłowej.


    zster napisał:
    Poza tym - niestety zapomina Kolega o jednym, najważniejszym fakcie - w przypadku 1W różnice napięć w poszczególnych liniach indukowane przez zewnętrzne zakłócenia są najmniejszym problemem. Znacznie bardziej trzeba martwic się o zachowanie czasów ( opadania i narastania zboczy sygnału, i czasu trwania poszczególnych stanów ).

    Nie zapominam, tylko się nie wypowiadałem w tej sprawie.

    zster napisał:
    Miałem jeszcze zadać pytania o rezystancję miedzy poszczególnymi liniami ( zasilania i danych ) ale... widzę że dyskusja nie ma sensu. Proponuje kolega rozwiązanie metodą, która sprawi więcej problemów niż pożytku ( wymuszanie tryby parasite dla uzyskania pseudo teoretycznej odporności na zakłócenia ) zwłaszcza w przypadku domniemanych podróbek układów DS18B20 i na pewno nie zadziała. I to jest faktem.

    Póki co nie wiemy jeszcze jakiego trybu używa autor tematu.
    Nie wymuszam na nim przejścia na tryb Parasite. Pisałem tylko żeby spróbował skrętki.
    A do tego założyłem (może błędnie, ale skąd mam to wiedzieć skoro autor tego nie napisał) że tryb Parasite już jest używany.
    A wtedy nie ma żadnego przechodzenia na Parasite bo Parasite już jest.
    Autor sam zdecyduje czy zechce zrobić taki test czy nie.
    Tym bardziej że to tylko test.
    Uprzedzam to co pewnie chcesz napisać: że działanie na skrętne nie musi wynikać z tego co opisałem lecz z małej pojemności skrętki. Nie wykluczam. Ważne żeby sprawdzić czy w ogóle zadziała.

  • Poziom 28  
    atom1477 napisał:
    Skoro podłączony do magistrali, to do sterownika / mikrokontrolera też.


    I tu własnie pojawia się problem : już sam mikrokontroler wprowadza zakłócenia. Tym większe, im gorzej zaprojektowana sekcja zasilania czy samo PCB. Dodatkowo często podłączone są do niego inne peryferia : wyświetlacze, przyciski, układy wykonawcze, inne czujniki. Wszystko to zwykle ma wspólną masę. Załóżmy, że mamy dwa czujniki DS18B20, każdy na 10m skrętce zgodnie z zaleceniami Kolegi ( oba w trybie parasite ) jednak linie biegną w róznych miejscach a czujniki podłączone są do 2 różnych pinów mikrokontrolera. mają jednak wspólną masę... Podobnie z przyciskami "active low" czy każdym innym peryferium wyprowadzonym "na zewnątrz" sterownika / mikrokontrolera. Tak, to zależy od konkretnego przypadku ale w takich sytuacjach taka skrętka nie zadziała zgodnie z teorią Kolegi. Mając typowo różnicową transmisję ( np. RS485 ) sam driver magistrali dba o to, by napięcia były względem siebie symetryczne bez względu na zasilanie . Przy typowym 1wire, nawet w trybie parasite tego nie ma. Jeśli już, to działa to przypadkowo.

    Ale co najważniejsze : przy długich magistralach, gdzie problem zakłóceń zewnętrznych zaczyna mieć znaczenie, stosowanie trybu parasite to strzał w kolano i wprowadza dużo więcej potencjalnych problemów i punktów w których komunikacja może zawieść. Ok, napisze Kolega że można wtedy stosować tryb zwykły i skrętkę 3 przewodową. Ale.. kto taką ma pod ręką? Co z kosztem? Co z zakłóceniami ( różnicami napięć ) wprowadzanych przez sam system? Przy przewodach długości 2-3m problem zakłóceń jest znikomy ( chyba, że to mega zaszumione środowisko przemysłowe ) i 1Wire pójdzie bez problemów nawet na przysłowiowym kablu od żelazka ( dawno temu demonstrowałem działanie DS18B20 na przewodach "spawalniczych") w normalnym trybie pracy. Nawet jeśli przyjąć, że teoria Kolegi jest w 100% skuteczna i słuszna, to samo wprowadzenie trybu parasite niweluje korzyści z jej zastosowania.
    Wierzę, że gdyby stosowanie pomysłu Kolegi miało jakikolwiek zauważalny wpływ na długość magistral czy stabilność transmisji 1Wire, MAXIM umieścił by stosowną informację w swoich notach zamiast proponować dość skomplikowane rozwiązania transmisji różnicowej dla najbardziej wymagających aplikacji.
    Poradzenie w tym przypadku skrętki było jak najbardziej dobrym pomysłem. Ale komplikowanie sprawy z trybami już niekoniecznie :)
  • Poziom 43  
    zster napisał:
    Mając typowo różnicową transmisję ( np. RS485 ) sam driver magistrali dba o to, by napięcia były względem siebie symetryczne bez względu na zasilanie . Przy typowym 1wire, nawet w trybie parasite tego nie ma. Jeśli już, to działa to przypadkowo.

    Nie czytasz ze zrozumieniem tego co piszę. I podajesz potem takie argumenty, które są prawidłowe ale nie pasują do mojej teorii.
    Myślę że dostatecznie już wyjaśniłem o co mi chodziło.
    Dalsze tłumaczenia nie mają już chyba sensu bo tłumaczył bym to samo w kółko.
    No a w każdym razie pora poczekać na reakcję autora tematu.