Seriova komunikace RS485

Petr Labaj labaj na volny.cz
Středa Listopad 22 18:04:28 CET 2023


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
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231122/900e9e5c/attachment.htm>


Další informace o konferenci Hw-list