Skocz do zawartości

Mobot-RCR-V2 (problem)


Pomocna odpowiedź

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 to post
Share on other sites

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 to post
Share on other sites

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 to post
Share on other sites

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 to post
Share on other sites

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.

  • Pomogłeś! 1
Link to post
Share on other sites
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.

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 to post
Share on other sites

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 to post
Share on other sites

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 to post
Share on other sites
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 to post
Share on other sites

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 to post
Share on other sites

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 to post
Share on other sites

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 to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.