Sine Wave Generator Using a Johnson Counter
This is a 1KHz audio oscillator using a Johnson Counter. ARTA software (http://www.artalabs.hr/) reports THD+Noise of 0.3%.
The Johnson Counter is very interesting. I believe I first ran into it in Don Lancaster’s classic 1977 CMOS Cookbook. My circuit uses an opamp summing junction to make the contribution of the resistor currents more accurate.
When you start from reset it clocks in ones until it is all ones. Then it clocks in zeros until it is all zeros. You get a 16-bit sequence from an 8-bit shift register. Then it repeats endlessly.
Since the sine wave is symmetrical you can choose the proper resistors to make an accurate offset sine wave that produces 16 samples. Notice that the resistors are symmetrical.
Each resistor adds a summing current at the proper time and then removes it at the proper time.
The accuracy of the sine wave depends on the accuracy of the resistors. Here I am using 1% resistors. I then use a first order filter followed by a second order filer to match to the frequency of the sine wave. With this I have measured a THD+Noise of 0.3% at 1 KHz.
There are two things to consider.
1. In order to reduce the THD+Noise further we would need to use 0.1% resistors or do more filtering. While 1% resistors are cheap, 0.1% resistors are expensive. It would be cheaper to use a microcontroller (such as the MSP430G2402) with a 12-bit SPI DAC (MCP4921).
2. Even at 0.3% THD+Noise we would need a tracking filter in order to get a wide range of frequencies.
But if you only need a narrow range of frequencies and 0.3% is good enough, then this is a low-cost way to do it.
There is a line output controlled by trim pot R20 and a microphone level output controlled by R23. The frequency is controlled by R4.
This is designed for 1KHz. Other frequencies can be produced if you change the values in the filters.
This board runs on +12VDC that regulates it down to +9VDC and uses an ICL7660 to produce -9V. The reason I took +12V down to +9V is because I want to be able to use the very cheap +12V switching power supplies from China via eBay. Some of these power supplies have 0.5V of hash on the output. Most of them are sold as LED power supplies (LEDs shouldn’t mind the hash) but some are sold as CCTV supplies. I bought two identical supplies (12V 1A) labeled for CCTV. With a load of 120 mA one had 50mV of hash (excellent) but the other had 200mV of hash (crap).
You can operate it from a 9V transistor battery by leaving out U1 (7809) and jumpering pins 1 and 3.
I recommend using IC sockets with machine-tooled pins and not the ones with leaf springs.
If you are not already a Maker (and you want to be one) see my tutorial on Making Things at www.jmargolin.com/making/jm_making.htm
JM
Sine Wave Generator Using a Johnson Counter
*PCBWay community is a shared platform and we are not responsible for any design issues.
- Comments(2)
- Likes(2)
- Ilya Jun 29,2019
- JOSE ADRIANO PEREIRA SANTOS May 24,2019
- 10 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
-
3design
-
3usability
-
3creativity
-
3content
-
8design
-
8usability
-
7creativity
-
9content
-
7design
-
6usability
-
7creativity
-
6content
-
6design
-
5usability
-
5creativity
-
2content
-
6design
-
1usability
-
1creativity
-
1content
-
5design
-
5usability
-
5creativity
-
1content
-
6design
-
6usability
-
6creativity
-
6content
-
9design
-
9usability
-
9creativity
-
9content
-
9design
-
8usability
-
9creativity
-
9content
-
10design
-
9usability
-
9creativity
-
9content
More by Jed Margolin
- MyTX4 To Replace The La Crosse TX4U My TX4 Wireless Sensor Transmitter replaces the La Crosse TX4U wireless sensor which is no longer ma...
- Audio Tone Burst Generator The Audio Tone Burst Generator produces a periodic burst of tone at a User-selected audio frequency ...
- Woof Meter The Woof Meter is for testing subwoofer speakers to measure their Thiele-Small (TS) parameters. Thes...
- Precision Low Frequency Signal Generator The Precision Low Frequency Signal Generator produces a User-selected signal from 10Hz to 90Hz with ...
- GPS Clock and Armageddon Alarm A GPS Module using the U-blox NEO6MV2 is used to receive the GPS timing signals to show the exact ti...
- PB1 - Prototyping Board with Ground Plane and Power Supplies This board is for prototyping circuits using wire wrap. It has a good ground plane and power supplie...
- Flame Switch This board simulates the electrical characteristic of a flame for troubleshooting residential gas fu...
- PB2 - Prototyping Board for MSP430G2xxx This board is for prototyping circuits with the Texas Instruments MSP430G2xxx microcontroller. It ca...
- GP1 - Board for demonstrating how to use an MSP430G2xxx This board is for demonstrating how to use the Texas Instruments MSP430G2xxx microcontroller. The bo...
- VGA Adapter for Atari Hard Drivin’/Race Drivin’ Cockpit This VGA Adapter for Atari Hard Drivin’/Race Drivin’ Cockpit also provides for delaying horizontal a...
- Phone Selector/Adapter 2-line to 1-line This converts an RJ11 line with two phone pairs on it to two single line RJ11 jacks. It provides two...
- Triangle Wave Generator With Adjustable Symmetry This is a simple circuit using only one IC, a TL084 quad opamp. The integrator integrates the output...
- Voltage Controlled Audio Oscillator with LM13700s This is a voltage controlled audio oscillator using two LM13700s. At 1 KHz ARTA software (http://www...
- Oscillator - Xtal or RC This is an oscillator that can be stuffed to be either a crystal oscillator (with a 74HC04) or an RC...
- Sine Wave Generator Using a Johnson Counter This is a 1KHz audio oscillator using a Johnson Counter. ARTA software (http://www.artalabs.hr/) rep...
- VGA Adapter For Tektronix TDS 360 Oscilloscope The Tektronix TDS 360 is a two-channel digital oscilloscope from the middle 1990s. The sampling rate...
- Atari BattleZone Engine Sound Generator Atari’s BattleZone game is considered the first real 3D video game. I did the 3D graphics algorithms...
- Der DeZapper Der DeZapper entl?dt die statische Ladung, die Sie vom gehen auf Teppich bekommen. Dies verhindert, ...
-
Open Source Very Large Stick - Freejoy & MMjoy2 breakout board
471 0 0 -
RF Control training board for students based on ESP32 C3
628 0 2 -
Aquarius+ Computer, Standard PCB
836 0 4 -
KINETIC COASTERS with a TWIST! Laser or 3D Print some DIY Magic
586 0 1 -
RPI - 8 IO PLC With ATTiny85 Watch Dog
506 0 1 -
Nintendo Famicom HVC-001 Controller Shells
608 0 1 -
COMMODORE 128 DIAGNOSTIC REV.785260 KEYBOARD DONGLE
560 0 4 -
COMMODORE 128 15KHz DISPLAY ADAPTER (C128 80 COLUMN ADAPTER)
759 1 5 -