Stránka 4 z 6

Re: Zastavování cyklování programu podruhé

Napsal: 29 čer 2020, 07:01
od pavel1tu
Patrik píše:
28 čer 2020, 20:46
Ano Pavle, mám u každého elektromagnetického ventilu diodu. Myslíš si, že bych to měl dát i ke vstupu do relé? Relé je napájeno 5 V a to řidici napětí pro ty cívky.. Však tam prochází max 50 mA, ne? Že by to ovlivnovalo I samotné relé?
U modulů jak se píše výše - není potřeba, jen přímo u cívek jak relé, tak ventilů atd.
Rušení jsem řešil na mnoha projektech, hlavně kde používám více napětí - rekord mám 48/12/5/3,3V.
Od té doby si kupuji jen hlavní zdroj a ty DCDC měniče si dělám sám.

Re: Zastavování cyklování programu podruhé

Napsal: 29 čer 2020, 16:07
od analytik
Sice to nesouvisí s diskutovaným tématem, ale dovolím si připomenout, že příčina závady se může vyskytovat i v zařízení, kde by to nikdo nehledal. Už několikrát jsem našel zdroj závady v tak jednoduchém elektronickém prvku, jakým je propojovací drátek do bezkontaktního pole! Zatím to byl vždy jeden ze svazku drátků slepených do plochého formátu. Jeho náhrada samostatným drátkem záhadu vyřešila. Pitvou jsem zjistil že v neporušené izolaci kousek vodiče schází. Nyní si drátky raději před použitím prozvoním zkoušečkou abych ušetřil hodiny marného laborování. Takže "studeňák" se může vyskytnout i mimo PCB a ani název "vodič" nemusí zaručovat vodivost.

Re: Zastavování cyklování programu podruhé

Napsal: 29 čer 2020, 16:27
od kiRRow
No nehledě na to, že kvalita některých nepájivých polí je vcelku mizerná. Čelisti vůbec nepruží, takže se rozveřou při hrubší nožičce (třeba dioda 1N4004) a 10pF keramický kodenzátor v nich pak vůbec nedrží. Tohle se nejlépe hledá jemným ťukáním do všehomožného :D. Bo člověk připojí sondu na nožičku uvolněné součástky, tím ji dotlačí a vše je při měření OK. Povolím sondu a nožička zase vesele lítá v roztahané čelisti :D.

Re: Zastavování cyklování programu podruhé

Napsal: 29 čer 2020, 17:20
od analytik
Také štědrý zdroj neplech! Proto hned po prvním úspěšném odladění na nepájivém poli přestěhovat projekt na důvěryhodný tišťák.

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 12:41
od Patrik
Ahoj, tak jsem vyměnil i vodiče za stíněné do vstupu relatek. Takže celá 12 V větev je ve stíněných vodičích... Dodal jsem také k tomu relatku na vstup diodu mezi + a minus pol.. K napájení LCD displeje jsem dodal kondenzátor o kapacitě 220 mikro Farad... A přesto dojde k tomu, že se na displeji zobrazí třeba jen písneno "D" a občas opět dojde k zastavení cyklu programu.. Nesvítí žádná led.. Ani ta žlutá a program přestane cyklovat.. V Arduinu to teda nebude, vyměnil jsem ho za jiný... Nejspíš bude chyba v kódu... Zkusil jsem fixne zadat místo výpočtu v sekundach viz příspěvek níže (jestli toto nedělá ty problémy)

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 12:44
od Patrik
Zadal jsem místo tohoto výpočtu (na test) viz kód první příspěvek. Fixne čas na 980 ms.. Uvidím co to udela

Tedy místo: delay(secs-(millis()%1000));
Jsem zadal pouze delay (980);

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 16:09
od kiRRow
Jen se zeptám, jak dlouhý je komunikační I2C vodič mezi arduinem a LCD ? Rozsypaná komunikace taky může zamrznout MCU. Ono I2C je navrženo pro komunikaci čipů mezi sebou na jedné dps.

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 16:13
od Patrik
Porad čtu, že by to mohlo dělat právě to relé... A že doporučuji tzv. RC snubber. Máte s tímto zkušenosti?
https://arduino-shop.cz/arduino/1648-r ... teze.html
Znamenalo by to, že pro 4 relé budu potřebovat 4 tyto kusy?

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 16:13
od Patrik
Délka vodiče je asi metr a půl.

Re: Zastavování cyklování programu podruhé

Napsal: 30 čer 2020, 16:38
od kiRRow
Metr a půl už je jako dost moc. Můžeš jen tak ze srandy pro ověření ten displej připojit vodičem do 30cm ? https://www.google.com/search?q=i2c+max ... oq=i2c+max

Chybu v delším programu hledat ... :) ...... Nejrozumnější rozdělit celý program na jednotlivé kusy. Začít s naprostým základem a postupně do něj vkládat jednotlivé kusy a čekat, kdy to začne zase zlobit. Buď pak zlobí ten poslední vložený kus - nemusí být nutně v něm chyba, třeba jen koliduje s jiným kódem ... nebo způsobuje, že dva jiné bloky, které fungovaly se kvůli němu najednou pohádají.