Talaan ng mga Nilalaman:

GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak .: 3 Mga Hakbang
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak .: 3 Mga Hakbang

Video: GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak .: 3 Mga Hakbang

Video: GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak .: 3 Mga Hakbang
Video: BG7TBL GPSDO (GPS Disciplined Oscillator) and 10 MHz Distribution Amplifier 2024, Hulyo
Anonim
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak
GPSDO YT, Disiplinang Oscillator 10Mhz Frequency ng sanggunian. Mura. Tumpak

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

STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP

Ito ay isang lipas na proyekto na.

Sa halip suriin ang aking bagong bersyon ng display na 2x16 lcd na magagamit dito:

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

Iniwan ko ang lumang bersyon dito para sa dokumentasyon.

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

Magandang araw kaibigan, Ano ang isang GPSDO? Nangangahulugan ang GPSDO: Ospillator na may disiplina sa GPS. GPS para sa pandaigdigang sistema ng pagpoposisyon. Ang lahat ng mga GPS satellite ay nilagyan ng naka-synchronize na atomic na orasan. Natanggap ng module ng GPS ang mga signal na ito mula sa maraming mga satellite. At sa pamamagitan ng triangulasyon, alam niya ang kanyang kinalalagyan. Ngunit narito, ang nakakainteres sa amin ay ang pulso bawat segundo na matatagpuan sa modyul. Sa tumpak na pulso na ito (mula sa atomic na orasan), maaari nating gawin ang isang napaka-tumpak na oscillator. Para saan ? Para sa sanggunian, para sa pagkakalibrate ng frequency counter o para lamang sa kasiyahan na magkaroon ng isa sa kanyang lab.

Ang mga ito ay maraming eskematiko sa internet. Sinubukan ko ang ilan. Ang ilan ay mabuti, ang isa na may isang maliit2313 ay 5 hertz masyadong mabagal. Ngunit ang sa akin ay ang pinaka-simple, kapaki-pakinabang at maginhawa. At binibigyan kita ng.hex code. Ang mga ito ay walang VCO at walang divider. Gumagawa ng maayos ang circuit sa VCO. Ngunit, dapat itong magkaroon ng isang signal ng pulso na 10khz o higit pa na tuloy-tuloy. Kung ang antena ay masyadong mahina, nawawala ang pulso o walang pulso, ang Oscillator (ocxo) ay tumatakbo nang mag-isa at ang VFC (Voltage Frequency Control) ay hindi tumpak na. Ang feedback ng VCO ay nangangailangan ng dalas ng sanggunian upang manatili. Kung hindi, nag-iiba ito mula 1 hanggang 2 Hertz! Gayundin, ang mas murang module ng gps ay hindi gagana sa pagsasaayos na ito. Dapat mayroon kaming hindi bababa sa 10khz upang makagawa ng isang VCO. Sinubukan ko sa 1000 hertz. Masyadong malaki ang puwang. Iba-iba ang dalas. Kaya sa isang ublox neo-6m hindi ka makakagawa ng isang mahusay na vco gpsdo dahil ang maximum na dalas ng output ay 1000Hz. Dapat kang bumili ng isang neo-7m o itaas.

Ganito gumagana ang aking GPSDO YT. Natagpuan ng controller ang mahusay na pagsasaayos para sa anumang OCXO na may vfc 0 hanggang 5v. Kung maluwag ang signal namin ng GPs, ang paggalaw ay hindi talaga gumagalaw. Kapag muling lumitaw ang signal, kukuha ng controller ang kanyang huling kilalang mabuting halaga at magpatuloy tulad ng dati. Sa saklaw, na may isang reference oscillator. Hindi namin masasabi kung kailan nawala ang signal o kung kailan ito bumalik. Ang signal ay pareho.

Pagkatapos ng pagkakalibrate, maaari mong gamitin ang gpsdo nang walang antena kung nais mo. Ang ilang mga pag-mount sa paglaon ay magkakaroon ka ng isang maliit na naaanod. Ngunit …. gaano kalaki? Oras na para sa ilang paliwanag.

Narito ang ilang Matematika … Madaling matematika, sundan ako ng madali ito. Sa ngayon ang algorithm ay may 6 na yugto. Ang bawat yugto ay tumatagal ng isang sample ng 1 hanggang 1000 segundo, natagpuan ang mahusay na pagsasaayos ng pwm at pumunta sa pinakamahabang mga sample para sa higit na kawastuhan.

Katumpakan = (((Bilang ng pangalawang x 10E6) + 1) / bilang ng pangalawa) - 10E6

Ang phase 1, 1 pangalawang sample para sa 10, 000, 000 ay binibilang para sa + - 1 Hz kawastuhan

sample 2, 10 segundo sample para sa 100, 000, 000 bilang para sa kawastuhan + -0.1Hz

Ang sample na Phase 3, 60 segundo para sa 600, 000, 000 ay binibilang para sa + -0.01666 Hz kawastuhan

Ang phase 4, 200 segundo Sample para sa 2, 000, 000, 000 ay binibilang para sa + -0.005 Hz kawastuhan

Ang sample na Phase 5, 900 segundo para sa 9, 000, 000, 000 ay binibilang para sa + -0.001111 Hz kawastuhan

Ang sample na Phase 6, 1000 segundo para sa 10 bilyong bilang para sa + -0.001 Hz kawastuhan

Pinakamasamang kaso. Kapag nakakuha kami ng yugto 6. Ang numerong ito ay maaaring magbago nang kaunti bawat 1000 segundo o hindi. ilang oras ay magiging 10, 000, 000, 001 o 9, 999, 999, 999 Kaya, + o - 0, 000, 000.001 na pagkakaiba-iba para sa 1000s. Ngayon dapat nating malaman ang halaga para sa 1 segundo.

10Mhz = 1 segundo

Para sa 1 segundo = 10, 000, 000, 001 bilang / 1000s = 10, 000, 000.001 Hz (pinakamasamang kaso para sa 1 segundo)

10, 000, 000.001 - 10, 000, 000 = 0.001 Hz / s mas mabilis o mas mabagal

0.001Hz X 60 X 60 X24 X365 = 31536 Hz / taon

Kaya tandaan, ang 10Mhz ay 1 segundo, 31536Hz X 1 / 10E6 = 0, 0031536 segundo / taon

Isa pang mas mabilis na pamamaraan para sa pagkalkula. isang miss fo 10E9Mhz ay 1 / 10E9 = 1E-10

1E-10 x 60x60x24x365 = 0, 0031536 segundo / taon.

Tama ba ang tumpak na para sa iyo?

gayunpaman, dapat kang magkaroon ng isang mahusay na OXCO. Mas gusto ko ang output ng Double Oven 12v Sinus. Mas matatag, tahimik at tumpak. Ngunit mayroon akong parehong resulta sa simpleng 5V. Para sa exemple, ang isang stp 2187 ay may isang katatagan maikling panahon (allan deviation) ng 2x10-12 = 0,000, 000, 000, 002 Hz ng katatagan. Sa parehong oras, kapag magagamit ang pulso ng gps, palaging itatama ng Avr ang pwm (dalas). Ang uC ay palaging nagbibilang … palagi. Nangangahulugan ito na sa pagpapakita ay hindi mo makikita ang petsa at oras. Kapag ang sample ng uC ay 900s, ang isang ito ay abala sa loob ng 900 segundo. Dapat itong bilangin ang lahat ng orasan. Ang problema ay tumatakbo ang uC sa 10Mhz. Dapat bilangin ang bawat relo. Nagbibilang ito ng sarili. Kung isang relo lamang ang nawawala ang sample ay hindi magiging mabuti at pwm na pagsasaayos ay hindi tama. Hindi ko ma-refresh ang display bawat segundo.

Kapag nagsimula ang sampling. Uc simulang bilangin ang timer0. Ang bawat 256 na orasan ay bumubuo ng isang pagkagambala. Ang X register ay nadagdagan. kapag puno na ang Y register ay nadagdagan at X reset sa 0 at iba pa. Sa dulo, sa huling huling gps pulse, ang bilang ay tumitigil. At ngayon at ngayon ko lamang maa-update ang display at gumawa ng ilang matematika para sa pagkalkula ng pwm.

alam na, mayroon lamang ako 25, 6 sa amin (256 na orasan bago magambala) upang basahin at ipakita ang oras o iba pa. Imposible. Ang isang pagkagambala ay maaaring mapuruhan, hindi 2. Maaari kong i-refresh ang oras pagkatapos ng 1000s … ngunit hindi praktikal na makita ang oras na may 15, 16 minuto na agwat. Mayroon akong isang relo, isang orasan, isang cell phone upang malaman ang oras:) Gumagawa ako ng isang sanggunian na 10Mhz. Hindi isang orasan.

Ang isa pang problema na mayroon ako, ang ilang mga pagtuturo ng avr ay may 2 cycle. Kasama ang tagubilin sa rjmp. Nangangahulugan ito kung ang una o huling gps pulse ay dumating up sa parehong oras ng isang 2 cycle ng pagtuturo, ang uC ay makaligtaan ng isang orasan. Dahil tatapusin ng uC ang tagubilin bago simulan ang abala. Kaya't ang counter ay magsisimula o titigil sa isang ikot sa paglaon. Kaya't hindi ako makakagawa ng isang oras ng paghihintay loop … Ngunit sa katunayan, wala akong ibang pagpipilian. Kailangan kong mag-loop saanman !! Ako Kaya gumagamit ako ng rjmp at nop (wala itong ginagawa) na tagubilin. Ang Nop ay isang tagubilin sa isang ikot. Naglagay ako ng 400 nop na tagubilin para sa isang rjmp sa atmega48. 2000 sa bersyon ng atmega88 at atmega328p. Kaya't ang mga pagkakataong mas mababa sa una o huling pulso ay dumating sa pagtuturo ng rjmp. Ngunit oo posible at kung nangyari ito, maitatama ang error na ito sa susunod na sampling.

Opsyonal ang display. Maaari mong gawin ang circuit sa, uC, OCXO at low-pass filter (resistor capacitor) lamang, i-on at maghintay. Pagkatapos ng 1 oras magkakaroon ka ng isang katanggap-tanggap na dalas. Ngunit upang maabot ang yugto 6. Tumatagal ng ilang oras.

Ang Pwm ay 16 bits. 65535 hakbang. 5v / 65535 = 76, 295 uV

Ang pagkakaiba-iba ng OCXO ay 2Hz ng 1V. 1v / 76, 295uV = 13107 hakbang para sa 2 hz. 2/13107 = 152.59uHz sa pamamagitan ng hakbang ng pwm

Ang yugto 5, binabago ang pwm ng 3, ang yugto 6 ay 2. hakbang … Bakit 3? dahil ang 3 ay nagbabago ng dalas ng 0,000, 000, 000, 4 sa 15 minutong sukat. at 4 ang aking magic number sa aking algorithm. Para sa exemple, kung sa phase one, ang unang dalas na nahanap ay 10.000, 003Mhz. Ibaba ko ng 0, 000, 000.4 na hakbang.

Ang sobrang laking hakbang ay maaaring pumasa mula 10.000003 hanggang 10.000001 at pagkatapos ng 9, 999998Hz. Nawawala ako sa target.

Sa 0, 0000004. Mas mabilis ito sa 0, 1 at mas sigurado akong hindi bypass ang isang numero. At iba pa. Ginagawa ko ang pareho sa 10 segundo, 60 segundo at 200s phase at 900s. Ang 1000s ay tumatakbo na mode at gumagamit ng isang pwm na hakbang ng 2

Mangyaring tandaan na ang phase 5 ay mas mahaba upang makamit. Ang puwang sa pagitan ng 4 at 5 ay mas malaki. Ngunit makakatulong itong makapasa nang 5 hanggang 6 nang mas mabilis.

Kapag ang yugto 6 ay binibilang nang eksaktong 10 bilyon, ang mga halaga ng pwm ay nai-save sa eeprom. Ngayon, oras na para sa running mode. Ang isang bilang na ito ay 1000 segundo sample ngunit may 2 hakbang na pwm lamang. Sa running mode, ang tunay na dalas ay ipinapakita at na-update sa pagitan ng 1000 segundo. Kung nawala ang signal sa running mode pumasa ito sa sarili na pagtakbo. Walang pagbabago ng pwm sa mode na ito. Kapag bumalik ang signal, bumalik ito sa phase 5 upang muling pagsamahin.

Kung ang circuit ay unplug pagkatapos ng eeprom ay nai-save. Ang isang ito ay magsisimula sa phase 5 na may kapangyarihan na may halagang eeprom pwm.

Para sa pagbubura ng halagang eeprom, pindutin lamang ang pindutan sa pagsisimula. Ang Pwm 50% ay magkakarga at magsisimula ang pagkakalibrate mula sa phase 1.

Lumipas ako ng maraming oras upang subukan ang iba't ibang bagay, pagsasaayos ng circuit. Maraming mga pagsubok ang ginawa ko, kasama ang OP amp, buffer at iba pang maliit na tilad. At sa dulo … ang pinakamahusay na resulta na nakuha ko ay hindi kailangan ito. Isang mahusay lamang na matatag na supply ng kuryente at ilang pagsukat ng kapasitor. Kaya't pinapanatili ko itong simple.

Hakbang 1: Bumili ng Mga Bahagi

Bumili ng Mga Bahagi
Bumili ng Mga Bahagi
Bumili ng Mga Bahagi
Bumili ng Mga Bahagi
Bumili ng Mga Bahagi
Bumili ng Mga Bahagi

Ang unang bagay na dapat gawin ay bumili ng mga bahagi. Dahil madalas ang pagpapadala ay napakahaba.

Module ng Gps: Gumagamit ako ng isang ublox neo-6m. Binili ko ang isang ito sa ebay. Maghanap, nagkakahalaga ito ng 7 hanggang 10 us dolyar.

Bilang default, ang tagatanggap na ito ay may 1 pulso sa pamamagitan ng pangalawang pinagana. Wala tayong kailangang gawin.

Maaari mong gamitin ang anumang module ng gps na may 1 Hertz pulse output. Meron ka Gamitin mo yan!

OCXO: Sinubukan ko ang 2 oscillator. Isang dobleng oven stp2187 12v sine wave output. At isang ISOTEMP 131-100 5V, parisukat na output ng alon. Parehong nagmula sa radioparts16 sa ebay. Mayroon akong napakahusay na serbisyo mula sa kanila at ang presyo ay mas mura.

AVR: Pagkasyahin ang code sa isang maliit na atmega48. Ngunit iminumungkahi kong bumili ng isang atmega88 o atmega328p. Ito ay halos pareho ang presyo. Bilhin ito sa digikey o ebay. Ginagamit ko ang dip bersyon. Maaari kang bumili ng pang-itaas na bersyon ng mount, ngunit bigyang pansin, ang mga pin ay hindi pareho sa eskematiko.

Lcd display: gagana ang anumang 4x20 HD44780 katugmang pagpapakita. Hulaan kung saan ako bumili ng minahan:) Oo sa ebay ilang taon na ang nakakalipas. Ngayon mas mahal kaysa dati. Ngunit magagamit sa ilalim ng $ 20 US.

Marahil sa malapit na hinaharap, gagawa ako ng isang code para sa isang 2x16 display. Ang mga ipinapakita ay 4 $ lamang. At sa pagitan mo at ng akin, ang isang ipinakitang 2 linya ay sapat.

Dapat ay mayroon kang isang AVR ISP Programmer. Ang pagprograma ng isang AVR ay hindi tulad ng isang Arduino. Na-program na ang Arduino upang makipag-usap sa serial port. Ang isang bagong tatak ng avr ay dapat na program sa ISP o Parallel High Voltage Programmer. Gumagamit kami ng isp dito.

Isang 74hc04 o 74ac0, volt regulator 7812 at 7805, resistors, capacitor …. digikey, ebay

Hakbang 2: Narito ang Schematic at Gpsdo_YT_v1_0.hex

Image
Image
Narito ang Schematic at Gpsdo_YT_v1_0.hex
Narito ang Schematic at Gpsdo_YT_v1_0.hex
Narito ang Schematic at Gpsdo_YT_v1_0.hex
Narito ang Schematic at Gpsdo_YT_v1_0.hex

Sa palagay ko ang iskema lamang ang kailangan mo upang mapagtanto ang proyektong ito. Maaari kang gumamit ng isang board na nakasuot ng tanso na may paraan ng pag-ukit o butas na butas na butas kung gusto mo.

Maaari mong gamitin ang anumang kahon na gusto mo, ngunit iminumungkahi ko ang isang metal box. O sa isang breadboard lamang para sa kasiyahan tulad ng sa akin:)

Naghihintay ako para sa extension ng antena at bnc konektor upang ilagay ang aking proyekto sa isang kahon.

Dapat mong piliin ang tamang fuse bit. Tiyaking napili ang panlabas na oscillator. Kung nagkakaproblema ka sa External Oscillator, subukan ang External Crystal. At ang orasan ng low.ckdiv8 ay hindi naka-check. Tingnan ang larawan. Magbayad ng pansin, kapag ang panlabas na orasan ay nag-fuse ng kaunti, dapat kang magbigay ng isang panlabas na orasan sa programa o patakbuhin ang code. Sa madaling salita, ikonekta ang Oscillator sa xtal1 pin.

Sa pamamagitan ng paraan … maaari mong gamitin ang parehong code upang gawin ang isang frequency counter na may 1 segundo gate. Ipasok lamang ang orasan upang masukat sa xtal1 pin at magkakaroon ka ng isang -1 -1 Hz frequency counter.

Ina-update ko ang proyekto sa lalong madaling magkaroon ako ng mga bagong bagay.

Pansamantala, kung interesado ka ng proyekto, mayroon kang sapat na materyal upang magsimula at matapos pa ito sa harap ko

Nag-upload ako ng 2 video, makikita mo ang phase one at ang huli.

Magagamit ako para sa anumang mga katanungan o komento. Salamat.

Pebrero 26 2017…. Magagamit ang bersyon 1.1.

-atmega48 ay hindi na suportado. Hindi sapat na puwang.

-Added na bilang ng mga naka-lock na satellite.

-Suportahan ang 2x16 lcd. Kung mayroon kang isang 4x20, gagana rin. Ngunit ang 2 huling linya ay walang ipapakita.

Hakbang 3: Mag-log in sa Eeprom

Nag-log in sa Eeprom
Nag-log in sa Eeprom

Narito ang pagtapon ng eeprom pagkatapos ng ilang oras uf tumatakbo oras. Ipapaliwanag ko kung paano ito basahin. Muli, madali lang:)

Sa address 00, 01 ay nakaimbak ng halaga ng pwm. Sa lalong madaling panahon phase 5 bilangin 9 bilyon, pwm halaga ay na-update sa bawat oras na ang counter naabot eksaktong 10 bilyon.

Sa sandaling nasa phase 5 na kami. Ang lahat ng mga bilang ay nakaimbak sa eeprom pagkatapos ng halaga ng pwm. Magsimula sa address 02, pagkatapos ng 03 at iba pa.

Ang exemple na ito ay nagmula sa aking 5 volts ocxo. Mababasa natin ang pwm na halaga ng 0x9A73 = 39539 decimal sa 65536. = 60, 33% o 3.0165 Volt.

Kaya ang address 00:01 ay 0x9A73

Susunod, maaari mong basahin ang 03. Para sa 9, 000, 000, 003 Pwm ay ibinaba ng 3 dahil nasa phase 5 pa tayo

00 para sa 10, 000, 000.000 pwm manatili ay hindi nagalaw at pumasa kami sa running mode (phase 6)

02 para sa 10, 000, 000.002 Sa kasong iyon, ang halaga ng pwm ay ibinaba mula sa 2

01 para sa 10, 000, 000.001 pwm na halaga ay ibinaba mula sa 2

01 para sa 10, 000, 000.001 pwm na halaga ay ibinaba mula sa 2 muli

00 para sa 10, 000, 000.000 pwm manatili ay hindi nagalaw

00 para sa 10, 000, 000.000 pwm manatili ay hindi nagalaw

00 para sa 10, 000, 000.000 pwm manatili ay hindi nagalaw

Ngayon alam mo kung paano basahin ang eeprom. Ang bawat 1000 segundo bagong halaga ay nakasulat sa eeprom. Kapag puno ang eeprom, nagsisimula muli ito mula sa address 2.

Ang halaga ng FF ay nangangahulugang 9, 999, 999.999

Maaari mong sundin ang dump na ito ang kawastuhan, nang walang anumang LCD display.

Maaari mong itapon ang eeprom file sa isang isp programmer.

Inaasahan kong binigyan kita ng sapat na impormasyon. Kung hindi, ipaalam sa akin. Payo, error, anupaman.

Yannick

Inirerekumendang: