Seriova komunikace RS485
Petr Labaj
labaj na volny.cz
Středa Listopad 22 18:36:27 CET 2023
Přiznávám, že by mě to zajímalo.
Tedy pro obecnou osvětu a poučení, i když ve Vašem konkrétním případě to
dokážete ošéfovat pomocí SW.
Připojil bych na ten převodník jen osciloskop a kontrolní PC, nic
jiného. Na druhé straně by nikdo neodpovídal.
A do Arduina dát jednoduchý program, který bude vysílat stále dokola
třeba po 2 sekundách ten string.
Pokud to tady bude OK (na osciloskopu i přijetím na na kontrolním PC),
tak nechat HW stejně, ale posílat to Vašim původním programem, pokud umí
posílat výzvy i bez odpovědi.
Pokud to opět bude OK, tak teprve pak připojit ten odpovídač a hledat tam.
Máte 4-kanál, tak by asi nebyl problém ho odpíchnout od Tx dat, která by
byla vstupem pro ten převodník (tj. výstupní drát z Arduina).
PL
**********************
Dne 22.11.2023 v 18:13 Jirka Mww napsal(a):
> Dobrý den,
> To s tím rozdělením jsem zkoušel, nebyla tam žádná změna i když jsem
> tam dal ještě navíc delay. Osciloskop mám, 4 kanál paměťový, ale
> nevím, na co ho synchronizovat. Necháme to být, SW to řeší
>
> Dne st 22. lis 2023 18:05 uživatel Petr Labaj <labaj na volny.cz> napsal:
>
> Myslel jsem, že se Vám to s těmi odpory spravilo. A ono ne.
> Tak to je skoro čas na plán B.
> Máte osciloskop? Pokud je to jeden ze 40 pokusů, tak tohle
> chytnout by měla být brnkačka. A zřejmě budou "načaté" i ostatní
> přenosy, jen budou ještě v toleranci.
>
> Co by udělalo Serial2.print("X1A") a pak Serial2.println("") nebo
> jak se ty funkce na Arduinu jmenují? Prostě poslat to CR dalším
> voláním.
>
> PL
>
> ********************
>
> Dne 22.11.2023 v 17:42 Jirka Mww napsal(a):
>> Díky za další rady, on ale bude problém asi jinde. Po
>> doplnění těch opěrných odporů na A+ a B- se to začalo chovat o
>> dost líp, ale po dopsání nějakých dalších řádků do Arduina ATMEGA
>> se to zase trochu zhoršilo.
>> Mám podezření, že ty procedury Arduina pro obsluhu sériových
>> portů nejsou asi úplně nezávislé, nebo tomu vadí něco jiného z
>> mého SW. V podstatě s tím můžu žít, ty posílané povely se
>> dají opakovat, když nepřijde včas relevantní odpověď. Schema
>> těch převodníků nemám, je to z Ali, drát na řízení směru toku
>> nemají, to co poslu se zároveň zpětně načte. Ten co komunikuje s
>> měničem GOODWE problémy nemá, komunikace 100% chodí včetně CRC.
>> Vyhození převodníků je trochu problém, relova deska pro obsluhu
>> je SMD , musel bych tam okolo převodníku RS485 škrbat spoje, to
>> se mi nechce. Raději budu řešit ty výpadky přes úpravu SW a už se
>> tím dál nebudu zabývat
>>
>> Zdravi
>> Jirka Sloupenský OK1MWW
>>
>>
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>> Neobsahuje žádné viry.www.avast.com
>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>
>>
>>
>> út 21. 11. 2023 v 20:28 odesílatel Dodo Racek
>> <dodoracek na gmail.com> napsal:
>>
>> Tazko hadat, malo vstupnych informacii.
>>
>> Obe strany su v istej chvili prepnute na vysielanie ?
>>
>> Pri riadenom prepinani mozete prepnut na prijem skor ako je
>> odoslany posledny znak.
>> Niektore obsluhy seriovej linky povazuju odoslanie za
>> skoncene, ked je posledny byte vo vysielacom registri (ale
>> este neodisiel po seriovej linke )
>>
>> Automaticke prepinania sa robia rozne, od detekcie startbitu
>> hrubym casovanim MKO, niektore sa snazia detekovat rychlost
>> vysielania a nastavit cas prepnutia podla casu vyslania bytu
>> a odhadnutej rychlosti... byva to rozne.
>>
>> Mate linku zakoncenu na oboch stranach prislusnou zatazou ?
>> Napr 120R + 1n
>>
>> Mate definovane urovne linky, ked su obe strany na prijme ?
>> Niektore prevodniky to robia "automaticky" a u niektorych je
>> potrebne jeden vodic potiahnut odporom na zem a druhy vodic
>> na +5v.
>>
>> Niektore zapojenia prevodnikov 422/485 umoznuju zaroven
>> citat, co sa lokalne vysiela a napr. detekovat chybu
>> vysielania, ked sa iny vysielac na linke namontuje do
>> komunikacie....
>>
>> Chcelo by to ozajstne schemy tych prevodnikov.
>> Ci mate chybu v prograne mozete overit tak, ze vyhodite
>> prevodniky a pojdete Rx-Tx priamo na TTL urovniach.
>>
>> Dodo
>>
>>
>> Dňa ut 21. 11. 2023, 15:31 Jirka Mww <jirka.mww na gmail.com>
>> napísal(a):
>>
>> Dobrý den,
>> ladím tady komunikaci mezi dvěma Arduiny, jedno je
>> Arduino Nano a druhé je Arduino Mega , příslušný
>> seriový kanál je na Mega serial2. Na Nano používám HW
>> seriový kanál. SW seriový kanál není vůbec využit. Na
>> Arduinu Nano je modul RS485, který má externí vstup pro
>> přepínání směru přenosu, ten obsluhuji svým SW a vše zdá
>> se funguje správně. Na Arduinu Mega mám nějaký
>> čínský modul RS485, který takový vstup nemá , přepíná se
>> sám, posílám jen čtyři znaky pomocí funkce
>> Serial2.println("X1A") t.j. včetně CR na konci, většinou
>> to funguje, ale ten koncový znak, na který protistrana
>> čeká, aby příkaz provedla, se občas ( cca 1 x za 40
>> přenosů ) nepošle. Linku monitoruji přes externí
>> převodník a PC ale efekt je stejný, jak na straně Arduino
>> Nano, tak na straně PC. Prostě ten koncový znak nepřijde
>> tam ani tam. Komunikace s FVE měničem Goodwe přes další
>> port toho Arduino Mega mi funguje normálně. Je tam
>> podobný modul RS485 opět bez řízení směru přenosu, je
>> jenom galvanicky oddělený. Nemáte nějaký nápad, na co se
>> zaměřit ? Vkládání zpoždění do různých relevantních
>> částí programu nepomáhá.
>>
>> Zdravi
>> Jirka Sloupenský OK1MWW
>>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list - sponsored bywww.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231122/0d92a492/attachment.htm>
Další informace o konferenci Hw-list