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



Teraz jest 2 maja 2024, o 11:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 18 wrz 2013, o 16:12 
Offline
Użytkownik

Dołączył(a): 30 gru 2012
Posty: 68
Pomógł: 0

Od pewnego czasu tworze centralke i moduly wykonawcze - przyszedl czas na ich polaczenie. Majac wykonane plytki z wczesniej omawianych schematow
Obrazek oraz Obrazek
chcialem ruszyc z kopyta wiec najpierw przeczytalem rozdzial 'komunikacja rs232/rs485' po czym przystapilem do sprawdzania dzialania bibliotek z CD. Jak zwykle wszystko przebieglo bez problemu, na terminalu pojawialy sie wysylane znaki oraz moglem sterowac modulem wykonawczym wciskajac na klawiaturze 1,2 badz 3.
Przycielem 3 m skretki po czym polaczylem bezposrednio dwa mikrokontrolery ze soba(A z A, B z B, masa z masa). W dalszym ciagu zarzadca ladnie sterowal poczynaniami drugiego. Zadowolony wczesniejszym rezultatem z podstawek wyciagnelem przewody robiace za cross zastepujac je MAX487 po obu stronach.
I w tym momencie moja radosc troche zmalala - jak mozna sie domyslec zero komunikacji. Byla to juz godzina 1 byc moze dlatego nie moglem w ksiazce doszukac sie czy do korzystania z rs485 potrzeba w main poczynic jakies dodatkowe deklaracje np. czy
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
trzeba jakos wywolywac w main ?
Niby przeczytalem jak sie obchodzic z ifdef ale dalej nie do konca wiem, jak to dziala.

Ponizej kody
nadawca(atmega16)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


odbiorca(atmega8)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 wrz 2013, o 21:09 
Offline
Użytkownik

Dołączył(a): 30 gru 2012
Posty: 68
Pomógł: 0

squeez napisał(a):
Po pierwsze to przy RS485 przy nadawaniu musisz sterować linią DE (masz to w bibliotece).

Liniami przełączającymi konwerter na nadawanie lub odbiór są linie !RE oraz DE, które można połączyć razem i sterować jednym sygnałem. Stan niski na tych liniach będzie powodował przełączenie konwertera MAX485 w tryb odbioru, a stan wysoki przełączenie go w tryb nadawania. Teorie znam, w praktyce mam dopisac sterowanie ta linia w procedurze obsługi przerwania nadawczego ?
gomes napisał(a):
Masz podciąganie na stałe i tak samo terminator, lepiej zrobić to na zworach i w razie potrzeby je zakładać.
U mnie na przewodzie około 10m działa bez terminatora, z terminatorem jest za mała różnica poziomów napięć na linii.
Terminator to ten rezystor 120 ohm ? Teraz doczytalem, ze nalezy stosowac go tylko raz i to w najbardziej oddalonym urzadzeniu wykonawczym, prawda ?

squeez napisał(a):
Poza tym podciąganie robisz raczej tylko w jednym urządzeniu a nie każdym module a terminatory jak już to tylko na końcach linii.
jak wyzej, terminatory na wszystkich slave czy tylko najbardziej oddalonym ?
Jak rozumiem mam pozbyc sie rezystorow z ukladow slave podciagajacych a do vcc oraz b do gnd - ewentualnie zostawic te rezystorki w ukladzie master?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2013, o 09:25 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 57
Pomógł: 5

gomes napisał(a):
Piszac o podciaganiu chodzi o rezystory podciagajace A do vcc oraz b do gnd ?


terminatory (120 om) stosuje się na końcach linii, żeby sygnał się nie odbijał i nie wracał do nadającego urządzenia.
Przy krótkich liniach do kilkunastu metrów nie są potrzebne.
rezystory podciągające (w twoim przypadku R5 i R11) 510 om stosuje się gdy mamy do czynienia z mocno zakłóconym środowiskiem i zawsze powinno się je stosować w tylko jednym urządzeniu na magistrali.

Na początek (jeżeli ogarnąłeś software ze sterowaniem kierunkiem) proponowałbym testy bez terminatora i rezystorów podciągających

polecam lekturę (wymagany język angielski):
http://www.analog.com/static/imported-files/application_notes/AN-960.pdf

Ja jak zaczynałem zabawę z RS485 to zbudowałem sobie taki konwerter:
http://serwis.avt.pl/manuals/AVT530.pdf
dzięki temu łatwo testuję sobie komunikację PC (terminal) <-> atmega z max485.

Oczywiście terminator i rezystory podciągające daję przez zworki, które zawsze pozwalają mi łatwo przekonfigurowywać sieć.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 wrz 2013, o 14:05 
Offline
Użytkownik

Dołączył(a): 30 gru 2012
Posty: 68
Pomógł: 0

gomes napisał(a):
polecam lekturę (wymagany język angielski):
http://www.analog.com/static/imported-f ... AN-960.pdf
Informacje ciekawe ale duzo nie wybiegaja w porownaniu do tego

gomes napisał(a):
Ja jak zaczynałem zabawę z RS485 to zbudowałem sobie taki konwerter:
http://serwis.avt.pl/manuals/AVT530.pdf
dzięki temu łatwo testuję sobie komunikację PC (terminal) <-> atmega z max485.
Tez o takim czyms myslalem. Chcac wykonac cos takiego samodzielnie - uzyc pl2303 ktora juz pracuje w ttl'u oraz max487(podobno lepsze parametry od max485). ne555 bym zastapil zworka ktora by sluzyla do nadawania.

BARTB napisał(a):
Jeśli testujesz to na krótkim odcinku przewodu (kilka metrów) to wylutuj terminatory i rezystory podciągające bo tylko przeszkadzają.
Zgodnie z zaleceniami zbedne rezystory zostaly usuniete.

Udalo rozwiazac sie brak komunikacji - problem byl z biblioteka dolaczona na DVD. Po pobraniu poprawki ze strony Atnela wszystko smiga.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 gru 2015, o 11:06 
Offline
Nowy

Dołączył(a): 17 sie 2015
Posty: 19
Pomógł: 0

Witam

Można jeszcze użyć układu do full duplexu SN75179
http://www.tme.eu/pl/Document/322b622b7 ... 5179BD.pdf

Wtedy nie potrzeba raczej sterować przepływem danych ?

Proszę mnie wyprowadzić z błędu jeśli źle napisałem.



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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