logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Mirley cyfrowy wyłącznik wielokanałowy – brak komunikacji USB-RS485 Waveshare CH340G z aplikacją

elektronik.b 06 Gru 2025 17:09 564 26
REKLAMA
  • #1 21773078
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Witam.
    Wykonałem taki układ cyfrowego wyłącznika wielokanałowego Mirley taki jak tu:
    http://mirley.net/cyfrowy_wylacznik_wielokanalowy.html
    Układ działa poprawnie tzn. do dołączeniu do układu płytki wykonawczej z triakiem przyciskiem switch można włączać i wyłączać różne urządzenia zasilane z sieci 230V. Następnie chciałem włączać i wyłączać urządzenia z poziomu aplikacji również autorstwa Mirley:
    http://mirley.net/aplikacja_wylacznika_wielokanalowego.html
    Jednak po dołączeniu wyłącznika poprzez konwerter: https://elektroweb.pl/pl/konwertery-rs485/221...wtiWSyvFLdSXI6iwnD6NV9rrXAkqdGtRoCZmUQAvD_BwE
    z komputerem aplikacja wyświetla jakieś błędy. Diody na konwerterze TXD i RXD wogule nie migają świeci się tylko PWR. Wszystko chyba mam dobrze podłączone z konwertera A+ do złacza GP3 na płytce wyłącznika A i tak samo B- do B GND do GND. Sterowniki zainstalowane od konwertera. Zwarć na płytce nie ma, sprawdzałem kilka razy. Może ktoś z Was wykonywał kiedyś taki układ i próbował sterować wyłącznikem z poziomu aplikacji. Może coś źle mam ustawione. Załączam zrzuty ekranu.

    Zrzuty ekranu pokazujące ustawienia portu COM8 i sterownika konwertera USB-RS485
    Zrzut ekranu z aplikacji multichannel switch z błędami komunikacji
    Zrzut ekranu aplikacji Multi-channel Switch z komunikatem błędu portu COM
  • REKLAMA
  • #2 21773160
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    vi85 na http://mirley.net/cyfrowy_wylacznik_wielokanalowy.html napisał:
    Baudrate jest zły ma być 38400
    .

    Pytanie, gdzie Baudrate jest podawany w programie dla ATmega8? W aplikacji musi być taki sam. I ilość bitów na znak, parzystość...
  • #3 21773170
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    _jta_ napisał:
    vi85 na http://mirley.net/cyfrowy_wylacznik_wielokanalowy.html napisał:
    Baudrate jest zły ma być 38400
    .

    Pytanie, gdzie Baudrate jest podawany w programie dla ATmega8? W aplikacji musi być taki sam. I ilość bitów na znak, parzystość...


    Już ustawiałem i baudrate w ustawieniach portu usb taką samą co jest w aplikacji i bity danych i bity stopu i nic. Nie wiem tylko jak mam ustawić parzystość i sterowanie przepływem.
  • #5 21773518
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    _jta_ napisał:
    A jak jest ustawione w programie dla ATmegi?


    Ustawione jest 38400 bps. Tak jest na początku kodu żródłowego.

    Kod: Bash
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #7 21773818
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    _jta_ napisał:
    Port RS485 ma sporo ustawień - trzeba posprawdzać wszystkie.


    Próbowałem jeszcze tak poustawiać w zawansowanych ustawieniach ale to i tak nic nie dało na innym systemie (AI podpowiedziało). Chyba się poddaje...


    Okno zaawansowanych ustawień portu USB COM3 w systemie Windows
  • REKLAMA
  • #8 21773884
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    Trzeba przejrzeć ustawienia po obu stronach - w programie ATmegi też. A poza tym, może sprawdzić połączenia - czy np. są oporniki - terminatory linii? Jakie są napięcia na linii?

    Czy ATmega ma tylko wykonywać polecenia, czy także przekazywać jakąś informację zwrotną? RS485 działa w trybie half-duplex - używa tych samych przewodów do łączności w obie strony, więc jeśli obie strony mogą wysyłać, to muszą jakoś uzgadniać, która kiedy wysyła. RS485 może tolerować tylko niewielkie napięcie między masami połączonych nim urządzeń - trzeba sprawdzić, czy nie jest za duże...
  • #9 21773917
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Sprawdziłem napięcia między GND na płytce a punktami A+ i B- i wynoszą one odpowiednio 2,1V i 2,7V bez podłączonego konwertera.
    Atmega ma działać w obie strony: gdy kliknę w aplikacji ikonę żarówki dioda na płytce ma się zaświecić i tym samym żarówka lub inne urządzenie na 230V podłączone do układu wykonawczego z triakiem też ma się włączyć.
    I na odwrót gdy przycisnę przycisk na płytce dioda/żarówka gaśnie i ikona w aplikacji też (tak zakładam nie wiem czy dobrze tak ma to działać pomiędzy apką a płytką). Na programowaniu niewiele się znam prawie wcale więc w programie atmegi nic nie zdziałam. Słyszałem coś że trzeba dać jakieś oporniki terminujące 120om ale gdzie?..
  • #10 21773936
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    https://pl.wikipedia.org/wiki/RS485 - tu niestety prawie nie ma konkretnych informacji, trzeba poczytać w innych językach, np. https://en.wikipedia.org/wiki/RS-485#Waveform_example

    Te oporniki daje się między przewody A i B na obu końcach (i tylko na końcach); port RS485 może mieć taki opornik wbudowany, z możliwością wyłączenia. Z opornikami 120 Ω na obu końcach napięcie między A i B powinno przekraczać 1,5V podczas nadawania (można port ustawić na nadawanie i nie podawać danych, można mu ustawić Break, i sprawdzić napięcia dla obu sytuacji - powinny mieć przeciwne znaki).
  • #11 21773949
    1maniekx1
    Poziom 16  
    Posty: 164
    Pomógł: 15
    Ocena: 46
    Schemat magistrali komunikacyjnej RS-485 z urządzeniem nadrzędnym i rezystorami terminującymi
  • #12 21773963
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Nie wiem czy dobrze to podłączyłem.
    Moduł RS485 z podłączonym opornikiem 120Ω między zaciskami A+ i B-Zbliżenie na płytkę drukowaną z układami scalonymi i rezystorami.
    Na płytce jest już opornik 120om wpięty równolegle do punktów A B
    Ale to i tak nic nie dało...
  • REKLAMA
  • #15 21774363
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    Waveshare opisuje konwerter wyglądający tak, jak na zdjęciu w #12 i podaje, że tam używa FT232RNL + SP485EEN (link). I bardzo podobny, wyraźnie tańszy, z CH343G + SP485EEN, który po RS485 ma napisane "(B)" (link) - a tego na zdjęciu w #12 nie ma.
  • #17 21775245
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    elektronik.b napisał:
    Czyli co nie ten konwerter co trzeba zakupiłem, musi być z literką (B) ??

    Nie musi, do tego bez (B) Windows ma sterowniki, do tego z (B) trzeba je instalować (ale może nowsze Windows już mają).

    Pewnie jakby nie było potrzebnych sterowników, to program by nie widział tego jako port COM8, tylko jako nieznane urządzenie USB. Ale może masz podłączone dwa urządzenia, i jedno widzi system, a do drugiego podłączyłeś Mirley-a? Sprawdź.
  • #18 21775265
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Nie mam dwóch konwerterów tego z (B) nie mam. Podłączyłem do konwertera tylko ten jeden wyłącznik Mirley.
    Nie wiem już o co tu chodzi.
  • #19 21775276
    xury
    Specjalista automatyka domowa
    Posty: 7083
    Pomógł: 878
    Ocena: 1498
    Podłącz go do USB uruchom Putty i wybierz serial, wpisz COM8 (jeśli taki dostał numer w systemie) i kliknij Open. Teraz wpisuj cokolwiek w oknie pytty i obserwuj czy dioda tx miga.
    W ten sposób sprawdzisz czy działa konwerter. Jeśli działa to przyczyna jest gdzie indziej.
  • #20 21775283
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Już robiłem takie coś wczoraj w tym programie zwarłem punkty A i B i wpisując litery z klawiatury na komputerze pojawiały się w czarnym oknie na ekranie komputera.

    Dioda tx miga przy nie zwartych punktach.
    Tak problem leży gdzie indziej.
  • #21 21775320
    xury
    Specjalista automatyka domowa
    Posty: 7083
    Pomógł: 878
    Ocena: 1498
    elektronik.b napisał:
    Już robiłem takie coś wczoraj w tym programie zwarłem punkty A i B i wpisując litery z klawiatury na komputerze pojawiały się w czarnym oknie na ekranie komputera.

    No to przy konwerterze RS485 to akurat dziwne zachowanie. Nie powinno tak być.
    Ma to rację przy zwykłym USB<>USART ale nie przy RS485.
  • #22 21775333
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    elektronik.b napisał:
    Nie mam dwóch konwerterów

    A może masz podłączony, i o tym nie wiesz - on może siedzieć w jakimś innym urządzeniu. Ale jeśli ten twój działa jako COM8, to ten port powinien zniknąć, gdy odłączysz swój konwerter.
  • #23 21775506
    mam_pytanie
    Poziom 30  
    Posty: 1077
    Pomógł: 164
    Ocena: 259
    Nie wiadomo, gdzie w konwerterze, wskaźniki LED-owe są wpięte.
    Może nie zwieraj wyjścia tylko podłącz między A i B, swoje LED-y.
    Konkretnie, dwie połączone antyrównolegle - anoda pierwszej z katodą drugiej oraz katoda pierwszej z anodą drugiej - i w szereg z nimi rezystor. Może byč ten od terminatora.
    Wtedy uzyskasz wskazanie, że nadajnik działa.
    Jeśli natomiast przestanie działać po podpięciu modułu przełączników, tam szukaj zwarcia.
  • #24 21775515
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    mam_pytanie napisał:
    Nie wiadomo, gdzie w konwerterze, wskaźniki LED-owe są wpięte.
    Może nie zwieraj wyjścia tylko podłącz między A i B, swoje LED-y.
    Konkretnie, dwie połączone antyrównolegle - anoda pierwszej z katodą drugiej oraz katoda pierwszej z anodą drugiej - i w szereg z nimi rezystor. Może byč ten od terminatora.
    Wtedy uzyskasz wskazanie, że nadajnik działa.
    Jeśli natomiast przestanie działać po podpięciu modułu przełączników, tam szukaj zwarcia.

    Nie wiem czy dobrze rozumiem...do punktów A i B przy konwerterze mam wpiąć zwykłą diodę led poprzez rezystor? Tak?
  • #25 21775673
    _jta_
    Specjalista elektronik
    Posty: 49144
    Pomógł: 3212
    Ocena: 4258
    Pewnie o to chodzi, ale napięcie między A i B gwarantowane przez standard to zaledwie 1.5V - trochę mało dla LED-ów. Choć możliwe, że zaświecą, jeśli nie będzie oporników na końcach linii.

    Jeśli program nie ma ręcznego włączania nadawania, to trzeba ustawić najmniejszą możliwą szybkość (pewnie 75) i wysyłać bajty 00 i FF (hex) - to da mignięcie LED-a ponad 0,1 sekundy.
  • #26 21775728
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    No nareszcie udało się nawiązać kontakt z płytką!
    Napisałem do samego autora projektu i aplikacji i okazało się że przy braku komunikacji należy wylutować z płytki rezystory R1 i R4 które wynoszą po 510om.
    Wylutowałem, podłączyłem i działa jak z nut!
    I tak jak myślałem wcześniej gdy kliknąłem ikonę w aplikacji dioda na płytce zapala się (żarówka itp.) i odwrotnie. Także komunikacja między komputerem a wyłącznikiem już jest i na odwrut.
  • #27 21776619
    elektronik.b
    Poziom 4  
    Posty: 384
    Ocena: 80
    Problem rozwiązany. Temat do zamknięcia.

Podsumowanie tematu

LABEL_AI_GENERATED
Problem dotyczył braku komunikacji między cyfrowym wyłącznikiem wielokanałowym Mirley a aplikacją sterującą poprzez konwerter USB-RS485 Waveshare CH340G. Układ wyłącznika działał poprawnie lokalnie, jednak aplikacja nie nawiązywała połączenia, a diody TXD i RXD na konwerterze nie migotały, świeciła tylko dioda PWR. Sprawdzono zgodność parametrów portu szeregowego (baudrate 38400 bps, bity danych, bity stopu, parzystość) oraz poprawność połączeń A+ i B-. Zwrócono uwagę na konieczność stosowania rezystorów terminujących 120 Ω na końcach linii RS485 oraz na tryb half-duplex komunikacji. W trakcie diagnostyki zauważono, że konwerter używa sterownika FTDI, a nie CH340G, co mogło powodować niezgodności. Ostatecznie rozwiązaniem okazało się wylutowanie rezystorów R1 i R4 o wartości 510 Ω z płytki wyłącznika, co umożliwiło prawidłową komunikację dwukierunkową między komputerem a wyłącznikiem. Po tej modyfikacji aplikacja poprawnie sterowała urządzeniami podłączonymi do wyłącznika, a sygnalizacja stanu działała zgodnie z oczekiwaniami.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA