DIY Electronic projects
Nešto oko in-out kod PIC - Printable Version

+- DIY Electronic projects (https://forum.yu3ma.net)
+-- Forum: Mikrokontroleri (https://forum.yu3ma.net/forum-52.html)
+--- Forum: Microchip PIC (https://forum.yu3ma.net/forum-53.html)
+--- Thread: Nešto oko in-out kod PIC (/thread-812.html)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12


RE: Nešto oko in-out kod PIC - Macola - 06-06-2018

Makso,

Ako je to onaj moj pretvarač, SG3525 se mora onako umereno grejati. U njemu postoji analogni regulator sa Vin na Vreff (sa 25 na 5V). To je normalno.

Meni nikad ni jedan jedini nije crkao, čak ni na 36V. Verovatno ti je ili neki deo lošeg kvaliteta ili ti se otkačila jedna od žica na trafou.

Što se tiče i2c komunikacije, otprilike je stabilna dok je i MCU stabilan jer su im slične margine LV (treba pogledati u DS za konkretnu napravu na i2c).

Napajanje može bilo šta da uradi ako dođe do kratkih prekida.


RE: Nešto oko in-out kod PIC - Makso - 06-06-2018

Da, tvoj pretvarač, zamjenio sam samo LM317, i sad radi najnormalnije, jer sam uporedio stari LM i novi, na starom imam oko 1Mohm odstupanja od novog, i kada se počne SG3525 zagrijavati poslije se počne i LM lagano mlačiti, ostaviću priključen pretvarač što duže pa da vidim šta će se desiti.
Vidjeću da to sutra ponovo testiram, uglavnom u početku radi par sekundi sve kako treba i onda prestane, ali MCU (Arduino) radi najnormalnije (vidjeo sam po RX ledici) nakon nekoliko pokušaja reseta MCU direktno na reset taster ili potpunog gašenja napajanja i sačekam nekoliko sekundi da se svi kondenzatori isprazne i opet malo proradi i prestane, onda spojim sve na 12V i radi najnormalnije...


RE: Nešto oko in-out kod PIC - Macola - 06-06-2018

Možda ti upada elektronska buka iz pretvarača u samu i2c komunikaciju. To je moguće ako nisu dobro rutovane veze komunikacije.

Predlažem da staviš snubber, serijski vezanih 22R i 10nF, sa tačke gde su povezane obe ispravljačke diode i zavojnica.
Snubber sa te tačke na minus pol izlaznog elko.

Možeš probati i snubber od 330R i 330pF između drejnova mosfeta.

U svakom slučaju treba ipak da razmotriš kuda si provukao vodove i2c komunikacije i da li taj uređaj koji komunicira sa MCU ima lokalni decoupling.


RE: Nešto oko in-out kod PIC - Makso - 06-08-2018

Evo kako izgledaju PCB-ovi:
.

A konektori su dugački nekih 5-6cm, a kompletan sistem radi na 5V samo kroz kontakte releja ide 24V koji aktivira špulu klasičnog 24V-tnog kamionskog releja. Žice između pretvarača i Arduina su nekih 3cm.


RE: Nešto oko in-out kod PIC - Macola - 06-08-2018

Imaš li kontra diodu ili RC član na tom kamionskom releju?

Odavde je stvarno to teško pogoditi (nisam vidovit) jer praktično može biti bezbroj faktora koji ti mogu oboriti I2C (ako je uopšte oborena).

I2C zahteva korektan timing i da nema refleksije na vodovima (mada je neuporedivo lakša kontrola toga nego na SPI zbog niže frekvencije rada).

I2C protokol je takav da posle slanja adresnog bajta, slejv jedinica mora vratiti acknowledge.
Obično se u MCU softverski rešava timeout WDT koji obara MCU u slučaju izostanka komunikacije.

To što tebi (?) padne I2C, a pri tom ne padne MCU, može značiti mnogo stvari:

- komunikacija stvarno padne a biblioteka za i2c je loše napisana i nema nikakav timeout oko vraćanja acknowlwdge, u šta iskreno sumnjam,
- tebi možda ne padne i2c već možda na MCP23017 bude poslata komanda READ, gde on wrati acknowlwdge ali izlazi ne reaguju,
- možda negde grešiš u softveru pa izvršiš reinicijalizaciju MCP23017 u INPUTs pa onda opet radi i2c ali nemaš izlaze,
- i tako još sličnih mogućnosti do sutra...

Dobro napisan lib za i2c treba u slučaju izostanka komunikacije, tj. neispravnog rada slejv jedinice ili da obori (zaglavi)
MCU, ili na kakav drugi način da upozori (nekom LED ili slično) o takvom događaju i da u oba slučaja neizostavno obustavi izvršenje programa.

Arduino biblioteke nisam koristio, ali utisci mnogih korisnika su da to radi na keca. Dakle, verovatno je lib odlično napisana i ima timeout u slučaju pada i2c komunikacije, takođe i blokadu MCU i neku vrstu izveštaja.

Ukoliko i2c padne a ne padne MCU, ili je tvoja sw greška ili biblioteke nisu korektne.

MCP23017 i Atmel MCU u Nano imaju veoma slične nivoe brown-out detekcije tako da bi bilo koja greška iz napajanja oborila i jedan i drugi.

Ko zna koji efekat napraviš smanjenjem ulaznog napona na 12V?
Pitanje da li napajanje ima ikakve veze sa tim efektima koji ti se zbivaju?
Meni je takvih napajanja preko 250 komada u trajnoj upotrebi više od 15 godina i nikad ni jedno jedino nije pravilo probleme (sa PIC i LPC2136).
Ne vidim ni jedan razlog što bi Atmelu ili MCP-u pravilo probleme.
Takođe, u toj gomili mojih kontrolera, gde radi to napajanje, ima i PCF8574 i MCP23017 i MCP23S17 i custom ekspandera Altera PLD i sve radi bez problema i na I2C i na SPI i na SPB.

Razmotri ti malo bolje šta ti se događa.
Storage osciloskop i pogledaj malo redom, od napajanja do komunikacije. Takođe proveri biblioteku za i2c i vidi da ne postoji neki predisponiran pin za kačenje neke LED u vezi upozorenja o timeout err na i2c.

Pozdrav


RE: Nešto oko in-out kod PIC - Makso - 06-08-2018

Napajanje sam isključio iz sumnje, do njega nije ono radi provjereno dobro.

I2C padne kad imam neki teret na kontaktima relea, tj. kada teče struja kroz kontakte relea, imam smetnje od relea, ali samo na I2C, Arduino radi najnormalnije, zna se desiti da se poremeti samo jedan ekspander a drugi da ostane i radi normalno i onda i on prekine sa radom ako sam opteretio relee sa njegovih izlaza...


Ovako izgleda sve:
.


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

(06-08-2018, 05:29 PM)Makso Wrote: I2C padne kad imam neki teret na kontaktima relea, tj. kada teče struja kroz kontakte relea, imam smetnje od relea,

Koliko se ja sećam ti upravljaš sa nekim ventilima odnosno nihovim špulnama sa tim tvojim uredjajem.

To su induktivni tereti, a trebalo bi da znaš šta svaki kalem uradi ako mu se naglo prekine tok struje (tvoj kontakt releja)
i kakve to posledice ostavlja na osetljive elektronske sklopove ...

Moraš imati ili RC član ili TVS diodu na svakoj špulni ventila kojim upravljaš i to direktno vezano na samoj špulni ventila.
Ovako imaš situaciju da prilikom isključenja releja preko provodnika od špulne do releja imaš veliki naponski spajk koji
svašta može da prouzrokuje ...

Sve ovo pišem pod uslovom da sam pogodio šta radiš sa tim sklopom, jer po običaju veoma malo daš podataka ...

Pozz


RE: Nešto oko in-out kod PIC - Macola - 06-08-2018

(06-08-2018, 07:45 PM)Želja Wrote:
(06-08-2018, 05:29 PM)Makso Wrote: I2C padne kad imam neki teret na kontaktima relea, tj. kada teče struja kroz kontakte relea, imam smetnje od relea,

Koliko se ja sećam ti upravljaš sa nekim ventilima odnosno nihovim špulnama sa tim tvojim uredjajem.

To su induktivni tereti, a  trebalo bi da znaš šta svaki kalem uradi ako mu se naglo prekine tok struje (tvoj kontakt releja)
i kakve to posledice ostavlja na osetljive elektronske sklopove ...

Moraš imati ili RC član ili TVS diodu na svakoj špulni ventila kojim upravljaš i to direktno vezano na samoj špulni ventila.
Ovako imaš situaciju da prilikom isključenja releja preko provodnika od špulne do releja imaš veliki naponski spajk koji
svašta može da prouzrokuje ...

Sve ovo pišem pod uslovom da sam pogodio šta radiš sa tim sklopom, jer po običaju veoma malo daš podataka ...

Pozz

@Makso,

Želja ti je sve lepo rekao i podvukao sam najvažnije.


RE: Nešto oko in-out kod PIC - Makso - 06-08-2018

Ja se izvinjavam, gore sam naveo šta ovi relei u mom ormanu odrađuju, ali evo objasniću detaljnije (jer gore nisam detaljno objasnio), ovi relei što su u mom ormanu (gore sa slike) oni aktiviraju druge relee, ti drugi relei su najobičniji relei isti kao auto relei samo su na 24V a oni aktiviraju špulje hidrauličnih ventila, tako da kroz ove moje relee protiče struja špule onih većih relea, iskreno nikad nisam mjerio struju špule tih standardnih relea. U prvobitnom planu sam mislio ubaciti SSR relee umjesto ovih klasičnih, pa sam odustao (a ni sam ne znam zašto).
Tako da ja sa ovim mojim releima upravljam druge relee (oni su po nekih 25-30A).

Znam šta se dešava kada se naglo prekida struja na kontaktu relea, i to mi je jasno, samo se nisam nadao da će mi to praviti problem na 24V i da će ovi jači relei toliko problema praviti.

Koje vrijednosti RC člana bih trebao koristiti, pa da testiram?

Da li je dobro što sam ovako uradio rutovanje veza na PCB-u i sa onim konektorima gdje je I2C komunikacija da znam za ubuduće?


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

RC članovi na špulne releja 24V kojim uključuješ ventile: 100nF/ 63 do 100V + 100R/ 1 do 2W
Pa probaj ali bez samih ventila, pa ćemo videti dalje !

Baš si iskomplikovao stvar .... Relej na relej pa na ventil ...
Nacrtaj blok šemu da vidimo sve mase, sva napajanja, sve blokove ...

Pozz


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

Na špulnama tih releja 24V što otvaraju ventile, pošto su u kolu jednosmerne struje sasvim je dovoljna neka brza dioda od 1A.
Recimo UF4007.

E sad, da sam na tvom mestu ja te releje ne bih pobudjivao tim plavim relejima u tvom upravljanju već nekim NPN tranzistorom. I dalje bih imao diodu paralelno špulni ( UF4007) a vezu prema PLC bih ostvario sa optokaplerom i to je elegantno jednostavno i jeftino rešenje.
A veza izmedju PLC i optokaplera OBAVEZNO na naponskom nivou od 24V sa zenericama na ulazu optokaplera !

Posle bih se pozabavio eventualnim problemom koji može prouzrokovati nagli prekid struje u samoj špulni ventila i TO je TO !

Pozz


RE: Nešto oko in-out kod PIC - Makso - 06-08-2018

Ja sam onda pogrešno shvatio, mislio sam da trebam ubaciti RC članove na ove plave relee, jer na tom ormanu gdje su ti jači relei od ventila je gužva da se ubiješ.?
Ja sam sad testirao kod kuće i samo zakačio običnu halogenu sijalcu na ovaj plavi rele i otkrio do čega je problem, da li bi pomoglo da se u moj orman ubace RC članovi a da ne diram onaj drugi ili da izbqcim ove svoje relee i da sklopim novu PCB sa tranzistorima za upravljanje drugih relea kao što si napisao?


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

Makso,
Sve je lepo napisano.
Problem se rešava tamo gde nastaje. treba ukloniti UZROK a ne "peglati posledice".

Varničenje na samim kontaktima releja je sasvim nešto drugo, i to se rešava RC članom paralelno
kontaktima releja. Pisano je o tome dosta u temi : http://forum.yu3ma.net/showthread.php?tid=1684
koju bi trebao ne samo da pročitraš nego da detaljno prostudiraš !

Taj ormar sa "gužvom" nije projektovan da u blizini radi Arduino sa i2c komunikacijom i to moraš da shvatiš.
Najmanje što možeš a da ne menjaš to rešenje je da ubaciš na špulne neku komponentu preko koje će se isprazniti
nagomilana energija u kalemu i pronadješ tebi najprihvatljivije rešenje za pobudu tih releja.

Pozz


RE: Nešto oko in-out kod PIC - Macola - 06-08-2018

Kad nema ničeg na špulnama i releja i ventila, na njima se hladno razvije prenapon od par kilovolti.
Ta pojava se širi kroz prostor, radio talasom, a i ostalim metodama prenosa, kako kapacitativno tako i induktivnim prenosom.

Sve dok ne blokiraš sve induktivitete, koje isključuješ i uključuješ, ne nadaj se dobrom radu sprave.

Za sve DC špulne, od releja i od ventila, kao što ti Želja reče, dovoljno je staviti kontra diodu u rangu tipične struje te špulne i napona te špulne.
Van toga ti nikakav RC ne treba.

Diode treba staviti što bliže samom prekidačkom elementu jer tako obuhvataš i provodnike do tog prekidača.
Kod AC kontaktora je povoljnije staviti na sam kontaktor zbog lakše fizičke izvedbe, mada se i tamo teži izvođenju na samom prekidačkom elementu da bi se obuhvatila i induktivnost dugačkih veza (kad nije nepraktično za vezivanje to je bolja opcija).

Sad kad više ne radiš na radioničkom stolu, već u realnom i vrlo bučnom okruženju, sledi ti borba sa varničnim i sličnim nuspojavama i moraćeš polako da proučiš što više metoda oko toga.

Na početku ove teme sam vrlo pažljivo i sažeto opisao, kod na primer onih ponuđenih mosfet izlaza, svaki detaljić i zbog čega je tako.
Vrati se na taj post jer ti mosfet izlazi glatko preklapaju 5A bez hladnjaka na mosfetu, što bez problema pokreće većinu špulni hidrauličnih ventila na 24VDC, jer one su tipično od 1.2 kod onih manjih pa do 4.5A one najveće (No 10 i veće).

Ne trebaju ti njikakvi dvostruki releji ukoliko špulne ventila rade na 24VDC.

Optokapler, mosfet, klamp dioda i pravo na ventil. Pogledaj prve postove.

Inače ne vidim neku posbnu zamerku za pcb. Lepo izgleda ovako na prvi pogled.

Pozz


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

(06-08-2018, 09:25 PM)Macola Wrote: Ne trebaju ti njikakvi dvostruki releji ukoliko špulne ventila rade na 24VDC.
Optokapler, mosfet, klamp dioda i pravo na ventil. Pogledaj prve postove.

To je najelegantnije i najbolje rešenje koje će Makso odbiti koliko ga ja poznajem
upravo iz razloga što ne bi hteo da dira taj "ormar sa gužvom" već da se samo prikači na njega ...


RE: Nešto oko in-out kod PIC - mikikg - 06-08-2018

Ja sam sa TLP250 i IRFZ44N pokretao pneumatske ventile i to sam napravio tako da sam simulirao kotur zice i ventil kao potrosac i namestio sa Rg slope da nema ni over ni under shot, ne treba mi ni RC ; )
To je moram priznati jedna od lepsih cakica jer sam sveo SWR na 1:1 da se tako izrazim, pobudio sam ventil (i iskljucio) sa najoptimalnijom strminom koja je samo dodatno malkice malkice povecala discipaciju na tranzistoru ali to je zanemarljivo za povoljnosti koje se dobiju, dakle stari dobri transmistion line pa ajd malo da prilagodimo impedansu a to mogu u ovom slucaju prosto uraditi sa izmenom seriskog otpornika ka Gejtu.
Ako je vec takva situacija da je potrosac vec induktivan onda mora da se nadje tacka gde je njegova impadansa j+/-0 (mora da je ima!) i onda se gadja ta frekvencija tj brzina porasta signala i to je onda skoro pa idealna pobuda potrosaca sa kao sto spomenuh malo povecanom discipacijom koja je u relaciji sa duty-cycle pa se mora naci i neki kompromis zavisno od zahteva.


RE: Nešto oko in-out kod PIC - Makso - 06-08-2018

@Želja
Znaš kako, ja neću uvijek imati pristup tom ormanu što je van kabine, jer ovaj moj orman se ubacuje u kabinu i veže se kablom na vanjski orman u kojem je sva kompletna automatika, a po želji na taj vanjski orman ili u slučaju kvara daljinskog upravljanja na taj isti konektor gdje je priuključen ovaj orman od daljinskog upravljanja iz kabine, taj konektor se samo isključi i priključi se drugi konektor od džojstika koji ide preko kabla tj. direktno bez ikakve elektronike, jer ako ja nekom uradim gotov uređaj kao sad ovaj ali još bolje urađen (jer ovaj ima dosta propusta) njegovo je samo da kablom poveže sa vanjskim konektorom sa tačnim rasporedom pinova na konektoru i gotova stvar, a ništa se ne dira u tom vanjskom ormanu, zato se ni meni ne pipa tamo, pretpostavljam da si vidjeo kako to radi HBC Radiomatic ili kinezi, imam jedan unutrašnji orman od HBC-a pa ću uslikati kako to izgleda. Nadam se da me razumiješ šta hoću reći.? Na taj vanjski orman, kako si već rekao ja i trebam samo da se nadovežem na njega, a na taj vanjski orman ja gledam kao da je blindiran i meni nedostupan.
Zato sam pitao šta bi se moglo prepraviti u mom ormanu sad trenutno kakav jest, najbezbolnije rešenje, ili izbaciti relee a zamjeniti sa mosfet upravljanjem?


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

Stavi optokapler + mosfet + klamp diodu kod tebe u upravljanje.
(mogao bi čak da staviš redno sa Rgate neki trimer pa da probaš naštelovati slope kako te je Mikikg savetovao)
i onda taj ormar kako sam i pretpostavljao nećeš ni dirati, - i to ti je što ti je ...
A u svakom slučaju mnogo bolje nego ovako kako si uradioi.

Pozz


RE: Nešto oko in-out kod PIC - Želja - 06-08-2018

I povedi računa o napajanjima.
- Arduino napajaš sa Macolinim puš-pulom (galvanski odvojeno od ostatka)
- Drajvere ( optokapler + mosfet ) napajaš drugim IZOLOVANIM napajanjem
- treće napajanje su akumulatori ( pretpostavljam ...) koji napajaju ventile koji ti ne diraš
i to napajanje je galvanski odvojeno od prethodna dva !

Znači, imaćeš TRI ODVOJENE mase !


RE: Nešto oko in-out kod PIC - me[R]a - 06-09-2018

(06-08-2018, 10:52 PM)Želja Wrote: I povedi računa o napajanjima.
- Arduino napajaš sa Macolinim puš-pulom (galvanski odvojeno od ostatka)
- Drajvere ( optokapler + mosfet ) napajaš drugim IZOLOVANIM napajanjem
- treće napajanje su akumulatori ( pretpostavljam ...) koji napajaju ventile koji ti ne diraš
i to napajanje je galvanski odvojeno od prethodna dva !

Znači,  imaćeš TRI ODVOJENE mase !

Koliko ja vidim sa ove slike mislim da je arduino spojen na Macolin push-pull a MCP napaja sa drugim napajanjem. Trebao bi i taj MCP spojiti na isto napajanje kao i arduino jer ovako imas na arduinu galvanski odvojenu masu od DC 24V a na ovom MCP imas masu dirktno na masu DC 24V i moguci su problemi kod I2C prenosa. E sad dali ima dodatnih mA kod Macolinog napajanja jer vidim da si i taj WiFi HC modul spojio na Vcc od Arduina. Ovaj MCP po jednom pinu isporucuje max 25mA a ima 16 pinova znaci ako bi bili svi ON trebalo bi ti min oka 300mA sto vec samo po sebi je max za "Macolu".
Druga stvar ne znam cemu ti sluze ovi optokapleri i to njih 16 oko MCP-a kad te iste imas vec na onim relejnim modulima. Jedino sto mogu da posluze ako predjes na MOSFET za pokretanje kalema ventila.