Pages

Wednesday, 15 November 2017

Tannoy SFX5.1 Powered subwoofer repair.

Paul popped by.

"I've got this Tannoy subwoofer, it crackles and pops. Can you take a look?"

Yeah - why not......


It's a smallish cube, mounted on little cones, with a downward facing speaker...

I powered it up, and all was quiet. 

Just as I was about to connect the signal generator, I heard thunder in the distance .... and it got louder and louder! The speaker was popping and crackling alright. I quickly powered down.

I removed the screws around the outside of the rear panel, to reveal the speaker. The electronics and amplifier are mounted on the rear panel itself....

The main amplifier, a TDA7293 is heatsinked to the rear panel.










Removal of the board showed signs of distress....

Q151 and Q152 and there associated components had been running rather warm! The colour of the cases of the transistor should be black, you can see in the photo that they've changed to a sort of powdery brown.

Q151 is a 2S1815, NPN, and Q152 is it's complementary PNP, a 2SA1015.











Static testing on the transistor tester showed both to be fine. But the fault seemed to exist only when the thing was drawing current, so I threw caution to the wind and replaced both transistors. The two diodes, the two resistors and the caps all tested within tolerance.







Switch on again, and it's cured!

In the above picture, you can see two wire links across F152 and F153, where there was place for a couple of fuses. The wire links are original, so the fuses were obviously deemed unnecessary, relying on the non-replaceable thermal fuse in the transformer...

Not sure I like that idea much....



*** STOP PRESS *** 12th May 2020.

Many, many people visit this site to look at this page, and, sadly can't find the correct transistors. 

The SCA1015 is obsolete, a KSA1015YTA is still available..  https://uk.rs-online.com/web/p/bjt-bipolar-transistors/8064403. You can try a BC556, but you need to fit it backwards, and reverse pins 1 & 2 (Check the datasheets)
The 2SC1815 is still available from mouser, or you can fit a BC546, again reversing the leads. (Check the datasheets).

These transistors are pushed hard in this application. When (if) I ever see another one, I'll look for a better solution. 

*** STOP PRESS *** 13th January 2021.

PeterCB has been working on his subwoofer, and replaced the 2SA1015 with a TIP32, and the 2SC2818 with a TIP31.

"So I went ahead and replaced the transistors with TIP31C/32C in a TO220 package. Been soak testing for about six hours now, they don't even get warm. The new transistors fit perfectly in place of the originals, just facing the opposite way, see picture"


This has got to be the best solution. An easily available transistor, that's not being pushed beyond it's limits. 

Thanks PeterCB! 

*** STOP PRESS 15th March 2021 ***

Avid reader Springknees has kindly created a schematic of the offending power supply section. 

It can be found at https://www.chantrybarn.co.uk/woofer.php and is reproduced here with permission. 


***STOP PRESS 16 NOVEMBER 2024 ***

Toothy Chris writes:

After some messing around/experimentation, I have now come up with my belt and braces repair/modification, for the SFX 5.1.  In addition to simply changing both of the PSU transistors (using TIP31C and TIP32C) and replacing the two completely dead 100uF capacitors (now 25V, instead of the original 16V), I have gone a stage further by adding a small heatsink to each of the TO220 transistors.  Whilst this doesn't reduce the amount of heat energy which is being dissipated, it does reduce the temperature which the surrounding components are subjected to.  But because there is about 75V DC between the two transistors tabs, I have also insulated the tabs from the heatsinks (albeit in an unconventional way!), which only sit about 2-3mm apart from each other.

The downside of this configuration is that we now have unsupported masses, on top of the TO220 transistors, inside a system which is very-much designed to vibrate.  This will have implications for the longevity of the transistor solder pads, on an already poor quality PCB.  To mitigate this risk, I have used solder pins for the transistors, which mean that the transistor/heatsink masses are now supported by the PCB itself, rather than just the pads/tracks.  These pins also stabilise the low quality pads/tracks, which easily lift or crack, if unsoldered more than a couple of time.  Additionally, the solder pins also push the transistors slightly further away from the electrolytic capacitors ñ so a triple win.

My final observation, is that Tannoy (or whoever actually designed/built these) appears to have tried to make the whole assembly as resilient to vibrations, as possible.  However, they failed to spot that the transformer core does not fit tightly into the steel frame ñ allowing it to rattle.  I have used some rubber type glue on 4 corners of the transformer, to fill the gaps between the core and the frame.

Note:  If you try to repeat what I have done, make sure you don't try to add heatsinks to the transistors, after they have been soldered in.  Tightening up the screws puts lots of stress on the solder joints/PCB, which then fail.







Sunday, 5 November 2017

Classic Mini 1275GT Electronic GPS Speedometer and multifunction display revisited.

A few months ago (was it really that long?) I created an electronic solution to the classic Mini speedo (here)

When I posted the article up on a couple of sites, there were a few comments from people that they didn't like the movement of the speedo needle. I can see why, as it only moves in discreet "clicks" every 1 mph. They would like it smoother.

"Easy" I thought.... oh how wrong I was!

I initially started by changing the speed value from an integer to a float, and dumping the map function. It was an improvement, but had a tendency to jitter about. Nope. Not good enough.

Back to integer speed, and an attempt to control the update rate by creating an array and loading the array with the car's speed every time it updated (every 250mS). I then got the microcontroller to detect the slope of the changes in speed and move the needle quicker when the car was accelerating (or decelerating) hard, and slowly when the acceleration wasn't so hard.

Well, it didn't work very well. I could see the sketch was working, but the amount of data needed to sample, and the time it took to calculate the amount of delay to add to the pointer caused the update rate to slow to an unacceptable amount, and the speedo to appear "laggy". I attempted to improve the speed of the sketch, and revised the code a number of times, and even forced the compiler to optimise for speed over code size, all to little avail. The idea of delaying the speed of the pointer seemed sound though.

I drank some tea .....

A few weeks passed, and I had another idea. Don't attempt to measure the acceleration of the car. Control the acceleration of the needle with regards to it's position. The sketch now sampled the speed, and set the needle motor target position to that value. Now change the motor position, one step at a time, towards the target position. As the pointer approaches the target, increase the delay between each step. A few tweaks to the amount of delay applied, and it works! In effect I've created a PID controller for  the pointer position (actually, there's no D).

I've also changed the code to the multifunction display, which now displays a warning for ice, no GPS, and no charge (ICE, GPS or CHG are displayed)

The revised code (including the required libraries) can be found here :  https://github.com/andydoswell/GPS_Speedo_Smooth

Just click on "Clone or download" and download the zip. Unzip into your Arduino directory. Place the libraries in the library directory.