Pozdrav,
Radio sam jedan program u C-u za PIC16F877A koji upravlja sa dva DC motra (5-10A). Na PIC je konektovan i 7-segmentni displej. Nakon nekog vremena u radu desi se da mi nestane prikaz na displeju to se ne dešava uvek, nekad se i nešto drugo desi tipa samo se prikaže jedna cifra ili neki deo 7-segmentnog displeja, dok program radi dalje. Ispada kao da program delimično radi, a delimično ne.
Posle resetovanja sve radi ponovo kao da nije bilo problema. Štampana pločica je blizu trafo-a nije baš mnogo ali su u istoj kutiji, napajanja za motore i PIC su razdovjena optokaplerima. Takođe ima nekoliko žice koje povezuju glavnu štampanu pločicu sa dodatnom, na kojoj je klema za motore.
Da li može da se desi da PIC sam od sebe na neki način počne pogrešno da radi, a da nije do programa, jer sumnjam da sam nešto pogrešno isprogramirao. Primera radi imam while petlju u kojoj se pokrecu motori na osnovu nekog uslova i posle toga se prikazuje informacija na 7-seg displeju i to se uvek dešava ne postoji uslov da se prestane sa prikazivanjem.
Takođe koristim i globalni interrupt na RB0 i nekad se desi koliko sam ja primetio da udje u meni tako što se aktivira interrupt sam od sebe, što mi je takođe bilo mnogo čudno.
Da li ima neko ideju šta bi moglo da bude uzrok ovog problema?
Srdačan pozdrav!
Čudno ponašanje PIC-a 16F877A ?
Moderators: pedja089, stojke369, [eDo], trax
Re: Čudno ponašanje PIC-a 16F877A ?
Jako je bitno kako su vezani ti displeji da bi se moglo reci sta se desava. Isto tako moze da se desi RMW pizdarija, pa da zato displeji ne rade korektno. Ali da je to, onda bi isto tako proradili sami od sebe(najverovatnije)...
Pre ce biti da neko smece od induktivnog potrosaca uradi nesto necemo cime pokreces displej.
Pre ce biti da neko smece od induktivnog potrosaca uradi nesto necemo cime pokreces displej.
Re: Čudno ponašanje PIC-a 16F877A ?
Port D je od RD0 na A do RD6 na G vezan na 7-seg direktno.
RE0 - brojka 1, RE1 - brojka 2, RE2 - brojka 3.
Čitao sam ovo vezano za elektromagnetne smetnje. Jer je PIC MCU blizu transformatora i releja koji se stalno koriste.
http://en.wikipedia.org/wiki/Electromag ... terference
Da li mogu elektromatgnetne smetnje da nekako izmene program privremeno pa da delimično radi a delimično ne. Jer čim resetujem PIC sve radi normalno.
Hvala unapred!
RE0 - brojka 1, RE1 - brojka 2, RE2 - brojka 3.
Čitao sam ovo vezano za elektromagnetne smetnje. Jer je PIC MCU blizu transformatora i releja koji se stalno koriste.
http://en.wikipedia.org/wiki/Electromag ... terference
Da li mogu elektromatgnetne smetnje da nekako izmene program privremeno pa da delimično radi a delimično ne. Jer čim resetujem PIC sve radi normalno.
Hvala unapred!
Re: Čudno ponašanje PIC-a 16F877A ?
Neće mu izmjeniti program, ali mu mogu na ulaz(e) dovesti nekakvo smeće s kojima PIC ne zna što bi i kako bi pa se to odražava i na izlaze. Drugim riječima, pozabavi se poboljšanjem zaštite od smetnji.
Lijenost je iz raja izašla.
Re: Čudno ponašanje PIC-a 16F877A ?
EM smetnje mogu utjecat na rad kontrolera, i to obično na RAM. Ako npr. imaš neku varijablu koju definiraš na početku programa, a kasnije je ne ažuriraš, ili ju samo povećavaš i smanjuješ, postoji mogućnost da EM impuls promijeni njenu vrijednost pa izađe iz granica rada, npr. nešto definiraš kao max. 5, a u tijeku rada EM impuls promijeni tu lokaciju na npr.255, program ne zna što bi s tim, pa dolazi do čudesa u radu, prelijevanja stack-a i tko zna čega još. Dakle mrežni filter na napajanju, kondenzatori za blokadu Vcc, svi ulazi barem RC, a izlazi opto (vidim da ih koristiš) ili releji. Ako koristiš H - bridge, napajanje motora izvedi s posebnog ispravljača i stavi prigušnice u izlaze prema motoru, kao i kondenzatore za blokadi i ne zaboravi diode i varistore. Masu veži u jednu točku i ne vodi energetsku preko ploče kontrolera. Eto toliko mi pada sad na pamet.
Cezare, star sam i nemoćan, ali poslušaj moj savjet ....