Sadržaj:

GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: 3 koraka
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: 3 koraka

Video: GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: 3 koraka

Video: GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno .: 3 koraka
Video: 🎄Упражнение для Пищеварения в Праздники! 2024, Srpanj
Anonim
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Niska cijena. Točno

*******************************************************************************

STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP

Ovo je zastarjeli projekt.

Umjesto toga provjerite moju novu verziju 2x16 lcd ekrana koja je dostupna ovdje:

www.instructables.com/id/GPSDO-YT-10-Mhz-L…

Ostavio sam staru verziju ovdje radi dokumentacije.

*******************************************************************************

Bok ljudi, Što je GPSDO? GPSDO znači: GPS disciplinirani oscilator. GPS za globalni sustav pozicioniranja. Svi GPS sateliti opremljeni su sinkroniziranim atomskim satom. GPS modul prima ove signale s nekoliko satelita. I triangulacijom, on zna gdje se nalazi. No, ono što nas zanima je puls u sekundi koji se nalazi na modulu. Ovim preciznim impulsom (iz atomskog sata) možemo napraviti vrlo vrlo precizan oscilator. Za što ? Za referencu, za kalibraciju brojača frekvencija ili samo za zabavu imati ga u svom laboratoriju.

Mnogo je shema na internetu. Probao sam neke. Neki su dobri, jedan sa sićušnim 2313 bio je 5 herca prespor. Ali moj je najjednostavniji, najkorisniji i najprikladniji. Ja vam dajem.hex kôd. Oni nisu VCO i nikakav razdjelnik. Krug s VCO -om ide dobro. Ali, mora imati neprekidno pulsni signal od 10 kHz ili više. Ako antena postane preslaba, nedostaje ili nema pulsa, oscilator (ocxo) radi sam i VFC (kontrola frekvencije napona) više nije točan. Za povratnu informaciju VCO -a potrebna je referentna frekvencija. Ako ne, varira od 1 do 2 Herca! Također, jeftiniji GPS modul ne radi u ovoj konfiguraciji. Moramo imati najmanje 10 kHz da napravimo VCO. Pokušao sam s 1000 herca. Razmak je bio prevelik. Učestalost je varirala. Dakle, s ublox neo-6m ne možete napraviti sjajan vco gpsdo jer je maksimalna izlazna frekvencija 1000Hz. Morate kupiti neo-7m ili gornji.

Ovako radi moj GPSDO YT. Regulator je pronašao dobru prilagodbu za bilo koji OCXO s vfc 0 do 5v. Ako izgubimo signal liječnika opće prakse, frekvencija se uopće ne pomiče. Kad se signal ponovno pojavi, kontroler uzima posljednju poznatu dobru vrijednost i nastavlja kao i do sada. Na opsegu, s referentnim oscilatorom. Ne možemo reći kada je signal izgubljen ili kada se vratio. Signal je isti.

Nakon kalibracije možete koristiti gpsdo bez antene ako želite. Nekoliko nosača kasnije imat ćete vrlo malo zanošenja. Ali…. koliko veće? Vrijeme je za neko objašnjenje.

Evo malo matematike … Laka matematika, slijedite me s ovim, lako je. Do sada algoritam ima 6 faza. Svaka faza uzima uzorak od 1 do 1000 sekundi, pronašla je dobro podešavanje pwm -a i otišla na većinu dužih uzoraka radi veće točnosti.

Točnost = ((((Broj sekunde x 10E6) + 1)/broj sekunde) - 10E6

Faza 1, 1 drugi uzorak za 10 000 000 računa se za točnost od +1 Hz

faza 2, uzorak od 10 sekundi za 100 000 000 računa se za točnost od -0,1Hz

Uzorak faze 3, 60 sekundi za 600 000 000 računa se za točnost +-0,01666 Hz

Faza 4, 200 sekundi Uzorak za 2 000 000 000 000 računa se za točnost +-0,005 Hz

Uzorak faze 5, 900 sekundi za 9 000 000 000 000 računa se za točnost +-0,001111 Hz

Faza 6, uzorak od 1000 sekundi za 10 milijardi računa se za točnost od -0,001 Hz

Najgori slučaj. Kad dobijemo fazu 6. Taj se broj može mijenjati svakih 1000 sekundi ili ne. neko će vrijeme biti 10, 000, 000, 001 ili 9, 999, 999, 999 Dakle, +ili - 0, 000, 000.001 varijacija za 1000s. Sada moramo znati vrijednost za 1 sekundu.

10Mhz = 1 sekunda

Za 1 sekundu = 10, 000, 000, 001 broj/1000s = 10, 000, 000.001 Hz (najgori slučaj za 1 sekundu)

10, 000, 000.001 - 10, 000, 000 = 0,001 Hz/s brže ili sporije

0,001Hz X 60 X 60 X24 X365 = 31536 Hz/godine

Zato zapamtite, 10 Mhz je 1 sekunda, 31536Hz X 1 / 10E6 = 0, 0031536 sekunda / godina

Još jedna brža metoda izračuna. jedan propust za 10E9Mhz je 1/10E9 = 1E-10

1E-10 x 60x60x24x365 = 0, 0031536 sekunda/godina.

Je li vam to dovoljno točno?

međutim, morate imati dobar OXCO. Više volim sinusni izlaz za dvostruku pećnicu 12v. Stabilniji, tiši i točniji. Ali ja imam isti rezultat s jednostavnim 5V. Na primjer, stp 2187 ima kratko vrijeme stabilnosti (allansko odstupanje) 2x10-12 = 0.000, 000, 000, 002 Hz stabilnosti. U isto vrijeme, kada je GPS impuls dostupan, Avr će uvijek ispraviti pwm (frekvenciju). UC uvijek broji … uvijek. To znači da na ekranu nećete vidjeti datum i vrijeme. Kad uC uzorkuje 900s, ovaj je zauzet 900 sekundi. Mora računati cijeli sat. Problem je što uC radi na 10Mhz. Svaki sat se mora računati. To se samo računa. Ako nedostaje samo jedan sat uzorak neće biti dobar i podešavanje pwm -a neće biti ispravno. Ne mogu osvježavati zaslon svake sekunde.

Kad započne uzorkovanje. Uc počinje brojati timer0. Svaki 256 sat generira prekid. X registar se povećava. kada je pun Y registar se povećava i X se vraća na 0 i tako dalje. Na kraju, na posljednjem pulsu u GPS -u, brojanje se zaustavlja. I sada i samo sada mogu ažurirati zaslon i napraviti matematiku za izračun pwm -a.

znajući to, imam samo 25, 6 nas (256 sati prije prekida) za čitanje i prikaz vremena ili drugo. To je nemoguće. Jedan prekid se može ublažiti, a ne 2. Mogao bih osvježiti vrijeme nakon 1000s … ali neće biti praktično vidjeti vrijeme u intervalu od 15, 16 minuta. Imam sat, sat, mobitel da znam vrijeme:) Radim referencu od 10Mhz. Nije sat.

Još jedan problem koji sam imao, neke avr instrukcije imaju 2 ciklusa. Uključujući i rjmp upute. To znači da ako se prvi ili zadnji impuls GPS -a pojavio u isto vrijeme instrukcije od 2 ciklusa, uC će propustiti sat. Budući da će uC dovršiti instrukciju prije početka prekida. Dakle, brojač će se pokrenuti ili zaustaviti jedan ciklus kasnije. Tako da ne mogu napraviti vremensko čekanje … Ali u stvari, nemam drugog izbora. Morao sam negdje petlju !! I Dakle, koristim rjmp i nop (ovo ne radi ništa) upute. Nop je uputa za jedan ciklus. Na atmega48 sam stavio 400 nop uputstava za jedan rjmp. 2000. na verzijama atmega88 i atmega328p. Dakle, manje su šanse da prvi ili zadnji puls dođu po rjmp uputi. Ali da, moguće je i ako se to dogodi, ova će se pogreška ispraviti pri sljedećem uzorkovanju.

Zaslon je opcijski. Možete raditi samo sa, uC, OCXO i niskopropusnim filterom (otpornički kondenzator), uključiti i pričekati. Nakon 1 sata imat ćete prihvatljivu frekvenciju. No da bi se došlo do faze 6. Potrebno je nekoliko sati.

Pwm je 16 bita. 65535 korak. 5v/65535 = 76, 295 uV

OCXO varijacija je 2Hz za 1V. 1v/76, 295uV = 13107 korak za 2 hz. 2/13107 = 152,59uHz u koracima pwm

Faza 5 mijenja pwm za 3, faza 6 je 2. korak … Zašto 3? jer 3 mijenja frekvenciju za 0.000, 000, 000, 4 na ljestvici od 15 minuta. i 4 je moj čarobni broj u mom algoritmu. Na primjer, ako je u prvoj fazi, prva pronađena frekvencija je 10.000, 003Mhz. Spuštam se dolje za 0, 000, 000.4 korak.

Preveliki korak može proći od 10.000003 do 10.000001 i nakon 9, 999998Hz. Nedostaje mi cilj.

S 0, 0000004. Brže je od 0, 1 i sigurniji sam da neću zaobići broj. I tako dalje. Radim isto sa fazom od 10 sekundi, 60 sekundi i 200s i 900s. 1000s je u načinu rada i koristite pwm korak od 2

Imajte na umu da je faza 5 dulje za postizanje. Jaz između 4 i 5 je veći. Ali pomaže da brže prođete od 5 do 6.

Kad faza 6 broji točno 10 milijardi, pwm vrijednosti spremaju se u eeprom. Sada je vrijeme za način rada. Ovaj broji 1000 sekundi uzorka, ali samo u 2 koraka pwm. U načinu rada stvarna frekvencija se prikazuje i ažurira u intervalu od 1000 sekundi. Ako se signal izgubi u načinu rada, on prolazi u samostalnom radu. U ovom načinu rada nema promjene pwm -a. Kad se signal vrati, vraća se u fazu 5 radi ponovne sinkronizacije.

Ako je krug isključen nakon spremanja eeproma. Ovaj će započeti u fazi 5 pri uključivanju s eeprom pwm vrijednosti.

Za brisanje vrijednosti eeproma samo pritisnite gumb pri pokretanju. Pwm 50% će biti opterećeno, a kalibracija će započeti od faze 1.

Prolazim mnogo sati da isprobam različite stvari, konfiguraciju kola. Napravio sam mnogo testova, s OP pojačalom, međuspremnikom i drugim čipom. I na kraju … najbolji rezultat koji sam dobio ne treba. Samo dobro stabilno napajanje i neki kondenzator za filtriranje. Tako da ovo držim jednostavnim.

Korak 1: Kupite dijelove

Kupite dijelove
Kupite dijelove
Kupite dijelove
Kupite dijelove
Kupite dijelove
Kupite dijelove

Prvo što trebate učiniti je kupiti dijelove. Budući da je dostava često vrlo duga.

GPS modul: Koristim ublox neo-6m. Ovaj sam kupio na ebayu. Pretražite, to košta oko 7 do 10 američkih dolara.

Prema zadanim postavkama, na ovom prijemniku je omogućen 1 impuls u sekundi. Ne moramo ništa učiniti.

Možete koristiti bilo koji GPS modul s izlazom od 1 Hertz. Imate jedan. Iskoristi to!

OCXO: Pokušao sam s 2 oscilatora. Dvostruka pećnica stp2187 12V sinusni izlaz. I ISOTEMP 131-100 5V, kvadratni valni izlaz. Oboje dolaze s radioparts16 na ebayu. Imao sam jako dobru uslugu od njih i cijena je bila niža.

AVR: Kod stane na malo atmega48. Ali predlažem da kupite atmega88 ili atmega328p. Gotovo ista cijena. Kupite ovo na digikeyu ili ebayu. Koristim dip verziju. Možete kupiti verziju za površinsko montiranje, ali obratite pažnju, igle nisu iste na shemi.

Lcd zaslon: Bilo koji 4x20 HD44780 kompatibilan zaslon će raditi. Pogodite gdje sam kupio svoj:) Da na ebayu prije par godina. Sada je skuplje nego prije. Ali dostupno je ispod 20 USD.

Možda ću u bliskoj budućnosti napraviti kod za 2x16 zaslon. Ti prikazi koštaju samo 4 USD. A između vas i mene, prikaz u dva reda bio bi dovoljan.

Morate imati programera AVR ISP -a. Programiranje AVR -a nije poput Arduina. Arduino je već programiran za komunikaciju preko serijskog porta. Potpuno novi avr mora biti programiran s ISP -om ili paralelnim visokonaponskim programatorom. Ovdje koristimo isp.

