Zastavování cyklování programu podruhé

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

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

Příspěvek od pavel1tu » 29 čer 2020, 07:01

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.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

analytik
Příspěvky: 148
Registrován: 26 čer 2020, 12:48
Reputation: 0
Bydliště: Děčín

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

Příspěvek od analytik » 29 čer 2020, 16:07

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.

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

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

Příspěvek od kiRRow » 29 čer 2020, 16:27

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.

analytik
Příspěvky: 148
Registrován: 26 čer 2020, 12:48
Reputation: 0
Bydliště: Děčín

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

Příspěvek od analytik » 29 čer 2020, 17:20

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.

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

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

Příspěvek od Patrik » 30 čer 2020, 12:41

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)

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

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

Příspěvek od Patrik » 30 čer 2020, 12:44

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);

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

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

Příspěvek od kiRRow » 30 čer 2020, 16:09

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.

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

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

Příspěvek od Patrik » 30 čer 2020, 16:13

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?

Patrik
Příspěvky: 199
Registrován: 02 dub 2020, 09:58
Reputation: 0

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

Příspěvek od Patrik » 30 čer 2020, 16:13

Délka vodiče je asi metr a půl.

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

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

Příspěvek od kiRRow » 30 čer 2020, 16:38

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í.

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 4 hosti