Diy 5.1 amplifier
Why did I do this project?
Since I was young, I was and still am very passionate about audio. I owned countless sets of speakers, searching for the best pair of speakers. Although I found mine which is JBL control 28s, they sound extremely nice despite having a bass peak at 100, which starts to roll off, they get extremely loud (the theoretical maximum is listed at 112db at 1M). Although it may sound like unpractical levels of loudness, what I really appreciate about these speakers are how efficient they are (92db with 1 watt), and how much headroom there is and how I don’t feel like I am really pushing the speakers to their limit to get to a loud level. However they are quite big, and I wanted to have something a bit more compact as my computer speaker setup (and also something that has better bass extension too)
However that system had some of it’s issues too, such as port noise in the subwoofer when turning the bass up. Also, I think that I have partially blown the subwoofer because occasionally at high volumes, there is some pop noise from the speaker driver when the bass hits. It’s strange how they designed it in a way that it allows you to turn the bass up to the point where the driver cannot handle it, without even having compressor circuitry.
Fast forward to now, I always wanted to get the DTT2500 system because of its sound quality and extra speakers from a 5.1 system, and I found a good deal on a 2nd hand website, but it didn’t include the amplifier. Because it was sold for twice the price that I bought these speakers at, I decided to make my own use it as an opportunity to learn about circuit board design
(the amplifier is the one that 2 of the speakers are sitting on, with the knobs. My unit did not come with one and buying that just individually cost more than twice in terms of price for what I got the speakers for)
CIRCUIT DESIGN CONSIDERATIONS AND IDEAS:
At first, I tried to design the circuit as all in one, meaning that the preamplifier circuit and amplifier circuits were integrated onto 1 PCB. this had a advantage of preventing ground loops because I used a ground place, and all of the component’s ground references are the same as it is just one big connection. However, this proved to be a bad idea as after uploading a rough design to JLCpcb, it was quite expensive as it was exceeding the dimensions of the promotional price. Also it would be very hard to diagnoise and if there was a error in terms of design (eg, amplifier circuit had a wrong connection), it meant reprinting the entire board and that was just too risky and expensive at the same time. So i settled on having a preamp board, plus 2 amplfier boards in which one was conifigured for 4 channel single ended output, and another was configured one channel bridged, and another single ended output for the center channel. The remaining 4th channel was not connected.
Schematic and diagrams
PREAMP SCHEMATIC:
Signal Flow:
Volume control stage:
The 6 channel signals go through the DC blocking caps to remove DC offset that may be present on the signal. Then there is a resistor to ground so that unconnected inputs (for example L and R are only connected for 2.1), there would not be buzz in the other speakers. All of this feeds into a electronic volume control IC which is a PT2258.
The PT2258 is controlled by a arduino micro controller, in which the pt2258’s I2C address can be set if there is conflict with other i2c devices. The output of the ic go through dc blocking caps in order to remove the DC offset coming from the chip. Since this volume control IC is op amp based with volume attenuation provided using a resistor ladder, there will be a dc offset as the outputs may be biased at the midpoint of the rail voltage (which is 8v). this is followed by 100k resistors in which the 6 inputs split off.
Signal processing for satellite speakers
The gain stage + filters are using NE5532 op amps from TI. Because how there are many fake op amps in China (as many might be some low quality LM358, or JRC4558 that are relabeled or repackaged), I made sure to buy from a reputable distributor (infinigo), and also run through a multimeter test to make sure that the protection diodes are there, as the fakes usually don’t have them. I might write a article on how to distinguish between a real and fake 5532.
So each satellite channel goes through a amplification stage first. the input resistor is 5k, followed by a 30k feedback resistor. This means that we will get a gain of around 6, which is enough voltage to drive the amplifiers to clipping. After this, it goes through a sallen key high pass filter, which is set at 200hz.
Summing:
Before the outputs of the volume IC is fed to each channel, there is a connection to a 5k resistor for each channel so that all of the channels are summed up into one. Although I seen other designs where only the LFE and L/R channels are redirected into the subwoofer, the problem is that there may be some sound effects in the rear channels that contains lower frequencies that may not be present in the LFE channel. Therefore it is safer to have all of channels mixed, like how a 4.1 speaker system worked. This allows the system to be more flexible, whether it is hooked up as a 2.1, 4.1, or 5.1, it will work consistently and as expected.
After being summed up, it is fed into a opamp that acts as a unity gain buffer. Because the signal is inverting (flipped 180 degrees), we need to correct the 180 degree shift so that the subwoofer is in phase with the rest of the system. Before doing that however, it goes through a 50k potentiometer that acts as a subwoofer level control.
Gain stage:
to amplify the signal, it gets feed into a 5k resistor (schematic value wrong), and then a 100k feedback resistor, giving a gain of 20. The subwoofer channel should have a gain much higher than the satellite channels, so having a higher gain allows more control over subwoofer level compensation so that it can be adjusted for different rooms.
High pass filter:
After having the signal amplified, it goes into a high pass filter, set at 50hz.
I choose a Chebychev filter set at 50hz, as below that the subwoofer starts to roll off while playing frequencies below that. Unlike butterworth and other filter choices, there is a peak at 50hz, instead of starting to roll off a octave before like other filter types. This is why I choose this type of filter.
Low pass filter:
Lastly the signal goes through a low pass filter. Thee low pass filter is last as it eliminates any hiss or noise that may be present. the filter frequency is at (insert frequency here), so that only bass plays and not any voices. It is very important to only have bass playing as subwoofers are not supposed to be directional.
Negative voltage, voltage regulators, and MCU connections
For voltage regulators, I used a 78M08 for supplying the pt2258 with a 8v voltage. Although it is rated recommended at 9v, I wanted to run it at a lower voltage so that it won’t heat up as much and last longer. I used 8v instead of 5v so that there is a larger voltage swing and so that the input can be more tolerant to inputs such as around the 2v RMS as listed on the datasheet. Using a lower voltage will cause the chip to clip.
I used a L7805 regulator for 5V so that it could provide power to the MCU. 5V is required because of how I am using arduino to control the volume control IC.
The MCU connections are directly routed from the IC to the connector.
Amplifier schematic
Explanation:
For the amplifier, I used a STA540 IC. I wanted to use a class D amplifier because of efficiency, but the filter design is very complicated and this is my first amplifier project so I used a class AB chip amp design for simplicity. I choose the STA540 over the TDA7379, TDA7375, TDA2030A, or other choices as I seen many Logitech products (yes I know, it’s the filtering causing the poor sound quality in those systems, not the IC at fault), and how reliable the IC is as I had a CD7379 start to oscillate and crackle after using it for 6 months.
So I decided to use that IC. As mentioned above, I wanted to have this amplifier configurable for outputs. I wanted to configure the satellite for the lower power output of 11W, and the subwoofers at a higher power of 38W, as the subwoofer should have at least 3x more power than the satellite speakers. Thus I added jumpers that allowed me to bridge or unbridge the channels depending on what I am using them for. Note that channels 2, 4 are inverted, meaning that they are flipped 180, thus speaker phase connections for those channels need to be flipped if using them singled ended so that they are not out of polarity.
If using it as bridged connection, the caps have to be removed and bridged. The caps are used to remove the dc offset from the biasing as it is dividing the rail in half to produce a sine wave. Therefore it is not needed for the BTL connection as the biased voltage is canceled out. Therefore I remove, and and bridge the connections when using BTL.
Most of the schematic follows the application schematic listed on the datasheet but I made some changes. First off I used a 100uf capacitor for the SVR pin, as the logitech system I had used that value and does not have a pop at start and stop. Also I bridged S ground and P ground together as the logitech system I have does that, and I am following a star ground type connection anyways (for interconnecting the preamp and amplifier boards, ground plane is still used for both sides of this board).
Standby on the STA540 is important as it allows me to turn on and off the amplifier, elimination pops caused by the preamp stage when turning on or off the system. However, what’s interesting about the STA540 is that to turn on the amp, the standby control header needs to be connected to 18v, and when turning off it needs to be connected to ground. If it is not connected to ground, it will play for like 15 seconds and then mute. I used a switch that shorts to ground at off and connects to 18v at on, but I am planning to use a transistor based solution for convenience and microcontroller control in the future, like this:

Comments
Post a Comment