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



Teraz jest 29 mar 2026, o 19:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 1 wrz 2014, o 20:17 
Offline
Nowy

Dołączył(a): 16 cze 2013
Posty: 6
Pomógł: 0

Witam!

Przymierzam się do zbudowania nowego urządzenia i chciałbym w nim zastosować dwie Atmegi (prawdopodobnie jedna to A8 a druga A32). Chciałbym stworzyć komunikację między nimi, odległość to ok 2-3 metry. Warunki pracy: "samochodowe" - jest alternator tak więc i zakłócenia będą. Prędkość komunikacji nie ma aż tak dużego znaczenia - może być wolno. Ma to działać na zasadzie: pierwszy Mk wysyła "1" to drugi zapala diodę, jeśli przy drugim Mk naciśniemy switcha to on wyśle do pierwszego, że taka sytuacja (Sw był wciśnięty) miała miejsce i ten pierwszy Mk wyśle "0" do drugiego aby zgasił diodę. Tak to mniej więcej miałoby wyglądać, prościzna hehe :) Niestety w temacie połączenia dwóch mikrokontrolerów jestem...zielony :/

No to teraz się zacznie ;) Kilka pytań:

1. UART ma możliwość pracy na niewielką odległość (1m?). Chodzi mi o bezpośrednie podłączenie dwóch procków (TX1-RX2 TX2-RX1). Czy aby zwiększyć jego zasięg trzeba dać MAX232? Dobrze kombinuje? ;) On wtedy stanie się takim "wzmacniaczem" sygnału? (coś jak tranzystor podłączony do diody IR? - może to złe porównanie ale mam nadzieje, że jakoś mnie zrozmiecie...)

2. Jak powinna wyglądać komunikacja tych dwóch procesorów? Czy ktoś miałby przykładowy kod w C jak powinna wyglądać lub podać linka do jakiegoś tematu gdzie jest coś podobnego opisane? Szukałem ale nie znalazłem, większość jest jak podłączyć At do PC. Nie chcę gotowca ale coś co pomogłoby mi stworzyć własny program na komunikacje w dwie strony. Mam bibliotekę MKUART Pana Mirka z pierwszej książki i komunikacja z PC mi działa ale nie wiem jak to zrobić aby wykorzystać ją do komunikacji z dwiema Atmegami. Ehh.. chyba masło maślane mi wyszło ;)

Możliwe, że mnie wyśmiejecie za ten temat ale trudno. Dziękuję za wszelką pomoc i wskazówki!

Pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 20:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

A SPI nie ma większego zasięgu?

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 20:33 
Offline
Nowy

Dołączył(a): 16 cze 2013
Posty: 6
Pomógł: 0

Nie jestem ekspertem ale czy SPI będzie łatwiejsze w użyciu? Czy może prostsze i bardziej odpowiednie do tego celu byłoby tu zastosowanie UARTa/RS232?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 20:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 mar 2014
Posty: 356
Lokalizacja: Pruszków
Pomógł: 15

Witam

Jeśli do samochodu to transmisja róznicowa np. RS485

Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 20:45 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

czaras87 napisał(a):
Nie jestem ekspertem ale czy SPI będzie łatwiejsze w użyciu? Czy może prostsze i bardziej odpowiednie do tego celu byłoby tu zastosowanie UARTa/RS232?


Jako programista sam sobie ustalasz co wysłać i co odebrać oraz jak to zinterpretować. Czyż nie?

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 20:53 
Offline
Nowy

Dołączył(a): 16 cze 2013
Posty: 6
Pomógł: 0

No tak. Ale....jako "programista" potrzebuję pomocy i wskazówek jak tę komunikację stworzyć? Jak powinien kod wyglądać? O to mi chodzi.. RS485 to chyba bardziej jest wykorzystywany do komunikacji pomiędzy wieloma procesorami, taki CAN. Ale jeśli on byłby najodpowiedniejszy do dziękuję bardzo za podpowiedź i postaram się poznać to dokładniej.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 wrz 2014, o 21:46 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

RS485 jest OK choć dla dwóch procków w zupełności starczy SPI. Jeśli się mylę to niech mnie coś poprawi. W każdym razie ustawiasz jeden procek jako master, drugi jako slave i zapytujesz co jakiś czas.
http://atmega32.republika.pl/22.htm

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 wrz 2014, o 09:38 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

W środowiskach zaszumionych trzeba stosować rozwiązania odporne na zakłócenia. Transmisja różnicowa jest w miarę odporna. Dwie dodatkowe kostki konwerterów RS485 a o ile mniej problemów. Dochodzi jeszcze kwestia kontroli błędów transmisji. Co będzie jak jeden procesor wyśle komendę drugi to odbierze wykona i odeśle potwierdzenie które nie zostanie prawidłowo odebrane? Czy master ma powtórzyć komendę czy nadać kolejną? Oprócz warstwy sprzętowej trzeba jeszcze przemyśleć warstwę programową.

_________________
sig off ;(



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 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