-
51. Data: 2014-02-13 12:35:38
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:ldghqp$dqc$1@portraits.wsisiz.edu.pl...
>W dniu 2014-02-12 08:47, Piotr Gałka pisze:
>
>> Ale isoPower generuje dość dużo zakłóceń CM i nie wiem czy bym się
>> zdecydował (sama izolacja sygnałów jest OK).
>
> Ok, a jak w takim razie powinna wyglądać izolacja od strony VCC?
> Rozumiem, że chodzi o zastosowanie jakiejś przetwornicy DC/DC pomiędzy
> głównym VCC (z którego zasilamy MCU i pozostałe "lokalne" układy) i
> zasilaniem transceivera rs485. Wówczas w razie czego spali się sam TRX.
> Oczywiście mówię tutaj o sytuacji w której również linie sygnałowe są
> odizolowane.
>
> A co z sytuacją, gdybym zastosował skrętkę ethernetową puścił zasilanie
> wolnych parach (coś na wzór PoE)? Jeśli wówczas jedna przetwornica
> będzie zasilała cały układ, to jego bezpieczeństwo mocno spadnie? Byłoby
> to jakby nie patrzeć wygodne rozwiązanie w przypadku jakiegoś czujnika w
> trudno dostępnym miejscu albo elementu automatyki domowej (np. włącznika
> wbudowanego w ścianę).
Nie do końca jestem pewien czy dokładnie rozumiem co piszesz. Rysunek ?
Zasada według mnie jest taka:
1. Jak urządzenie jest zasilanie i komunikuje się tym samym kablem i w żaden
inny sposób nie łączy się z jakimś uziemieniem (innym niż to z którym może
być połączone to, co go zasila i się z nim komunikuje) izolacja jest zbędna.
2. Jak połączenie takie występuje to wszystkie linie (sygnałowe/zasilania)
powinny mieć izolację (aby przerwać tzw. pętlę masy).
Według mnie większość czujników może pracować według 1.
Musisz rozumieć źródło problemu, a nie realizować ogólną zasadę, ze co się
da izolować. A źródłem problemu jest to, że w czasie burzy różne punkty
uziemienia mogą mieć istotne różnice napięć i przez łączące je kable mogą
popłynąć prądy liczone w dużych Amperach.
Pętla masy sama w sobie nie jest aż tak groźna (też jest ale nie aż tak).
Rozumiem przez to dwa urządzenia połączone ze sobą i każde do masy ale do
masy w tym samym punkcie (taki trójkąt - też jest pętla masy). To samo, ale
urządzenia połączone w różnych punktach jest ryzykowne bo do tych różnych
punktów mogą dochodzić prądy pochodzące z zewnątrz i przepływać przez nasze
połączenie.
P.G.
-
52. Data: 2014-02-13 12:39:19
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:ldglg4$pk0$1@portraits.wsisiz.edu.pl...
>
> Jednak rozumiem, że w standardowej sieci przy wykorzystaniu Modbus RTU
> może pracować tylko jeden master?
>
> Załóżmy, że mamy prosty system automatyki domowej o następującej
> konstrukcji:
> Na samym początku master z jakimś mocniejszym MCU, kontrolerem Ethernetu
> i transcieverem RS485. Dalej dwa rodzaje urządzeń. Pierwszym z nich są
> moduły z przekaźnikami, które załączają i wyłączają światło. Drugi typ
> to włączniki montowane w ścianach.
>
> Rozumiem, że komunikacja powinna wyglądać następująco:
> 1) Master oczekuje na sygnał z zewnątrz (np. pakiet UDP). Gdy taki się
> pojawi, wysyła do określonego modułu polecenie włączenia/wyłączenia
> konkretnego przekaźnika.
> 2) Master co jakiś czas odpytuje włącznik, czy przypadkiem użytkownik
> nie zgłosił chęci włączenia światła. Jeśli tak się stało, slave odsyła
> informację który przekaźnik w którym module trzeba załączyć. Master
> wysyła odpowiedni rozkaz do tego modułu.
> 3) Co jakiś czas master odpytuje poszczególne urządzenia o ich stan i
> zgłasza go na zewnątrz (np. na potrzeby interfejsu webowego).
>
>
> W przypadku tej magistrali trudniej byłoby zrealizować system z wieloma
> masterami, gdzie każdy włącznik pełni funkcję nadrzędną względem modułu
> z przekaźnikiem.
>
> Tak samo, gdybym chciał dodać do magistrali jakiś czujnik (dym, CO) -
> rozwiązanie będzie polegało na cyklicznym odpytywaniu czujnika, a nie
> inicjowaniu transmisji przez sam sensor, prawda?
Dopóki obciążenie łącza jest niewielkie możesz sobie pozwolić na nadawanie
(każdego, kto ma taką potrzebę) w ciemno i ewentualne powtarzanie jak w
ciągu jakiegoś czasu nie ma odpowiedzi.
RS485 to tylko standard elektryczny - komunikować możesz się jak ci się
tylko podoba.
P.G.
-
53. Data: 2014-02-13 20:49:06
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Atlantis <m...@w...pl>
W dniu 2014-02-13 12:35, Piotr Gałka pisze:
> Nie do końca jestem pewien czy dokładnie rozumiem co piszesz. Rysunek ?
Też się lekko pogubiłem. Po prostu chciałbym uzyskać odpowiedź na kilka
pytań:
1) Do którego VCC i GND powinny być podciągnięte linie sygnałowe? Jest
to to samo GND, z którym ma być połączony ekran kabla? Dobrze rozumiem,
że chodzi tutaj o obwód zasilania pierwszego urządzenia na magistrali,
którego masa jest połączona z uziemieniem?
2) Co jeśli zdecyduję się na pociągnięcie zasilania razem z magistralą?
Coś jak PoE - kilkadziesiąt V na wolnych parach skrętki ethernetowej,
układy zasilane przez przetwornice? Czy to wprowadza jakieś komplikacje.
> 2. Jak połączenie takie występuje to wszystkie linie
> (sygnałowe/zasilania) powinny mieć izolację (aby przerwać tzw. pętlę masy).
Czyli rozumiem, że problem może się pojawić, jeśli mam na magistrali dwa
różne urządzenia z własnymi zasilaczami i uziemionymi masami? To głównie
wtedy powinienem zastosować wstawić np. transoptor między MCU a MAX485 i
przetwornicę DC/DC pomiędzy zasilanie układu a zasilanie transcevera?
-
54. Data: 2014-02-13 20:53:05
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Atlantis <m...@w...pl>
W dniu 2014-02-13 12:39, Piotr Gałka pisze:
> Dopóki obciążenie łącza jest niewielkie możesz sobie pozwolić na
> nadawanie (każdego, kto ma taką potrzebę) w ciemno i ewentualne
> powtarzanie jak w ciągu jakiegoś czasu nie ma odpowiedzi.
> RS485 to tylko standard elektryczny - komunikować możesz się jak ci się
> tylko podoba.
Może po prostu istnieje jakiś wygodny protokół z gotową biblioteką i
przykładami pod AVR? Jeśli tak, to wyważanie otwartych drzwi średnio
miałoby sens.
Myślałem nad Modbus RTU ale może jednak jakiś standard oparty o ASCII i
bardziej naturalne komunikaty (coś jak komendy AT) będzie przyjemniejszy
w implementacji i debugingu.
Trudno jest zrealizować magistralę multimaster z zabezpieczeniem przed
problemami wynikającymi z jednoczesnego nadawania?
-
55. Data: 2014-02-14 08:16:12
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Dariusz Dorochowicz <_...@w...com>
W dniu 2014-02-13 20:49, Atlantis pisze:
> Czyli rozumiem, że problem może się pojawić, jeśli mam na magistrali dwa
> różne urządzenia z własnymi zasilaczami i uziemionymi masami? To głównie
> wtedy powinienem zastosować wstawić np. transoptor między MCU a MAX485 i
> przetwornicę DC/DC pomiędzy zasilanie układu a zasilanie transcevera?
Wiesz co, jeżeli chcesz sam wypracować sobie właściwe rozwiązanie, to
poszukaj na sieci hasła "rs485 best practices" i podobnych. Jest sporo
materiałów dobrze wyjaśniających istotę samego interfejsu, okablowania i
tematów pobocznych. Będziesz miał informację pełniejszą i szybciej. Jak
będziesz miał problemy z czymś, zawsze będzie łatwiej posługiwać się
konkretnymi schematami itd. Ja np podpowiem na szybko, że o ile w
prostych systemach możesz polegać na jednej parze transmisyjnej, to w
trochę bardziej rozbudowanych, a na pewno odpowiadających za ważne
sprawy, nie wyobrażam sobie nie poprowadzenia masy komunikacji.
Tak na początek:
http://www.canarysystems.com/nsupport/ArtScienceRS48
5.pdf
http://www.chipkin.com/rs485-cables-why-you-need-3-w
ires-for-2-two-wire-rs485/
Jak się link połamie, to musisz sobie poradzić - ja jestem zbyt leniwy.
Jeżeli masz jakieś pytania, to na priv - bez podkreślników i pl zamiast
com.
Pozdrawiam
DD
-
56. Data: 2014-02-14 08:51:16
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:ldj7k1$ujg$1@portraits.wsisiz.edu.pl...
>W dniu 2014-02-13 12:35, Piotr Gałka pisze:
>
>> Nie do końca jestem pewien czy dokładnie rozumiem co piszesz. Rysunek ?
>
> Też się lekko pogubiłem. Po prostu chciałbym uzyskać odpowiedź na kilka
> pytań:
> 1) Do którego VCC i GND powinny być podciągnięte linie sygnałowe? Jest
> to to samo GND, z którym ma być połączony ekran kabla? Dobrze rozumiem,
> że chodzi tutaj o obwód zasilania pierwszego urządzenia na magistrali,
> którego masa jest połączona z uziemieniem?
Podciąganie - jak już koniecznie chcesz to do tego VCC i GND z którego
zasilany jest driver.
Wyszło mi kiedyś, że nie jestem w stanie poradzić sobie z podciąganiem linii
sygnałowych, gdy nie wiem w jakiej konfiguracji ktoś połączy moje
urządzenia - zastąpiłem to przez fail-safe.
Łączenie mas to temat rzeka - nie da się krótko i jednocześnie ogólnie.
Generalnie ekran kabla trzeba rozumieć jako dalszy ciąg metalowej obudowy
urządzenia. GND płytki nie musi być tym samym co obudowa urządzenia.
Stosowanie na PCB symbolu GND wprowadza w błąd.
Szukaj not aplikacyjnych u wszystkich producentów driverów RS485.
> 2) Co jeśli zdecyduję się na pociągnięcie zasilania razem z magistralą?
> Coś jak PoE - kilkadziesiąt V na wolnych parach skrętki ethernetowej,
> układy zasilane przez przetwornice? Czy to wprowadza jakieś komplikacje.
Zrozum, że to jest za mało danych aby cokolwiek powiedzieć.
Czy zasilane w ten sposób urządzenie:
- ma elementy wrażliwe na zakłócenia z DC/DC,
- ma jakieś wejścia do których podłączane są jakieś kable,
- czy te kable łączą się z czymś izolowanym, czy z czymś połączonym z
uziemieniem,
- jeśli to coś samo w sobie jest połączone z uziemieniem, to czy zawiera
może izolację na wyjściu łączonym do wejść tego urządzenia o którym mówimy,
- czy to urządzenie czymś steruje,
- jak steruje to przez przekaźniki czy bezpośrednio (OC),
- czy to coś sterowane jest uziemione,
Nawet nie napiszesz czy masz na myśli przetwornicę z izolacją, czy bez.
Jeśli nie potrzebujesz więcej jak 1W to ja bym unikał przetwornic.
>
>> 2. Jak połączenie takie występuje to wszystkie linie
>> (sygnałowe/zasilania) powinny mieć izolację (aby przerwać tzw. pętlę
>> masy).
>
> Czyli rozumiem, że problem może się pojawić, jeśli mam na magistrali dwa
> różne urządzenia z własnymi zasilaczami i uziemionymi masami? To głównie
> wtedy powinienem zastosować wstawić np. transoptor między MCU a MAX485 i
> przetwornicę DC/DC pomiędzy zasilanie układu a zasilanie transcevera?
Mniej więcej.
P.G.
-
57. Data: 2014-02-14 08:53:40
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:ldj7rg$vjo$1@portraits.wsisiz.edu.pl...
>W dniu 2014-02-13 12:39, Piotr Gałka pisze:
>
>> Dopóki obciążenie łącza jest niewielkie możesz sobie pozwolić na
>> nadawanie (każdego, kto ma taką potrzebę) w ciemno i ewentualne
>> powtarzanie jak w ciągu jakiegoś czasu nie ma odpowiedzi.
>> RS485 to tylko standard elektryczny - komunikować możesz się jak ci się
>> tylko podoba.
>
> Może po prostu istnieje jakiś wygodny protokół z gotową biblioteką i
> przykładami pod AVR? Jeśli tak, to wyważanie otwartych drzwi średnio
> miałoby sens.
>
Nigdy nie oprogramowywałem RS485 więc niczego mądrego się ode mnie nie
dowiesz.
P.G.
-
58. Data: 2014-02-16 10:16:47
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Atlantis <m...@w...pl>
W dniu 2014-02-12 08:47, Piotr Gałka pisze:
> Pytasz wprawdzie o transoptory ale...
> W 2004 wybrałem do tego celu:
Ku rozwiązaniu z transoptorem skłaniam się jeszcze z innego powodu - w
jakiś sposób muszę zrealizować dostosowanie poziomów logicznych. MCU
pracuje na napięciu 3,3V, transceiver RS485 wymaga 5V.
Wystarczy po prostu potraktować wyjścia/wejścia MCU i transceivera jako
piny sterujące diodami/sterowane bramką szybkiego transoptora? Czy też
sprawa jest nieco bardziej problematyczna?
-
59. Data: 2014-02-16 11:13:02
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Dariusz Dorochowicz <_...@w...com>
W dniu 2014-02-16 10:16, Atlantis pisze:
> Ku rozwiązaniu z transoptorem skłaniam się jeszcze z innego powodu - w
> jakiś sposób muszę zrealizować dostosowanie poziomów logicznych. MCU
> pracuje na napięciu 3,3V, transceiver RS485 wymaga 5V.
A gdzie żeś znalazł że 5V? Jak czytam, to widzę coś innego. No i coś by
u mnie nie działało gdyby tak było.
Transoptory to były kiedyś. Były jeszcze MAX1480, ale one to fajne nie
były i kosztowały jakoś kosmicznie.
> Wystarczy po prostu potraktować wyjścia/wejścia MCU i transceivera jako
> piny sterujące diodami/sterowane bramką szybkiego transoptora? Czy też
> sprawa jest nieco bardziej problematyczna?
Zobacz, ile kosztuje ADM2483 i zastanów się, czy warto kombinować?
Co do transoptorów, to trzeba dobrze sprawdzić co i jak, żeby się nie
okazało, że żeby mieć dobre czasy to musisz dać spory prąd LEDa. Tylko
że Ty chyba nie masz powodu używać szybkich transmisji.
Pozdrawiam
DD
-
60. Data: 2014-02-16 11:19:24
Temat: Re: Odczyt czujników - RS485 czy I2C?
Od: Piotr Gałka <p...@c...pl>
Użytkownik "Atlantis" <m...@w...pl> napisał w wiadomości
news:ldpvlv$9ij$1@portraits.wsisiz.edu.pl...
>W dniu 2014-02-12 08:47, Piotr Gałka pisze:
>
>> Pytasz wprawdzie o transoptory ale...
>> W 2004 wybrałem do tego celu:
>
> Ku rozwiązaniu z transoptorem skłaniam się jeszcze z innego powodu - w
> jakiś sposób muszę zrealizować dostosowanie poziomów logicznych. MCU
> pracuje na napięciu 3,3V, transceiver RS485 wymaga 5V.
Te izolatory Analoga serii ADuM każdą stronę mogą mieć zasiloną innym
napięciem.
> Wystarczy po prostu potraktować wyjścia/wejścia MCU i transceivera jako
> piny sterujące diodami/sterowane bramką szybkiego transoptora? Czy też
> sprawa jest nieco bardziej problematyczna?
>
Nie bardziej problematyczna niż sterowanie LEDa z wyjścia mcu.
P.G.