Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 29 sty 2025, o 08:58


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 
Autor Wiadomość
PostNapisane: 15 lut 2014, o 00:05 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Podejrzewam, że za jakiś czas będę miał okazję zrealizować projekt inteligentnego domu (a przynajmniej zdalnego włączania/wyłączania oświetlenia) w najbardziej dogodny z możliwych sposobów -w surowym budynku, mogąc dowolnie ciągnąć kable bez, jeszcze przed położeniem tynku na ścianach. ;) Zostało jeszcze trochę czasu zanim będę mógł ruszyć z projektem, w międzyczasie chciałbym jednak rozgryźć sprawę teoretycznie i przygotować jakieś funkcjonujące modele.

Zdecydowałem się na zastosowanie magistrali RS485. Początkowo planowałem wykorzystać model z jednym masterem, który będzie cyklicznie odpytywał niektóre urządzenia, czy od ostatniego sprawdzenia zaszła jakaś akcja. Po chwili zastanowienie stwierdzam jednak, że dużo lepsze byłoby rozproszone rozwiązanie. Mamy na przykład włącznik światła, który po naciśnięciu przycisku przechodzi w tryb master i rozkaz załączenia przekaźnika odpowiedniemu modułowi wykonawczemu. Dzięki temu cały system nie będzie miał jednego, centralnego punktu, którego awaria położyłaby całą instalację. Rodzi się tutaj jednak problem jednoczesnego nadawania. Rozkazy będzie mógł wysyłać każdy włącznik oraz płytka z ENC28J60, dzięki której możliwe będzie sterowanie z Ethernetu/Internetu. Niby niewielkie jest prawdopodobieństwo, że ktoś wyśle rozkaz dokładnie w czasie, gdy jakaś komunikacja będzie już trwała. Ja jednak wolałbym się zabezpieczyć przed taką ewentualnością. Zwłaszcza, że w przyszłości na magistrali mogą pojawić się kolejne urządzenia inicjujące łączność (np. jakiś czujnik dymu, tlenku węgla albo promieniowania jonizującego ;P).

W związku z tym (i nie tylko) mam kilka pytań:
1) Czy jednoczesne nadawania z dwóch (lub większej ilości) urządzeń może mieć jakiś negatywny wpływ na sam sprzęt, od samej strony elektrycznej? Czy też skończy się na błędzie w transmisji?
2) Czy istnieje jakiś sposób na uniknięcie konfliktów? Albo przynajmniej na proste uzgodnienie kolejności nadawania w takiej sytuacji? Do głowy przychodzi mi rozwiązanie z przerwą o losowej długości, po której urządzenie ponawia próbę. Może jest jeszcze inne wyjście?
3) Czy istnieje jakaś gotowa biblioteka, która rozwiązywałaby te kwestie? Szkoda wyważać otwarte drzwi...
4) Czy do poprowadzenia magistrali mogę użyć klasycznej, ethernetowej, ekranowanej skrętku UTP? Mógłbnym wtedy wykorzystać dwie wolne pary do przesyłania zasilania (coś jak PoE). Czy w przypadku zastosowania takiego kabla powinienem zastosować rezystory terminujące 100 omów, zamiast 120 omów? Czy taki zabieg wpłynie jakość na funkcjonowanie magistrali?
5) W jakich sytuacjach powinienem stosować izolację zasilania i wejścia/wyjścia transceivera RS485?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 08:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam w twoim przypadku radziłbym zainteresować się magistrala CAN opisywana tu na forum.


Wysłane z mojego iPhone przez Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 08:37 
Offline
Użytkownik

Dołączył(a): 29 lis 2012
Posty: 1074
Lokalizacja: Sochaczew
Pomógł: 21

