Pytanie:
Czy powinienem rozważyć użycie RS-485 w moim następnym projekcie
jdiaz
2009-12-04 12:26:07 UTC
view on stackexchange narkive permalink

Planuję projekt automatyzacji, który będzie wykorzystywał kilka różnych czujników, w tym między innymi: temperaturę, ciśnienie barometryczne, przepływ powietrza, wilgotność itp.

Jak rozmawiałem z kimś, o czym wspomnieli że powinienem spojrzeć na RS-485 jako sposób na połączenie moich czujników z kontrolerem. Ostatecznie na PC.

Po szybkim wyszukiwaniu zebrałem trochę informacji na temat RS-485, ale teraz zastanawiam się, czy jest to nadmierne zabicie, czy w ogóle jest używane od kilku dni?

Czy nie mógłbym po prostu użyć mikrokontrolera, który ma wystarczającą liczbę wejść i interfejs z komputerem za pomocą USB?

Co myślisz?

EDYCJA: Ok, jeśli odległość od kontrolera i środowiska (w moim przypadku aplikacja przemysłowa) może być przydatna. Czy są inne autobusy, które mogą być bardziej przydatne?

* Czy istnieją inne autobusy alternatywne? *: Rozważ [CAN] (http://en.wikipedia.org/wiki/CAN_bus).Sortuje takie rzeczy, jak kolizje, arbitraż magistrali, sumy kontrolne i adresowanie, które musisz wykonać samodzielnie przez RS-485.Większość mikroukładów powyżej 1,50 $ ma teraz co najmniej jeden port, a transceivery też są tanie za około 0,60 $.(Cena dotyczy wolumenów 1K, YMMV).
Siedem odpowiedzi:
#1
+7
thisismyrobot
2009-12-04 13:11:13 UTC
view on stackexchange narkive permalink

Użyłem RS485 do połączenia wielu rejestratorów danych na odległość do 100m. W tej aplikacji działało idealnie.

Nie używałem RS485 do bezpośredniego podłączenia czujników do kontrolera, ale jeśli masz czujniki z wyjściami RS485 + kontroler obsługujący RS485 i masz więcej niż 10 czujników lub czujniki muszą być więcej niż niewielka odległość od kontrolera na pewno użyłbym RS485 zamiast okablowania analogowego. Odkryłem, że w miarę dodawania coraz większej liczby czujników analogowych do kontrolera (w moim przypadku rejestratora danych) drobne problemy z szumami zasilania, impedancją przewodów i zakłóceniami środowiskowymi nagle stają się poważnymi problemami.

Zgoda, jeśli masz aplikację z zasięgiem czujników, prawdopodobnie powinieneś znaleźć bardziej inteligentny sposób przesyłania danych.
#2
+5
J. Polfer
2009-12-05 03:09:56 UTC
view on stackexchange narkive permalink

Myślę, że duża różnica wynika z odległości, w jakiej znajdują się czujniki w sieci.

Jeśli są one blisko i prawdopodobnie nie ma na nie wpływu szum elektryczny, to nie myślę, że to ma zbyt duże znaczenie. USB, RS-232, SPI, I2C, równoległe, Bluetooth ... wszystkie byłyby dobrymi opcjami.

Jeśli są daleko i prawdopodobnie znajdują się w pobliżu szumów elektrycznych , system, który wykorzystuje schemat komunikacji różnicowej (taki jak CAN, RS-485, Ethernet ) jest prawdopodobnie lepszą trasą.

#3
+2
jkopel
2009-12-04 13:04:36 UTC
view on stackexchange narkive permalink

Powiedziałbym, że krótka odpowiedź to czujniki-> mikrokontroler-> USB, ale nie podajesz nam zbyt wielu szczegółów dotyczących środowiska, w którym będziesz pracować, ani tego, jak solidny musi być cały system. Jeśli masz hałaśliwe środowisko, duże odległości między czujnikami lub wymaganie wysokiej niezawodności, możesz spojrzeć na profesjonalnie zbudowany sprzęt i coś takiego jak RS-485. Jeśli chcesz śledzić mikroklimat wokół swoich pomidorów, wystarczy kilka czujników i arduino.

Zapomniałem przesłać odpowiedź, więc dodam komentarz, aby uniknąć bałaganu. jkopel ma rację, lepiej jest z czujnikiem-> uC-> USB, ale środowisko jest kluczowe. Jeśli potrzebujesz więcej pinów, możesz łatwo uzyskać zewnętrzne moduły ADC i połączyć się z nimi przez protokół SPI lub I2C.
#4
+2
Axeman
2009-12-04 17:19:58 UTC
view on stackexchange narkive permalink

Jeśli czujniki znajdują się w pobliżu komputera, USB może działać prawidłowo, ale nie zawsze tak jest. Mam licznik energii w piwnicy domu, a komputer odczytujący wartości energii jest w moim mieszkaniu (4 piętro) ... Nie ma problemu z RS485 (lub magistralą CAN), ale spróbuj z USB :-)

lub bezprzewodowy w takiej sytuacji.
#5
+2
mba7
2009-12-04 22:46:58 UTC
view on stackexchange narkive permalink

RS485 jest odpowiednikiem I2C, ale w większej skali oba mają architekturę magistrali z adresami węzłów:

  • RS-485 jest doskonały do ​​ponad 4000 stóp przewodu czujnika. Możesz go zaimplementować do wszystkiego, do czego używałbyś I2C. Posiada szeroką gamę opcji izolacji EMF i optycznej. RS-485 wymaga adaptera sygnału do pracy
  • I2C jest szybsze, nie jest przystosowane do dużych odległości, nie potrzebuje sterownika liniowego do pracy, dlatego zużywa mniej

mam nadzieję, że teraz jest to jaśniejsze

#6
+2
russ_hensel
2009-12-04 23:27:38 UTC
view on stackexchange narkive permalink

A co z jednym przewodem Dallas? Myślę, że mają dużo czujników i że sieć ma dość duży zasięg. Nigdy go nie używałem, ale zawsze uważałem, że to interesujące. Jeśli masz już czujniki, nie ma to większego sensu.

#7
+1
Michael Kohne
2009-12-04 17:28:15 UTC
view on stackexchange narkive permalink

RS-485 jest bardzo przydatny w sytuacjach, gdy urządzenia (w Twoim przypadku czujniki) muszą być zdalne od kontrolera. Ogólnie jest używany, gdy urządzenie ma własny mózg (tj. Wbudowany mikrokontroler) i raportuje do komputera. Możesz uzyskać adaptery od 232 do 485, które pozwolą Twojemu PC komunikować się z RS-485.

Jeśli możesz umieścić czujniki w tym samym pudełku co mikrokontroler, możesz użyć 485 do komunikacji z komputerem. Nie jest szybki, ale jest bardzo solidny i dobrze zrozumiały w wielu sytuacjach i dość łatwo pozwala na dodatkowe urządzenia. Jeśli masz tylko jedno urządzenie, 232 wystarczy.



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...