pic12f629 i uzemljenje problem?!
Moderators: pedja089, stojke369, [eDo], trax
pic12f629 i uzemljenje problem?!
Zdravo svima,
imam jedan jako cudan problem pa reko da pitam da li mi ovde neko moze pomoci.Napravio sam jedan jednostavan projekat i kada isprogramiram pic i pustim u rad primetio sam da uredjaj nece da radi sve dok ne uhvatim rukom minus.Sve to radim na proto ploci i koristim interni oscilator. Pretpostavljam da je u pitanju uzemljenje ali mi nije jasno zasto i kako da resim ovo?! Za svaki slucaj saljem i kod.Kao sto se vidi uredjaj treba da pali i gasi naizmenicno dve diode.
cblock 0x20
HIcnt
LOcnt
LOOPcnt
endc
#define in .5
#define out .1
#define ctrl .4
#define switch .0
;***** VARIABLE DEFINITIONS
w_temp EQU 0x20 ; variable used for context saving
status_temp EQU 0x21 ; variable used for context saving
;**********************************************************************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
include "pausems.inc"
ORG 0x004 ; interrupt vector location
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register
; isr code can go here or be located as a call subroutine elsewhere
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
retfie ; return from interrupt
; these first 4 instructions are not required if the internal oscillator is not used
main
bsf status,rp0
; movlw b'10000110'
; movwf option_reg
movlw 0x07
movwf cmcon
call 0x3FF ; retrieve factory calibration value
bsf STATUS,RP0 ; set file register bank to 1
movwf OSCCAL ; update register with factory cal value
bcf STATUS,RP0 ; set file register bank to 0
; remaining code goes here
bsf status,rp0
movlw b'11101101'
movwf trisio
loop
bcf status,rp0
movlw b'00000000'
movwf gpio
pausems .100
movlw b'00010010'
movwf gpio
pausems .100
goto loop
; initialize eeprom locations
; ORG 0x2100
; DE 0x00, 0x01, 0x02, 0x03
END ; directive 'end of program'
imam jedan jako cudan problem pa reko da pitam da li mi ovde neko moze pomoci.Napravio sam jedan jednostavan projekat i kada isprogramiram pic i pustim u rad primetio sam da uredjaj nece da radi sve dok ne uhvatim rukom minus.Sve to radim na proto ploci i koristim interni oscilator. Pretpostavljam da je u pitanju uzemljenje ali mi nije jasno zasto i kako da resim ovo?! Za svaki slucaj saljem i kod.Kao sto se vidi uredjaj treba da pali i gasi naizmenicno dve diode.
cblock 0x20
HIcnt
LOcnt
LOOPcnt
endc
#define in .5
#define out .1
#define ctrl .4
#define switch .0
;***** VARIABLE DEFINITIONS
w_temp EQU 0x20 ; variable used for context saving
status_temp EQU 0x21 ; variable used for context saving
;**********************************************************************
ORG 0x000 ; processor reset vector
goto main ; go to beginning of program
include "pausems.inc"
ORG 0x004 ; interrupt vector location
movwf w_temp ; save off current W register contents
movf STATUS,w ; move status register into W register
movwf status_temp ; save off contents of STATUS register
; isr code can go here or be located as a call subroutine elsewhere
movf status_temp,w ; retrieve copy of STATUS register
movwf STATUS ; restore pre-isr STATUS register contents
swapf w_temp,f
swapf w_temp,w ; restore pre-isr W register contents
retfie ; return from interrupt
; these first 4 instructions are not required if the internal oscillator is not used
main
bsf status,rp0
; movlw b'10000110'
; movwf option_reg
movlw 0x07
movwf cmcon
call 0x3FF ; retrieve factory calibration value
bsf STATUS,RP0 ; set file register bank to 1
movwf OSCCAL ; update register with factory cal value
bcf STATUS,RP0 ; set file register bank to 0
; remaining code goes here
bsf status,rp0
movlw b'11101101'
movwf trisio
loop
bcf status,rp0
movlw b'00000000'
movwf gpio
pausems .100
movlw b'00010010'
movwf gpio
pausems .100
goto loop
; initialize eeprom locations
; ORG 0x2100
; DE 0x00, 0x01, 0x02, 0x03
END ; directive 'end of program'
Re: pic12f629 i uzemljenje problem?!
Najverovatnije je lose filtrirano napajanje,stavi obavezno elektrolit od 10-100uF,i 100nF sto blize nozicama kontrolera.
Re: pic12f629 i uzemljenje problem?!
Verovatno si u pravu ali za napajanje koristim lab.ispravljac svoje izrade za koji mislim da bi trebalo da ima dovoljnu filtraciju. Svejedno dodao sam kondenzator od 100nF i elektrolit od 47uF paralelno sa nozicama 1 i 8 ali je problem ostao.
Re: pic12f629 i uzemljenje problem?!
Stavi kond od 0,1uF sto blize VDD i VSS kontroleru te reset pin spoji preko 10k na VDD, Mozda je i uradjeno ali ne vidim hemu tako da ne znam sta si radio.
Re: pic12f629 i uzemljenje problem?!
Hvala Niho, resio sam problem.Cela filozofija je bila u tom otporniku! Ne mogu da verujem... Moje pitanje sada je sta se desava kada mi je potreban reset pin?! Zar taj pin uvek mora da se povezuje sa otpornikom?!
Re: pic12f629 i uzemljenje problem?!
AkKo koristis taj pin kao reset onda treba, najgora moguca varijanta je da ga ostavis "da pliva". Nije davno bilo kad je i mene bolila glava od tih pocetnickih fazona ( hehe nisam bas daleko dogurao ali eto bar sam takve stvari "sazvakao"). Ako taj pin budes koristio kao U/I pin onda naravno da ne treba nikakav otpornik.
Re: pic12f629 i uzemljenje problem?!
Ajd da se prikrpam jer mislim da imam slicni problem. Shema je ovakva samo sto na svakom emiteru imam ledicu.
Na bazu gornjeg tranzistora preko tastera saljem +12V a tranzistor zatim posalje +5V na ulazni pin PIC-a.
Zatim izlazni pin PIC-a daje +5V koji ide na bazu donjeg tranzistora koji pali ledicu.
I to funkcionira. Zatim malo dupliciram shemu pa imam 2 ulazna pina i 3 izlazna (spojeno kao u shemi) pa nastanu problemi. Kad rukom predjem iznad ove 3 ledice na izlaznim pinovima PIC-a one se upale i ostanu upaljene sve dok rukom ne uhvatim minus. (ako odspojim bazu sa donjeg tranzistora ledica i dalje svjetli).
Jeli to do vec spomenutog filtriranja, tranzistora ili neceg treceg? Napominjem da se tek pocinjem igrati sa strujom i mikrochipovima pa mi podosta stvari nije jasno...
Napajanje je preko AC-DC ispravljaca na +15V. Tih 15V ide na L7805. Elektrolit 2200uF je u paraleli na Vin i GND a keramicki kond od 0,1uF je u paraleli izmedju Vout i GND. Takodjer je 0,1uF na PIC-u izmedju VSS i VDD, a upravo sam stavio 10k izmedju MCLR i VDD ali nije pomoglo.
Na bazu gornjeg tranzistora preko tastera saljem +12V a tranzistor zatim posalje +5V na ulazni pin PIC-a.
Zatim izlazni pin PIC-a daje +5V koji ide na bazu donjeg tranzistora koji pali ledicu.
I to funkcionira. Zatim malo dupliciram shemu pa imam 2 ulazna pina i 3 izlazna (spojeno kao u shemi) pa nastanu problemi. Kad rukom predjem iznad ove 3 ledice na izlaznim pinovima PIC-a one se upale i ostanu upaljene sve dok rukom ne uhvatim minus. (ako odspojim bazu sa donjeg tranzistora ledica i dalje svjetli).
Jeli to do vec spomenutog filtriranja, tranzistora ili neceg treceg? Napominjem da se tek pocinjem igrati sa strujom i mikrochipovima pa mi podosta stvari nije jasno...
Napajanje je preko AC-DC ispravljaca na +15V. Tih 15V ide na L7805. Elektrolit 2200uF je u paraleli na Vin i GND a keramicki kond od 0,1uF je u paraleli izmedju Vout i GND. Takodjer je 0,1uF na PIC-u izmedju VSS i VDD, a upravo sam stavio 10k izmedju MCLR i VDD ali nije pomoglo.
Re: pic12f629 i uzemljenje problem?!
Msm da grijesis u ulaznom dijelu, Bez obzira sto si "napojio" tranzistor sa 5V na kolektoru, napon baze ti je 12V. Ja to ne bih tako radio, radije bih uzeo PNP tranzistor i njime kontrolisao ulaz PIC-a. Spoji paralelno sa ulaznim pinom otpornik od 5 do 10k. Na taj pin neka ide kolektor a na bazu ovako kako si spojio ali i tu dodaj jedan otpornik prema emiteru iste vrijednosti kao i ovaj sto si stavio na bazi ili jos bolje izracunaj da bude 5/6 njegove vrijednosti kako bi ti nabazi ostalo 5V sa "logickom jedinicom", e sad malo ce se i logika promijeniti pa ocekuj male promjene u programu. Ja ne bih ostavljao emiter "da visi u zraku NIKAD"
Re: pic12f629 i uzemljenje problem?!
Ako sam te dobro shvatio, trebao bi ovako spojiti ali mi nije jasno "Spoji paralelno sa ulaznim pinom otpornik od 5 do 10k" pa sam skicirao dvije sheme. Dal mi je to pull-down otpornik kako bi mi se pojavila logicka 0?
Postoji li razlog zasto bas PNP a ne NPN? Jel to zbog +12V na bazi ili da emiter ne ostane u zraku...
Unaprijed se zahvaljujem na tvojim zivcima jer sam 2h googlao da bi skuzio da je PNP "upaljen" kada je na bazi 0V.
P.S.
Imao sam jos jednu shemu ali mislim da ni ta nece raditi. Ideja je da bude logicka 1 na ulaznom pinu PIC-a kada je na bazi tranzistora 0V, odnosno logicka 0 kada je na bazi +12V.
http://tinypic.com/r/vluw/5
P.P.S.
Primjetio sam jednu greskicu na mojoj shemi u proslom postu, neznam kakvog to utjecaja ima. Ovaj drugi tranzistor (poslije izlaznog pina) na kolektoru ima 12V a ne 5V.
Ono sto ustvari pokusavam nauciti je kako signal od +12V (iz auta) pretvoriti u +5V (treba mi za PIC) i obratno.
Postoji li razlog zasto bas PNP a ne NPN? Jel to zbog +12V na bazi ili da emiter ne ostane u zraku...
Unaprijed se zahvaljujem na tvojim zivcima jer sam 2h googlao da bi skuzio da je PNP "upaljen" kada je na bazi 0V.
P.S.
Imao sam jos jednu shemu ali mislim da ni ta nece raditi. Ideja je da bude logicka 1 na ulaznom pinu PIC-a kada je na bazi tranzistora 0V, odnosno logicka 0 kada je na bazi +12V.
http://tinypic.com/r/vluw/5
P.P.S.
Primjetio sam jednu greskicu na mojoj shemi u proslom postu, neznam kakvog to utjecaja ima. Ovaj drugi tranzistor (poslije izlaznog pina) na kolektoru ima 12V a ne 5V.
Ono sto ustvari pokusavam nauciti je kako signal od +12V (iz auta) pretvoriti u +5V (treba mi za PIC) i obratno.
Re: pic12f629 i uzemljenje problem?!
Ova shema koju si dao u P.S. bi mogla proci ali je to tzv. invertovanje kad je na ulazu tranzistora logicka jedinica imaces 0 na izlazu tako da bi morao napraviti izmjenu u programu, ako ti je problem ta "promjena napona najbolje ti je da uportijebis optokapler pa radi sta ti volja a dobices jos jednu jako dobru stvar a to je galvansko odvajanje PIC-a od ostatka "elektronike".
Re: pic12f629 i uzemljenje problem?!
Ta shema u P.S. je bila prva shema koju sam isprobao i sa njom sam imao problema. Predjem rukom iznad ledica one se upale i ostanu upaljene sve dok ih ne uzemljim sa rukom ili sl. Isprobat cu je ponovo ovih dana, mozda sam nesto krivo spojio a mozda je do breadbord-a.
Napraviti izmjene u programu nije ni najmanji problem. Sta se tice toga, tu znam sta i zasto radim. Problem mi predstavlja dio sa strujom.
Budem malo googlao te optokaplere pa krenut isprobavati dok ne uspijem.
Hvala jos jednom.
Napraviti izmjene u programu nije ni najmanji problem. Sta se tice toga, tu znam sta i zasto radim. Problem mi predstavlja dio sa strujom.
Budem malo googlao te optokaplere pa krenut isprobavati dok ne uspijem.
Hvala jos jednom.
Re: pic12f629 i uzemljenje problem?!
Ne zaboravi pulap otpornik od 10k na reset pin!!
Re: pic12f629 i uzemljenje problem?!
Malo se oduzilo al bolje ikad nego nikad. Isprobana ova druga shema za spajanje optocouplera. Fala Niho, radi sve kak spada
Sad slijedi moje standardno pitanjce o vrijednostima otpornika, u ovom slucaju R2 i R4
Za R4 sam stavio 4.7K pa sam izracunao sam izracunao da je forward current I= (12-1,3) / 4700 = 0.2mA.
Jeli problem ako ja sve to pojednostavim pa za R4 i R2 koristim iste vrijednosti. 4.7K ako je +12V, odnosno 2K ako je +5V?
Analogno tome, u prvoj shemi R1 = 2xR3, a R3 mi je 4.7K odnosno 2K, ovisi dal je +12V ili +5V.
Sad slijedi moje standardno pitanjce o vrijednostima otpornika, u ovom slucaju R2 i R4
Za R4 sam stavio 4.7K pa sam izracunao sam izracunao da je forward current I= (12-1,3) / 4700 = 0.2mA.
Jeli problem ako ja sve to pojednostavim pa za R4 i R2 koristim iste vrijednosti. 4.7K ako je +12V, odnosno 2K ako je +5V?
Analogno tome, u prvoj shemi R1 = 2xR3, a R3 mi je 4.7K odnosno 2K, ovisi dal je +12V ili +5V.
Re: pic12f629 i uzemljenje problem?!
Drago mi je da si uspio, to je najbitnije. Sto se tice tvog pitanja, naravno da moze, nemoj pretjerati sa strujom neka je ispod 20mA sve ce ici, ako je bas toliko slaba da ga ne aktivira o to je mozda ispod 0,0x mA ti optokopleri su jako dobra stvar dovoljan je i 1mA da sve radi kako treba.
Re: pic12f629 i uzemljenje problem?!
Onda dobro. Nasao sam na nekom forumu da vrijednost otpornika racunaju tako da bude 10mA na ledici, a na tvojoj shemi sam izracunao da je cca 0.2mA pa reko da nisam ja nesto krivo racunao, al eto nisam.
Sve mi se cini da cu naruciti vrecu tih optokaplera iz kine cim nadjem neke jeftine a dovoljno dobre za ovo kaj meni treba.
Fala jos jednom.
Sve mi se cini da cu naruciti vrecu tih optokaplera iz kine cim nadjem neke jeftine a dovoljno dobre za ovo kaj meni treba.
Fala jos jednom.
-
- Napredujem
- Posts: 123
- Joined: 26-12-2010, 12:12
- Location: sad_tu_sad_tamo
Re: pic12f629 i uzemljenje problem?!
Nemoj kupovati.Imaš u skoro svakom ATX napajanju po jedan optokapler oznake 817, ima 4 pina i baš je prikladan za to što radiš.Pogledaj u njegov datasheet i udri...
Pozdrav!
Pozdrav!
Re: pic12f629 i uzemljenje problem?!
Ne volim te "rabljene" komponente jer iovako muku mucim sa pronalazenjem gresaka u mojim shemama. Kad bi naletio na neku neispravnu komponentu nebi nikad na zelenu granu
Izmedju ostalog ako dobro gledam, taj 817 kosta 80lp.
Nego, kad vec trazim optocoupler koliko trebam obracati paznju vrijednost CTR-a s obzirom da cu optocouplere koristit samo za "pretvaranje +12V ==> +5V", tj. u shemi koju je Niho dao. Pretpostavljam da mi je to jos i najmanji problem.
Izmedju ostalog ako dobro gledam, taj 817 kosta 80lp.
Nego, kad vec trazim optocoupler koliko trebam obracati paznju vrijednost CTR-a s obzirom da cu optocouplere koristit samo za "pretvaranje +12V ==> +5V", tj. u shemi koju je Niho dao. Pretpostavljam da mi je to jos i najmanji problem.
Re: pic12f629 i uzemljenje problem?!
Radice to i na 12--> 12 nije problem svejedno se radi o puno manjim strujama od dozvoljenih ili graničnih. Sto se tice optokoplera ima ih jako puno razlicitih rsta od opto tranzistora do opto trijaka, malo proguglaj ako te ta tema zanima naci ces puno dobrih pojasnjenja ali i sklopova.