I2c v rušivom prostredí

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 05:44

Ahoj.
Chcem sa vás opýtať je nejako možné zabezpečiť i2c komunikaciu proti okolitému rušeniu?
(Rusenie pochadza z okolitých stykacov a relatok)
Uvedomujem si ze i2c nieje vhodná do priemiselneho zariadenia tak pred tým než to úplne vzdám sa opytam este vás.
Takže mám jednu riadiacu DPS s atmega 328 ta je prepojená plochým kablom s 5x DPS na ktorich su PCF8574 dĺžka plochého kabla je 10cm + jeden kabel na prepojenie LCD I2C (DPS su poukladane nad sebou)
Pokiaľ je zariadenie mimo el rozvádzača stroja pracuje bez problémov, akonáhle sa vlozi do rozvádzača program pri komunikacii sem tam zamrza na LCD sa zobrazujú nezmysly.
Procesor atmega328 beží na 16MHz i2c je na 400kHz.
Takže otázka je možné nejakym sposobom odrusit i2c v takomto prostredí alebo nemá to cenu skusat?
Prílohy
IMG_20200304_054101.jpg
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1146
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: I2c v rušivom prostredí

Príspevok od používateľa Atlan » 04 Mar 2020, 06:12

Co rady z mc fora nezabrali? Res uz si sa na to niekde pytal. Inak musi to behat na 400khz?
0

Používateľov profilový obrázok
djwiktor
Ultimate člen
Ultimate člen
Príspevky: 1624
Dátum registrácie: 01 Júl 2010, 00:00
Bydlisko: Šaľa
Vek: 36
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa djwiktor » 04 Mar 2020, 06:47

Ty si tusim tem co tu riesil tie pullupy. Alebo sa mi to zda?
I2C vydrzi vela. Lenze hentie dosky co mas na fotke nie.
Uplne zly dizajn, hlavne ak to ma byt priemyselne prostredie.
Dlhe spoje na doske, ziadne groundplane, spojenie absolutne nevhodnym kablom. A ako ceresnicka 400khz clock.
Kamo nic v zlom ale hento treba cele rozbit a spravit nanovo od dizajnu jednotlivych dosiek cez spojenie.
Dalsia vec obslusny software - ten si ma kontrolovat kazdy prikaz co leze po I2C cke a podla toho riesit watchdogy.

Ako silne su pullupy dohromady? Mas zmeranu kapacitu celej zbernice s tym polmetrom plocheho kablu? Mas ich dopocitane podla toho a podla DS vsetkych pripojenych PCF?
0
Tlacim na 3D tlaciarni Felix 3.0 dual
Stormchasers.sk

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

Re: I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 07:07

Áno riešil som tie pulupy. No nemusí to bežať na 400kHz ale na tej freq to nemrzlo tolko ako na 100kHz.
Pulupy so tam dohromady 3x 4.7k teda dohromady asi 1.6k. Jeden na i2c lcd module druhy pri procesore a treti je na doske RTC.
No bol to len prototyp ale cele zle takze stoho nic nebude.
0

Používateľov profilový obrázok
djwiktor
Ultimate člen
Ultimate člen
Príspevky: 1624
Dátum registrácie: 01 Júl 2010, 00:00
Bydlisko: Šaľa
Vek: 36
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa djwiktor » 04 Mar 2020, 07:50

Este nehadzme flintu do zita.
Ake mas zapojenie zil na tom plochaci?
Vies cele toto zariadenie obalit do uzemneneho boxu?
0
Tlacim na 3D tlaciarni Felix 3.0 dual
Stormchasers.sk

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1146
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: I2c v rušivom prostredí

Príspevok od používateľa Atlan » 04 Mar 2020, 09:10

Daj tu schemu a navr plosaku, staci obrazky s oznacenim napajacich bodov a zbernic.
A je to blbost aby to pri 100 nechodilo lepsie ako na 400khz.
Sisi isty se ti klakne i2c a nie nahidou procesor. Dufam ze tam mas oddelovac i2c. Na strane uP
0

Používateľov profilový obrázok
jenda23
Ultimate člen
Ultimate člen
Príspevky: 5779
Dátum registrácie: 27 Jún 2008, 00:00
Bydlisko: Česká Třebová
Vek: 33
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jenda23 » 04 Mar 2020, 09:22

Zmý zkušenosti a z praktický zkušenosti vývojářů zařízení který maj odolávat rušení IIC sběrnice do "průmyslu" ani do průmyslu nepatří (což jsi poznal sám). Od toho jsou diferenciální sběrnice jako je CAN, RS485, možná PWM či Klinka. Ale určo ne IIC, myslím že implementovat RS485 je hračka. A máš to pořád tři dráty.

Jinak už sem byl taky nucen řešit ídvěcéčko do zarušenýho prostředí, nakonec jsem skončil u hodně nízkých impedancí. V principu žádnej pull up (asi 500ohm), ale mastr MCU držel linku natvrdo výstupem v LOG1. Slave zařízení byly připravený pro příjem. Mastr vyslal úvodní hranu a sekvenci, adresu slave a požadavek na okruh dat. Pak se přepnul do příjmu (fyzicky překonfiguruješ regist pinu DATA z OUT na IN). Otrok se taky přehodil a započalo se vysílání Slave to MASTER, po ukončení bloku dat se oba přeply nazpět. Mělo to hodně velkou odolnost proti rušení, ale bylo to pomalý a jedná se o SW implementaci IIC.

A řeš odrušení stykačů, nesej na sobě mít zhášecí členy, to hodně uleví okolí. jinak jak už psal kolega, naprosto nevhodný design do průmyslového prostředí. Tam se volí jiná topologie, i jiný provedení komponent. A každá sběrnice má svůj budič, v lepším případě je galvanicky oddělená.

PS: a jak máš zajištěnou opravu dat při chabným příjmu, nebo jen slepě láduješ data bez odezvy? Kde máš vložený pullupy, osobně bych je osadil na každou z desek a třeba ne 4k7 ale třeba 5k6, on to procik utáhne. kabel zkus dát stíněnej. Nebo zkus prokládat na plocháči každej činnej vodič zemí. Někdy to zabere.
0
Lokomotiva je jako žena.Je jich stovky typů a každej z nich je jinej,každá z nich je svým způsobem krásná.Když jí chceš aspoň trochu poznat jsou to stovky hodin času.Nejde s ní být aniž bys jí bezmezně miloval,je nemožný jí znát do poslední skulinky

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

Re: I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 09:57

Ahoj dakujem za rady.
No prvé co sme skúšali bolo to dať do plechovej a uzemnenej krabice. Problém je ze mi ide von jeden kabel k LCD cca 15cm.
Ano zamrzne procesor ale myslel som ze kvoli i2c komunikacii.
Ak je to cele vonku na stole neni problém ale to do toho nejdú silové časti.
Ked to skusam vonku mimo stroja to ide uplne super relatka spinaju ako maju.
Ano je to cele nevhodné ale bola to skúška.
V podstate je to atmega328 tie PCFka nejake ULNka no a 40 relatok. ( Mala to byť nahrada za mechanický prepínač niečo ako v starých Tatramat pračkach)
A ako hovorím pulupy su len na LCD module pri procesore priamo pri pinoch a posledné sú na RTC module hodín.
No vyskúšam ešte ten plochý kábel dať preč a prepojit tie SDA a SCL úplne na krátko priamo z PCF do PCF (slo by to su nad sebou) a znížim Freqna 100kHz a uvidíme. Prípadne dam na kazdu dosku ešte 4k7 odpor.


Schemu teraz neviem dať tu mam doma v PC.

Komunikaciu nekontrolujem len prebehne zápis ktore piny zopne na PCF. Knižnice pouzivam od Peter Fleury.
priklad: pcf8574_setoutput(uint8_t deviceid, 0b0110110);
Prílohy
IMG_20200304_093053.jpg
0
Naposledy upravil/-a Mahel v 04 Mar 2020, 10:09, upravené celkom 1 krát.

Používateľov profilový obrázok
jenda23
Ultimate člen
Ultimate člen
Príspevky: 5779
Dátum registrácie: 27 Jún 2008, 00:00
Bydlisko: Česká Třebová
Vek: 33
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jenda23 » 04 Mar 2020, 09:59

Zkus strčit na nějaký volný PIN procesoru ledku a za tu párkrát zatahej hned po initu prociku abys věděl jestli padne do resetu. Ještě zkus snížit pullup na pinu resetu. Samozdřejmě vhodně zabezpečit napájení proti špičkám a rušení. Plus externí watchdogy.
0
Lokomotiva je jako žena.Je jich stovky typů a každej z nich je jinej,každá z nich je svým způsobem krásná.Když jí chceš aspoň trochu poznat jsou to stovky hodin času.Nejde s ní být aniž bys jí bezmezně miloval,je nemožný jí znát do poslední skulinky

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1537
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jirka.jirka. » 04 Mar 2020, 10:05

Těžko říct takto od stolu, ale možná příčina může být i ve zdroji.
Z lab zdroje všechno vždycky funguje, ale potom v průmyslu konec. :D

Já např. na 24V zdroj jako vstup používám toto zapojení. Takže máš zdroj dostatečně odfiltrovaný? Jinak teď budeš muset zjistit, kde ti zamrzne MCU. Určitě se to bude dát najít debuggerem. Nebo použij LCD jako výstupní konzoli.

EDIT: A ještě jsem si tam našel chybu. :biggrin: Ta dioda by se vypařila. musím to zrovna opravit.
Prílohy
supply.PNG
0

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

Re: I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 10:15

Vyskúšam.
A LED tam mam a zablika hned po initu.

Ono problem nastava len ak v skrini začnú cvakať stykače, pokiaľ je to mimo ten krok programu kde to spina stykače to nemrzne. V prvom kroku programu cvakaju 4 stykače a vtedy mrzne.
Tie stykače maju odrusovacie kondiky.


A myslíš zmenšiť hodnotu odporu na reste atmegy?Teraz tam je 10k.
Zdroj mám kupovaný 24V na tom to skúšam od začiatku. Nepripajam to k laboratornemu. Stale to bezi na tom istom.
0

Používateľov profilový obrázok
jenda23
Ultimate člen
Ultimate člen
Príspevky: 5779
Dátum registrácie: 27 Jún 2008, 00:00
Bydlisko: Česká Třebová
Vek: 33
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jenda23 » 04 Mar 2020, 10:21

Zdroj tvoří zároveň i ovládací napětí stykačů?
0
Lokomotiva je jako žena.Je jich stovky typů a každej z nich je jinej,každá z nich je svým způsobem krásná.Když jí chceš aspoň trochu poznat jsou to stovky hodin času.Nejde s ní být aniž bys jí bezmezně miloval,je nemožný jí znát do poslední skulinky

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

Re: I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 10:28

Nie ten zdroj slúži len na napajanie tých mojich kariet.
Inak cele je to oddelene relatkami takže nic nejde priamo na procesor ziaden vstup ani vystup.

Ak sa my podari dam sem video kde skúšam cez 555 časovač prepinanie krokov.

-- Spojený príspevok 04 Mar 2020, 10:36 --

Davam video kde to skúšam doma a kde to beží bezchybne samozrejme tie kable su v stoji upratané a nieje to taketo klbko. Ako nahle sa to vlozi do skrine kde su stykače dost na tesno to sem tam zblbne...video berte z rezervou.
kabel k LCD je už iny nie ten obmotany hlinikovou

paskou :-)
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1146
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: I2c v rušivom prostredí

Príspevok od používateľa Atlan » 04 Mar 2020, 10:42

Daj tu svhemy a navrhy plosaku!
0

Mahel
Pokročilý člen
Pokročilý člen
Príspevky: 770
Dátum registrácie: 13 Okt 2007, 00:00
Bydlisko: Levice
Vek: 38

Re: I2c v rušivom prostredí

Príspevok od používateľa Mahel » 04 Mar 2020, 10:44

No momentalne to neviem nemam pc u seba a schema je doma.
0

amater-sc
Nový člen
Nový člen
Príspevky: 86
Dátum registrácie: 27 Mar 2012, 16:23
Bydlisko: Senec

Re: I2c v rušivom prostredí

Príspevok od používateľa amater-sc » 04 Mar 2020, 12:04

Pre prepojenie zariadeni pouzi twistovane pary.
Moznost 1 (mam odskusane):
prvy par = SCL twistovany s GND
druhy par = SDA twistovany s VCC

alebo moznost 2 (nemam odskusane)
prvy par = SCL twistovany s GND
druhy par = SDA twistovany s GND
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1537
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jirka.jirka. » 04 Mar 2020, 12:09

Já to typuju na zdroj. I když máš zdroj nakupovaný, tak nemusí mít dostatečnou odolnost proti rušení. Tzn. nějaká špička ti tam proletí a v lepší případě resetne v horším případě zabije MCU.
Tady to bude chtít vědět typ zdroje a vidět schema. Typ zdroje proto, že nevíme jestli je to spínaný nebo trafo a stabil.
0

solec
Stály člen
Stály člen
Príspevky: 116
Dátum registrácie: 12 Máj 2016, 14:41
Bydlisko: Prešov

Re: I2c v rušivom prostredí

Príspevok od používateľa solec » 04 Mar 2020, 16:14

spomínam na takéto problémy z minulosti: pomohli DC/DC meniče, optočleny a poprípade aj 4-vrstvé dosky
merania a debugery boli problematické, k presným exaktným výsledkom neviedli. a chipy ako 8035 z DDR neboli kopie inteláckych, intelácke išli aj pri stykačoch. ale je to dávna minulosť...hi, teraz je to iné - ale fyzika sa nemení
0

Používateľov profilový obrázok
jirka.jirka.
Ultimate člen
Ultimate člen
Príspevky: 1537
Dátum registrácie: 17 Okt 2008, 00:00
Bydlisko: Uherské Hradiště
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa jirka.jirka. » 04 Mar 2020, 18:06

Je pravda, že do průmyslu jít bez I2C oddělovačů a optočlenů je sebevražda, ale dle mě toto půjde taky vyřešit. Jenom to bude hodně pokus, omyl, korekce.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: I2c v rušivom prostredí

Príspevok od používateľa peterple » 04 Mar 2020, 19:27

Led ako debug prostiedok je k ničomu. Keď už si sa dal na serióznu prácu tak používaj aj serióznejšie postupy. Ako môžeš nájsť chybu keď maximálne blikne led? Absolútne nevieš ako sa to zrúbalo. Daj si tam RS232 prevodník a posielaj si debug správy do terminálu.

Používať nejakú knižnicu je fajn, ale len dovtedy ak to funguje. Teraz potrebuješ zistiť či to nezamrza niekde v nej. Obsluha chybových stavov u opensource nebýva často vôbec riešená. Kludne to tam môže vbehnúť do nejakej slučky z ktorej to nikdy nevyjde. Opäť riešením sú debug výpisy na konzolu, len to už vyžaduje tú námahu minimálne si naštudovať knižnicu a tie debug výpisy tam popridávať.

Máš tam watchdog?

Ako máš ošetrené napájanie na tej tvojej doske? Aké máš opatrenia proti lezeniu rušenia cez tie káble čo lezú dnu? Máš tam aspoň RC člen keď už to nemáš galvanicky oddelené? By človek nepovedal ale cez 2m kábla ti do dosky vlezú od prechádzajúcej električky vonku na ulici také špice že ti zblbnú procesor (samozrejme že raz za mesiac, nie od každej).
Taký Centronics bol na TTL úrovni a fungoval na 1,5m. Takže aj TTL sa dá kúsok potiahnuť ale treba to mať ošetrené. Ale nebolo to určené do priemyselného prostredia.

Moje doporučenie je všetko čo lezie von/dovnútra galvanicky oddeliť. Napájanie filtrovať. Na zdroj sa nespoliehaj. Príklad ti tu dal Jirka. Neuškodí aj tranzil na odstrihnutie napäťových špíc čo sa indukujú do napájacích káblov.

Ten externý displej si pripoj cez RS422/RS485 aj keď sa to zdá že je to iba pár cm.
Ono to má celkom svoje dôvody prečo sa používajú PLC. Ak sa ti zdajú drahé na to čo robíš tak sú aj PLC postavené na Arduino/AVR platforme a sú open. Minimálne dobré si poštudovať schémy na inšpiráciu ako to robia týpci čo už niečo v živote cez MCU riadili.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok