Precision Low Frequency Signal Generator
The Precision Low Frequency Signal Generator produces a User-selected signal from 10Hz to 90Hz with 0.1Hz resolution for testing subwoofer speakers. The frequency is displayed on a 16x2 LCD.
The sine wave is produced by stepping through a table of 64 values and sending them to the MCP4921, a 12-bit serial DAC that uses an SPI interface.
This is how to use the Precision Low Frequency Signal Generator.
INC
- Press and release to increase the frequency
- Press and hold for about 2 seconds to keep increasing the frequency; release to stop
DEC
- Press and release to decrement the frequency
- Press and hold for about 2 seconds to keep decreasing the frequency; release to stop
MODE
- Press and release to toggle the frequency step between 0.1 Hz and 1.0 Hz
- Press and hold for about 2 seconds (then release) to enter Sweep mode at 0.1 Hz increments
- When in Sweep mode Press and hold for about 2 seconds (then release) to exit Sweep mode
The skill level for stuffing the board is: Intermediate. Make sure you use a temperature-controlled soldering iron. I use a temperature of 340 degrees Celsius. And don’t inhale the solder fumes. If you don’t have a fume hood use a fan to blow the solder fumes away from you.
To compile the source code and download it into the microcontrollers I use Texas Instruments Code Composer Studio. It is free and is on this page: https://www.ti.com/tool/MSP-EXP430G2ET where you can get the versions for Windows, Linux and macOS.
The direct link to the current version for Windows is: https://software-dl.ti.com/ccs/esd/CCSv10/CCS_10_4_0/exports/CCS10.4.0.00006_win64.zip .
The skill level to use Code Composer Studio is: Advanced. (Maybe Really Advanced).
Notes:
1. You can use an MCP4921 in the PDIP package or the SOIC (SMD) version.
2. To program the MSG430G2402 you connect the Precision Low Frequency Signal Generator to the Launchpad with three wires. To make it run standalone remove the three wires and use a header plug to connect the /RES and /Reset pins on the header (on the Signal Generator).
3. The audio outputs are: Line Level, Speaker, and Speaker Test. The Speaker Test has a 100 Ohm resister in series for testing speakers.
The testing of subwoofer speakers and the design of subwoofer cabinets is beyond the scope of this article. I recommend the following:
1. For testing subwoofer speakers to derive the Thiele-Small (TS) parameters: Measuring Loudspeaker Parameters by Rod Elliott
https://sound-au.com/tsp.htm
Basically, you:
a. Connect the Precision Low Frequency Signal Generator to the subwoofer speaker through the onboard 100 Ohm resistor. This makes the output a current source. You will need a sensitive voltmeter with a good low frequency response or you can use my companion project: Woof Meter which contains a low frequency preamp, a precision full-wave rectifier, and a DC filter. It has a voltage output that can be read with any standard DC meter. It also has a current output for use with an analog 1mA meter.
b. Find the free air resonant frequency of the speaker. That is where the voltage across the speaker is at a maximum.
c. Find the higher and lower frequencies where the response is down 3dB. That is 0.707 of the voltage (or current) at resonance.
d. Add a weight of 25 grams to the speaker cone. A U.S. nickel weighs exactly 5.0000 grams so tape 5 nickels onto the cone. (Use masking tape.)
e. Repeat the above tests: find the resonant frequency and the two -3dB frequencies.
f. There are other things for you to measure (with a standard multimeter).
g. Plug your measurements into the proper formulas and you will get the TS parameters. Then you can design the cabinet.
2. For designing subwoofer cabinets for vented, sealed, and custom bandpass cabinets: https://www.ajdesigner.com/speaker/ . Also see: http://www.mh-audio.nl/Loudspeakers.html#top
I live at an altitude of about 6,000 feet. I designed the Precision Low Frequency Signal Generator to see how the altitude affects the TS parameters of a subwoofer. To do that I put the subwoofer in a 55 gallon drum and pressurized it in stages down to sea level.
I have posted more information (which you need) and more pictures on my Web site: www.jmargolin.com/newprojects/woof-tester/woof-tester.htm
This includes the source code. The source code is complete. It does not require any libraries other than the ones that come in Code Composer Studio.
Happy Subwoofer testing and building.
Jed Margolin
Virginia City Highlands
Storey County
Nevada
11/8/2021
Precision Low Frequency Signal Generator
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(3)
- Likes(4)
- Carlos De Oliveira Aug 21,2024
- Engineer Mar 28,2023
- tripleclown Nov 10,2022
- Catur Sujatmiko Purnomo Aug 06,2022
- 2 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
-
10design
-
9usability
-
10creativity
-
9content
-
9design
-
7usability
-
8creativity
-
8content
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 ...
- jm_rpi-pico-v6 The Raspberry Pi Pico module is amazing. It is much faster than the Texas Instruments MSP430G2xxx fa...
- 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...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
113 0 0 -
DIY Laser Power Meter with Arduino
163 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
564 0 3