Zaslal: út únor 24 2015, 22:11 Předmět: Pic 16f87-vstupní pin odebíra velký proud
Zdravím,
mám zapojení dle obrázku
.
VDD je +5V, v programu mám nastavený porty RB jako vstupní. Pokud takto připojím tlačítko na vstup RB0 prochází proud odporem 5mA (změřeno). Pokud jej ale připojím na RB1 tak proud vzroste na 50mA (změřeno). Zkoušel jsem i další vstupy RB (RB2, RB3 OK ale RB4, RB5 opět 50mA). Odpory jsou 10KΩ, přeměřeny. Vyzkoušel jsem i jiný PIC a problém je stejný. Vyzkoušel jsem jedno stejné tlačítko i odpor na různé vstupy RB a problém je stejný. Můžete mi poradit čím to může být?
Založen: Mar 28, 2012 Příspěvky: 7849 Bydliště: Brno
Zaslal: út únor 24 2015, 22:47 Předmět:
A nemyslel po stisku toho spínače?
Pro proud 50mA by musel mít Vcc= 500V, to by ten procesor už nikdy nenašel _________________ Civilizace založená na oboustranné lepící pásce nemůže dobře skončit...
I kdyby se z tebe jednou stal král, neodsuzuj lidi, kteří ti nebudou provolávat slávu- raději se zeptej sám sebe, proč tomu tak není...
Omlouvám se za chybu (chyba v desetinné čárce), proud správně má být 0,5mA ale těch 50mA opravdu prochází a PIC topí... Proud je měřen při stisku tlačítka. Na obr jsem doplnil ampérmetr
Založen: Feb 14, 2005 Příspěvky: 9006 Bydliště: Brno (JN89GF)
Zaslal: st únor 25 2015, 12:46 Předmět:
Takže měříš proud pinem (z pinu), ne proud odporem, to je dost podstatnej rozdíl.
Nastavení portů přes TRIS registry ještě nic neznamená, musíš ještě přes ostatní registry nastavit a povypínat případný jiný periferie, nebo ještě třeba nastavit piny jako digitální.
no ale default jsou nastaveny jako vstupni , a pokud s nima nic nedelal tak i zustanou a to uplne vsechy protoze neprepina banky, na RB1 nic neni takze nevypnuti nejake periferie tu nehrozi..
kolik tam tece kdyz to tlacitko hodis na VSS a odpor na VDD ?
Zkusil jsem tedy binární zápis (TRISB = 0b11111111) a pomohlo to. Nahrál jsem znovu program a RB5 už byl OK, ale RB4 protékal proud 50mA. Zkusil jsem tedy vymazat paměť procesoru a nahrát program znovu a už je to vše v pořádku.
Vyzkoušel jsem také na jiném procesoru (16f57) ověřit zápisy portů TRISB = 0b11111111 vs TRISB = 11111111 a oba případy byli v tomto případě totožné (všechny porty RB nastaveny jako vstupní). Program píši v MPLAB X IDE v2.30 v jazyku C a programuji přes PICKIT 2. Je možné, že by kompilátor při jiném typu procesoru různě kompiloval nastavení portů?
Časy uváděny v GMT + 1 hodina Jdi na stránku 1, 2, 3, 4Další
Strana 1 z 4
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.