Tartalomjegyzék:

GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos: 3 lépés
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos: 3 lépés

Videó: GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos: 3 lépés

Videó: GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos: 3 lépés
Videó: BG7TBL GPSDO (GPS Disciplined Oscillator) and 10 MHz Distribution Amplifier 2024, Július
Anonim
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos
GPSDO YT, fegyelmezett oszcillátor 10Mhz referenciafrekvencia. Alacsony költségű. Pontos

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

STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP

Ez egy elavult projekt.

Ehelyett nézd meg az új 2x16 lcd kijelzős verziómat, amely itt érhető el:

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

A régi verziót itt hagytam dokumentálásra.

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

Sziasztok srácok, Mi az a GPSDO? A GPSDO jelentése: GPS fegyelmezett oszcillátor. GPS a globális helymeghatározó rendszerhez. Minden GPS műhold szinkronizált atomórával van felszerelve. A GPS modul ezeket a jeleket több műholdról veszi. És háromszögeléssel tudja a helyét. De itt az az érdekes, ami a modulon található másodpercenkénti impulzus. Ezzel a pontos impulzussal (az atomórából) nagyon pontos oszcillátort tudunk csinálni. Minek ? Referenciaként, frekvenciaszámláló kalibrálásához, vagy csak szórakozásból, hogy legyen egy a laboratóriumában.

Sok sematikus az interneten. Néhányat kipróbáltam. Néhány jó, egy pici2313 -mal 5 hertz túl lassú volt. De az enyém a legegyszerűbb, hasznos és kényelmes. És megadom a.hex kódot. Ők nem VCO és nincs elválasztó. A VCO -val ellátott áramkör jól működik. De folyamatosan 10 khz vagy annál nagyobb impulzusjelet kell tartalmaznia. Ha az antenna túl gyenge, hiányzik az impulzus vagy nincs impulzus, akkor az oszcillátor (ocxo) magától működik, és a VFC (feszültségfrekvencia -szabályozás) már nem pontos. A VCO visszacsatoláshoz referenciafrekvencia szükséges. Ha nem, akkor 1 és 2 Hz között változik! Továbbá az olcsóbb gps modul nem működik ebben a konfigurációban. Legalább 10 khz -el kell rendelkeznünk a VCO létrehozásához. 1000 hertzzel próbáltam. A rés túl nagy volt. A gyakoriság változott. Tehát egy ublox neo-6m készülékkel nem tud nagyszerű vco gpsdo-t csinálni, mert a maximális kimeneti frekvencia 1000 Hz. Neo-7m vagy felsőt kell vásárolnia.

A GPSDO YT így működik. A vezérlő megtalálta a megfelelő beállítást minden OCXO esetén, amelynek vfc 0–5 volt. Ha elveszítjük a háziorvosok jelét, a frekvencia egyáltalán nem mozog. Amikor a jel újra megjelenik, a vezérlő elveszi az utolsó ismert jó értékét, és folytatja, mint korábban. Hatótávolságon, referencia oszcillátorral. Nem tudjuk megmondani, hogy mikor veszik el a jel, vagy mikor jött vissza. A jel ugyanaz.

A kalibrálás után használhatja a gpsdo -t antenna nélkül, ha akarja. Néhány rögzítéssel később nagyon kis sodródás lesz. De…. mennyivel nagyobb? Itt az ideje némi magyarázatnak.

Íme néhány matematika … Könnyű matek, kövess engem ezzel könnyű. Az algoritmus eddig 6 fázisból áll. Minden fázis 1–1000 másodperces mintát vesz, megtalálta a jó pwm -beállítást, és a legtöbb hosszabb mintához megy a nagyobb pontosság érdekében.

Pontosság = ((((másodperc száma x 10E6) + 1)/másodperc száma) - 10E6

1. fázis, 1 másodperces minta 10 000 000 számláláshoz +- 1 Hz pontossághoz

2. fázis, 10 másodperces minta 100 000, 000 számhoz +-0,1 Hz pontosság érdekében

3. fázis, 60 másodperces minta 600 000, 000 számhoz +-0,01666 Hz pontossághoz

4. fázis, 200 másodperc Minta 2 000 000 000 000 számláláshoz +-0,005 Hz pontossághoz

5. fázis, 900 másodperces minta 9 000, 000 000 számláláshoz +-0,001111 Hz pontossághoz

6. fázis, 1000 másodperces minta 10 milliárdért +-0,001 Hz pontossággal

Legrosszabb esetben. Amikor megkapjuk a 6. fázist. Ez a szám 1000 másodpercenként változhat egy kicsit, vagy sem. egy idő után 10 000, 000, 001 vagy 9, 999, 999, 999 Tehát +vagy - 0, 000, 000.001 variáció 1000 -es értékekre. Most ismernünk kell az értéket 1 másodpercig.

10Mhz = 1 másodperc

1 másodpercig = 10 000 000 000 001 szám/1000 másodperc = 10 000 000 0001 Hz (a legrosszabb eset 1 másodpercig)

10 000 000 0001 - 10 000 000 = 0,001 Hz/s gyorsabb vagy lassabb

0,001 Hz X 60 X 60 X24 X365 = 31536 Hz/év

Ne feledje, hogy a 10 MHz 1 másodperc, 31536 Hz X 1 / 10E6 = 0, 0031536 másodperc / év

Egy másik gyorsabb számítási módszer. a 10E9Mhz egyik hiánya 1/10E9 = 1E-10

1E-10 x 60x60x24x365 = 0, 0031536 másodperc/év.

Ez elég pontos neked?

azonban jó OXCO -val kell rendelkeznie. Én a dupla sütő 12v Sinus kimenetet részesítem előnyben. Stabilabb, csendesebb és pontosabb. De ugyanez az eredményem az egyszerű 5V -al. Például egy stp 2187 stabilitási ideje (allan eltérése) 2x10-12 = 0,000, 000, 000, 002 Hz. Ugyanakkor, ha elérhető a gps impulzus, az Avr mindig korrigálja a pwm (frekvenciát). Az uC mindig számít … mindig. Ez azt jelenti, hogy a kijelzőn nem látja a dátumot és az időt. Amikor az uC mintákat vesz 900 -ból, ez 900 másodpercig foglalt. Számolni kell az egész órát. A probléma az, hogy az uC 10Mhz -en fut. Minden órát számolni kell. Számolja magát. Ha csak egy óra hiányzik, a minta nem lesz jó, és a pwm beállítás nem lesz megfelelő. Nem tudom másodpercenként frissíteni a kijelzőt.

A mintavétel megkezdésekor. Uc elkezdi számlálni az időzítőt0. Minden 256 óra megszakítást generál. Az X regiszter növekszik. ha megtelt az Y regiszter, és X visszaáll 0 -ra, és így tovább. A végén, egy utolsó gps impulzusnál, a számlálás leáll. És most és csak most frissíthetem a kijelzőt, és matekozhatok a pwm számításhoz.

ennek tudatában csak 25, 6 (256 óra a megszakítás előtt) időm van olvasni és megjeleníteni az időt vagy más. Lehetetlen. Egy megszakítást le lehet csiszolni, nem pedig 2 -t. Felfrissíthetném az időt 1000 másodperc után… de nem lesz praktikus 15, 16 perces időközönként látni az időt. Van órám, órám, mobilom, hogy tudjam az időt:) 10Mhz -es referenciát csinálok. Nem egy óra.

Egy másik problémám volt, néhány avr utasításnak 2 ciklusa van. Beleértve az rjmp utasítást. Ez azt jelenti, hogy ha az első vagy az utolsó gps impulzus egy 2 ciklusos utasítással egy időben jelentkezett, akkor az uC nem fog órát hagyni. Mivel az uC befejezi az utasítást a megszakítás megkezdése előtt. Tehát a számláló egy ciklus múlva elindul vagy leáll. Tehát nem tudok várakozási ciklust csinálni… De valójában nincs más választásom. Lekerülnöm kellett valahova !! I Tehát rjmp és nop (ez nem tesz semmit) utasítást használok. A Nop egy egyciklusos utasítás. Felraktam 400 nop utasítást egy rjmp -re az atmega48 -on. 2000 atmega88 és atmega328p verzióban. Tehát kisebb az esélye, hogy az első vagy az utolsó impulzus az rjmp utasításra érkezik. De igen, ez lehetséges, és ha ez megtörténik, ezt a hibát a következő mintavételkor kijavítják.

A kijelző opcionális. Csak az uC, OCXO és az aluláteresztő szűrővel (ellenállás kondenzátor) kapcsolhat áramkört, kapcsolja be és várjon. 1 óra múlva elfogadható frekvenciát kap. De a 6. fázis elérése pár órát vesz igénybe.

A Pwm 16 bit. 65535 lépés. 5v/65535 = 76, 295 uV

Az OCXO variáció 2Hz 1V. 1v/76, 295uV = 13107 lépés 2 Hz -re. 2/13107 = 152,59uHz pwm lépésről lépésre

Az 5. fázis 3 -ra módosítja a pwm értéket, a 6. fázis 2. lépés … Miért 3? mert a 3 0,000, 000, 000, 4 -el változtatja a frekvenciát 15 perces skálán. és 4 a varázsszám az algoritmusomban. Például az első fázisban az első talált frekvencia 10.000, 003Mhz. 0 000 000 000 lépéssel lejjebb ereszkedek.

A túl nagy lépés áthaladhat 10.000003 -ról 10.000001 -re és 9, 999998Hz után. Hiányzik a cél.

0, 0000004. Gyorsabb, mint 0, 1, és biztosabb vagyok abban, hogy nem kerülök ki egy számot. Stb. Ugyanezt teszem 10 másodperc, 60 másodperc és 200 -as szakasz és 900 -as szakaszokkal. Az 1000s futó üzemmódban használja a 2 -es pwm lépést

Kérjük, vegye figyelembe, hogy az 5. fázis tovább tart. A 4 és 5 közötti rés nagyobb. De segít, ha 5 -ről 6 -ra gyorsabban halad.

Amikor a 6. fázis pontosan 10 milliárdot számlált, a pwm értékeket az eeprom menti. Most itt az ideje a futási módnak. Ez egy 1000 másodperces minta, de csak 2 lépés pwm. Futás üzemmódban a valós frekvencia megjelenik és frissül 1000 másodperces időközönként. Ha a jel futási módban elveszik, önállóan fut. Ebben a módban a pwm nem változik. Amikor a jel visszatér, visszatér az 5. fázisba az újraszinkronizáláshoz.

Ha az áramkör ki van húzva az eeprom mentése után. Ez az 5. fázisban kezdődik a bekapcsoláskor eeprom pwm értékkel.

Az eeprom érték törléséhez csak nyomja meg a gombot az indításkor. Pwm 50% lesz terhelve, és a kalibrálás az 1. fázistól kezdődik.

Sok órát töltök, hogy kipróbáljak más dolgokat, az áramkör konfigurációját. Sok tesztet végeztem, OP erősítővel, pufferrel és más chipekkel. És a végén… a legjobb eredményemre nincs szükségem. Csak egy jó stabil tápegység és néhány szűrő kondenzátor. Szóval én ezt leegyszerűsítem.

1. lépés: Alkatrészek vásárlása

Alkatrészek vásárlása
Alkatrészek vásárlása
Alkatrészek vásárlása
Alkatrészek vásárlása
Alkatrészek vásárlása
Alkatrészek vásárlása

Az első dolog az alkatrészek megvásárlása. Mert gyakran a szállítás nagyon -nagyon hosszú.

GPS modul: ublox neo-6m-t használok. Ezt vettem az ebay -en. Keressen, ez körülbelül 7-10 dollárba kerül.

Ennek a vevőnek alapértelmezés szerint az 1 másodperc impulzus engedélyezve van. Nem kell semmit tennünk.

Bármilyen gps modult használhat 1 Hz -es impulzus kimenettel. Neked van egy. Használd azt!

OCXO: Kipróbáltam 2 oszcillátort. Dupla kemence stp2187 12v szinuszhullámú kimenet. És egy ISOTEMP 131-100 5V, négyzethullámú kimenet. Mindkettő az eBay -en található radioparts16 -ból származik. Nagyon jó szolgáltatást kaptam tőlük, és az ár olcsóbb volt.

AVR: A kód illeszkedik egy kis atmega48 -ra. De azt javaslom, hogy vegyél egy atmega88 -at vagy atmega328p -t. Majdnem ugyanaz az ár. Ezt vedd meg a digikey -n vagy az ebay -en. A dip verziót használom. Vásárolhat felületre szerelhető változatot, de figyeljen arra, hogy a csapok nem azonosak a sematikus ábrával.

LCD kijelző: Bármilyen 4x20 HD44780 kompatibilis kijelző működik. Találd ki, hol vettem az enyémet:) Igen, az ebay -en pár éve. Most drágább, mint korábban. De 20 dollár alatt kapható.

Talán a közeljövőben csinálok egy kódot egy 2x16 -os kijelzőhöz. Ezek a kijelzők csak 4 dollárba kerülnek. Közted és köztem elég egy 2 soros kijelző.

Rendelkeznie kell AVR ISP programozóval. Az AVR programozása nem olyan, mint egy Arduino. Az Arduino már be van programozva a soros porton történő kommunikációra. Egy vadonatúj avr -t ISP -vel vagy párhuzamos nagyfeszültségű programozóval kell programozni. Itt isp -t használunk.

74hc04 vagy 74ac0, 7812 és 7805 volt -szabályozó, ellenállások, kondenzátor…. digikey, ebay

2. lépés: Itt a vázlatos és a Gpsdo_YT_v1_0.hex

Image
Image
Itt található a sematikus és a Gpsdo_YT_v1_0.hex
Itt található a sematikus és a Gpsdo_YT_v1_0.hex
Itt található a sematikus és a Gpsdo_YT_v1_0.hex
Itt található a sematikus és a Gpsdo_YT_v1_0.hex

Úgy gondolom, hogy csak a sematika szükséges a projekt megvalósításához. Használhat réz borítású táblát maratási módszerrel, vagy csak perforált táblát, ha úgy tetszik.

Bármilyen dobozt használhat, de én fémdobozt javaslok. Vagy csak kenyérpulton szórakozásból, mint az enyém:)

Várom, hogy az antennahosszabbító és a bnc -csatlakozó dobozba tegye a projektemet.

Ki kell választania a megfelelő biztosítékot. Győződjön meg arról, hogy a külső oszcillátor van kiválasztva. Ha problémái vannak a külső oszcillátorral, próbálja meg a Külső kristályt. És az alacsony.ckdiv8 óra nincs bejelölve. Lásd a képen. Vigyázzon, ha a külső óra bit összeolvad, akkor külső kódot kell biztosítania a kód programozásához vagy futtatásához. Más szóval, csatlakoztassa az oszcillátort az xtal1 érintkezőbe.

Egyébként… ugyanazt a kódot használhatja 1 másodperces kapuval rendelkező frekvenciaszámláló készítéséhez. Csak írja be a mérni kívánt órát az xtal1 érintkezőbe, és kap egy +-1 Hz-es frekvenciaszámlálót.

Frissítem a projektet, amint új dolgokkal rendelkezem.

Addig is, ha a projekt érdekli, elegendő anyaggal rendelkezik ahhoz, hogy elkezdje, sőt befejezze azt előttem

2 videót töltöttem fel, az első és az utolsó fázis látható.

Bármilyen kérdéssel vagy észrevétellel állok rendelkezésre. Köszönöm.

2017. február 26. Elérhető az 1.1 verzió.

-atmega48 már nem támogatott. Nem elég hely.

-Hozzáadott számú műholdas zár.

-Támogatás 2x16 lcd. Ha 4x20 -asod van, az is működni fog. De az utolsó 2 sor nem jelenít meg semmit.

3. lépés: Jelentkezzen be az Eepromba

Naplók az Eepromban
Naplók az Eepromban

Itt van az eeprom lerakása pár óra uf futási idő után. Elmagyarázom, hogyan kell ezt olvasni. Ismét könnyű:)

A 00 címen a 01 tárolja a pwm értéket. Amint az 5. fázis 9 milliárdot számlál, a pwm érték minden alkalommal frissül, amikor a számláló eléri a pontosan 10 milliárdot.

Amint elérkeztünk az 5. fázishoz. Minden számot az eeprom tárol a pwm érték után. Kezdje a 02 címen, 03 után és így tovább.

Ez a példa az 5 voltos ocxomból származik. 0x9A73 = 39539 tizedes pwm értéket olvashatunk 65536. = 60, 33% vagy 3.0165 Volt értéken.

Tehát a 00:01 cím 0x9A73

Ezután a 0 -t olvashatja. 9, 000, 000, 003 esetén a Pwm 3 -mal csökken, mert még az 5. fázisban vagyunk

00 10 000 000 000 000 pwm tartózkodás esetén érintetlen, és futó üzemmódba lépünk (6. fázis)

02 esetén 10 000 000 0002 Ebben az esetben a pwm értéket 2 -ről csökkentjük

01 a 10 000 000 0001 pwm értékét 2 -ről csökkentik

01 10, 000, 000.001 pwm értékét 2 -ről ismét lecsökkentjük

00 10 000, 000 000 pwm tartózkodás esetén érintetlen

00 10 000 000 000 000 pwm tartózkodás esetén érintetlen

00 10 000 000 000 000 pwm tartózkodás esetén érintetlen

Most már tudja, hogyan kell olvasni az eepromot. Minden 1000 másodperc új értéket ír eepromban. Amikor az eeprom megtelt, újraindul a 2 -es címről.

Az FF érték 9, 999, 999,999

Ezzel a kiírással nyomon követheti a pontosságot, LCD kijelző nélkül.

Az eeprom fájlt egy ISP programozó segítségével kiírhatja.

Remélem, hogy elegendő információt adtam. Ha nem, tudassa velem. Tanács, hiba, bármi.

Yannick

Ajánlott: