Sadržaj:

GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno .: 3 koraka
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno .: 3 koraka

Video: GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno .: 3 koraka

Video: GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno .: 3 koraka
Video: МОЩНЫЙ мультиметр UNI-T UT171B купить сегодня, или что лучше? 2024, Juli
Anonim
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno
GPSDO YT, referentna frekvencija discipliniranog oscilatora 10 Mhz. Jeftino. Tačno

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

STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP

Ovo je zastarjeli projekat.

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.

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

Zdravo momci, Šta je GPSDO? GPSDO znači: GPS disciplinirani oscilator. GPS za globalni sistem pozicioniranja. Svi GPS sateliti opremljeni su sinhronizovanim atomskim satom. GPS modul prima ove signale sa nekoliko satelita. I triangulacijom, on zna svoju lokaciju. No, ono što nas zanima je puls u sekundi koji se nalazi na modulu. Ovim preciznim impulsom (iz atomskog sata) možemo napraviti vrlo precizan oscilator. Zašto ? Za referencu, za kalibraciju brojača frekvencija ili samo za zabavu imati ga u svojoj laboratoriji.

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. Dajem vam.hex kod. Oni nisu VCO i nema razdjelnika. Krug s VCO -om ide dobro. Ali, mora imati impulsni signal od 10 kHz ili više neprekidno. 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. Probao sam sa 1000 herca. Jaz je bio prevelik. Učestalost je varirala. Dakle, s ublox neo-6m ne možete napraviti odličan vco gpsdo jer je maksimalna izlazna frekvencija 1000Hz. Morate kupiti neo-7m ili gornji.

Ovako funkcionira moj GPSDO YT. Kontroler je pronašao dobro podešavanje za bilo koji OCXO sa vfc 0 do 5v. Ako izgubimo signal liječnika opće prakse, frekvencija se uopće ne pomiče. Kad se signal ponovo 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? Vreme je za neko objašnjenje.

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

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

Faza 1, 1 drugi uzorak za 10 000 000 računa se za tačnost +- 1 Hz

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

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

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

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

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

Najgorem slučaju. Kad dobijemo fazu 6. Ovaj broj se može mijenjati svakih 1000 sekundi ili ne. neko vrijeme će to 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 drugi/god.

Je li vam to dovoljno tačno?

međutim, morate imati dobar OXCO. Više volim sinusni izlaz za dvostruku pećnicu 12v. Stabilniji, tiši i precizniji. Ali ja imam isti rezultat s jednostavnim 5V. Na primjer, stp 2187 ima stabilnost kratko vrijeme (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 uvek broji … uvek. To znači da na ekranu nećete vidjeti datum i vrijeme. Kada uC uzorkuje 900s, ovaj je zauzet 900 sekundi. Mora računati sav 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 prikaz 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 prikaz i napraviti neke matematičke izračune za pwm izračun.

znajući to, imam samo 25, 6 nas (256 sati prije prekida) da pročitam i prikažem vrijeme 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, mobilni telefon da znam vrijeme:) Radim referencu od 10 Mhz. Nije sat.

Još jedan problem koji sam imao, neke avr instrukcije imaju 2 ciklusa. Uključujuć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 instrukcija za jedan ciklus. Na atmega48 sam stavio 400 nop instrukcija za jedan rjmp. 2000 na verzijama atmega88 i atmega328p. Dakle, manje su šanse da prvi ili zadnji puls dođe po rjmp instrukciji. Ali da, moguće je i ako se to dogodi, ova će se greška ispraviti pri sljedećem uzorkovanju.

Ekran je opcionalan. Možete raditi samo sa, uC, OCXO i niskopropusnim filterom (otpornički kondenzator), uključiti i čekati. Nakon 1 sata imat ćete prihvatljivu frekvenciju. Ali da biste došli do faze 6. Potrebno je nekoliko sati.

Pwm ima 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 po koraku 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 skali od 15 minuta. i 4 je moj magični broj u mom algoritmu. Na primjer, ako je u prvoj fazi, prva pronađena frekvencija je 10.000, 003Mhz. Spuštam se za 0, 000, 000.4 korak.

Preveliki korak može proći od 10.000003 do 10.000001 i nakon 9, 999998Hz. Promašio sam metu.

Sa 0, 0000004. Brže je od 0, 1 i sigurniji sam da neću zaobići broj. I tako dalje. Isto radim sa fazama 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 duže za postizanje. Jaz između 4 i 5 je veći. Ali pomaže da brže pređete sa 5 na 6.

Kada faza 6 broji tačno 10 milijardi, pwm vrijednosti se spremaju u eeprom. Sada je vrijeme za način rada. Ovaj broji 1000 sekundi uzorka, ali samo sa 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 samohodnom načinu rada. Nema promjena pwm -a u ovom načinu rada. Kad se signal vrati, vraća se u fazu 5 radi resinhronizacije.

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

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

Prolazim mnogo sati da isprobam različite stvari, konfiguraciju kola. Radio sam mnoge testove, s OP pojačalom, baferom i drugim čipom. I na kraju … najbolji rezultat koji sam dobio ne treba. Samo dobro stabilno napajanje i neki kondenzator za filtriranje. Zato držim ovo jednostavno.

Korak 1: Kupite dijelove

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

Prvo što trebate učiniti je kupiti dijelove. Jer često je isporuka vrlo jako duga.

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

Podrazumevano, na ovom prijemniku je omogućen 1 impuls u sekundi. Ne moramo ništa da radimo.

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

OCXO: Probao sam 2 oscilatora. Dvostruka pećnica stp2187 12v sinusni izlaz. I ISOTEMP 131-100 5V, izlaz kvadratnog vala. Oboje dolaze sa radioparts16 na ebayu. Imao sam vrlo dobru uslugu od njih i cijena je bila niža.

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

Lcd ekran: Svaki 4x20 HD44780 kompatibilan ekran će raditi. Pogodite gdje sam kupio svoj:) Da na ebayu prije par godina. Sada je skuplje nego prije. Ali dostupno ispod 20 USD u SAD -u.

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

Morate imati AVR ISP programera. Programiranje AVR -a nije poput Arduina. Arduino je već programiran za komunikaciju na serijskom portu. 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 bakarnu 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 stave moj projekat 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 pažnju, kada se vanjski sat spoji, morate osigurati vanjski sat za programiranje ili pokretanje koda. Drugim riječima, povežite oscilator u pin xtal1.

Usput … možete koristiti isti kôd za izradu brojača frekvencija sa 1 sekundom. 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

Postavio sam 2 videa, možete vidjeti prvu fazu i posljednju.

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

26. februara 2017 …. Dostupna verzija 1.1.

-atmega48 više nije podržana. Nema dovoljno prostora.

-Dodat 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: Zapisnici u Eepromu

Evidencija u Eepromu
Evidencija u Eepromu

Evo deponije eeproma nakon nekoliko sati rada. Objasniću kako ovo da pročitam. 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 tačno 10 milijardi.

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

Ovaj primjer je došao iz mog okso sistema 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 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 sa 2

01 za 10 000 000 0001 pwm vrijednost je snižena sa 2

01 za 10 000 000 0001 pwm vrijednost se ponovo smanjuje sa 2

00 za 10, 000, 000.000 pwm boravak je netaknut

00 za 10, 000, 000.000 pwm boravak je netaknut

00 za 10, 000, 000.000 pwm boravak je netaknut

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

FF vrijednost znači 9, 999, 999.999

Pomoću ovog smeća možete pratiti preciznost, bez ikakvog LCD ekrana.

Možete ispisati eeprom datoteku pomoću programatora za ispitivanje.

Nadam se da sam vam dao dovoljno informacija. Ako ne, obavijestite me. Savjeti, greške, bilo šta.

Yannick

Preporučuje se: