[ rsinisa @ 11.04.2010. 21:20 ] @
Imam problem sa mojim PIC panelom za koji ne mogu da ustanovim šta je, a izgleda da nije daleko od zone sumraka.
Napravio sam PIC panel sa 4 displeja kod koga koristim kond. za dekuplažu i samo jedan PULL-UP otpornik na RA4 u kome je PIC sa programom i na koji su zalemljene žice od par cm za napajanje. Napajam ga iz stabilisanog ispravljača u čije buksne su ubodena 2 kablića, a pošto su kratka, na njih sam priključio još 2 sa krokodilkama (ne znam da li je ovo bitno, ali ajde da napišem). I sada dolazimo do čuda.
Kada isključim napajanje otkačinjanjem krokodilke sa žice koja je na PIC panelu i ponovo je priključim, PIC radi kako treba - 100 puta isključim i uključim, 100 puta radi. Kada isključim ispravljač (prekidač prekida dovod 220V) i ponovo ga uključim bez obzira da li sam čekao da se ELKO isprazni ili ne, PIC radi kako treba. A kada izvučem buksnu iz ispravljača i ponovo je vratim, PIC neće da radi !!! Čak i kada sačekam neko vreme i ponovo ga priključim, i dalje neće da radi. Proradi jedino kada izvučem PIC iz podnožja i vratim ga nazad! 100 puta izvučem buksnu i 100 puta je vratim i neće ni jednom da proradi!!!
Probao sam 4 različita PIC-a (16F627, 628, 88 i 819) sa 3 različita programa i primetio sam da to uopšte ne utiče na ponašanje, čak nije bitno ni da li je BOR uključen ili ne! Takodje nije bitno da li prekidam plus ili masu.
Ima li iko ideju šta je uzrok? Ne živim na ivici bermudskog trougla niti ispod imam podzemne vode tako da sam to eliminisao kao mogući uzrok. Ali i pored sveg eksperimentisanja ne mogu da shvatim ŠTA je uzrok?

Pozdrav.
Sinisha

P.S. Shemu možete da vidite na
http://sinel.freehostia.com/picpanel/index.html
[ macedo @ 11.04.2010. 22:12 ] @
Jesi li probao sa power on reset
[ Sepa011 @ 11.04.2010. 23:15 ] @
A da turis jedno "PAUSE 50" pre nego sto pocne da ti se izvrsava program?
[ rsinisa @ 11.04.2010. 23:15 ] @
@ macedo
Koristim interno reset kolo.
Ono što mene čudi je da se ne ponaša isto prekidanjem napajanja na 2 različita kraja kabla, ukupne dužine oko 50 cm. Uzrok me za sada zanima, a rešenje ćemo lako da nadjemo.

@ Sepa011
Probaću, mada mi ne deluje da bi moglo da pomogne.

Pozdrav.
Sinisha
[ bogdan.kecman @ 11.04.2010. 23:19 ] @
cek nesto nisi objasnio kako treba ...

rekao si da si vezao:

220V --STEKER-- ISPRAVLJAC + ---BUKSNA-----SPOJ----KROKODIL CRVENI -> VCC
220V --STEKER-- ISPRAVLJAC - ---BUKSNA-----SPOJ----KROKODIL CRNI -> VSS

i kazes ako prekines na STEKER ili na KROKODIL, sve je ok a ako prekines na BUKSNA ne radi ?! nema smisla

inace, sto kaze macedo, power on reset, brown out reset ... moze da bude mada, bice na nesto nisi objasnio kako treba ..

sumnjivo je to "vadjenje pica iz podnozja" - kako ti je vezan mclr ? samo 10K do VCC ili si spustio i 10n na VSS?

da li kada se "zadangira" ako spojis MCLR na VSS i vratis ga na high sve proradi ili to nisi probao ?

koliki ti je decoupling cond? zbog velikog esr-a ja volim da stavim nekad i po 3 komada (10n + 100n + 1u) posto tako dobijem mnogo mali esr a dobar decoupling kapacitet

koliko imas ukupno kapacitivnosti izmedju vcc i vss?

[ rsinisa @ 12.04.2010. 00:12 ] @
Da, upravo tako, ako prekinem na ŠTEKER ili KROKODIL i ponovo spojim, sve radi, a kada prekinem na BUKSNA i vratim, ne radi. Znam da nema smisla, ali eto, ko ne veruje neka dodje kod mene. Nemam kameru da to snimim, ali možda i pozajmim kako bi ostao neki trag o tom, najblaže rečeno, čudnom ponašanju.
Rešenje me trenutno ne zanima, zanima me uzrok.
MCLR je spojen na interno reset kolo, znači da radi kao I/O pin. Spajanje MCLR i VSS nisam probao, kao ni još neke stvari, danas nisam ništa stigao da probam zbog drugih obaveza. Dekuplažni kond je SMD 100 nF u 0603 kućištu, a to je i jedini kapacitet ne računajući ELKO u ispravljaču.

Pozdrav.
Sinisha
[ VRadule @ 12.04.2010. 08:21 ] @
Citat:
rsinisa: @ macedo
Koristim interno reset kolo.
Ono što mene čudi je da se ne ponaša isto prekidanjem napajanja na 2 različita kraja kabla, ukupne dužine oko 50 cm. Uzrok me za sada zanima, a rešenje ćemo lako da nadjemo.

@ Sepa011
Probaću, mada mi ne deluje da bi moglo da pomogne.

Pozdrav.
Sinisha


Razlika u dva slučaja prekidanja na 2 različita kraja žice je u induktivnosti žice.

U bag slučaju, u trenutku prekidanja, Vcc pica vidi malo veću induktivnost i kondenzator, a u drugom slučaju kondenzator i mnogo manju induktivnost.

Prelazne pojave na basu 5V sigurno nisu iste u ta 2 slučaja.

Za rešenje, kako si sam rekao, ćeš se već snaći :)
[ VRadule @ 12.04.2010. 08:30 ] @
Obrati pažnju na registre koji posle POR-a imaju unknown stanje, naravno uključujući i RAM lokacije koje koristiš u programu.
[ Stojan Trifunovic @ 12.04.2010. 10:16 ] @
Jedina razlika koja mi pada na pamet jeste da su krokodil stipaljke
izolovane, a buksne neizolovane (od direktnog dodira prstima), pa da
deo napajanja ukoliko je sasija stabilisanog ispravljaca na masi ipak,
kroz telo prolazi do PIC-a.

Druga stvar mogla bi biti povecana parazitna kapacitivnost
kondenzatora oscilatora zbog blizine ruke (prilikom spajanja
stipaljkama) usled cega se on lakse startuje.

Pretpostavljam da je problem u startu oscilatora.
[ bogdan.kecman @ 12.04.2010. 16:16 ] @
Citat:
rsinisa
Da, upravo tako, ako prekinem na ŠTEKER ili KROKODIL i ponovo spojim, sve radi, a kada prekinem na BUKSNA i vratim, ne radi.


Citat:

Dekuplažni kond je SMD 100 nF u 0603 kućištu, a to je i jedini kapacitet ne računajući ELKO u ispravljaču.


ja licno mislim da ti fali bar jos jedan 100uF na ulazu plocice na vcc/vss. 100nF nikako nije dovoljno, posebno ako koristis interni oscilator ... duzina zica za napajanje ti radi kao ANTENA i zato interni oscilator upadne u "zadangirano" stanje a posto ti je mclr konfigurisan kao io pin ne mozes nikako da ga resetujes... tako da kada skines krokodil, posto je kratka zica, "antena" ne uvati nista i ne zadangira uC, kada izvadis iz stekera onda ti elco kd 470-1000uF koji se nalazi verovatno u trafou to ispegla, dok ako skines na buksni nemas vise elco u mrezi a zica je dovoljno duga da "uvati radio beograd" i da ti zadangira uC interni oscilator...

stavis 100-1000uF na plocicu i probas, ako resi problem - eto ti ga objasnjenje "zasto" :)
[ rsinisa @ 12.04.2010. 23:02 ] @
Našao sam još jedno rešenje sem vadjenja PICa iz podnožja - kratkospajanje plus i minus izvoda na PIC panelu, naravno, kada je napon isključen; tada PIC ponovo startuje. A pronašao sam i uzrok! Iako i dalje ne razumem ZAŠTO se to dešava.
Elem, pre par dana sam radi nekih testova povezao paralelno otpornik od 22K izmedju tačaka SPOJ i SPOJ, što znači da kada odspojim na mestu BUKSNA, otpornik ostaje priključen paralelno PIC panelu. Probao sam sve moguće varijante, i sa internim i sa eksternim MCLR-om, sa i bez BOR-a, sa i bez PWRT-a, sa i bez dodatnog ELKA i šta sve ne, ali kada je tu taj paralelni otpornik, PIC neće da radi. A zašto je to tako, ja zaista ne razumem.
Stvar je u tome što verovatno na mestu upotrebe PIC panela neće biti tog paralelnog otpornika, ali bih voleo da znam zašto se to dešava. Probao sam upravo i sa 2K2 i isto se dešava. Odustajem od daljeg testiranja, odoh da spavam ...
Ako neko ima pri ruci neki uredjaj sa PIC-em bio bih zahvalan ako bi testirao što približniju situaciju.

Pozdrav.
Sinisha
[ bogdan.kecman @ 13.04.2010. 21:53 ] @
nisam uspeo da ponovim tvoj rezultat ali mislim da je fora sa internim oscilatorom koji nastavi da osciluje ... to prekines tako sto kratko spojis vcc i vss .. no - nisam siguran dodatno sto je 22K prilicno veliki otpor, nije nelogicno da imas 22K izmedju vcc i vss u kolu ... ko sto rekoh, probao sad na brzaka sa 887 nasetovanim da radi na internom osc-u i 22K na ulazu (ni 2k2) nije napravilo nikakvu razliku
[ rsinisa @ 13.04.2010. 23:00 ] @
Važi, hvala ti na pokušaju, razmišljam može li dizajn PCB-a PIC panela da ima ikakve veze - malo verovatno, ali nikad se ne zna; kada se dešavaju ovakve stvari svašta čoveku pada napamet. Eto kako nastaje praznoverje :).

Pozdrav.
Sinisha

P.S. Sad se setih da sam sa odspojenim jednim kablićem merio oko 0,5 V na PIC-u na Vcc i Vss. Ima tu nešto ...
[ bogdan.kecman @ 14.04.2010. 00:59 ] @
kazem ti ja, antena i interni oscilator :D