Sida 1 av 1

32.768 kHz med PIC 12F675

Postat: 10 januari 2012, 21:53:34
av Robert80
Hej
Jag behöver en stabil 32.768 kHz frekvens till en PIC12F675. Jag använder Timer1 för att generera 1s. Nu har jag lött på en 32.768kHz kristall på pinne 2 och 3 med 100pF kondensatorer på vardera pinne 2 och 3 kopplade till jord, detta gjort på ett simpelt labbkort. Försöker kalibrera in genom att ändra värdet på TMR1L och TMR1H och mäter sen min räknare räknare som är kopplad till denna under 3 timmar. Den drar ca 10-20s, olika varje gång dessutom.

Jag har en RTC krets PCF8563, undrar nu om man kan koppla denna till pinne 2 och 3 på PIC12F675 för att få en stabil 32.768kHz oscillator som räknar upp Timer1?

Re: 32.768 kHz med PIC 12F675

Postat: 10 januari 2012, 21:58:09
av Klas-Kenny
100pF för kristallen låter lite väl mycket, prova med mindre kondensatorer, kanske 20-40pF eller så.

Re: 32.768 kHz med PIC 12F675

Postat: 10 januari 2012, 21:59:32
av Micke_s
på 32khz lär man inte behöva över 16pF i alla fall

Re: 32.768 kHz med PIC 12F675

Postat: 10 januari 2012, 22:04:13
av bearing
Använder du en prescaler till TIMER1?
Ifall du vill att den ska ge interrupt efter 32768 cykler kan du använda Compare-funktionen. Ett annat alternativ är att använda TIMER0 med prescaler 128.

TIMER1 kan även klockas utifrån från en ingång. Om RTC-kretsen kan ge en 32kHz klocka kan du koppla den till den ingång som räknar upp TIMER1.

Re: 32.768 kHz med PIC 12F675

Postat: 19 januari 2012, 22:43:28
av Robert80
Jag räknar upp direkt TIMER1L och TIMERH registren som bildar 16 bitars tal ihop. Jag testa mig fram till att om räkningen sker från B´0110 1111 1010 1001´ Så funkar det rätt ok, drar ca 3-4 sek/timme.

100pF var det som databladet föreslog för PICen. Kanske värt att pröva med max 16pF?

Jag har lött ihop det hela på ett labbkort, alltså inte etsat eller beställt något fabriksgjort PCB.
Hur pass viktigt är layouten (banornas längd, bredd, avstånd från PICen till kristallen etc...) för frekvensstabilieten?
Behöver väl inte vara direkt 32,768kHz, viktiga är väl att den är den samma över tid?

Re: 32.768 kHz med PIC 12F675

Postat: 19 januari 2012, 23:25:18
av bearing
Om du sätter TIMER1 till -32768 vid omslag borde det bli ungefär rätt. Det finns ingen anledning att skriva dessa siffror binärt. 0110 1111 1010 1001 = -36951. Enklaste sättet att få det helt rätt är att använda compare-funktionen ställd på perioden 32768. (Eller däromkring, beroende på hur snabbt kristallen går)

"Jag räknar upp" Vad betyder detta? att du (din kod) manuellt ökar värdet på registrena?

Posta koden.