Passande 5V Oscillator till existerande pryl
-
- Inlägg: 120
- Blev medlem: 3 mars 2011, 01:58:43
Passande 5V Oscillator till existerande pryl
Jag har nyligen byggt en tidtagare som ska kunna mäta tid upp till 9:59.99 där jag vill ha absolutnoggrannhet på max +/- 0,5 hundradelar. Finns det nån vettig lösning utan att göra ett nytt kretskort?
Oscillatorn är extern tidsreferens till Timer1 i en atmega 328 (en kinaklon på en arduino nano) och jag tror den centrala klockan är 16 MHz, det betyder att oscillatorns maximala frekvens är 6,4 MHz (den samplas av huvudklockan internt i AVR:en). Matningen är på 5V från Arduinon.
Den jag har monterat (och behöver få utbytt) tror jag är en IQXO-22C vilket är en 100 ppm 4MHz kristalloscillator i DIP-8 kapsel, den är i alla fall garanterat på 4MHz och 5V kompatibel. Datablad finns här: http://www.farnell.com/datasheets/79703.pdf
Kan man göra ett mindre kort, montera en ytmontad sak och använda sig av stiftlist? I så fall vilka egenskaper bör jag titta på, jag har försökt med bl.a. farnells parametriska sökning men det går inge vidare?
Hela projektet med lite bilder finns här:
http://elektronikforumet.com/forum/view ... =3&t=87534
Oscillatorn är extern tidsreferens till Timer1 i en atmega 328 (en kinaklon på en arduino nano) och jag tror den centrala klockan är 16 MHz, det betyder att oscillatorns maximala frekvens är 6,4 MHz (den samplas av huvudklockan internt i AVR:en). Matningen är på 5V från Arduinon.
Den jag har monterat (och behöver få utbytt) tror jag är en IQXO-22C vilket är en 100 ppm 4MHz kristalloscillator i DIP-8 kapsel, den är i alla fall garanterat på 4MHz och 5V kompatibel. Datablad finns här: http://www.farnell.com/datasheets/79703.pdf
Kan man göra ett mindre kort, montera en ytmontad sak och använda sig av stiftlist? I så fall vilka egenskaper bör jag titta på, jag har försökt med bl.a. farnells parametriska sökning men det går inge vidare?
Hela projektet med lite bilder finns här:
http://elektronikforumet.com/forum/view ... =3&t=87534
Re: Passande 5V Oscillator till existerande pryl
I mitt projekt använder jag hårdvaruinterupt som jag låter komma varje millisekund.
Detta avbryter den vanliga koden och räknar upp ett värde för att sedan fortsätta med det som den höll på med innan. Vill du ha bättre tid, synka denna räknare med en extern klocka, ex 1Hz (typ DS3231).
Mitt nästa projekt så ska detta göras. Nya kort är på väg.
Sedan är det bara att omvandla detta till minuter, sekunder och tio/hundradelar.
Rätt bra noggrannhet under flera timmar så dina 10 minuter är ingenting.
Min utrustning används i tävlingssammanhang.
Detta avbryter den vanliga koden och räknar upp ett värde för att sedan fortsätta med det som den höll på med innan. Vill du ha bättre tid, synka denna räknare med en extern klocka, ex 1Hz (typ DS3231).
Mitt nästa projekt så ska detta göras. Nya kort är på väg.
Sedan är det bara att omvandla detta till minuter, sekunder och tio/hundradelar.
Rätt bra noggrannhet under flera timmar så dina 10 minuter är ingenting.
Min utrustning används i tävlingssammanhang.
Re: Passande 5V Oscillator till existerande pryl
DS323x-serien är ganska noga och jag har gjort det samma som RadioDJ: använd 1 sek pulsen och byggd en sorts faslås till en 1ms klocka som styrs av en intern timer. Fungerar riktigt bra och är med ganska låg avvikelse.
-
- Inlägg: 120
- Blev medlem: 3 mars 2011, 01:58:43
Re: Passande 5V Oscillator till existerande pryl
Intressanta RTC-kretsar, en av de har ju en 32KHz utgång, enligt blockschemat är den bara nerdelad från interna oscillatorn. Men databladet anger 2,5% på frekvensen? Det förstår jag inte? Om den bara är nerdelad från grundklockan borde den väl också vara på 2,5 ppm? Eller missar jag nåt här?
Jag har i dagsläget en "hårdvaru" interrupt i form av att jag klockar en hårdvarutimer/räknare med en extern referens (oscillatorn jag vill byta ut). Den hårdvarutimern/räknaren genererar ett interrupt med 2 ms intervall (när räknarens värde sammanfaller med det i ett register genereras interruptsignalen och räknaren nollställs). Allt det sköts av AVR hårdvaran.
I interruptrutinen har jag en egen variabel som bara räknas upp och eftersom den är stor nog att rymma tillräckligt med 2 ms perioder utan overflow så kan jag bara spara undan värdet när tidräkning startar respektive slutar. Sen beräkna tiden med bara differensen mellan start och stop. Då behöver jag inte ens bry mig om overflow heller.
Jag har i dagsläget en "hårdvaru" interrupt i form av att jag klockar en hårdvarutimer/räknare med en extern referens (oscillatorn jag vill byta ut). Den hårdvarutimern/räknaren genererar ett interrupt med 2 ms intervall (när räknarens värde sammanfaller med det i ett register genereras interruptsignalen och räknaren nollställs). Allt det sköts av AVR hårdvaran.
I interruptrutinen har jag en egen variabel som bara räknas upp och eftersom den är stor nog att rymma tillräckligt med 2 ms perioder utan overflow så kan jag bara spara undan värdet när tidräkning startar respektive slutar. Sen beräkna tiden med bara differensen mellan start och stop. Då behöver jag inte ens bry mig om overflow heller.
Re: Passande 5V Oscillator till existerande pryl
DS323x kan ställas till att ge olika hastighet på pulserna ut.
Jag använder 1 sek och har sedan en intern timerinterrupt på 1ms. Den "trimmas" med 1 sek pulsen så att om det blir för många 1ms pulser per 1 sek period ökas talet den delar med med 1, är det för få minskas det med 1.
Den µC jag använder kör med 50MHz intern oscillator och 1ms pulserna är mycket stabila.
Jag använder 1 sek och har sedan en intern timerinterrupt på 1ms. Den "trimmas" med 1 sek pulsen så att om det blir för många 1ms pulser per 1 sek period ökas talet den delar med med 1, är det för få minskas det med 1.
Den µC jag använder kör med 50MHz intern oscillator och 1ms pulserna är mycket stabila.
-
- Inlägg: 120
- Blev medlem: 3 mars 2011, 01:58:43
Re: Passande 5V Oscillator till existerande pryl
Tyvärr verkar de kretsarna kräva att man pratar I2C med de för att börja skicka ut en specifik fyrkantsvåg. Dock ledde RTC spåret mig in i ETA:s (elektronikförening på Chalmers) lådor återigen. Där hittade jag DS1337 som är en RTC utan inbyggd kristall men den matar ut fyrkant direkt vid matningsspänning från oscillatorn. Lyckligtvis 5V tolerant. Så en sån får agera drivare till en tillräckligt precis SMD kristall så jag får min stabila 32.768 Khz oscillator.
Då kan jag göra ett litet litet kort som passar mellan stiftlistpinnarna som jag ersätter den förra DIP-8 oscillatorns ben med. Således blir allt kompatibelt med det kretskort jag redan har. Ska bara få tummen ur att göra det, blir nog efter sista tentan som kommer nu.
Då kan jag göra ett litet litet kort som passar mellan stiftlistpinnarna som jag ersätter den förra DIP-8 oscillatorns ben med. Således blir allt kompatibelt med det kretskort jag redan har. Ska bara få tummen ur att göra det, blir nog efter sista tentan som kommer nu.
Re: Passande 5V Oscillator till existerande pryl
DS323x pratar SPI, I2C ... och var det mer? beroende på vilken version man väljer.
Ett 32768Hz kristall är notorisk svårt att få till att gå exakt pga. det låga Q. Så du är knappast hjälpt av det sätt.
Ett 32768Hz kristall är notorisk svårt att få till att gå exakt pga. det låga Q. Så du är knappast hjälpt av det sätt.
-
- Inlägg: 120
- Blev medlem: 3 mars 2011, 01:58:43
Re: Passande 5V Oscillator till existerande pryl
Jag har endast tillgång till 1 portpinne, 5V och jord. Jag ska försöka ersätta en DIP-8 med ett litet kretskort. De andra börjar inte mata ut nån fyrkant innan man skickat ett antal I2C eller SPI kommandon . Det gör dock DS1337, räcker med matningspänningen för att få fyrkant ut. Jag har hittat en 32.768 kristall på 10 ppm som då skulle ge 6 tusendelar fel på 10 minuter. Då är lastkapacitansen korrekt (6pF). Det är acceptabelt med hundradelsupplösning på tiden tycker jag. Även om det kan bli en hundradel fel.