This article describes a simple oscillator for the DX portion of the 2200m amateur band.
The 1kHz reference oscillator is a handy utility for calibration and frequency measurement by beating with an SSB receiver.
Key design criteria were:
The circuit uses a common NTSC colour burst crystal at 3.579545MHz to clock a Atmel AVR, ATTiny25, which divides the clock by 26 for a symmetric square wave output at nominally 137.675Hz.
The heart of the reference is an Atmel AVR MCU, an ATTiny25. It uses a crystal oscillator for the clock, and divides the clock down to 137.7kHz. The /KEY line can be used to key the 1137.7kHz output, tie it to ground for continuous output.
|IC1||ATTiny25 or equivalent (45, 85)||programmed as below|
Without trimming the crystal, the prototype oscillator runs at 137.680kHz.
The circuit is so simple as to be suited to building on a piece of Veroboard in just minutes.
Frequency can be adjusted slightly by padding the crystal with a trimmer capacitor.
| set PRG=usbasp
set OPTS=-B 10
rem program flash
avrdude %OPTS% -c %PRG% -P %PORT% -p t25 -U flash:w:137700.hex
rem program fuses
avrdude %OPTS% -c %PRG% -P %PORT% -p t25 -U hfuse:w:0xDF:m -U lfuse:w:0xFD:m
Above is a batch file for programming the flash and fuses using AVRDUDE. The code should also run in ATTiny45 and ATTiny85. After the fuses have been set correctly, comment out the last lines.
Programming fuses can have unintended outcomes. The ATTiny25 MUST have a working clock oscillator to program it in ISP mode. If fuse changes prevent the clock oscillator running, it may be recoverable with a High Voltage Serial Programmer (such as an AVRDragon), but may not be recoverable with the more common ISP programmers. Be careful!
Once programmed, the fuse bits do not need to be reprogrammed, they are not affected by flash erasure during the normal flash reprogramming cycle. It is better not to keep reprogramming the fuses, it only risks a mistake!
© Copyright: Owen Duffy 1995, 2020. All rights reserved. Disclaimer.