Hur mäta PIC-OSC utan att påverka?
Hur mäta PIC-OSC utan att påverka?
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.
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.
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.
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.
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"...
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"...
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?
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?
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.
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...
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?
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...

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?