Mundarija:

GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq: 3 qadam
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq: 3 qadam

Video: GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq: 3 qadam

Video: GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq: 3 qadam
Video: Стандарт частоты GPS 10 МГц 2024, Iyul
Anonim
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq
GPSDO YT, intizomli osilator 10 MGts mos yozuvlar chastotasi. Arzon. Aniq

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

To'xtang, to'xtating, to'xtating

Bu eskirgan loyiha.

Buning o'rniga bu erda mavjud bo'lgan yangi 2x16 LCD displey versiyasini tekshiring:

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

Hujjatlar uchun bu erda eski versiyani qoldirdim.

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

Salom do'stlar, GPSDO nima? GPSDO degani: GPS intizomli osilator. Global joylashishni aniqlash tizimi uchun GPS. Barcha GPS yo'ldoshlari sinxronlashtirilgan atom soati bilan jihozlangan. GPS moduli bu signallarni bir nechta yo'ldoshlardan oladi. Va uchburchak yordamida u o'z o'rnini biladi. Ammo bu erda bizni qiziqtiradigan narsa bu modulda topiladigan soniyadagi zarba. Bu aniq zarba bilan (atom soati) biz juda aniq osilatorni qila olamiz. Nima uchun ? Malumot uchun, chastotali hisoblagichni kalibrlash uchun yoki uni laboratoriyada bo'lish zavqlanish uchun.

Ular Internetda juda ko'p sxematik. Men bir nechtasini sinab ko'rdim. Ba'zilar yaxshi, kichik 2313 bilan 5 gers juda sekin edi. Lekin meniki eng sodda, foydali va qulay. Va men sizga.hex kodini beraman. Ular VCO emas va ajratuvchi emas. VCO bilan ishlash yaxshi. Ammo u doimiy ravishda 10 kHz yoki undan yuqori impuls signaliga ega bo'lishi kerak. Agar antenna juda zaif, pulssiz yoki pulssiz bo'lsa, osilator (ocxo) o'z -o'zidan ishlaydi va VFC (kuchlanish chastotasini boshqarish) endi aniq emas. VCO -ning fikr -mulohazalarini saqlab qolish uchun mos yozuvlar chastotasi kerak. Agar yo'q bo'lsa, u 1 dan 2 Gertzgacha o'zgaradi! Bundan tashqari, arzonroq GPS moduli bu konfiguratsiyada ishlamaydi. VCO qilish uchun bizda kamida 10 kHz bo'lishi kerak. Men 1000 gerts bilan harakat qildim. Bo'shliq juda katta edi, chastota har xil edi. Ublox neo-6m bilan siz ajoyib vco gpsdo qila olmaysiz, chunki maksimal chiqish chastotasi 1000 Gts. Siz neo-7m yoki undan yuqori qismini sotib olishingiz kerak.

Mening GPSDO YT shunday ishlaydi. Tekshiruvchi vfc 0 dan 5v gacha bo'lgan har qanday OCXO uchun yaxshi sozlamani topdi. Agar biz GP signalini yo'qotib qo'ysak, chastota umuman o'zgarmaydi. Signal qayta paydo bo'lganda, boshqaruvchi o'zining oxirgi ma'lum qiymatini oladi va avvalgidek davom etadi. Malumot osilatori bilan. Qachon signal yo'qolganini yoki qachon qaytib kelganini aniqlay olmaymiz. Signal bir xil.

Kalibrlashdan so'ng, agar xohlasangiz, gpsdo -ni antennasiz ishlatishingiz mumkin. Bir necha tog'dan keyin sizda juda oz siljish bo'ladi. Lekin…. qanchalik katta? Bir oz tushuntirish vaqti keldi.

Mana, matematika… Matematikani osonlik bilan bajaring, bu menga oson. Hozircha algoritm 6 bosqichdan iborat. Har bir bosqich 1 dan 1000 soniyagacha namuna oladi, aniq pwm sozlamasini topdi va aniqlik uchun uzunroq namunalarga o'ting.

Aniqlik = (((soniya x 10E6) + 1)/soniya soni) - 10E6

1-bosqich, 10 000 000 uchun 1 soniyali namuna +- 1 Gts aniqlik uchun hisoblanadi

2-bosqich, 100 000 000 uchun 10 soniya namunasi +-0,1 Gts aniqlik uchun hisoblanadi

3-bosqich, 600 soniya uchun 60 soniya namunasi +-0.01666 Hz aniqligi uchun hisoblanadi

4-bosqich, 200 soniya 2 000 000 000 uchun namuna +-0,005 Gts aniqlik uchun hisoblanadi

5-bosqich, 90000 soniya namunasi 9 000 000 000 000 uchun +-0,001111 Hz aniqligi uchun hisoblanadi

6-bosqich, 10 soniya uchun 1000 soniya namunasi +-0.001 Hz aniqligi uchun hisoblanadi

Eng yomon holat. Biz 6 -bosqichni olsak, bu raqam har 1000 soniyada biroz o'zgarishi mumkin. vaqt o'tishi bilan 10 000 000 000 001 yoki 9 999 999 999 Shunday qilib +yoki - 0 000 000 000 000 o'zgaradi. Endi biz 1 soniya qiymatini bilishimiz kerak.

10 MGts = 1 soniya

1 soniya uchun = 10 000 000, 001 hisoblash/1000 soniya = 10 000 000 000,001 Gts (1 soniya uchun eng yomon holat)

10, 000, 000.001 - 10, 000, 000 = 0.001 Gts/s tezroq yoki sekinroq

0,001 Gts X 60 X 60 X24 X365 = 31536 Hz/yil

Yodingizda bo'lsin, 10 MGts - 1 soniya, 31536 Gts X 1 / 10E6 = 0, 0031536 soniya / yil

Hisoblashning yana bir tezkor usuli. 10E9Mhz uchun bitta o'tkazib yuborish 1/10E9 = 1E-10

1E-10 x 60x60x24x365 = 0, 0031536 soniya/yil.

Bu sizga etarlimi?

ammo, sizda yaxshi OXCO bo'lishi kerak. Men 12v sinusli ikkita o'choqli pechni afzal ko'raman. Yana barqaror, jim va aniqroq. Ammo men oddiy 5V bilan bir xil natijaga erishdim. Misol uchun, stp 2187 2x10-12 = 0.000, 000, 000, 002 Gts barqarorlik qisqa vaqt ichida (allan og'ish) barqarorlikka ega. Shu bilan birga, gps puls mavjud bo'lganda, Avr har doim pwm (chastota) ni to'g'rilaydi. UC har doim hisoblaydi … har doim. Bu shuni anglatadiki, ekranda sana va vaqtni ko'rmaysiz. UC 900 -larni tanlayotganda, u 900 soniya band bo'ladi. U butun soatni hisoblashi kerak. Muammo shundaki, uC 10 MGts da ishlaydi. Har bir soatni hisoblash kerak. Bu o'z -o'zidan hisoblanmoqda. Agar bitta soat yetishmasa, namuna yaxshi bo'lmaydi va pwm sozlamalari to'g'ri bo'lmaydi. Men ekranni har soniyada yangilay olmayman.

Namuna olish boshlanganda. Taymerni hisoblashni boshlang0. Har 256 soat uzilishni keltirib chiqaradi. X reestri ortadi. to'liq bo'lganda, Y reestri ko'payadi va X 0 ga qaytariladi va hokazo. Oxir -oqibat, u nihoyat bitta gps puls oladi, hisob to'xtaydi. Va hozir va faqat men displeyni yangilashim va pwm hisoblash uchun matematikani bajarishim mumkin.

shuni bilganimdek, menda vaqtni yoki boshqa vaqtni o'qish va ko'rsatish uchun faqat 25, 6 bizda (uzilishdan oldin 256 soat) bor. Bu mumkin emas. Vaqtni 1000 -yillardan keyin yangilashim mumkin edi, lekin vaqtni 15, 16 daqiqali interval bilan ko'rish amaliy bo'lmaydi. Vaqtni bilish uchun menda soat, soat, uyali telefon bor:) Men 10 MGts ga mos yozuvlar qilyapman. Soat emas.

Menda bo'lgan yana bir muammo, ba'zi avr yo'riqnomasida 2 tsikl bor. Rjmp ko'rsatmasi, shu jumladan. Bu shuni anglatadiki, agar birinchi yoki oxirgi gps pulslari 2 tsikli ko'rsatma bilan bir vaqtda kelgan bo'lsa, uC soatni o'tkazib yuboradi. Chunki uC uzilishni boshlashdan oldin ko'rsatmani tugatadi. Shunday qilib, hisoblagich bir tsikldan keyin boshlanadi yoki to'xtaydi. Shunday qilib, men kutish davrini qila olmayman … Lekin, aslida, menda boshqa iloj yo'q. Men bir joyga aylanishim kerak edi !! Men shuning uchun rjmp va nop (bu hech narsa qilmaydi) ko'rsatmasidan foydalanaman. Yo'q, bir davrli ko'rsatma. Men atmega48 da bitta rjmp uchun 400 nop ko'rsatma qo'ydim. 2000 atmega88 va atmega328p versiyalarida. Birinchi yoki oxirgi zarba rjmp buyrug'i bilan kelishi ehtimoli kamroq. Ha, bu mumkin va agar bu sodir bo'lsa, bu xato keyingi tanlovda tuzatiladi.

Displey ixtiyoriy. Siz faqat uC, OCXO va past o'tkazgichli filtr (rezistorli kondansatör) bilan kontaktlarning zanglashiga olib, yoqing va kuting. 1 soatdan keyin siz qabul qilinadigan chastotaga ega bo'lasiz. Ammo 6 -bosqichga o'tish uchun bir necha soat kerak bo'ladi.

Pwm - 16 bit. 65535 qadam. 5v/65535 = 76, 295 uV

OCXO o'zgarishi 2 Gts dan 1 V gacha. 1v/76, 295uV = 2 hz uchun 13107 qadam. 2/13107 = 152.59uHz pwm bosqichida

5 -bosqich, pwmni 3 ga o'zgartiradi, 6 -bosqich - 2 -qadam … Nima uchun 3? chunki 3 - 15 minutlik shkalada 0.000, 000, 000, 4 ga chastotani o'zgartiradi. va 4 - mening algoritmdagi sehrli raqamim. Misol uchun, agar birinchi bosqichda birinchi topilgan chastota 10.000, 003 MGts. Men 0, 000, 000.4 qadam pastga tushaman.

Juda katta qadam 10.000003 dan 10.000001 gacha va 9, 999998 Gts dan keyin o'tishi mumkin. Men maqsadni sog'indim.

0, 0000004 bilan. Bu 0, 1 dan tezroq va men raqamni chetlab o'tmasligiga ishonchim komil. Va hokazo. Men ham xuddi shunday qilaman 10 soniya, 60 soniya va 200s fazasi va 900s. 1000s ish rejimida va pwm 2 qadamidan foydalaning

E'tibor bering, 5 -bosqichga erishish uchun ko'proq vaqt kerak. 4 va 5 o'rtasidagi farq katta. Ammo bu 5 dan 6 gacha tezroq o'tishga yordam beradi.

6 -bosqich aniq 10 milliardni sanab bo'lgach, pwm qiymatlari eepromda saqlanadi. Endi ish rejimiga o'tish vaqti keldi. Bu 1000 soniya namunadir, lekin faqat 2 qadamli pwm bilan. Ishlash rejimida haqiqiy chastota 1000 soniya oralig'ida ko'rsatiladi va yangilanadi. Agar signal ishlayotgan vaqtda yo'qolsa, u o'z -o'zidan ishlaydi. Ushbu rejimda pwm o'zgarmaydi. Signal qaytganda, u 5 -bosqichga qaytadi va sinxronizatsiya qilinadi.

Agar eeprom saqlanganidan keyin elektr tarmog'idan uzilgan bo'lsa. Bu 5 -bosqichda eeprom pwm qiymati bilan yoqilganda boshlanadi.

Eeprom qiymatini o'chirish uchun ishga tushganda tugmani bosish kifoya. Pwm 50% yuk bo'ladi va kalibrlash 1 -bosqichdan boshlanadi.

Men har xil narsalarni, sxemani konfiguratsiyasini sinab ko'rish uchun ko'p soat sarflayman. Men OP amp, bufer va boshqa chip bilan ko'plab testlarni o'tkazdim. Va oxirida … eng yaxshi natija menga kerak emas. Faqat yaxshi barqaror quvvat manbai va ba'zi filtrlovchi kondansatör. Shunday qilib, men buni sodda tutaman.

1 -qadam: ehtiyot qismlarni sotib oling

Ehtiyot qismlarni sotib olish
Ehtiyot qismlarni sotib olish
Ehtiyot qismlarni sotib olish
Ehtiyot qismlarni sotib olish
Ehtiyot qismlarni sotib olish
Ehtiyot qismlarni sotib olish

Birinchi narsa - ehtiyot qismlarni sotib olish. Chunki ko'pincha etkazib berish juda uzoq.

GPS moduli: Men ublox neo-6m dan foydalanayapman. Men buni ebaydan sotib oldim. Qidiring, uning narxi 7-10 AQSh dollarini tashkil qiladi.

Odatiy bo'lib, bu qabul qilgichda 1 soniya puls faollashtirilgan. Bizga hech narsa qilishning hojati yo'q.

Siz 1 gerttsli impulsli chiqish bilan har qanday gps modulidan foydalanishingiz mumkin. Sizda bittasi bor. Buni ishlat!

OCXO: Men 2 ta osilatorni sinab ko'rdim. Er -xotin o'choqli stp2187 12v sinus to'lqinli chiqish. Va ISOTEMP 131-100 5V, kvadrat to'lqin chiqishi. Ikkalasi ham ebaydagi radio qismlardan16 keladi. Men ulardan juda yaxshi xizmat oldim va narxi arzonroq edi.

AVR: Kod kichik atmega48 ga mos keladi. Lekin men atmega88 yoki atmega328p sotib olishni taklif qilaman. Bu deyarli bir xil narx. Buni ebay yoki digikey -dan sotib oling. Men dip versiyasini ishlataman. Siz sirtdan o'rnatish versiyasini sotib olishingiz mumkin, lekin diqqat qiling, pinlar sxemaga o'xshamaydi.

LCD displey: har qanday 4x20 HD44780 mos keladigan displey ishlaydi. Qayerdan sotib olganimni o'ylab ko'ring:) Ha, bir necha yil oldin ebayda. Endi u avvalgisidan qimmatroq. Ammo 20 AQSh dollaridan past narxda sotiladi.

Ehtimol, yaqin kelajakda men 2x16 displey uchun kod qilaman. Bu displeylar atigi 4 dollar. Siz va men oramizda 2 qatorli displey etarli bo'ladi.

Sizda AVR ISP dasturchisi bo'lishi kerak. AVR -ni dasturlash Arduino -ga o'xshamaydi. Arduino allaqachon ketma -ket portda muloqot qilish uchun dasturlashtirilgan. Yangi avr ISP yoki parallel yuqori kuchlanishli dasturchi bilan dasturlashtirilgan bo'lishi kerak. Biz bu erda isp dan foydalanmoqdamiz.

74hc04 yoki 74ac0, 7812 va 7805 voltli regulyator, rezistorlar, kondansatör … boshqa, ebay

2 -qadam: bu erda sxematik va Gpsdo_YT_v1_0.hex

Image
Image
Bu erda sxematik va Gpsdo_YT_v1_0.hex
Bu erda sxematik va Gpsdo_YT_v1_0.hex
Bu erda sxematik va Gpsdo_YT_v1_0.hex
Bu erda sxematik va Gpsdo_YT_v1_0.hex

O'ylaymanki, ushbu loyihani amalga oshirish uchun sxemasi kifoya. Agar xohlasangiz, siz mis bilan qoplangan taxtali o'yma usuli bilan yoki faqat teshilgan taxtadan foydalanishingiz mumkin.

Siz xohlagan qutidan foydalanishingiz mumkin, lekin men metall qutini taklif qilaman. Yoki men kabi non taxtasida:)

Men antennani uzaytirishni va bnc ulagichini loyihamni qutiga joylashtirishini kutmoqdaman.

Siz to'g'ri sug'urta bitini tanlashingiz kerak. Tashqi osilator tanlanganligiga ishonch hosil qiling. Agar sizda tashqi osilator bilan muammo bo'lsa, tashqi kristalni sinab ko'ring. Va low.ckdiv8 soati belgilanmagan. Rasmga qarang. E'tibor bering, tashqi soat biroz eriganida, siz dasturlash yoki kodni ishga tushirish uchun tashqi soatni berishingiz kerak. Boshqacha aytganda, osilatorni xtal1 piniga ulang.

Aytgancha, siz xuddi shu koddan foydalanib, 1 soniya eshikli chastota hisoblagichini ishlatishingiz mumkin. Faqat xtal1 pin bilan o'lchash uchun soatni kiriting va sizda +-1 Gts chastota hisoblagichi bo'ladi.

Men yangi narsalarni olsam, loyihani yangilayman.

Bu orada, agar loyiha sizni qiziqtirsa, uni mendan oldin boshlash va hatto tugatish uchun etarli materialingiz bor

Men 2 ta video yukladim, siz birinchi va oxirgi bosqichni ko'rishingiz mumkin.

Men har qanday savol yoki sharhlar uchun tayyorman. Rahmat.

2017 yil 26 -fevral … 1.1 versiyasi mavjud.

-atmega48 endi qo'llab -quvvatlanmaydi. Bo'sh joy etarli emas.

-Qo'shilgan sun'iy yo'ldoshlar soni qulflangan.

-2x16 lcd -ni qo'llab -quvvatlang. Agar sizda 4x20 bo'lsa, u ham ishlaydi. Lekin oxirgi 2 satrda hech narsa ko'rsatilmaydi.

3 -qadam: Eeprom -ga kirish

Eeprom tizimiga kiring
Eeprom tizimiga kiring

Mana, ish vaqtidan bir necha soat o'tgach, eeprom yig'indisi. Men buni qanday o'qishni tushuntiraman. Yana, bu oson:)

00, 01 manzilida pwm qiymati saqlanadi. 5 -bosqichda 9 milliard sanaladi, pwm qiymati har safar hisoblagich 10 milliardga yetganda yangilanadi.

Biz 5 -bosqichga o'tamiz. Barcha hisoblar pep qiymatidan keyin eepromda saqlanadi. 02 manzilidan boshlang, 03 dan keyin va hokazo.

Bu misol 5 voltli ocxo -dan keldi. Pwm qiymatini 0x9A73 = 39539 o'nlik kasrni 65536. = 60, 33% yoki 3.0165 voltda o'qishimiz mumkin.

Shunday qilib, 00:01 manzili - 0x9A73

Keyingi, siz 03 ni o'qishingiz mumkin. 9 000 000, 003 uchun Pwm 3 ga kamayadi, chunki biz hali 5 -bosqichdamiz.

00 10 000 000 000 000 pwm qolish uchun tegmang va biz ish rejimiga o'tamiz (6 -bosqich)

02 uchun 10 000 000 0002 Bunday holda, pwm qiymati 2 dan tushiriladi

01 uchun 10 000 000 000.001 pwm qiymati 2 dan tushirildi

01 uchun 10 000 000 000.001 pwm qiymati yana 2 dan tushirildi

PWM uchun 10 000 000 000 000 uchun 00 ga tegmang

PWM uchun 10 000 000 000 000 uchun 00 ga tegmang

PWM uchun 10 000 000 000 000 uchun 00 ga tegmang

Endi siz eepromni qanday o'qishni bilasiz. Har 1000 soniyada yangi qiymat eepromda yoziladi. Eeprom to'lganida, u 2 -manzildan qayta boshlanadi.

FF qiymati 9, 999, 999.999

Siz bu damping yordamida LCD displeysiz aniqlikni kuzatishingiz mumkin.

Siz eeprom faylini isp dasturchisi bilan tashlashingiz mumkin.

Umid qilamanki, men sizga etarli ma'lumot berdim. Agar yo'q bo'lsa, menga xabar bering. Maslahat, xato, hamma narsa.

Yannik

Tavsiya: