Hur mäta PIC-OSC utan att påverka?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Pjoms
EF Sponsor
Inlägg: 644
Blev medlem: 24 maj 2004, 12:18:40
Ort: Ö-vik

Hur mäta PIC-OSC utan att påverka?

Inlägg av Pjoms »

Hur gör man för att mäta en kristall-oscillator utan att den påverkas nämnvärt?
Om man kopplar in en probe på någon sida på kristallen kommer det ju att ge en extra kapasitans som snedställer oscillatorn.
En liten spole som får fungera som "picup" kanske kan funka om man lägger den nära kristallen, eller finns det något bättre sätt?

Det jag sitter och pillar med just nu är en PIC16F876A med 4MHz kristall, där jag har en klocka i koden som jag vill ska vara någorlunda noggrann, men problemen med att mäta på en kristall måste ju vara generella.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Ett timer-interrupt i koden som togglar en separat pinne.
Att mäta direkt på osc1/osc2 pinnarna inte inte lätt...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

H-fältsprobe som du håller emot banan mellan uC och kristall. Finns även hög impedans probar som går mäta med utan att påverka alltför märkbart (under 2pF). Dock är dessa problar rätt dyra, så enklast är att skriva ett program som ger dig Fosc/någonting känt ut och sedan mäta på den utgången.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7490
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Låt kristallen få den frekvens den får, skall något optimeras i oscillatorhårdvaran så är det stabiliteten. Kalibrera sedan i mjukvara. Fördelen är stor, Du kan direkt räkna ut kalibreringen som ett tal efter något dygns provdrift. Mycket bättre på alla sätt än att treasig fram med en trimkonding.

Hårdvarutimerns steg är för grova för dett, men det löser man enkelt med mjukvara. T.ex. en breesenham-räknare. Med den kan Du få hur stor långtidsprecision som helst. Med t.ex. 5 tick per sekund så kan ingen se när den hoppar.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Men vad är igentligen problemet ?
Kristallens spec/datablad gäller naturligtsvis.
Om det inte duger, så får man köpa en dyrare kristall (eller "canned oscillator").
Eller plocka 50/100 Hz från nätdelen.
Eller något annat....

Men, det blir mest vilda gissningar, eftersom det inte framgår vad
"någorlunda noggrann" igentligen betyder. Jag vill påstå att
vilken billig kristall som helst är "någorlunda noggrann"...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Tja, en OCXO är ju typ 20-50 ggr noggrannare än en vanlig AT-kristall, men också minst samma faktor dyrare....
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7490
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Man köper naturligtvis inteen svindyr precicionskristall för att bygga en klocka. Det är bara stabilitet som behövs, inte noggrannt absolut värde som ändå påverkas av femtioelva andra saker runtom kristallen. Det är mycket mera kostnadseffektivt och mindre instrumentkrävande att göra en självkalibrerande programvara.

Hur "driftig" är en billig ELFA-kristall kopplad till en PIC? Har någon mätt? Kanske till och med provat ut kondingar med rätt temperaturkoefficient för att stabilisera den. Undrar hur långt man skulle kunna nå med en termistor och korrektionstabell i mjukvaran?
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

rätt långt. finns färdiga osc som har tempgivare och en lookup för korrigering i egen mjukvara - men billigare att göra det själv. Tja, 2ppm vid rimliga temperaturer bör väl inte vara omöjligt ?
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7490
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

En minut per år alltså. Tja, det kan väl räcka ett tag.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Marta, jag måste bara fråga för det är inte helt tydligt för mig...

> En minut per år alltså. Tja, det kan väl räcka ett tag.

Hur vet *du* det ?
Jag kan inte se någonting i Pjoms fråga med vars hjälp man kan
avgöra om det räcker eller inte...
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7490
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

En minut per år tycker jag definitivt uppfyller den mycket utförliga kravspecifikationen "någorlunda noggrann". Fast jämfört med en atomklockaså är det ju snarare "ingalunda noggrann". Allting är relativt när det inte anges exakt. En kristall är relativt billigoch en rubidiummodul relativt dyr med hobby som referens.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

En arianne raket är någorlunda billig om man jämnför med apolloprogrammet och en 1% resonator är någorlunda noggrann om man jämnför med en RC-osc med keramiska kondingar...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Allting är relativt när det inte anges exakt.

Exakt.
Det är därför det är bättre att Pjoms återkommer och förtydligar
vad han igentligen har för krav. *Sen* kan man fundera på lösningar.
Pjoms
EF Sponsor
Inlägg: 644
Blev medlem: 24 maj 2004, 12:18:40
Ort: Ö-vik

Inlägg av Pjoms »

Hehe... Här är det funderingar och idéer "både på bredden och djupet"! Precis som det ska vara!

Min igentliga fundering var först och främst hur/om det är möjligt att, rent generellt, mäta på en kristall utan att påverka frekvensen.
Just i detta fall sitter kristallen visserligen på en PIC vilket gör sodjans första svar (att toggla en pinne) till den säkraste metoden att mäta.

Nu hör det till saken att min avvikelse ligger på ca 3min/dygn vilket är så pass mycket att jag misstänker SBK i interruptrutinen... :roll:
Det var främst för att säkerställa detta (att/om jag har nå'n bugg i koden) som jag ville mäta oscillatorn direkt.

"Någorlunda noggrann" är ju som sagt minst sagt lite luddigt, men då det inte var själva noggrannheten, utan ett sätt att mäta, som var det primära i den första frågeställningen så...
Givetvis vill man ju alltid att allt ska vara så exakt som möjligt, men låt säga att en drift på någon sekund eller två per dygn kan vara ett rimligt mål att sikta på i slutändan?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Standard kristall => 30-50 ppm => ca 4-6 sec/dygn, om jag räknar rätt.
Med lite "trimmning" (som Marta beskrev) går det nog att komma ner lite till...
Skriv svar