74hc04 ili 74ac0, regulator volta 7812 i 7805, otpornici, kondenzator…. digikey, ebay

Korak 2: Evo sheme i Gpsdo_YT_v1_0.hex

Image
Image
Ovdje je shema i Gpsdo_YT_v1_0.hex
Ovdje je shema i Gpsdo_YT_v1_0.hex
Ovdje je shema i Gpsdo_YT_v1_0.hex
Ovdje je shema i Gpsdo_YT_v1_0.hex

Mislim da je shema sve što vam je potrebno za realizaciju ovog projekta. Možete koristiti bakrenu ploču s metodom jetkanja ili samo perforiranu ploču ako želite.

Možete koristiti bilo koju kutiju koju želite, ali predlažem metalnu kutiju. Ili samo na ploči za zabavu poput moje:)

Čekam produženje antene i bnc konektor da stavim svoj projekt u kutiju.

Morate odabrati pravi bit osigurača. Provjerite je li odabran vanjski oscilator. Ako imate problema s vanjskim oscilatorom, pokušajte s vanjskim kristalom. Sat low.ckdiv8 nije označen. Pogledajte sliku. Obratite pozornost, kada se vanjski sat spoji, morate osigurati vanjski sat za programiranje ili pokretanje koda. Drugim riječima, spojite oscilator u pin xtal1.

Usput … možete koristiti isti kôd za izradu brojača frekvencija s vratima od 1 sekunde. Samo unesite sat za mjerenje u xtal1 pin i imat ćete brojač frekvencije +-1 Hz.

Ažurirat ću projekt čim budem imao novih stvari.

U međuvremenu, ako vas projekt zanima, imate dovoljno materijala za početak, pa čak i završetak preda mnom

Učitao sam 2 videa, možete vidjeti prvu fazu i posljednju.

Na raspolaganju sam za bilo kakva pitanja ili komentare. Hvala vam.

26. veljače 2017 …. Dostupna verzija 1.1.

-atmega48 više nije podržana. Nedovoljno prostora.

-Dodani broj zaključanih satelita.

-Podrška 2x16 lcd. Ako imate 4x20, također će raditi. Ali u posljednjem retku 2 neće biti prikazano ništa.

Korak 3: Zapisi u Eepromu

Zapisi u Eepromu
Zapisi u Eepromu

Evo odlagališta eeproma nakon nekoliko sati rada. Objasnit ću kako se ovo čita. Opet, lako je:)

Na adresi 00, 01 pohranjena je pwm vrijednost. Čim faza 5 broji 9 milijardi, pwm vrijednost se ažurira svaki put kada brojač dosegne točno 10 milijardi.

Čim smo u fazi 5. Svi se brojevi pohranjuju u eeprom nakon pwm vrijednosti. Počnite s adrese 02, poslije 03 i tako dalje.

Ovaj primjer došao je iz mog ocxo -a od 5 volti. Možemo očitati pwm vrijednost 0x9A73 = 39539 decimalu na 65536. = 60, 33% ili 3.0165 Volt.

Dakle, adresa 00:01 je 0x9A73

Zatim možete pročitati 03. Za 9 000 000 000 003 Pwm sniženo je za 3 jer smo još u fazi 5

00 za 10 000 000 000 000 pwm boravak je netaknut i prelazimo u način rada (faza 6)

02 za 10 000 000 000,002 U tom slučaju pwm vrijednost se smanjuje s 2

01 za 10 000 000 0001 pwm vrijednost se smanjuje s 2

01 za 10 000 000 0001 pwm vrijednost se ponovno snižava s 2

00 za 10 000 000 000 000 pwm boravak je netaknut

00 za 10 000 000 000 000 pwm boravak je netaknut

00 za 10 000 000 000 000 pwm boravak je netaknut

Sada znate čitati eeprom. Svakih 1000 sekundi nova vrijednost upisuje se u eeprom. Kad je eeprom pun, ponovno se pokreće s adrese 2.

FF vrijednost znači 9, 999, 999.999

Pomoću ovog smeća možete pratiti točnost, bez ikakvog LCD zaslona.

Eeprom datoteku možete ispisati pomoću programatora za isp.

Nadam se da sam vam dao dovoljno informacija. Ako ne, javite mi. Savjeti, greške, bilo što.

Yannick

Preporučeni: