Kristall till RTC

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Shimonu
Inlägg: 300
Blev medlem: 21 oktober 2015, 22:44:33

Kristall till RTC

Inlägg av Shimonu »

Jag håller på experimentera lite med ett projekt. Jag tänkte det vore kul att lägga till en RTC med timer som väcker min MCU då och då. Har aldrig använt en RTC tidigare och insåg att det inte finns någon inbyggd kristall och har försökt mig på att lägga till en men CLKOUT-pinnen är konstant låg, den ska vara aktiv och visa 32768 Hz per default. Jag har kunnat kommunicera med den via I2C så det känns inte som jag gjort något klantigt fel och vänt den fel i mitt breadboard eller misstagit pinnarna.

Har satt kristallen mellan OSCI och OSCO, jag var lite osäker på exakt hur jag räknar fram vad för värden på kondensator(er) som behövs. Databladet för RTC visar ett exempel med en trimkondensator mellan OSCI och jord men har ingen sån. Har testat med en 22 pF istället för trimkondensatorn i exemplet och nu senast testade jag med en 4.7 pF på både OSCO och OSCI till jord. Mäter jag OSCO kan jag se en signal som har rätt frekvens men däremot verkar den inte speciellt stabil i DC-offset och hoppar runt mycket på oscilloskopet. Normalt?

Hur klurar jag ut rätt kapacitans och bör jag använda en enkel kondensator på OSCI eller en per pinne?

Som referens:

Kristall:
https://www.electrokit.com/uploads/prod ... ng_tds.pdf

RTC:
https://www.nxp.com/docs/en/data-sheet/PCF8563.pdf

EDIT: för skojs skull försökte jag mig på att läsa ut sekunder-värdet från RTCn och det verkar uppdatera i en korrekt takt när jag skriver ut det på en 7-seg display. CLKOUT däremot visar sporadiskt något som nästan liknar en fyrkantsvåg. Ibland verkar jag också få något skräp men just nu uppdaterar jag displayen så ofta så att jag inte hinner se det.
Senast redigerad av Shimonu 14 maj 2021, 22:05:15, redigerad totalt 1 gång.
Användarvisningsbild
Icecap
Inlägg: 26435
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Kristall till RTC

Inlägg av Icecap »

För att 32kHz kristaller oftast är av gaffeltypen får det inte drivas för hårt. Det riskerar spräckas annars.

Av den orsak brukar man ha ett motstånd i serie med kristallen samt såklart lastkondingarna vid kristallen. Lastkondingarna brukar vara noga då olika tillverkare kräver olika värden. Men räkna runt 22pF som ett startvärde, alltså 22pF per styck.

Sedan är det mycket oftast viktigt att ha ett DC-balanceringsmotstånd (typ 2,2+MΩ) mellan pinnarna då så höga värden inte går speciellt bra att lägga in i kiseln.

Man kan ENBART kolla på svängning direkt på ut-pinnen med skopet och probens belastning skevar frekvensen. Ska man trimma frekvensen måste man göra en mjukvarafunktion som kan skicka ut en frekvens baserat på RTC-kristallen och sedan mäta den.
E Kafeman
Inlägg: 3409
Blev medlem: 29 april 2012, 18:06:22

Re: Kristall till RTC

Inlägg av E Kafeman »

Ska timern bara väcka någon gång ibland utan exaktare tidskrav är vanlig kristall bra nog men man kan spara jobb, kostnad och kortyta på att välja RTC-chip med intern kristall.
DTC3231 är en sådan RTC med inbyggd kristall.

Det som är lite extra finessrikt är att DTC3231 har inbyggd temperaturkompensation och programmerbart trim-register.
Det gör inte klockan mer exakt än med extern kristall men den blir mycket stabil, tidsfel nästa samma varje dag. Om man är ambitiös så kan kan man trimma för lite extra precis kompensation direkt i mjukvaran.
Även om man inte behöver denna precision så är chippet simpelt att använda och kostar inte mer än en RTC med extern okompenserad kristall och fungera bra över stort spänningsområde då den fungerar med både 3 och 5 Volt och batteribackup kan gå lågt ner i spänning utan att tappa tidräkningen.
https://www.aliexpress.com/item/32926218803.html

RTC-chip är oscillerande kretsar som eventuellt inte vill oscillera om jordplan och spänningsmatning är instabila pga långa ledningar, dålig avkoppling avsaknad av konkret jordplan. Samma med kristallens svängningskrets, håll ledningar korta till chip och jordplan.
Kristallen går absolut att köra sönder, som Icecap påpekar. Kan hända den bäste :vissla:
Med lite otur blir det halvtrasigt och svårt att felsöka då I/O-pinnarna inte nödvändigtvis visar något tydligt.
Om ClkOut är konstant låg, prova med ett motstånd på 1-10k till Vdd.

RTC-chip är chip som alltid varit populära att pirata av någon anledning. Piratchippen är mer eller mindre bra fungerande kopior och ibland rena dummy-kretsarna.
Köper man från AliX så kollar jag på hur kunderna betygsatt produkten över längre tid.
Ett chip med betyg från 5 helt nöjda kunder och butiken startade för två månader sedan, då är det helt säkert ett återvunnet chip med slumpmässigt innehåll men även väletablerade återförsäljare har drabbats av att falska kretsar.
Om chippets tryckta text går tvätta av med aceton, vet man vad klockan är slagen :)
Skriv svar