-
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.