<div dir="auto">Pane Zárubo,<div dir="auto">přivedl jste mne na jednu myšlenku, kterou zítra vyzkoušim. Mám tam přerušení 4mS, opsané z jiného projektu, ale v podstatě to tak často nepotřebuju, počítám ta přerušení do 250 a hlavní smyčku pouštím po sekunde. Nějak jsem na to zapomněl, že to tak je, dělám na tom je po chvilkach.</div><div dir="auto">Zitra to přerušení přepisu na delší interval a uvidím, jestli to bude mít efekt. Ještě jednou díky za nakopnuti. Pokud neuspěji, vyndáme ten osciloskop.. </div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Dne st 22. lis 2023 19:07 uživatel Martin Záruba <<a href="mailto:swz@volny.cz">swz@volny.cz</a>> napsal:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p><font face="Arial">Mám podezření, že to bude souviset s ne
plnohodnotnou obsluhou přerušení. Tedy to, co jsem sám nevěděl,
že pokud nastane více přerušení současně, priority pouze určují
pořadí spuštění rutin, ale neznamená to, že jestliže běží rutina
s nižší prioritou a vznikne vyšší přerušení, že se ta nižší
přeruší, obslouží se ta výšší, pak pokračuje ta nižší a pak
hlavní program. Jinak řečeno... Neumí vnořovat přerušení.</font></p>
<p><font face="Arial">Mám podobný problém, kde, přerušení časovačem
mám každých 50uS. Ono to není v mém případě důležité, aby to
bylo přesně 50uS. Pokud nenastává jiné přerušení, vidím na
osciloskopu, že to sedí. Pokud ale nastává přerušení od
seriového portu, interval 50uS není přesný.</font></p>
<p><font face="Arial">Nevím, zda to nemůže být Váš případ, kdy dojde
k tak zásadní deformaci šířku pulzu na seriovém portu, že se
data přenesou špatně. Takže se přikláním k tomu, co napsal pan
Labaj.</font><br>
</p>
<pre cols="72">Martin Záruba</pre>
<div>Dne 22.11.2023 v 18:36 Petr Labaj
napsal(a):<br>
</div>
<blockquote type="cite">
Přiznávám, že by mě to zajímalo.<br>
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.<br>
<br>
Připojil bych na ten převodník jen osciloskop a kontrolní PC, nic
jiného. Na druhé straně by nikdo neodpovídal.<br>
A do Arduina dát jednoduchý program, který bude vysílat stále
dokola třeba po 2 sekundách ten string.<br>
<br>
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.<br>
Pokud to opět bude OK, tak teprve pak připojit ten odpovídač a
hledat tam.<br>
<br>
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).<br>
<br>
PL<br>
<br>
**********************<br>
<br>
<div>Dne 22.11.2023 v 18:13 Jirka Mww
napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="auto">Dobrý den,
<div dir="auto">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ší </div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Dne st 22. lis 2023 18:05
uživatel Petr Labaj <<a href="mailto:labaj@volny.cz" target="_blank" rel="noreferrer">labaj@volny.cz</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div> Myslel jsem, že se Vám to s těmi odpory spravilo. A
ono ne.<br>
Tak to je skoro čas na plán B.<br>
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.<br>
<br>
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.<br>
<br>
PL<br>
<br>
********************<br>
<br>
<div>Dne 22.11.2023 v 17:42 Jirka Mww napsal(a):<br>
</div>
<blockquote type="cite">
<div dir="ltr">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.
<div>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</div>
<div><br>
</div>
<div>Zdravi</div>
<div>
<div>
<div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Jirka
Sloupenský OK1MWW</div>
</div>
<br>
</div>
</div>
<div id="m_5964203665931629451m_-155959138218532413DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br>
<table style="border-top:1px solid #d3d4de">
<tbody>
<tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" rel="noreferrer noreferrer" target="_blank"><img src="https://s-install.avcdn.net/ipm/preview/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" alt="" style="width:46px;height:29px" width="46" height="29"></a></td>
<td style="width:470px;padding-top:12px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Neobsahuje
žádné viry.<a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail" style="color:#4453ea" rel="noreferrer noreferrer" target="_blank">www.avast.com</a></td>
</tr>
</tbody>
</table>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">út 21. 11. 2023
v 20:28 odesílatel Dodo Racek <<a href="mailto:dodoracek@gmail.com" rel="noreferrer noreferrer" target="_blank">dodoracek@gmail.com</a>>
napsal:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="auto">
<div dir="auto">Tazko hadat, malo vstupnych
informacii.</div>
<div dir="auto"><br>
</div>
Obe strany su v istej chvili prepnute na
vysielanie ?
<div dir="auto"><br>
</div>
<div dir="auto">Pri riadenom prepinani mozete
prepnut na prijem skor ako je odoslany posledny
znak. </div>
<div dir="auto">Niektore obsluhy seriovej linky
povazuju odoslanie za skoncene, ked je posledny
byte vo vysielacom registri (ale este neodisiel
po seriovej linke )</div>
<div dir="auto"><br>
</div>
<div dir="auto">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.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Mate linku zakoncenu na oboch
stranach prislusnou zatazou ? Napr 120R + 1n</div>
<div dir="auto"><br>
</div>
<div dir="auto">Mate definovane urovne linky, ked
su obe strany na prijme ?</div>
<div dir="auto">Niektore prevodniky to robia
"automaticky" a u niektorych je potrebne jeden
vodic potiahnut odporom na zem a druhy vodic na
+5v.</div>
<div dir="auto"><br>
</div>
<div dir="auto">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....</div>
<div dir="auto"><br>
</div>
<div dir="auto">Chcelo by to ozajstne schemy tych
prevodnikov. </div>
<div dir="auto">Ci mate chybu v prograne mozete
overit tak, ze vyhodite prevodniky a pojdete
Rx-Tx priamo na TTL urovniach.</div>
<div dir="auto"><br>
</div>
<div dir="auto">Dodo</div>
<br>
<br>
<div class="gmail_quote" dir="auto">
<div dir="ltr" class="gmail_attr">Dňa ut 21. 11.
2023, 15:31 Jirka Mww <<a href="mailto:jirka.mww@gmail.com" rel="noreferrer noreferrer" target="_blank">jirka.mww@gmail.com</a>>
napísal(a):<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">Dobrý den,
<div>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 <span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">Serial2</span><span style="color:rgb(78,91,97);font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap">.</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(211,84,0)">println</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">(</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(0,92,95)">"X1A"</span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap;color:rgb(67,79,84)">) </span><span style="font-family:Consolas,"Courier New",monospace;font-size:14px;white-space:pre-wrap"><font color="#4e5b61"> t.j. </font></span>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á. </div>
<div><br clear="all">
<div>
<div dir="ltr" class="gmail_signature">Zdravi<br>
Jirka Sloupenský OK1MWW</div>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" rel="noreferrer noreferrer" target="_blank">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote>
</div>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank" rel="noreferrer">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" rel="noreferrer">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
<br>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
HW-list mailing list - sponsored by <a href="http://www.HW.cz" target="_blank" rel="noreferrer">www.HW.cz</a>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank" rel="noreferrer">http://list.hw.cz/mailman/listinfo/hw-list</a>
</pre>
</blockquote>
</div>
_______________________________________________<br>
HW-list mailing list - sponsored by <a href="http://www.HW.cz" rel="noreferrer noreferrer" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" target="_blank" rel="noreferrer">Hw-list@list.hw.cz</a><br>
<a href="http://list.hw.cz/mailman/listinfo/hw-list" rel="noreferrer noreferrer" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</blockquote></div>