Difference between revisions of "GPS Frequency Standard"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
(5 intermediate revisions by the same user not shown) | |||
Line 9: | Line 9: | ||
* [https://hackaday.io/project/186090-10-mhz-gps-frequency-standard Hackaday project page] | * [https://hackaday.io/project/186090-10-mhz-gps-frequency-standard Hackaday project page] | ||
* [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=gps+module+neo-7M&_sacat=0&LH_TitleDesc=0&rt=nc&_odkw=gps+module+neo-7&_osacat=0&LH_PrefLoc=2 NEO-7M GPS] | * [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=gps+module+neo-7M&_sacat=0&LH_TitleDesc=0&rt=nc&_odkw=gps+module+neo-7&_osacat=0&LH_PrefLoc=2 NEO-7M GPS] | ||
+ | ** Right Angle external antenna connector | ||
* [[QTPy49]] card | * [[QTPy49]] card | ||
− | ** [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/GPS/GPS_004.py CircuitPython code] fits into [[QT Py (SAMD based)]] | + | ** [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/lbcards/GPS/GPS_004.py CircuitPython code] fits into [[QT Py (SAMD based)]] |
+ | *** [[QT Py (RP2040 based)]] could be used as alternative | ||
** 3.3V, 48 MHz | ** 3.3V, 48 MHz | ||
* [[DRIVE50]] - 50 Ohm coax card | * [[DRIVE50]] - 50 Ohm coax card | ||
Line 20: | Line 22: | ||
** LED is on solid once output is enabled | ** LED is on solid once output is enabled | ||
* Fits into Aluminum Project Box Enclosure DIY 100*76*35mm - [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=100*76*35mm+aluminum&_sacat=0&LH_TitleDesc=0&_odkw=100*76*35mm+Aluminum+PCB+Instrument+Box+Enclosure+Electronic+Project+Case+Set&_id=174408274566 ebay search] | * Fits into Aluminum Project Box Enclosure DIY 100*76*35mm - [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=100*76*35mm+aluminum&_sacat=0&LH_TitleDesc=0&_odkw=100*76*35mm+Aluminum+PCB+Instrument+Box+Enclosure+Electronic+Project+Case+Set&_id=174408274566 ebay search] | ||
+ | * [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2334524.m570.l1313&_nkw=gps+antenna&_sacat=0&LH_TitleDesc=0&rt=nc&_odkw=gps+module+neo-7M&_osacat=0&LH_PrefLoc=2 External GPS Antenna] with SMA connector | ||
* Inspired by [http://www.scullcom.uk/design-build-a-gps-locked-frequency-standard-part-4/ Scullcom design] | * Inspired by [http://www.scullcom.uk/design-build-a-gps-locked-frequency-standard-part-4/ Scullcom design] | ||
Line 65: | Line 68: | ||
=== GPS Card === | === GPS Card === | ||
− | * GPS Satellite Positioning Module [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313&_nkw=NEO7M&_sacat=0 NEO7M] | + | * GPS Satellite Positioning Module NEO7M UBLOX Module |
+ | ** [https://www.ebay.com/sch/i.html?_from=R40&_trksid=p2380057.m570.l1313&_nkw=NEO7M&_sacat=0 EBay search for NEO7M] | ||
* Specifications: | * Specifications: | ||
* Working Voltage: 3.3v-5.0v | * Working Voltage: 3.3v-5.0v | ||
Line 90: | Line 94: | ||
** BNC is high quality (Amphenol) connector | ** BNC is high quality (Amphenol) connector | ||
− | === Alternate ( | + | === Alternate (Previous) Driver Design === |
− | * | + | * Previous design used modified [[PulseGen]] card to drive 50 Ohms at 3.3V level output |
** Remove oscillator circuit parts (R/C) | ** Remove oscillator circuit parts (R/C) | ||
** Only 1 BNC high quality (Amphenol) connector | ** Only 1 BNC high quality (Amphenol) connector |
Latest revision as of 11:32, 1 August 2022
Contents
Build V2 Features
Stand-alone design does not require PC. Generates a 10 MHz output after satellite lock.
- Hackaday project page
- NEO-7M GPS
- Right Angle external antenna connector
- QTPy49 card
- CircuitPython code fits into QT Py (SAMD based)
- QT Py (RP2040 based) could be used as alternative
- 3.3V, 48 MHz
- CircuitPython code fits into QT Py (SAMD based)
- DRIVE50 - 50 Ohm coax card
- Receives input from GPS output and drives 50 Ohm output on BNC
- Status LED
- Blinks in for 1 second at power up
- Goes off until serial communications are working
- Blinks on-off as data is received from GPS while waiting for Satellite signal lock
- LED is on solid once output is enabled
- Fits into Aluminum Project Box Enclosure DIY 100*76*35mm - ebay search
- External GPS Antenna with SMA connector
- Inspired by Scullcom design
Hardware
QTPy49 Card
- CPU choices are
- QT Py (SAMD based)
- QT Py (RP2040 based)
- XIAO ESP32C3
- SeeedStudio XIAO ESP32C3 (New 2022-07)
- RISC-V Single Core
- Up to 160 MHz
- 400 KB SRAM
- 4 MB Flash
- 2.4GHz Wi-Fi subsystem
- Wiki
- ESP32C3 Datasheet
- Connectors/Headers
- DC Power
- AD0 GVS
- AD1 GVS
- AD2 GVS
- AD3 GVS
- I2C with ground/VCC
- TX/RX with ground/VCC
- SPI with ground/VCC
- QTPy49 can be powered from with either the USB C or DC jack
- Automatic Schottky diode power switching between
- 5V from USB C
- 5V on external DC jack
- 7-12V on DC jack
- Automatic Schottky diode power switching between
- 49x49mm ODAS form factor
- (4) 4-40 mounting holes
GPS Card
- GPS Satellite Positioning Module NEO7M UBLOX Module
- Specifications:
- Working Voltage: 3.3v-5.0v
- Color: As Picture Shown
- Description:
- With micro USB interface, you can debug GPS module with ordinary phone data cable, no longer need to use USB-TTL and other tools.
- TTL interface is reserved to facilitate the use of USB-TTL or external microcontroller to control and receive GPS information.
- Ceramic antenna on module board, no GPS external antenna can be used to search for stars.
- Reserved SMA antenna interface, can use external antenna, star search ability is stronger.
50 Ohm Driver Card
- Uses DRIVE50 50 Ohm Driver
- Able to drive long 50 ohm coax
- 5 parallel 74AC14 outputs with 249 ohm series resistors on each output
- Square wave output
- Very fast edges
- BNC is high quality (Amphenol) connector
Alternate (Previous) Driver Design
- Previous design used modified PulseGen card to drive 50 Ohms at 3.3V level output
- Remove oscillator circuit parts (R/C)
- Only 1 BNC high quality (Amphenol) connector
- Wire from GPS PPS pin attached as below
- Use 1x2 pin header for power instead of 5MM Terminal Blocks
- Schematic
Wiring
- Dupont headers
- GPS = 5-pin
- LED = 3-pin
- UART = 4-pin
- DRIVE50 = 3-pin
Signal | From | To | Color |
---|---|---|---|
GND | QTPy49 J4-1 | GPS pin 4 | Black |
VCC | QTPy49 J4-2 | GPS pin 5 | Red |
QTPy>GPS | QTPy49 J4-3 | GPS pin 2 | Blue |
GPS>QTPy | QTPy49 J4-4 | GPS pin 3 | White |
GND | QTPy49 J5-1 | DRIVE50 J1-3 GND | Black |
VCC | QTPy49 J5-2 | DRIVE50 J1-2 VCC | Red |
PPS | GPU pin 1 | DRIVE50 J1-1 In | Purple |
LED-VCC | QTPy49 J9-3 | D0 | Red |
LED-GND | QTPy49 J9-1 | GND | Black |
Build V1
- Build Version 1
- Requires PC running ublox software on PC to set output.
Software
- Code runs on multiple CPUs on QTPy49
- FreqStdCap.ino - Tool that runs on Arduino to generate frequency bytestrings to send to GPS
- GPS_004.py - Final working code
- Saved as code.py to auto-run
- GPS_003.py - Capture data from GPS module a line at a time - helpful for debugging
- GPS_002.py - Read 32 bytes at a time
- GPS_001.py - Formatted stings output
Enclosure
- Fits into Aluminum Project Box Enclosure DIY 100*76*35mm - ebay search
- White-on-Black P-Touch labels
Reference Materials
- Design & Build a GPS locked Frequency Standard- Scullcom
- SIMPLE 10 MHZ GPS FREQUENCY STANDARD AND RF GENERATOR
- uses Arduino Nano as FTDI replacement
- An Arduino-based GPS Disciplined Oscillator
- An Arduino Version of Brooks Shera's GPSDO
- Simulating the Brooks Shera (W5OJM) GPSDO Algorithm
Videos