Ne bardzo rozumiem. Co leży na przeszkodzie żeby jednak w każdym pokoju był slave i żebyś miał głównego mastera?
Ja już jakiś czas temu wymyśliłem sobie że podejmę taką próbę, ale fundusze nie pozwalają. W każdym razie pomysł jest taki że dajesz w każdym pokoju panel sterujący danym pokojem, czyli odrębny układ a do tego gdzieś jest master. Jeśli master Ci padnie to i tak każdy panel będzie pracował u siebie w pokoju.
Reasumując:
W każdym pokoju masz panel który steruje roletami, grzejnikiem, światłami, gniazdkami i czym tam jeszcze chcesz
W salonie głównym dajesz mastera który cyklicznie odpytuje slave'y
Master może dowolnie sterować wszystkimi pokojami a każdy slave tylko swoim pokojem
W przypadku awarii któregokolwiek slave'a na masterze dostaniesz info o jego awarii
W przypadku padnięcia mastera każdy pokój i tak będzie sterowany własnym slave'em



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 lut 2014, o 09:04 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

matrix napisał(a):
Reasumując:
W każdym pokoju masz panel który steruje roletami, grzejnikiem, światłami, gniazdkami i czym tam jeszcze chcesz
W salonie głównym dajesz mastera który cyklicznie odpytuje slave'y
Master może dowolnie sterować wszystkimi pokojami a każdy slave tylko swoim pokojem


Taki układ wymagałby integracji urządzenia wykonawczego (zespół przekaźników i/lub triaków) z panelem sterującym. To też jest jakieś rozwiązanie, ale trochę kłóci się z moją koncepcją. Chciałbym, żeby panel sterujący w miarę możliwości był małym urządzeniem, które można by wcisnąć do standardowej puszki podtynkowej, do której doprowadzony byłby tylko kabel magistrali + zasilanie. Układ wykonawczy mógłbym wtedy umieścić w jakiejś skrzynce (jedna - dwie na piętro) i stamtąd ciągnąć kable z załączanym 230V do żarówek i niektórych gniazdek. Zastosowanie skrzynki dawałoby miejsca na odpowiednie środki ostrożności - bezpieczniki, radiatory itp.

Poza tym to nie rozwiązuje także kwestii czujników. Termometr albo barometr można co jakiś czas odpytywać o wynik pomiaru, tu nie ma problemu. Ale taka czujka PIR albo wykrywacz dymu/czadu powinny już mieć możliwość inicjowania transmisji, najlepiej typu multicast. Wówczas nawet w przypadku awarii centralki będzie można zlecić 'pikanie" paru innym elementom infrastruktury, żeby było wiadomo, że coś jest nie tak.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 07:01 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Witam w twoim przypadku radziłbym zainteresować się magistrala CAN opisywana tu na forum.


Jeśli chodzi o magistralę CAN< to czy w jej przypadku również zalecane/wskazane/niezbędne jest zastosowanie izolacji galwanicznej, tak samo jak w układach RS485 (niektóre transcievery mają nawet zintegrowane odpowiednie rozwiązania). Wypadałoby wstawić jakić iCoupler albo transoptor pomiędzy MCP2551 i MCP2515, czy też układy doskonale poradzą sobie bez tego?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 07:19 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam, jeśli to będzie instalowane w budynku to spokojnie możesz darować sobie optoizolacje. Jest wiele rozwiązań które tak działają niezawodnie. Jeśli chcesz optoizolacje to polecam ISO1050 od TI. Bardzo przyjemny transciver, lecz pamiętaj, ze musisz rozdzielić masy aby to coś dało. Jednak do tej pory spotkałem się z uskodzeniami magistrali jedynie gdy ktoś jej pomógł :).



Wysłane z mojego iPhone przez Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 10:34 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Witam, jeśli to będzie instalowane w budynku to spokojnie możesz darować sobie optoizolacje.


Czy to samo tyczy się także RS485? Pytam, ponieważ widzę różne podejścia do sprawy. Jedni zalecają bezwzględne stosowanie droższych z wbudowaną izolacją i dodatkowo separowanie zasilania za pomocą małej przetwornicy DC/DC. Tymczasem w kitach AVT widzę zupełnie inną filozofię - transceiver zasilany z tego samego VCC i na tej samej masie co cała reszta układu, brak jakichkolwiek układów separujących na liniach danych, a do tego tani układ w rodzaju SN75176 albo MAX485. W najlepszym razie na wejściu znajdują się transile.

Cytuj:
Jest wiele rozwiązań które tak działają niezawodnie.


Od czego to właściwie zależy? O czym powinienem pamiętać, żeby instalacja nie upaliła się np. podczas burzy?
Wspominałeś, że wewnątrz budynku nie powinno być problemów przy braku izolacji. Nawet wtedy, gdy mowa o instalacji automatyki domowej, na magistrali złożonej z kilkudziesięciu-kilkuset metrów kabla?
Gdybym umieścił układ na zewnątrz, ale ograniczył się do krótkiej magistrali (stacja pogodowa połączona z kilkoma czujnikami) będę już potrzebował jakichś zabezpieczeń?


Cytuj:
Jeśli chcesz optoizolacje to polecam ISO1050 od TI. Bardzo przyjemny transciver, lecz pamiętaj, ze musisz rozdzielić masy aby to coś dało.


Mówisz oczywiście o masach głównego układu i transceivera, który powinien być zasilany z osobnej przetwornicy?
Ekran skrętki UTP rzecz jasna nie może się łączyć z masami poszczególnych urządzeń?


Cytuj:
Jednak do tej pory spotkałem się z uskodzeniami magistrali jedynie gdy ktoś jej pomógł :).


W jaki sposób? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 11:49 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam, nie mam doświadczenia co do jakości transciverow do RS485 jednak co do CAN to mam takowe. Jeśli stosuje się podstawowe zasady prowadzenia magistrali tzn odległości od przewodów zasilajacych 230vac itp. To nie powinno być zagrożenia w domu. Oczywiście ochrona odgromowa budynku jak i lini zasilajacych powinna być dobrze wykonana.
Wtedy nie powinieneś mieć żadnych problemów. Dla ciekawości powiem, ze w windach CAN jest bardzo popularny i nie spotkałem się z przypadkami optoizolacji. Chodzi to zazwyczaj na wspólnejasie połączonej z pe w głównym punkcie.
Jeśli myślisz o optoizolacji to musisz rozdzielić masy i zasilania , bo inaczej to nie ma to sensu. Ja osobiście stosuje tego iso1050 lecz z powodu na translacje napięć 3.3/5V i masy mam połączone. Na razie nie miałem żadnych problemów. Co do przewodu to ja stosuje dedykowane przewody do CAN bus.
Jeśli planujesz już wyjść poza budynek to optoixolacja jest niezbędna. Koniecznie z rozdzieleniem mas i zasilania , nawet jeśli to tylko kawałek. Dodatkowo polecam zastosowanie warystorow na liniach.
Pozdrawiam


Wysłane z mojego iPhone przez Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 13:25 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Cytuj:
Jeśli myślisz o optoizolacji to musisz rozdzielić masy i zasilania , bo inaczej to nie ma to sensu. Ja osobiście stosuje tego iso1050 lecz z powodu na translacje napięć 3.3/5V i masy mam połączone.


A właśnie. Jak wygląda kwestia napięć zasilania. Z tego co widzę, to MCP2515 może pracować na zasilaniu 3,3V. Sam transceiver MCP2551 wymaga już 5V. Rozumiem, że w takim przypadku wyjście 2551 daje zbyt wysokie napięcie i trzeba po drodze wstawić jakiś bufor, dzielnik albo ogranicznik? Sam układ nie ma wbudowanego żadnego zabezpieczenia?
Będę miał do czynienia z taką sytuacją w jednym układzie, gdzie wygodniej jest zasilić MCU niskim napięciem z uwagi na obecność ENC28J60.


Cytuj:
Na razie nie miałem żadnych problemów. Co do przewodu to ja stosuje dedykowane przewody do CAN bus.


Jaki jest ich koszt? Można takim przewodem puścić również zasilanie dla mniej prądożernych elementów instalacji? Mam na myśli coś na wzór Power over Ethernet.

Cytuj:
Jeśli planujesz już wyjść poza budynek to optoixolacja jest niezbędna. Koniecznie z rozdzieleniem mas i zasilania , nawet jeśli to tylko kawałek. Dodatkowo polecam zastosowanie warystorow na liniach.


Pisząc "poza budynek" masz na myśli otwarty teren? Bo ja myślałem raczej o kablu prowadzonym wzdłuż ściany, ale po jej zewnętrznej stronie. W najgorszym razie końcówka magistrali dochodziłaby na dach, do jakiegoś wiatromierza. :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 19:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam,
powinienem wspomnieć na początku, że nie używam procesorów avr. Na co dzień korzystam z PIC i STM32 które mają wbudowany kontroler CAN. Np. 18f2580 lub STM32f103. Szczególnie te ostatnie są praktycznie w każdym moim projekcie głównie ze względu na cenę i dostępność. Właśnie do nich stosuję transciever ISO1050.
Obrazek
Do PIC'ów stosuję 2551 i chodzi ok. Są też transcievery na 3.3V lecz miałem z nimi małe problemy i zrezygnowałem.
Jeśli chodzi o zasilanie z jednego przewodu to ja właśnie takie coś stosuję, dwa przewody to 24Vdc i kolejne dwa to CAN. Przewód jest 2x2x0,34 lub 0,5 ekranowany. Musisz jednak policzyć sobie prąd i dopuszczalną wartość dla przewodu. Na poniższym zdjęciu masz jak to wygląda.
Obrazek
Co do kosztów to teraz nie mogę znaleźć faktury ale coś ok 5pln netto za metr.

Jeśli nawet jest to tylko ściana ale jest na zewnątrz i narażona na różne czynniki to już byłbym bardzo ostrożny. Możesz zrobić tak, że w mieszkaniu nie masz optoizolacji natomiast przed wyjściem na zewnątrz dajesz moduł który odseparuje ci zewnętrzną część magistrali.

Pozdrawiam
R.L.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 19:43 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Witam,
powinienem wspomnieć na początku, że nie używam procesorów avr. Na co dzień korzystam z PIC i STM32 które mają wbudowany kontroler CAN. Np. 18f2580 lub STM32f103. Szczególnie te ostatnie są praktycznie w każdym moim projekcie głównie ze względu na cenę i dostępność. Właśnie do nich stosuję transciever ISO1050.
Obrazek


Hmm... Mas w takim przypadku nie trzeba rozdzielać?
Jaką funkcję pełnią dławiki 1uH na wejściu magistrali?

Cytuj:
Do PIC'ów stosuję 2551 i chodzi ok. Są też transcievery na 3.3V lecz miałem z nimi małe problemy i zrezygnowałem.
Jeśli chodzi o zasilanie z jednego przewodu to ja właśnie takie coś stosuję, dwa przewody to 24Vdc i kolejne dwa to CAN. Przewód jest 2x2x0,34 lub 0,5 ekranowany. Musisz jednak policzyć sobie prąd i dopuszczalną wartość dla przewodu. Na poniższym zdjęciu masz jak to wygląda.


Istnieją jakieś ważne przesłanki za stosowaniem takiego kabla? Ktoś kiedyś polecał na jakimś forum zwykłą (oczywiście lepszą jakościowo) ekranowaną skrętkę komputerową. W takim przypadku zasilanie mógłbym puścić od dwiema wolnymi parami.


Cytuj:
Jeśli nawet jest to tylko ściana ale jest na zewnątrz i narażona na różne czynniki to już byłbym bardzo ostrożny. Możesz zrobić tak, że w mieszkaniu nie masz optoizolacji natomiast przed wyjściem na zewnątrz dajesz moduł który odseparuje ci zewnętrzną część magistrali.


Mogę zapytać o jakie czynniki chodzi? Bo przecież ściana (w moim przypadku ceglana) chyba nie ochroni magistrali przed impulsem elektromagnetycznym przy bliskim wyładowaniu atmosferycznym. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 20:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Atlantis napisał(a):
Hmm... Mas w takim przypadku nie trzeba rozdzielać?
Jaką funkcję pełnią dławiki 1uH na wejściu magistrali?


pisałem już, że nie wykorzystuje optoizolacji i łacze masy. Patrz wyżej.
Dławiki pełnią rolę przeciwzakłóceniową. Tu akurat jest tak ale daje współosiowy.

Jasne, że możesz wykorzystać skrętkę, nawet na zdjęciu widać gniazdo RJ45 też z CAN.
Ja natomiast stosuję taki ze względów na miejsce instalacji i warunki mechaniczne. Ten przewód jest w silikonowej słonie.

Nie chcę tutaj prawić wywodów na temat tak rozległy jak ochrona przeciw odgromowa i wszystkie inne aspekty z tym związane.
Mogę cię zapewnić, że parę złotych więcej zapewni ci święty spokój.

Pytałeś wcześniej z jakimi uszkodzeniami się spotykam.
Najczęściej jest to podanie 230Vac na magistralę. Czasami uda się, że tylko 2551 wystrzeli i nie puści dalej :). Podanie napięcia stałego 24Vdc nie powoduję nic poza usmażeniem terminatorów.

Pozdrawiam
R.L.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 21:58 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
pisałem już, że nie wykorzystuje optoizolacji i łacze masy. Patrz wyżej.


Ten fragment musiał mi jakoś umknąć. Czyli rozumiem, że ISO1050DUB stosujesz tylko ze względu na dopasowanie poziomów logicznych?

Cytuj:
Jasne, że możesz wykorzystać skrętkę, nawet na zdjęciu widać gniazdo RJ45 też z CAN.


Czy w takiej sytuacji rezystory terminujące powinny mieć 100 omów?


Cytuj:
Najczęściej jest to podanie 230Vac na magistralę. Czasami uda się, że tylko 2551 wystrzeli i nie puści dalej :). Podanie napięcia stałego 24Vdc nie powoduję nic poza usmażeniem terminatorów.


W jakich warunkach dochodzi do takiej sytuacji? Bo jako trudno jest mi to sobie wyobrazić... :)

Tak swoją drogą ile danych można wysłać w jednej ramce/pakiecie przez magistralę CAN?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 lut 2014, o 22:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Atlantis napisał(a):
Ten fragment musiał mi jakoś umknąć. Czyli rozumiem, że ISO1050DUB stosujesz tylko ze względu na dopasowanie poziomów logicznych?

Tak dokładnie.
Atlantis napisał(a):
Czy w takiej sytuacji rezystory terminujące powinny mieć 100 omów?

Nie wiem skąd takie herezje. Przejrzyj poradnik Sunrivera, tam gdzieś powinna tabelka z wartościami rezystorów terminujących.

Ramka CAN maksymalnie składa się z 8 bajtów po 8 bitów. Jeszcze raz odsyłam do poradnika na forum o CAN tam pięknie jest to rozpisane.

Co do uszkodzeń to fantazja monterów nie zna granic :)

Pozdrawiam
R.L.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 07:20 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Przejrzyj poradnik Sunrivera


Jestem właśnie w trakcie lektury i jedna rzecz zwróciła moją uwagę. Jest tam mowa, że na magistrali mogą pracować maksymalnie 32 urządzenia. Jakby nie patrzeć, trochę mało... To taka sama sytuacja jak w przypadku RS485, gdzie to ograniczenie można obejść przez zastosowanie lepszego transceivera, czy tym razem nic nie da się z tym zrobić?

Cytuj:
Ramka CAN maksymalnie składa się z 8 bajtów po 8 bitów.


W praktyce stosuje się jakieś procedury pozwalające na nadanie/odebranie większego strumienia danych, czy też typowe zastosowanie tej magistrali ogranicza się do prostego wysyłania rozkazu i odczytywania wartości z czujników, liczących po kilka bajtów?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 07:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam, co do ilości węzłów to zawsze możesz zbudować coś na zasadzie pomostu. Czyli moduł z dwoma niezależnymi CAN i przesyłać info z jednej sieci do drugiej. Naprawdę możliwości jest sporo .
Co do ilości danych, to masz przecież w ext dostępne 11 bit ID więc nie sadze aby ci zabrakło.
W automatyce budynkowej głownie przesyłasz dane binarne, typu on/off. W jednej ramce możesz wiec przesłać 64 bity- mało ?
Pozdrawiam


Wysłane z mojego iPhone przez Tapatalk



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 17:49 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Witam, co do ilości węzłów to zawsze możesz zbudować coś na zasadzie pomostu. Czyli moduł z dwoma niezależnymi CAN i przesyłać info z jednej sieci do drugiej. Naprawdę możliwości jest sporo .


Taki pomost można zrealizować na warstwie transportowej? To znaczy stawiamy jakiś transponder, który będzie przekazywał sygnał z jednego kabla do drugiego po prostu kopiując stan linii, bez wchodzenia w strukturę przesyłanych danych? Czy też niezbędna jest postawienie tam jakiegoś bardziej inteligentnego "switcha" lub "routera"?
Ogólnie zaskoczyła mnie wiadomość, że istnieje takie ograniczenie. Kiedyś czytałem ogólne zestawienie różnych standardów transmisji do automatyki domowej i wśród plusów CAN była wymieniona możliwość podłączenia dużej liczby węzłów. Na pewno nie można tego obejść przez zastosowanie nieco lepszego transceivera, jak to miało miejsce w przypadku RS485?
Od biedy oczywiście mógłbym zrobić oddzielne magistrale dla każdego piętra i każdą z osobna podłączyć do domowej sieci LAN, jednak zależało mi na tym, żeby system był w miarę możliwości niezależny od sieci komputerowej. Bramka miała być, ale miała dawać możliwość sterowania s komputera/smartfona/tabletu, nie myślałem o niej jako o zworniku infrastruktury. Dlatego właśnie szukałem rozwiązania multimaster - chciałbym uniknąć sytuacji, kiedy awaria "centralki" położy całą instalację.

Może istnieje jeszcze jakieś inne rozwiązanie, o którym nie wiem? Na przykład jakiś sprzętowy kontroler, który sam zajmowałby się formowaniem, wysyłaniem, odbieraniem i filtrowaniem ramek, wykrywał kolizje w łączności, a na wyjściu miał zwykłego USART-a, do którego mógłbym podpiąć dowolny TRX RS485? Czyli innymi słowy sprzętowa implementacja magistrali multimaster, która korzystałaby z RS485 jako medium transmisyjnego, dodając jednak wyższe warstwy protokołu.


Cytuj:
Co do ilości danych, to masz przecież w ext dostępne 11 bit ID więc nie sadze aby ci zabrakło.
W automatyce budynkowej głownie przesyłasz dane binarne, typu on/off. W jednej ramce możesz wiec przesłać 64 bity- mało ?
Pozdrawiam


W przypadku większości zastosowań nie robi to żadnego problemu. Jednak wyobrażam sobie przynajmniej kilka zastosowań, gdzie może to być nieco kłopotliwe. Np. instalujemy sobie trójkanałowy ADC, który monitoruje napięcie na poszczególnych fazach sieci elektrycznej. Nie ma problemu, jeśli chodzi nam o pomiar samego napięcia. Bitów wystarczy nawet na przesłanie zmiennych typu float. Ale co zrobić, gdybyśmy chcieli "nagrać" krótką próbkę zawierającą oscylogramy?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 19:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

Witam,
co do ilości węzłów to z tego co się orientuję to większa ilość też zadziała ale ile tego nie testowałem. Podejrzewam, że głównie zależy to od długości magistrali.

Jeśli zrobisz niezależną magistralę na piętro to ja nie widzę problemu. Przecież chyba nie załączasz włącznikiem na górze światła na dole. Elementy wykonawcze w obrębie danego piętra będą się mogły spokojnie komunikować i działać.

Atlantis napisał(a):
Ale co zrobić, gdybyśmy chcieli "nagrać" krótką próbkę zawierającą oscylogramy?

Magistrala ta jak i inne podobne oparte na RS485 nie były projektowane do takich zastosowań. Mało tego nie bardzo widzę sens takiego podejścia o jakim piszesz. Jeśli chcesz sobie prezentować wyniki zużycia energii itp to podszedł bym do tego w inny sposób. Mianowicie cyklicznie wysyłasz odczyt z wartością analogową a dopiero urządzenie prezentujące lub nadrzędne zbiera i wyświetla wyniki. Tak mniej więcej działają takie sieci. Ta sieć została zaprojektowana raczej do przesyłania cyklicznie informacji na temat stanu czujników itp. z bardzo dużą pewnością i odpornością.

Pozdrawiam
R.L.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 19:56 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
Jeśli zrobisz niezależną magistralę na piętro to ja nie widzę problemu. Przecież chyba nie załączasz włącznikiem na górze światła na dole. Elementy wykonawcze w obrębie danego piętra będą się mogły spokojnie komunikować i działać.


Tyle tylko, że rozważałem także dodanie do tej magistrali paru innych czujników (dym, tlenek węgla, otwarcie drzwi). Zależało mi na tym, żeby informacja z takiego czujnika mogła dotrzeć do każdego punktu domu możliwie prostą drogą, bez mijania dodatkowej infrastruktury. Czad zostanie wykryty na parterze, domownicy na poddaszu od razu mogą usłyszeć jakiś dyskretny alarm. Pojedyncza magistrala byłaby tu najlepszym rozwiązaniem. W przypadku Ethernetu wystarczy, żeby ktoś wyjął z gniazdka wtyczkę zasilającą switch i już droga komunikacji zostanie przerwana...

Czujniki temperatury i wilgotności wolałbym też zgromadzić na jednej magistrali, wtedy wystarczyłoby odpytać je z Ethernetu przez jedną bramkę.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 20:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 21 cze 2012
Posty: 171
Pomógł: 5

No to masz odpowiedź użyj tyle magistrali ile ma newralgicznych systemów. Np. jedna na informację, jedna na czujniki analogowe, jedna na przełączniki binarne itd.
To chyba najprostsze i najlepsze rozwiązanie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 20:05 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Niektórzy wykorzystują dodatkową linię na której sygnalizują, że jeden z masterów właśnie nadaje. Jeśli master chce coś nadać do najpierw sprawdza, czy linia jest wolna i jak jest to nadaje, a jak nie to czeka jakiś czas i ponownie sprawdza.
Możesz też użyć modułów radiowych np. RFM69CW. Jeśli 2 moduły nadadzą w tym samym momencie, a nie otrzymają potwierdzenia to powinny odczekać każdy inny czas i nadać jeszcze raz to samo.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 20:46 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Lemosek napisał(a):
No to masz odpowiedź użyj tyle magistrali ile ma newralgicznych systemów. Np. jedna na informację, jedna na czujniki analogowe, jedna na przełączniki binarne itd.
To chyba najprostsze i najlepsze rozwiązanie.


Trochę inaczej to sobie zaplanowałem. Niektóre elementy miały pełnić podwójną rolę w systemie. Na przykład taki moduł sterujący, montowany w puszce podtynkowej mógłby pełnić funkcję włącznika świateł (po wciśnięciu przycisku wysyłałby informację do stycznika w module wykonawczym) ale jednocześnie mieściłby w sobie jakiś termometr cyfrowy/czujnik wilgoci i sygnalizator dźwiękowy, który aktywowałby się po tym, jak czujnik rozgłosiłby alarm po magistrali.

Z tego powodu liczyłem na to, że obejdzie się bez mnożenia magistral. Zwłaszcza, że przecież danych do przesłania jest niewiele, a RS485/CAN oferują całkiem sporą przepustowość.

Krauser napisał(a):
Niektórzy wykorzystują dodatkową linię na której sygnalizują, że jeden z masterów właśnie nadaje. Jeśli master chce coś nadać do najpierw sprawdza, czy linia jest wolna i jak jest to nadaje, a jak nie to czeka jakiś czas i ponownie sprawdza.


Jak to jest w praktyce realizowane? Takie rozwiązanie łączy się chyba z koniecznością połączenia mas poszczególnych urządzeń? Chyba, że jest to realizowane przez jakąś osobną parę różnicową?


Cytuj:
Możesz też użyć modułów radiowych np. RFM69CW. Jeśli 2 moduły nadadzą w tym samym momencie, a nie otrzymają potwierdzenia to powinny odczekać każdy inny czas i nadać jeszcze raz to samo.


Transmisja przez kabel jest pewniejsza. Nie mam pewności czy komunikacja radiowa sprawdziłaby się w całym domu.
Nie można by zaimplementować podobnego rozwiązania np. w RS485?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 lut 2014, o 21:34 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Atlantis napisał(a):
Nie można by zaimplementować podobnego rozwiązania np. w RS485?

Ciekawe co się stanie jak jeden z konwerterów poda H a drugi L na magistralę? Nie wnikałem czy będzie dym, ale można to przecież sprawdzić w specyfikacji czy w praktyce (na samych układach, żeby nie było dużych strat :roll: )
Atlantis napisał(a):
Jak to jest w praktyce realizowane? Takie rozwiązanie łączy się chyba z koniecznością połączenia mas poszczególnych urządzeń? Chyba, że jest to realizowane przez jakąś osobną parę różnicową?

Najbezpieczniej użyć "iloczynu na drucie", połączenia równoległego tranzystorów w układzie otwarty kolektor. Masa może być wspólna, ale jak chcesz się galwanicznie odizolować to taki układ jak na schemacie poniżej będzie w sam raz. Czy łączyć LEDy transoptorów szeregowo czy równolegle to zależy od ilości masterów. Jak jest ich mało to można równolegle, a jak dużo to szeregowo (jak na schemacie). Napięcie do zasilania pochodzi z jakiegoś dodatkowego zasilacza.
Obrazek

Tak się zastanawiam czy nie możesz wykorzystać powyższego schematu do komunikacji zamiast RS485.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 20 lut 2014, o 20:40 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

Zastanawia mnie jeszcze jedno możliwe rozwiązanie z magistralą RS485.
1) Mamy timer odliczający krótkie odcinki czasu, tak kilka-do kilkunastu razy dłuższe od czasu potrzebnego na przesłanie jednego znaku. Timer odlicza w dół, a jego wartość jest ustawiana na nowo w przerwaniu USART-a, za każdym razem po odebraniu nowego znaku.
2) Procedura rozpoczynająca nadawanie ramki wstrzymuje się od działania, dopóki wartość timera jest różna od zera. W ten sposób urządzenie nie zacznie nadawać w trakcie odbierania ramki lub w chwilę po jej otrzymaniu.
3) Nie ochroni mnie to przed kolizją w sytuacji, gdy jedno urządzenie zacznie nadawać w trakcie odbierania pierwszego znaku ramki z innego urządzenia (przed wystąpieniem przerwania) - gdy dwie stacje zażyczą sobie nadawać dokładnie w tym samym momencie. Ale na to już nic nie poradzę.
4) Ramka zawiera sumę CRC. Stacja odbiorcza przesyła nadawcy potwierdzenie odbioru. Jeśli oczekiwanym czasie potwierdzenie się nie pojawi, albo przyjdzie wiadomość o błędzie CRC, stacja odczekuje losowy odcinek czasu i próbuje ponownie nadawać. Próba jest podejmowana do skutku, albo do wyczerpania założonego limitu.

Czy takie podejście będzie skuteczne? Może ktoś już zrobił coś takiego, przygotował bibliotekę i nie muszę wyważać otwartych drzwi? ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 24 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO