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