Skocz do zawartości

Problem z komunikacją radiostacji z Arduino Uno


PiterSki

Pomocna odpowiedź

Witam wszystkich serdecznie w moim pierwszym i mam nadzieję nie ostatnim poście. Swoją przygodę z Arduino zacząłem o zbudowania prostego kontrolera LEDó opartego na płycie Nano. Wszystko zrobiłem zgodnie z opisem i działa. Niestety teraz mam poważniejszy problem. Próbuję zrobić automatykę do mojej radiostacji opartej o radio Kenwood TS-590s. Założenie jest takie, że poprzez kabel RS232 , port COM w radiostacji wysyłane są informacje o częstotliwości na jakiej pracuje, a więc jakie pasmo radiowe jest aktywne. Arduino na podstawie tych info załącza odpowiedni przekaźnik na listwie przekaźników a one sterują całą automatyką a więc przełączają odpowiednie filtry pasmowe, np na 20M i do tego załączają wybraną antenę. Cała automatyka działa , ale muszę ręcznie przełączać w sterowniku odpowiednie pasmo. Dodatkowo jest wyświetlacza 16,2 który pokazuje częstotliwość oraz załączoną antenę. Teraz tak, ma moduł na MAX232 , przejściówka RS232 TTL. Po wgraniu programu, coś jest ewidentnie nie tak, ponieważ przy starcie wyświetlacz staruje, jest powitanie, a następnie tylko Napis Antena i kHz. To się nie zmienia mimo przełączania pasm. Według mnie nie ma komunikacji poprzez kable. Dodam tylko że kabel OK ponieważ jeżeli podłączam ten sam kabel i łączę moje radio z przełącznikiem antenowym to działa więc ten przełącznik (stara konstrukcja z przed 15 lat) odczytuje dane z radia poprzez RS232 a Arduino nie. Zbudowałem też układ samodzielnie oparty na MAX232 aby wyeliminować uszkodzony moduł. Bez zmian. Na płycie Arduino dioda TX cały czas szybko mruga i nic się nie dzieje. Oczywiście ustawianie prędkości portu nic nie daje. Wydaje mi się, że diody RX/TX powinny mrugać w zależności co się dziej, a TX tymczasem tylko szybko mruga i nic. Tutaj podaję stronę gdzie jest oryginalny kod oraz wideo jak to działa u tego gościa. LINK 

Ten fragment musiałem zmienić ponieważ wywalało błąd 

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C

Zmieniłem na taki:

LiquidCrystal_I2C lcd(0x27, 16, 2);  // Set the LCD I2C

Będę wdzięczny za przejrzenie tego kodu, zresztą ciekawi mnie jak to działa u tego człowieka. 

Dziękuję i pozdrawiam 

Link do komentarza
Share on other sites

@PiterSki witam na forum 🙂 Dla formalności rozumiem, że posiadasz dokładnie taki sam sprzęt jak autor oryginalnego projektu? I Twoje radio pracuje w takim trybie jak opisał to autor?

Cytat

Warning this version was tested only with TS-590 in standalone mode !!!

Tested with:  TS-590
Should work with: TS-480, TS-990 and TS-2000

 

Link do komentarza
Share on other sites

4 godziny temu, Treker napisał:

@PiterSki witam na forum 🙂 Dla formalności rozumiem, że posiadasz dokładnie taki sam sprzęt jak autor oryginalnego projektu? I Twoje radio pracuje w takim trybie jak opisał to autor?

 

Cześć, dzięki za odpowiedź. Tak ja posiadam TS-590s oraz starszy TS-2000 ale to są dokładnie te same protokoły, nawet najnowsze TS-990 czy 890 mają dokładnie ten sam sposób komunikacji. Nie jestem programistą i chciałem się zapytać czy programistycznie ten kod jest poprawny, czy jest tam odpowiednio zaimplementowana sekcja portu COM, i czy szybkie ciągłe mruganie LEDa TX jest normalne ?

  • Lubię! 1
Link do komentarza
Share on other sites

Dla pewności tylko podkreślę, że tam jest jakiś dopisek "in standalone mode". Nie znam tych sprzętów, nie wiem co to oznacza, ale upewnij się czy Twoje urządzenie pracuje w tym trybie.

Tamten program jest dość długi i tak "na oko" wygląda poprawnie, jednak bez testów praktycznych będzie to mało wiarygodne. Miganie diody sygnalizuje, że układ wysyła jakieś dane (w uproszczeniu mignięcie oznacza wysłanie czegoś). Jeśli druga dioda nie miga to oznacza, że układ nic nie odbiera. Więc albo urządzenie nie odpowiada na komendy wysłane z Arduino, albo próbują on komunikować się z inną prędkością. Arduino komunikuje się z prędkością ustawioną na 9600, może w tym radiu też gdzieś się ustawia coś takiego?

Link do komentarza
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.