Kocisko Napisano Kwiecień 18, 2010 Udostępnij Napisano Kwiecień 18, 2010 Witam Zależało mi na szybkim zrealizowaniu komunikacji radiowej bez specjalnej wczutki. W związku z tym zaopatrzyłem się w polecane przez kilka osób moduły radiowe z Mobota, które miały mi umożliwić błyskawiczne wykonanie połączenia. No i tutaj klops. Z żalem piszę tego posta, ale coś mi nie działa ten sprzęt :/ Posiadam wersję A (USB) i B(sam moduł), bo docelowo chcę skomunikować komputer z Atmegą. Wersję A podłączyłem do jednego kompa, a wersję B przez Max232 do drugiego kompa. W obydwóch kompach skonfigurowałem terminale zgodnie z instrukcją zestawu. Prędkość 57600, bity danych:8, parzystość: brak, bit stopu:1. No i jaki wynik? Na jednym terminalu odbieram zawsze "xxxxxxxx", a na drugim ciąg średników. Powyższy wynik uzyskałem dla trybu radio. Przy trybie modem całkowita cisza. Nie zmieniałem ustawień domyślnych modułów. Diody LED migają tak jak mają migać, wizualnie wszystko wygląda jak by pracowało. Jeśli ktoś potrafi pomóc to proszę o poradę 😉 Link do komentarza Share on other sites More sharing options...
Elvis Kwiecień 18, 2010 Udostępnij Kwiecień 18, 2010 Jeszcze nie miałem czasu modułów mobot-a uruchomić, ale o ile wiem moduł podłącza się bezpośrednio pod uart. Bez max232. Może dlatego nie działa. Link do komentarza Share on other sites More sharing options...
Kocisko Kwiecień 18, 2010 Autor tematu Udostępnij Kwiecień 18, 2010 Przez Max232 podłączam do komputera żeby przesyłać dane przez terminal Link do komentarza Share on other sites More sharing options...
Elvis Kwiecień 18, 2010 Udostępnij Kwiecień 18, 2010 Na początek spróbuj prostego testu - zewrzyj tx z rx modułu podłączanego do max232 - wtedy po usb powinno działać jak echo. Sprawdź, czy wszystkie podłączenia są ok. Ja na szybko podłączyłem i działa bez problemu. Moduły prosto z pudełka, bez jakiejkolwiek konfiguracji. [ Dodano: 18 Kwi 10 10:34 ] Jeszcze jedna sprawa - pamiętałeś, żeby skrosować rx z tx? tzn. podłączyć tx modułu do rx rs-232? Ja często mylę i wtedy ma prawo nie działać. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Kocisko Kwiecień 18, 2010 Autor tematu Udostępnij Kwiecień 18, 2010 kurde właśnie krosowałem go już żeby dostał echo i za każdym razem dostaje "ÓÓÓÓÓÓ", albo średniki (zależy od sesji) czyli lipa... Przy podłączaniu do procka i do drugiego kompa też próbowałem z krosowaniem i bez... :/ powiedz mi czy masz takie same numery obu modułów czy nie? Ja mam moduł USB #10-018884, a drugi #10-018847 już łapie się wszystkiego. To bez sensu, ale może numery muszą być takie same? :/ EDIT: Nie wiem czy to żart autorów tego urządzenia, ale mój egzemplarz nie działa przy prędkości 57600bps... działa przy 9600bps !!! Link do komentarza Share on other sites More sharing options...
Elvis Kwiecień 18, 2010 Udostępnij Kwiecień 18, 2010 Nie wygląda, żeby numery miały znacznie. U mnie USB ma numer #10-018365, a ttl #09-017530. Myślę, że musisz zacząć od komunikacji PC<->moduł USB - moduł ttl <-loopback Czyli w module ttl łączysz tx z rx. U mnie to zadziałało od razu. Jeszcze jedno - jakiego używasz programu do obsługi portu rs? ja używam putty, ważne, żeby w ustawieniach wyłączyć kontrolę przepływu (Flow Control). [ Dodano: 18 Kwi 10 11:03 ] Pierwszy test u mnie wyglądał tak: * moduł A podłączony do komputera przez USB, putty jako terminal * moduł B podłączony do 5V, pin TX zwarty z RX Jak piny w module B były zwarte, na terminalu widoczne były kolejno wpisywane znaki. Rozłączenie TX-RX przerywało działanie. 1 Link do komentarza Share on other sites More sharing options...
Kocisko Kwiecień 18, 2010 Autor tematu Udostępnij Kwiecień 18, 2010 Myślę, że musisz zacząć od komunikacji PC<->moduł USB - moduł ttl <-loopbackCzyli w module ttl łączysz tx z rx. U mnie to zadziałało od razu. dokładnie tak zrobiłem korzystam w windzie z HyperTerminala, a na Linuxie QSerialPortTerminal O zgrozo przy powyższym teście sprzęt zadziałał dla prędkości 9600bps chociaż powinien dla 57600bps EDIT: Moduł B (nie usb) działa dla 57600bps czyli ok Chyba producent strzelił gafe :/ W każdym razie problem się rozwiązał, chociaż wcale nie jestem zadowolony Link do komentarza Share on other sites More sharing options...
mactro Kwiecień 18, 2010 Udostępnij Kwiecień 18, 2010 Czyli jak: jeden moduł ustawiasz na 9600 a drugi na 57600? I działa? 🤯 Na pewno ustawiłeś dobrze bity stopu, flow control i parity? Link do komentarza Share on other sites More sharing options...
Kocisko Kwiecień 18, 2010 Autor tematu Udostępnij Kwiecień 18, 2010 prędkości ustawiane dotyczą komunikacji pomiędzy komputerem, lub procesorem, a modułem radiowym. Same moduły standardowo komunikują się między sobą z prędkością 40000bps i można ją sobie zmienić na inną z zakresu 1000 - 56000 bps. W moim przypadku najprawdopodobniej producent zaprogramował procesor w module A(usb) do transmisji z prędkością 9600bps. Dziwne, ale poza napisaniem maila do Mobota, chyba nic na to nie poradze 🙂 Link do komentarza Share on other sites More sharing options...
twardy103 Czerwiec 25, 2011 Udostępnij Czerwiec 25, 2011 Witam,Podepnę się pod temat. Zakupiłem te moduły z Mobotu, generalnie spisywały się dobrze, ale chciałem je trochę podrasować, czyli zmieniłem ilość przesyłanych bajtówz 8 na 2 i prędkość z 40000bps na 56000bps i....moduły przestały się prawidłowo komunikować. Czy ktoś miał problemy z ustawianiem parametrów w tych modułach? Czy da się jakoś w prosty sposób wrócić do ustawień fabrycznych? Pozdrawiam! Link do komentarza Share on other sites More sharing options...
mactro Czerwiec 26, 2011 Udostępnij Czerwiec 26, 2011 zmieniłem ilość przesyłanych bajtówz 8 na 2 Po pierwsze, chyba bitów, a po drugie niby jak? Minimalna ilość bitów danych w standardzie UART to 5. Nie wnikam też w jaki sposób to miało podrasować komunikację 😋Ogólnie, to proponuję wrócić do 8 bitów danych - powinno wystarczyć. Link do komentarza Share on other sites More sharing options...
twardy103 Czerwiec 26, 2011 Udostępnij Czerwiec 26, 2011 Właśnie bajtów a nie bitów. Odsyłam do dokumentacji: http://www.mobot.pl/download/MOBOT_RCR_v2-instrukcja_obslugi_10.2009.pdf Moduł wysyła dane po wystąpieniu jednej, z dwóch możliwości: 1). W buforze znajdzie się ustawiona liczba bajtów 2). Minie czas 50ms od pojawienia się pierwszego bajtu w buforze nadawczym Tak więc jest sens zmniejszania ilości bajtów w jednej paczce. Teraz jest problem taki, choć nie rozumiem z czego to wynika(wysyłam dwa bajty), że wysyłając np. liczbę 0x43 odbiera mi np. C3 (3 jest odebrana prawidłowo). W drugim przypadku, gdy wysyłam 0x44 odbiera mi E4 (4 jest odebrana prawidłowo). Nie wiem na jakiej podstawie odbiera pierwszą część. Link do komentarza Share on other sites More sharing options...
mactro Czerwiec 26, 2011 Udostępnij Czerwiec 26, 2011 A masz dobrze ustawioną ilość bitów stopu i parzystość? Link do komentarza Share on other sites More sharing options...
twardy103 Czerwiec 26, 2011 Udostępnij Czerwiec 26, 2011 Tak jest. W obu przypadkach 8 bitów danych, 1 bit stopu, brak bitu parzystości. Problem w tym, że nie znalazłem możliwości "resetu" do ustawień fabrycznych a teraz, aby zmienić liczbę bajtów należy podać ciąg bajtów - jak w instrukcji. W pierwszy bajt należy wpisać 0x43, a nie jestem w stanie tego zrobić, bo mi odbiera 0xC3.... Link do komentarza Share on other sites More sharing options...
GAndaLF Czerwiec 26, 2011 Udostępnij Czerwiec 26, 2011 Też się z czymś takim spotkałem ostatnio walcząc z USARTem i komunikacją z komputerem PC. Do każdego przesyłanego bajtu dodawane było 0x80. Milion razy sprawdzałem ustawienia konfiguracyjne i jestem pewny że wszystko jest ok. Problem leży gdzie indziej tylko nie wiem gdzie. Moje rozwiązanie problemu pewnie cię nie usatysfakcjonuje bo było prowizorką aby oddać projekt na zaliczenie w trakcie sesji i zależało mi bardziej aby się wyrobić niż żeby to idealnie działało. Postanowiłem po prostu od każdego otrzymanego bajtu odejmować tą liczbę i jakoś działało. Tym bardziej, że z górnego zakresu wartości bajtów praktycznie nie korzystałem Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »