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

Magistrala do połączenia kilkunastu układów pomiarowych: I2C czy RS-485?

07 Cze 2016 13:53 960 12
  • Poziom 9  
    Hej,

    Projektuję instalację pomiarową. Będzie składała się z Raspberry Pi jako komputera centralnego i kilku/kilkunastu końcówek z ATMega i kilkoma czujnikami na pokładzie. Wstępnie założenia są takie:

    1. Układy wpięte są w magistralę. Długość głównej szyny to max. 5m, długość odejścia w bok do końcówki to max. 2m.
    2. Całość chodzi na 5V, na końcówkach są jedynie czujniki o małym poborze mocy, żadnej mechaniki/sterowania.
    3. Zasilanie do końcówek i dane idą po skrętce kat.5, wszędzie gniazda RJ-45. Odgałęzienia magistrali zrealizowane przez trójnik.
    4. Komputer centralny okresowo odpytuje końcówki o dane. Prędkość przesyłu jest nieistotna, częstotliwość odpytywania liczona w minutach.
    4. Cały system zasilany jest z akumulatora, więc zakładam też możliwość włączania zasilania na magistrali przez komputer centralny tylko na czas odpytywania (stosowane w końcówkach czujniki nie wymagają ciągłego zasilania ani długotrwałej kalibracji).

    Teraz zastanawiam się jaką magistralę zastosować. Najprościej byłoby I2C, jako że jest obsługiwana zarówno przez RPi jak i ATMega. Oficjalne specyfikacje jednak wskazują, że na takich odległościach jest to lekkie nadużycie standardu. Mam szanse czy powinienem zatem spojrzeć w stronę RS-485?
  • Computer Controls
  • Użytkownik usunął konto  
  • Computer Controls
  • Użytkownik usunął konto  
  • Poziom 9  
    turlam.dropsa napisał:
    A w jakim środowisku to będzie pracować?


    Będzie pracować na zewnątrz, a zatem bez zakłóceń z innych źródeł elektromagnetycznych ale wystawione na czynniki atmosferyczne.

    Piotrus_999 napisał:
    Jezeli masz tylko te 2 opcje to tylko RS.


    W zasadzie nie wiem czy mam tylko te dwie. Może da się prosto i tanio połączyć te platformy innym sposobem, o którym nie wiem?
  • Użytkownik usunął konto  
  • Użytkownik usunął konto  
  • Pomocny post
    Poziom 15  
    e-mess napisał:
    Może da się prosto i tanio połączyć te platformy innym sposobem, o którym nie wiem?

    Prosto i tanio to właśnie rs-485. Dlatego, że konwertery ttl<->RS485 czyli układy SN75176 w obudowie so-8 są po ca 2zł brutto.
    Puszczasz po tym transmisję szeregową w half duplexie, master-slave i masz spokój z zakłóceniami itd. Popatrz na noty katalogowe to pozbędziesz się wątpliwości...
    Jak znalazł do twoich potrzeb...
  • Poziom 35  
    A profesjonalnie i aby wyglądało poważnie to po CAN. tylko wtedy nie jest już najtaniej. Ale odpada dużo problemów w takich systemach jak multimaster.
  • Moderator Mikrokontrolery Projektowanie
    Samuraj napisał:
    A profesjonalnie i aby wyglądało poważnie to po CAN. tylko wtedy nie jest już najtaniej. Ale odpada dużo problemów w takich systemach jak multimaster.


    A co w CAN jest profesjonalnieszego? Poza tym tu autor ma prostą sytuację - jeden master, odpytujący układy slave. Idealne zastosowanie dla taniego RS485. Oprogramowaie tego to prosta transmisja jak po RS232, ja bym do tego wykorzystał dodatkowo tryb MPCM dostępny dla UART w ATMega, żeby nieodpytywane procki mogły spokojnie spać. Nic prostszego i równie niezawodnego nie znajdzie. 1-wire byłby też ok, ale problem jest z licencją na układ slave.
    Ew. może bym jeszcze rozważał zakup ESP8266, za całe 1,5$/sztuka i na tym wszystko oprogramował + transmisja po WiFi. Radykalnie wywraca to założenia projektu, ale może się nada.
  • Poziom 9  
    Chyba mnie przekonaliście :)

    Jeszcze jedna kwestia. Po stronie mastera mam TTL 3V3. Z tego co widzę, SN75176 i pokrewne są tylko na 5V, przez co pasują mi do końcówek ale do jednostki centralnej już nie. Jaki układ moglibyście polecić mi na 3V3?

    Znalazłem MAX3485 ale kosztuje w detalu dość sporo, około 20zł. Co prawda potrzebuję tylko jeden ale dla pewności pytam: brać czy jest coś w lepszej cenie?
  • Poziom 26  
    RS485 jest jak tani i dobry. Pociągnij tylko do czujników masę w tym samym kablu, to pozwoli uniknąć wielu problemów.