PIC 16F628A a filtrace napájení
Moderátor: Moderátoři
-
Jirka
- Příspěvky: 2034
- Registrován: 01 črc 2005, 00:00
- Bydliště: zbídačený kraj
- Kontaktovat uživatele:
PIC 16F628A a filtrace napájení
Zdravím,
dělám pokusy s tímto procesorem, a při využití vnitřního oscilátoru na 37kHz se občas porcesor chová zvláštně, kdy dělá "mrtvého brouka" a nereaguje na žádné podněty (vstupy). Stejně se choval i při zapnutém vnitřním oscilátoru na 4MHz, ale tam stačilo přidat napájení 100nF kondenzátor, a od té doby vše funguje.
Zřejmě se dostává rušení z oscilátoru na napájení.
Takže se chci zeptat, jak fitrujete (blokujete) napájení procesoru při využití vnitřního oscilátoru na 37kHz ? Jaké kondenzátory tam dáváte ?
Listoval jsem v datasheetu a žádné doporučení jsem tam nenašel, nebo jsem to přehlédl. Zkoušel jsem na napájení kondíky 1 mikro a 10mikro, ale bez výsledku. Program je dobře napsán, po prodloužení časových smyček a spuštění na 4MHz vše běží, jak má.
Problém bych hledal v nesprávném ošetření MCLR, BOREN, PWRT, WDT, v chybnem nastavení FOSC, nedovoleném použití SLEEP instrukce nebo v běžném špatném ošetření vstupů.
Kmitočet interního oscilátoru je 48KHz, nikoliv 37KHz.
Tvrzení, že program je správně napsán zní značně sebevědomě. Já naopak sebevědomě tvrdím, že oscilátor s odběrem cca 10uA asi moc s napájením cvičit nebude a prostě někde děláš chybu. Buď v hardware, nebo v software, nebo obojím. Dej něco do placu a můžem se bavit dál.
-
Jirka
- Příspěvky: 2034
- Registrován: 01 črc 2005, 00:00
- Bydliště: zbídačený kraj
- Kontaktovat uživatele:
OSCILLATOR MODES , ale o to tu nejde.
MCLR bych řekl, že mám ošetřeno správně, BOREN , SLEEP nevyužívám, PWRT, WDT snad je dobře. Co se týká ošetření vstupů, jsou použity spínače, a protože program je v podstatě kontrola vstupům a je proložen čekacími smyčkami, takže odskoky kontaktů nejsou podstatný, tak bych řekl, že tímto to taky není.
Celé zapojení fungovalo správně až do doby, kdy začalo pršet a zvýšila se vzdušná vlhkost (voda se do něj ale nedostala ani v něm nekondenzuje), po té se začal procesor "sekat". Hledal jsem součástku, která mohla navlhnout a změnit vlastnosti, ale nic jsem neobjevil.
Pak mě napadlo, jestli vodiče díky vlhkosti nemohly "změnit svoji kapacitu", a tím funkci zapojení ovlivnit. Usuzoval jsem na to na základě zkušeností se stejnými problémy při provozu PIC na 4MHz a použitím kondenzátoru 100nF, viz výše.
Více ti pošlu přes SZ, abys mi mohl zkusit poradit, pokud budeš chtít.
1.
bit 3 OSCF: INTOSC Oscillator Frequency bit
1 = 4 MHz typical
0 = 48 kHz typical
2.
This feature allows users to dynamically toggle the oscillator speed
between 4 MHz and 48 kHz nominal in the INTOSC
Ale to je opravdu nepodstatné...
Rád o problému podiskutuji. Sám jsem něco podobného zažil, způsobeno to bylo neošetřeným vstupem a důsledky byly naprosto nepochopitelné. Za normálních podmínek při běžných impedancích nemůže hrát roli, jestli venku prší nebo ne. Určitě na to přijdem.