eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaOdczyt czujników - RS485 czy I2C?
Ilość wypowiedzi w tym wątku: 81

  • 1. Data: 2014-02-07 18:50:27
    Temat: Odczyt czujników - RS485 czy I2C?
    Od: Atlantis <m...@w...pl>

    Pracując nad projektem stacji pogodowej muszę zdecydować się na
    magistralę po której będę odczytywał informacje z czujników. W tej
    chwili wiem, że niektóre z nich w finalnej wersji płytki będą
    umieszczone na tym samym PCB co MCU i kontroler Ethernetu. Tak będzie
    chociażby w przypadku czujnika ciśnienia, który (tak samo jak m.in. RTC)
    będzie podłączono do magistrali I2C.

    Problem zaczyna się w przypadku tych czujników, które będę musiał
    umieścić poza skrzynką z elektroniką. Najbliżej będzie mógł się
    znajdować sensor temperatury i wilgotności powietrza. Czy wystarczy
    przedłużyć magistralę I2C poza skrzynkę (tak mniej-więcej metr kabla) i
    ewentualnie odizolować czymś takim?

    http://www.tme.eu/pl/details/adum1250arz/dlawiki-smd
    /analog-devices/

    Nie wykluczam jednak, że w przyszłości będą chciał dodać do stacji
    kolejne czujniki, które będą się znajdowały trochę dalej - pomiar
    prędkości i kierunku wiatru, nasłonecznienia itp. Jak bardzo mógłby
    "wydłużyć" I2C? Może jednak lepszym pomysłem będzie zastosowanie
    magistrali różnicowej, na skrętce, np. RS485 albo CAN?

    Czy jeśli już zastosuję taką magistralę w projekcie, to w ogóle opłaca
    się łączyć jakiekolwiek zewnętrzne urządzenia za pomocą I2C? Może lepiej
    sklecić osobny modulik na jakimś ATTiny, niech czyta dane z czujników i
    wysyła je po właściwej magistrali?

    A może w ogóle nie powinienem się bawić kablami, tylko zastosować któryś
    z tanich transceiverów ISM na SPI?


  • 2. Data: 2014-02-07 20:16:42
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: BartekK <s...@d...org>

    W dniu 2014-02-07 18:50, Atlantis pisze:
    > Nie wykluczam jednak, że w przyszłości będą chciał dodać do stacji
    > kolejne czujniki, które będą się znajdowały trochę dalej - pomiar
    > prędkości i kierunku wiatru, nasłonecznienia itp. Jak bardzo mógłby
    > "wydłużyć" I2C? Może jednak lepszym pomysłem będzie zastosowanie
    > magistrali różnicowej, na skrętce, np. RS485 albo CAN?
    Najtaniej, prosto i bardzo skutecznie - RS485. Po stronie MCU (tak
    twojej "centralki" jak i np attiny przy czujnikach) obsługa banalna (bo
    to zwykły rs, szeregowy port jest prosty i oprzykładowany z każdej
    strony). Przecież nie potrzebujesz tam megabitów przepustowości.

    > Czy jeśli już zastosuję taką magistralę w projekcie, to w ogóle opłaca
    > się łączyć jakiekolwiek zewnętrzne urządzenia za pomocą I2C? Może lepiej
    > sklecić osobny modulik na jakimś ATTiny, niech czyta dane z czujników i
    > wysyła je po właściwej magistrali?
    Raczej tak. Wymyśl sobie jakiś protokół komunikacyjny na wspólną
    magistralę - centralka jako master, czujniki jako slave każdy ze swoim
    nr, jakiś stały format ramki i zasady odpowiedzi, enumeracji czujników
    itp, a wtedy pomiar z każdego typu czujnika (niezależnie od tego, czy
    fizycznie na czujniku analogowym, na ds18b20, czy na pirometrze,
    czujniku ciśnienia czy wiatru czy czegoś innego) będziesz mógł łatwo
    przeformatować na jego attiny i wcisnąć spójnie do jednego
    systemu/bazy/wizualizacji - uniezależniając się całkowicie od fizycznych
    czujników, które możesz dorabiać, przerabiać, przeprogramowywać - bez
    ruszania już "serca" stacji.
    Np stacja odlicza czujniki metodą wysyłania kolejnych nr cyklicznie i
    oczekiwania na odpowiedz, a każdy czujnik - który "usłyszy swój nr"
    odpowiada w formacie np Nr_czujnika,zmierzona_wartosc_w_int16 (bo chyba
    taka precyzja ci wystarczy?, gdzie 0=0'C, 0=0m/s, 1000=1000hPa itp ).
    Dzięki temu łatwo to będzie do jakiegoś np rrdtoola wrzucać do
    wizualizacji.

    > A może w ogóle nie powinienem się bawić kablami, tylko zastosować któryś
    > z tanich transceiverów ISM na SPI?
    To już zależy od ciebie, jak sobie hardware całości wymyślasz. Nie ma
    problemu użyć np RF24L01P na 2.4GHz, bo jest niedrogi (~10zł za modulik
    na spi, bez dodatkowych wzmacniaczy mocy), i ma zasięgu kilkadziesiąt
    meetrów, tylko po co? Obsługa magistrali radiowej (tzn samego modułu
    radiowego) to trochę więcej kodu, niż prosta obsługa rs232/485 w
    przerwaniach "odebrałem znak" i "wyślij znak"


    --
    | Bartłomiej Kuźniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173


  • 3. Data: 2014-02-07 23:10:17
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Marcin <m...@x...xxx.pl>

    W dniu 2014-02-07 18:50, Atlantis pisze:
    > Pracując nad projektem stacji pogodowej muszę zdecydować się na
    > magistralę po której będę odczytywał informacje z czujników. W tej
    > chwili wiem, że niektóre z nich w finalnej wersji płytki będą
    > umieszczone na tym samym PCB co MCU i kontroler Ethernetu. Tak będzie
    > chociażby w przypadku czujnika ciśnienia, który (tak samo jak m.in. RTC)
    > będzie podłączono do magistrali I2C.
    >


    Właśnie produkuję podobny zestaw - sterownik do ogrzewania rynien.
    Do komunikacji pomiędzy "centralką", a czujnikami wybrałem AVC-Lan
    (IE-BUS), którym wcześniej się zajmowałem.
    Masz tam wszystko co potrzeba, adres każdego urządzenia, wysyłanie do
    konkretnego czujnika lub do wszystkich.
    Protokół prosty i umożliwiający wymianę wszelkich parametrów.
    Potrzebne tylko dwie linie tx+/tx-. Jeszcze nie sprawdzałem maksymalnej
    długości pomiędzy centralką a czujnikiem ale ponad 50m powinno iść bez
    problemu.
    U mnie sprawa jest prosta, bo zbieram tylko dane typu temperatura,
    wilgotność i to przesyłam do centralki, a tam jest decyzja czy włączyć
    ogrzewanie czy nie.
    Zatem centralka wysyła broadcast do wszystkich czujników i zwrotnie
    dostaje dane z numerem konkretnych czujników.
    Jeśli parametry są spełnione, to wysyła komendę już do konkretnego
    czujnika typu włącz/wyłącz.
    Proste, łatwe i przyjemne. Czy będzie działać okaże się jak zmontuję :)


    Marcin


  • 4. Data: 2014-02-08 00:56:21
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Jakub Rakus <s...@o...pl>

    On 07.02.2014 23:10, Marcin wrote:

    > Właśnie produkuję podobny zestaw - sterownik do ogrzewania rynien.

    Abstrahując od tematu - na co komu ogrzewanie rynien?

    --
    Pozdrawiam
    Jakub Rakus


  • 5. Data: 2014-02-08 01:08:35
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Jakub Rakus <s...@o...pl>

    On 07.02.2014 20:16, BartekK wrote:

    > Najtaniej, prosto i bardzo skutecznie - RS485.

    Na te odległości jak najbardziej, nic lepszego raczej się nie wymyśli.
    Jako scalaki, które zapewnią przesył różnicowy po magistrali proponuję
    MAX481 w wersji na rozszerzony zakres temperatur z literką E, te
    "zwykłe" z literką C są słabe. Zalecałbym także zapewnienie izolacji
    galwanicznej magistrali od głównego sterownika (metrowy przewód
    wystarczy żeby zebrać spore napięcie przy niedalekiej burzy), linie
    danych do samego MAXa izolujemy jakimiś transoptorami, a jego samego
    zasilamy przez miniaturową przetworniczkę 5Vdc/5Vdc. Jak się autor wątku
    do mnie uśmiechnie to może znajdę te przydasie w szufladzie ;)
    Jak w grę zaczną wchodzić setki metrów już trzeba zacząć się
    zastanawiać, bo bywa to kapryśne, walczę z takim "długodystansowym"
    RS485 na co dzień w robocie i nie zawsze da się wygrać.

    --
    Pozdrawiam
    Jakub Rakus


  • 6. Data: 2014-02-08 01:49:36
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: BartekK <s...@d...org>

    W dniu 2014-02-08 00:56, Jakub Rakus pisze:
    > On 07.02.2014 23:10, Marcin wrote:
    >
    >> Właśnie produkuję podobny zestaw - sterownik do ogrzewania rynien.
    >
    > Abstrahując od tematu - na co komu ogrzewanie rynien?
    >
    Żeby nie obrastały lodem, jak śniegiem je zawali, potem część śniegu się
    roztopi (ale woda nie ma gdzie odpłynąć, bo reszta rynny zawalona
    śniegiem), potem to znów zamarznie... i tak przez kilka dni, dodając do
    tego spływającą wodę z cieplejszego dachu do rynny (która jest
    bardziej wyziębiona) to na końcu otrzymujesz piękne organy z lodowych
    sopli wiszących z rynny
    http://www.izolacje.com.pl/images/photos/24/1170/__b
    _sople-na-dachu1.jpg

    --
    | Bartłomiej Kuźniewski
    | s...@d...org GG:23319 tel +48 696455098 http://drut.org/
    | http://www.allegro.pl/show_user_auctions.php?uid=338
    173


  • 7. Data: 2014-02-08 08:18:24
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Piotr Gałka <p...@c...pl>


    Użytkownik "Jakub Rakus" <s...@o...pl> napisał w wiadomości
    news:ld3si3$rv4$1@node2.news.atman.pl...
    > Jak w grę zaczną wchodzić setki metrów już trzeba zacząć się zastanawiać,
    > bo bywa to kapryśne, walczę z takim "długodystansowym" RS485 na co dzień w
    > robocie i nie zawsze da się wygrać.
    >
    Jakie są problemy z którymi nie udało Ci się wygrać ?
    Jeszcze w ubiegłym wieku miałem kłopoty z 300m 485 (bez izolacji,
    zabezpieczenie tylko ESD).
    Ale obecnie (izolacja, fail-save, zabezpieczenie od surge) właściwie nie
    zauważam problemów (57600 na 1km).
    Właśnie planuję wprowadzić 485 300m bez izolacji, ale z zabezpieczeniem
    surge i mam nadzieję, że nie będzie problemów.
    Pytam, bo może coś wpłynie na moje "mam nadzieję".
    P.G.


  • 8. Data: 2014-02-08 08:42:41
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Elektrolot <e...@N...pl>

    W dniu 2014-02-08 08:18, Piotr Gałka pisze:
    > Właśnie planuję wprowadzić 485 300m bez izolacji, ale z zabezpieczeniem surge i mam
    nadzieję, że nie
    > będzie problemów.

    A to zabezpieczenie surge to jakieś transile, czy coś innego?
    Ja od jakiegoś czasu do zabezpieczenia RS-485 stosuję SM712.


  • 9. Data: 2014-02-08 12:00:07
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: Mario <m...@...pl>

    W dniu 2014-02-08 08:18, Piotr Gałka pisze:
    >
    > Użytkownik "Jakub Rakus" <s...@o...pl> napisał w wiadomości
    > news:ld3si3$rv4$1@node2.news.atman.pl...
    >> Jak w grę zaczną wchodzić setki metrów już trzeba zacząć się
    >> zastanawiać, bo bywa to kapryśne, walczę z takim "długodystansowym"
    >> RS485 na co dzień w robocie i nie zawsze da się wygrać.
    >>
    > Jakie są problemy z którymi nie udało Ci się wygrać ?
    > Jeszcze w ubiegłym wieku miałem kłopoty z 300m 485 (bez izolacji,
    > zabezpieczenie tylko ESD).
    > Ale obecnie (izolacja, fail-save, zabezpieczenie od surge) właściwie nie
    > zauważam problemów (57600 na 1km).
    > Właśnie planuję wprowadzić 485 300m bez izolacji, ale z zabezpieczeniem
    > surge i mam nadzieję, że nie będzie problemów.
    > Pytam, bo może coś wpłynie na moje "mam nadzieję".

    Największe problemy przy długiej linii pojawiają się gdy na jej końcach
    nie są podciągnięte D+ do VCC i D_ do masy.

    --
    pozdrawiam
    MD


  • 10. Data: 2014-02-08 12:35:02
    Temat: Re: Odczyt czujników - RS485 czy I2C?
    Od: "zapinio" <z...@g...com>

    I to jest bardzo słuszna koncepcja.
    Śmiem twierdzić, że ważniejsza niż terminatory linii.


strony : [ 1 ] . 2 ... 9


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: