PIC16F84A i PORTA.4
Moderators: pedja089, stojke369, [eDo], trax
PIC16F84A i PORTA.4
Pozdrav svima...
Naime, koristim PORTA.4 na PIC-u kao izlaz, definiram ga:
relej var porta.4
output relej
low relej
kada palim uređaj relej škljocne na kratko, i nakon toga porta.4 najnormalnije odrađuje svoj posao (uklapa i isklapa kako ja zadajem u programu sa high i low), no zašto dolazi do ovog kratkog paljenja i gašenja na početku?
Da napomenem, imam pullup otpornik od 10k na tom pinu.
Hvala
Naime, koristim PORTA.4 na PIC-u kao izlaz, definiram ga:
relej var porta.4
output relej
low relej
kada palim uređaj relej škljocne na kratko, i nakon toga porta.4 najnormalnije odrađuje svoj posao (uklapa i isklapa kako ja zadajem u programu sa high i low), no zašto dolazi do ovog kratkog paljenja i gašenja na početku?
Da napomenem, imam pullup otpornik od 10k na tom pinu.
Hvala
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
Malo nas zna gledati u pasulj...
Postavi kod, i hardver, pa mozda neko nadje nesto...
Postavi kod, i hardver, pa mozda neko nadje nesto...
Re: PIC16F84A i PORTA.4
Kada obrišem jedini HIGH relej u programu ista se stvar dogodi, dakle uopće nije problem u kodu (da iz nekog razloga skače na HIGH kratko), već u inicijalizaciji.
ovo je početak:
trisa=%11110000
trisb=0
prvi var portb.4
drugi var portb.5
treci var portb.6
cetvrti var portb.7
plus var porta.0
minus var porta.1
set var porta.2
start var porta.3
relej var porta.4
low relej
i svaki put kad dovedem 5V na pic dogodi se taj kratki impuls (traje pola sekunde) i nakon toga sve normalno šljaka.
ovo je početak:
trisa=%11110000
trisb=0
prvi var portb.4
drugi var portb.5
treci var portb.6
cetvrti var portb.7
plus var porta.0
minus var porta.1
set var porta.2
start var porta.3
relej var porta.4
low relej
i svaki put kad dovedem 5V na pic dogodi se taj kratki impuls (traje pola sekunde) i nakon toga sve normalno šljaka.
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
Proveri da ti nije neka glupost u hardveru.
Onda na pocetku koda stavi trisa.4=0, porta.4=0
Jer stanja portova su nedefinisana kada se pic pali.
Onda na pocetku koda stavi trisa.4=0, porta.4=0
Jer stanja portova su nedefinisana kada se pic pali.
Re: PIC16F84A i PORTA.4
Evo dodao sam i to na sam početak i umjesto trisa=%... sam koristio INPUT i OUTPUT i ista stvar.
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
I dalje nema seme, tako da daje nema smisla diskutovati...
Re: PIC16F84A i PORTA.4
Sada sam primjetio kada ispravljačem polako podižem napon do 9V to se ne dogodi, inače imam 7805 na ulazu sklopa. Što bi sada moglo biti, znači kada naglo dignem napon na odprilike 9-12V dogodi se preklop, a kada idem polako ne.
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
Provjeri da ti nije nesto po defaultu setovano na tom pinu! Zna biti (neznam jeli bas za ovaj PIC, ali ima ih) da je recimo AD ulaz na tome i slicno pa se on smatra kao analogni ulaz.
Da bi se to promjenilo, obicno se setuju switchevi stanja pri programiranju. Malo prosturidaj data sheet za ovaj PIC na sekciji za A port!
Da bi se to promjenilo, obicno se setuju switchevi stanja pri programiranju. Malo prosturidaj data sheet za ovaj PIC na sekciji za A port!
Re: PIC16F84A i PORTA.4
A gledam ali nikako da naiđem na nešto konkretno...
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
Nema nista, problkem je u hardveru.
Re: PIC16F84A i PORTA.4
PortA.4 je drugog tipa u odnosu na druge pinove porta A.
Čini mi se da mi se dešavalo da pri resetu taj pin ide u ON, međutim bilo je to davno pa se ne sjećam kako sam riješio.
Čini mi se da mi se dešavalo da pri resetu taj pin ide u ON, međutim bilo je to davno pa se ne sjećam kako sam riješio.
Ako kaniš pobijediti, ne smiješ izgubiti
Re: PIC16F84A i PORTA.4
Ja koliko vidim PORTA.4 je setovan kao ulaz a ne izlaz. TRISA= %11110000, promeni u TRISA = %11100000
Re: PIC16F84A i PORTA.4
Dečki, problem riješen, nije stvar u hardveru kako Peđa tvrdi, već u postavkama kod programiranja.
Stavio sam HS oscilator, isključio WDT i Power Up Timer i sve radi.
Vidjet ćete uskoro u gotovim projektima na čemu sam radio (tajmer 99:59-00:00)
Stavio sam HS oscilator, isključio WDT i Power Up Timer i sve radi.
Vidjet ćete uskoro u gotovim projektima na čemu sam radio (tajmer 99:59-00:00)
Ne vjeruj u čuda - računaj na njih!
Re: PIC16F84A i PORTA.4
Ovak HS i WDT tu ne igraju nikakvu ulogu, Power Up Timer da!
Kaj se ustvari dogadja:
Kada PIC dobije dobar napon, PWRT pocne brojati i drzi ga u resetu dodatnih 74ms nominalno (74 ak me sjecanje dobro sluzi). Za to vrijeme pinovi PIC-a su definirani kao ulazi i Pull up otpornik podize RA4 u HIGH, a nakon 74ms tvoj ga software vraca u LOW -> Skljoc. Relej je sam po sebi trom, pa to stanje gledajuci njega sama traje dulje od 74ms.
Sada kada si maknuo PWRT dogadja se isto to samo brze jer nema tih 74ms i relej se sada zbog svoje tromosti
ne stigne ukljuciti.
Kak to sprijeciti? Na RA4 pinu tesko, na ostalima lako. Naime output tip pina RA4 je open drain. Sto znaci da na njemu MORAS imati pull UP otpornik ukoliko zelis imati (stabilno) HIGH stanje. Na svaki ostali pin samo stavis pull DOWN otpornik da drzi doticni pin LOW za vrijeme reseta.
Kaj se ustvari dogadja:
Kada PIC dobije dobar napon, PWRT pocne brojati i drzi ga u resetu dodatnih 74ms nominalno (74 ak me sjecanje dobro sluzi). Za to vrijeme pinovi PIC-a su definirani kao ulazi i Pull up otpornik podize RA4 u HIGH, a nakon 74ms tvoj ga software vraca u LOW -> Skljoc. Relej je sam po sebi trom, pa to stanje gledajuci njega sama traje dulje od 74ms.
Sada kada si maknuo PWRT dogadja se isto to samo brze jer nema tih 74ms i relej se sada zbog svoje tromosti
ne stigne ukljuciti.
Kak to sprijeciti? Na RA4 pinu tesko, na ostalima lako. Naime output tip pina RA4 je open drain. Sto znaci da na njemu MORAS imati pull UP otpornik ukoliko zelis imati (stabilno) HIGH stanje. Na svaki ostali pin samo stavis pull DOWN otpornik da drzi doticni pin LOW za vrijeme reseta.
Re: PICxxxx i PORTA.4
Hello Boys!
_heX je dao najbolji odgovor!
Verovatno upotrebljavaš NPN tranzistor s Emitorom na GND i relejom koji ima viši napon 12...24 u Colectoru.?
Samo bi dodao konačno rešenje problema.
Na A.4 upotrebi dodatni NPN kao negator signala.
I tako u kombinaciji sa PULL-UP-om dobičeš pravo stanje za vreme kada je procesor u resetu.
Još bolje rešenje, je negator sa PNP tranzistorom, koji ima E na +5V, Baza preko serijskog otpornika na PIC, a njegov Colector preko otpornika na NPN na kojem je relej. (Ne troši nikakve energije kada je izlaz PICa na 1 ili Float. Ako tebaš možem ti slati sliku iz mojih projekata. Radi 100% na svim pinima svih procesora. 0 na izlazu PICa sada uključi relej!
_heX je dao najbolji odgovor!
Verovatno upotrebljavaš NPN tranzistor s Emitorom na GND i relejom koji ima viši napon 12...24 u Colectoru.?
Samo bi dodao konačno rešenje problema.
Na A.4 upotrebi dodatni NPN kao negator signala.
I tako u kombinaciji sa PULL-UP-om dobičeš pravo stanje za vreme kada je procesor u resetu.
Još bolje rešenje, je negator sa PNP tranzistorom, koji ima E na +5V, Baza preko serijskog otpornika na PIC, a njegov Colector preko otpornika na NPN na kojem je relej. (Ne troši nikakve energije kada je izlaz PICa na 1 ili Float. Ako tebaš možem ti slati sliku iz mojih projekata. Radi 100% na svim pinima svih procesora. 0 na izlazu PICa sada uključi relej!
Re: PIC16F84A i PORTA.4
To ja koristim, i zato sam i rekao da je hardverski problem, i trazio da postavi semu.Dream wrote: Još bolje rešenje, je negator sa PNP tranzistorom, koji ima E na +5V, Baza preko serijskog otpornika na PIC, a njegov Colector preko otpornika na NPN na kojem je relej.
Al eto, kad majstor kaze da nije hardver
Re: PIC16F84A i PORTA.4
Promjeni svoju shemu (ako mozes) i ovaj pin RA4 koristi samo za ulaze. Tako neces imati ovih "cudnih" problema. Kao sto _heX kaze, ovaj pin je na open-drain-u i situacija je malo drugacija kada ga zelis koristiti kao izlaz.