Sida 1 av 2

Pic 12f629 går fast jag bryter strömen?

Postat: 6 maj 2004, 21:22:32
av gvs
Den beter sig hel knasigt, den minns i vilket läge den står även om jag tar bort batteriet i nån minut, först då jag lyfter den ur sockeln startar den om.... vet ej vad det beror på. gör den i 32kHz, har två kondingar på 83pF kopplade från kristallen mot jord. fattar verkligen noll....

Postat: 6 maj 2004, 21:24:27
av danei
Det är inte så att du har spänning på något annat ben. Den kan ta ström där om spänningen överstiget matningspänningen med diodspänningsfallet.

Postat: 6 maj 2004, 21:46:18
av gvs
hmmmm nej inte de, har bara späning på det ben som ska ha resten är anslutan till jord, förutom ett som sitter i en lysdiod via en resistor på 330 ohm till jord. Verkar hel knasigt, inte för att det spelar så stor roll den ska i vanliga fall gå 24/7 ( det är en timer som slår på en led efter ett dygn och sen börjar om igen)

Postat: 6 maj 2004, 21:58:24
av Xyzzy
Låter som den får spänning någonstans ifrån ja, inte ngn konding på matningen som inte hinner laddas ur (som du f.ö. bör ha)? -testa att sätt ett "litet" motstånd (100 ohm eller så) mellan GND och VCC när strömmen är bruten och se om samma sak händer trots det (den ska alltså ladda ur ev. kondensatorer som ligger mellan GND och VCC

Postat: 6 maj 2004, 22:10:51
av gvs
det enda som sitter på kortet är ett litiumbatteri på 3 volt, en skjutströmbrytare för av /på en tryckknapp, brytande för att släcka dioden ( drar ett ben lågt som då går högt när man trycker på knappen, pullup), en grön led, en resistor 330 ohm, en kristall 32KHz, två 82pF kondingar, en processor... alltså ingen konding. det kosntiga är ju att den går även om man fysiskt tar bort batteriet. Alltså leden slocknar men den startar igen då man sätter tebax batteriet, vilket den ska göra efter 24H. om jag tar bort processorn och sen sätter tillbaks den får ajg inte det syndromet.

Postat: 6 maj 2004, 22:26:44
av Xyzzy
ja, det låter grymt märkligt, testa att sätt motståndet jag skrev om tidigare, mellan barterikontakterna (när batt. är borttaget) för att se iaf.
Kanske har PICen någon slags inbyggt "skydd" (står ngt databladet?)

Postat: 6 maj 2004, 22:55:49
av gvs
funderar lite på brown out detect och så. den drar ju extremt lite ström med en sån kristall, kanske ett skydd som räcker längre då den drar lite?

Postat: 7 maj 2004, 12:11:46
av Magnus Pihl
Har du ingen reset alls? Annars är det inte säkert att programmet kommer till reset vektorn alls. Ha iallafall ett motstånd och en liten kondensator.

Den håller kvar innehållet i SRAM så lågt som två volt (garanterat) oavsett hur reset står. (Det kanske i praktiken går ännu lägre). Du har med största sannolikhet lite, lite spänning på någon ben som matar kretsen och håller igång minnet. Annars kan du ju dra reset låg under en viss spänning och se till att nollställa alla register vid initieringen av kretsen.

Postat: 7 maj 2004, 13:44:07
av gvs
nope ingen reset, kan ju vara så att den minns de då.

Postat: 7 maj 2004, 15:05:36
av Xyzzy
Reset ska ju koppas till VCC,helst via RC-filter, som Magnus säger... (varför tänkte jag inte på det?)

Postat: 7 maj 2004, 16:46:57
av gvs
Jag gör internal reset, för att det är lättare.... måste kolla lite mer på det.

Postat: 7 maj 2004, 16:58:40
av Chribbe76
Jag har oxå fått liknande fenomen.
om kretsen inte blir resetad ordentligt så kan den börja programexekveringen på typ slumpmässig adress, den kan även minnas register information.
Om jag inte minns fel så är minnet i picarna av den typ som kommer ihåg allt fast strömmen är av (förmodligen för att sleep ska dra så lite ström som möjligt). (rätta mig om jag har fel)

Fixa extern reset så blir det bra. Det räcker i regel med ett motstånd mellan +pol och reset.

Postat: 9 maj 2004, 17:52:39
av Magnus Pihl
Du kan inte använda dig av internal reset. Du måste göra en extern. Annars hittar programmet aldrig resetvektorn.

Postat: 9 maj 2004, 18:19:40
av mrmike
Jag tycker att det står i databladet att om spänningen är under 2.1 volt i mer än 100uS så ska pic:en resettas förutsatt att man har BODEN satt.

gvs: Har du det?

Postat: 9 maj 2004, 18:39:56
av gvs
Magnus Pihl skrev:Du kan inte använda dig av internal reset. Du måste göra en extern. Annars hittar programmet aldrig resetvektorn.
Menar bara att jag har kopplat den hög internt, så att jag slipper koppla den externt, är inte intresserad av att ha en reset.