Zaseknutí Una uprostřed výpisu na LCD

Nedaří se vám s projektem a nenašli jste vhodné místo, kde se zeptat? Napište sem.
Pravidla fóra
Tohle subfórum je určeno pro konzultaci ucelených nápadů, popřípadě řešení komplexnějších projektů, které opravdu není možné rozdělit na menší části.
Většinu problémů jde rozdělit na menší a ptát se na ně v konkrétních subfórech.
LukasO
Příspěvky: 10
Registrován: 31 říj 2022, 10:18
Reputation: 0

Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od LukasO » 31 říj 2022, 10:32

Dobrý den,
potřebuji radu, jestli se někdo nesetkal s podobným problémem.
Na Unu mám přes i2c LCD, modul času, pak přes uart čidlo CO2 a DHT 22. Vše funguje více méně tak jak má. Občas čidlo ukáže nesmyslnou hodnotu,ale jinak prostě dělá více méně to co má.
Problém nastane, když na desku připojím rele shield. Připadá mi, jak kdyby ho nemohla deska (regulátor napětí) utáhnout. Už jsem si ošetřil i to, aby se zapnulo vždy jen jedno relé... ale i přes to se po nějakém čase program sekne (shodou okolností uprostřed výpisu na display). Pokud shield odpojím, resetuju, program opět jede jak má.
Za radu předem děkuji.

KamilV
Příspěvky: 479
Registrován: 03 dub 2018, 15:27
Reputation: 0
Bydliště: Olomouc

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od KamilV » 31 říj 2022, 13:08

No a jak je to uno napájeno? Měřil si VIN v okamžiku výpisu na LCD? Relátka jsou napájena z čeho?
Uno se sekne a zůstane, nebo resetuje? Tipuji na kolísavé napájení.

LukasO
Příspěvky: 10
Registrován: 31 říj 2022, 10:18
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od LukasO » 01 lis 2022, 06:32

Celý projekt byl napájen z jednoho zdroje (12V/150W) a zřejmě byl problém v tomto napájení. Relé je shield, bere si napětí z desky. A spíná zátěž, která je skokově 80W (peltierův článek, který v měřeném boxu udržuje konstantní teplotu). Toto zřejmě způsobovalo zaseknutí. Včera jsem zapojil uno na zvlášť zdroj a už sekání nenastalo.
Nicméně ráno jsem přišel a program ukazoval 19° ale v boxu už bylo 24°. Neměl jsem moc čas studovat, kde vznikla chyba. Ale stalo se mi několikrát, že mi DHT vrátilo špatnou hodnotu (non nebo třeba 36°). Proto tam mám kontrolu a pokud vrátí chybnou hodnotu, ponechávám původní.
Taky porovnávám float teplotu z čidla s int nastavenou programově. To taky ještě předělám. A doplním ještě jedno čidlo pro komparaci.
Měřím teplotu, vlhkost a co2. Pokud je co2 mimo limity, vyvětrám, pak vytopím/vychladím na potřebnou teplotu a nakonec zvlhčím na potřebnou úroveň.
Ale to už je trochu mimo toto téma.
Odpověď na tvou otázku - Vin sem neměřil, nicméně věřím, že Vin nekleslo (problém bude impuls a frekvence zdroje). Deska se kousla, vyfoceno nemám, ale bylo to třeba druhý řádek výpisu, někde uprostřed.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od peterple » 01 lis 2022, 10:04

Máš problém s EMI. Akonáhle sa arduinisti dostanú do reálneho sveta nabehne tento problém. Dôvod je jednoduchý - nemajú ani šajnu o elektrike. A to spínať 80W odporovej záťaže je to najjednoduchšie čo môže byť. Bojuje sa s tým na dvoch frontoch - hw a sw. Na hw fronte je to filtrovanie napájacieho napätia a galvanické oddelenie riadiaceho systému od okolia. Na sw poli je to napr. použitie watchdogu. Tvoja aplikácia si vyslovene pýta aby si ho začal používať.

LukasO
Příspěvky: 10
Registrován: 31 říj 2022, 10:18
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od LukasO » 01 lis 2022, 10:24

No jako procesní inženýr v elektrotechnickém průmyslu o elektrice něco málo vím. Nedošlo mi, že by tam mohla být až taková vazba.
Jak jsem už psal, po oddělení napájení se prvotní problém vyřešil a teď se objevil druhý problém. A u toho mám taky nápad jak vyřešit. Kdybych se tomu mohl věnovat víc, došel bych na to, jen je to bohužel jen koníček a času není mnoho.
Na druhou stranu watchdog, to si budu muset nastudovat, protože nevím. Díky za nasměrování.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od ondraN » 01 lis 2022, 12:47

U arduino knihoven nejsou vůbec ošetřené chybové stavy I2C sběrnice. Pokud se tam vyskytne nějaký problém, zůstane to viset v té knihovně (tomu by odpovídal nedokončený zápis na displej). WDT by byl rozhodně na místě.

peterple
Příspěvky: 156
Registrován: 22 zář 2021, 20:20
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od peterple » 01 lis 2022, 14:03

Tak si na to prines nejaké poriadne PLC z roboty a máš po probléme. Ušetríš veľa času. Na druhej strane sa nič nenaučíš, lebo tam už to iný inžinieri všetko vychytali, aj sw aj hw. Preto to stojí také peniaze.

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

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od kiRRow » 01 lis 2022, 17:01

Ty relé shieldy mají jumper, kterým jdou přepnout mezi napájením z desky arduina a extérním napájením.
Pokud to chápu správně, tak používáš jeden zdroj 12V ... výkonem dostatečně dimenzovaný aby utáhnul celý stroj. OK stím není problém, ale ...

Vyskytuje se ti tam spínání velké zátěže (z hlediska zdroje přes polovinu jeho wattáže) ... arduino asi používá svůj vnitřní stabilizátor ... a to napájí displej, relé desku (včetně cívky relé - to jde přepnout tím jumperem) a čidla. Na vstup napájení toho arduina umísti elektrolyt kondenzátor - dal bych 470uF na test ... ale cokoliv 10-1000uF můžeš zkusit. Další možnost je tuto zátěž nespínat nárazově, ale postupně pomocí PWM regulace. Jestli se ti tam vyskytne cokoliv s indukcí (cívka, motor) - to je taky třeba ošetřit, cívku diodou v závěrném směru (všimni si že na tom relé shieldu ta dioda je), motor rozběhovým kondenzátorem

Další věc je že I2C je původně vymyšleno pro komunikací čipů v rámci jedné desky plošeného spoje ... to že to funguje na metr a půl po kabelu je docela spíš haluz ... kabel co vede i2c by měl být stíněný a stítění uzemněno v jednom jediném bodě ... druhý problém vzniká v kapacitě vedení, i když to máš dobře stíněné, to vedení by nemělo být kroucené a jeho parazitní kapacita nesmí přesáhnout určitou hodnotu (jak tam máš UTP/FTP kabl tak zapoj třeba hnědý a zelený) ... třetí problém je občas v tom, že když zapojíš více desek na i2c, tak každá má své vlastní pull up rezistory a tím dojde k jejich paralernímu zapojení, je třeba to odpájet a nechat je jen na první desce.

Ve skutečnosti by to mělo nějak fungovat že jedno arduino po rs485 lince komunikuje s druhým klidně na kilometr daleko, a to je vzdáleno od čipu pár cm a komunikuje sním po i2c a po rs485 to posílá zpátky. A ještě mu tam posíláš raději 12V místo 5V (i když na ten kilometr by už mělo mít svůj vlastní zdroj). Málo kdy se povede postavit něco funkčního v reálném světě bez další "bižuterie" ...

LukasO
Příspěvky: 10
Registrován: 31 říj 2022, 10:18
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od LukasO » 02 lis 2022, 08:50

Suprově popsáno. Díky.

To napájení mám už vyřešeno (zvlášť zdroj pro arduino).
I2C sběrnici jsem použil kvůli úspoře, protože klasicky bojuju s nedostatkem vstupů - pokud ale je takto náchylná na rušení a v knihovnách není ošetřeno chybové stavy..). Relé sem volil kvůli jednoduchosti a možnosti přepínacího pinu (pomocí změn polarity relé měním, zda peltier topí/chladí).
Na základě toho, co tu bylo popsáno objednám mega (víc I/O portů, display přehodím na OLED (bez i2c), relátka vyměním za ssr a snad už bude klid :-)

Poznámka k radě "abych použil PLC" - tak můžu koupit profesionální (dokonce hotový) řešení, můžu na to vzít simensa... no ale, to tak nějak postrádá smysl tohoto fóra :-) Hraju si s arduinem, abych se něco naučil, ne abych tam cpal plc

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

Re: Zaseknutí Una uprostřed výpisu na LCD

Příspěvek od ondraN » 02 lis 2022, 10:12

Ještě zkus zvážit možnost použití dvou arduin, jedno pro měření a zobrazování, to by mělo mít na to i dost pinů i bez použití I2C displeje. Druhé jen pro spínání relé. Spojit je můžeš přes sériový port, ten je naprosto bezproblémový. Dvě aduina je více zábavy, méně peněz nez jedno Mega. :mrgreen:

Odpovědět

Kdo je online

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