Tuesday, February 26, 2019

Fixing Rocktile GB-15 bass guitar combo



I bought a damaged super-cheap bass combo for practicing at home. Description provided by the previous owner mentioned that signal overdrives and that it sounds unpleasant.

After turning this on for the first time I noticed that:
  • there is unwanted overdrive/distortion
  • distortion changes over time
  • after couple of second there is no sound
As always I checked supply voltages first - they were fine. Power stage built around TDA2030 worked too so I concentrated on the preamplifier. Replacing opamp didn't help so I had to understand how the circuit works. There was no circuit diagram available so I reverse-engineered it from the PCB:
After connecting a signal generator to the amplifier I noticed that it operates normally for a while after touching pin number 2 or 3 of the 4558 operational amplifier. Using oscilloscope I observed that voltage on the pin number 2 of the 4558 is slowly rising and when it saturates the circuit doesn't amplify anymore:
I knew that this has got to do with an input bias current of the operational amplifier. In one of my favorites books "The Art of Electronics" I read that input bias current problems become visible some time after turning the circuit on, when impacted capacitors charge, for low input bias current amplifier it can be even minutes after turning a circuit on.

According to circuit diagram every input pin of the operational amplifier has got a DC path designed for input bias current. I measured R7 resistance on its pins and it appeared to be fine but by measuring resistance between pin 3 of the 4558 operational amplifier socket I noticed that the R7 is not there. I inspected the PCB and discovered that there is a crack on the PCB between the R7 and GND. On the movie below you will see (sound is important for that movie).



After fixing that PCB crack with a drop of soldering tin the amplifier started working

One more note here is the fact, that the input jack socket shorts input to GND when there is no plug inserted. It is so to avoid noise when there is no guitar connected. But to connect a signal generator to the PCB you have to be aware about that and to plug something in to open the input socket.

Sunday, February 24, 2019

Fixing DENON DCD-510AE CD player


While visiting friends I heard their complaints that they have a CD player which keeps on resetting. It wasn't able to eject the CD (there was one inside). On the display it was continuously saying "READING". From time to time this player was able to start playback but it ceased when pressed "next". I was told that the CD module was already replaced twice with no result. My first thought was that it has got to do something with supply voltage. Circuit diagram is easy to find on https://www.manualslib.com/manual/1115299/Denon-Dcd-510ae.html#manual .
I started by checking 5V and 8V net, see sample trace below. I also observed (you have to believe me because I have no waveforms for that) that 8V was dropping to lowest values when a skip track or eject button was pressed. Spinning the CD loaded the 8V and 5V net significantly too.
Blue trace i 8V and yellow is 5V.
5V and 8V are both generated by linear regulators and it is obvious that 8V is overloaded so much that 5V falls below reset threshold. I inspected C914, IC93 and C916, they appear fine. I measured current consumption on 8V (approx. 1A max) and supply transformer voltage. According to my crude calculations C914 value is way too low, and I believe that the power supply is calculated without margin. I don't have 22000uF capacitor and I didn't want to order one but I realized that I have a 230V to 5V 1A switching mode power supply and keeping in mind that the main load on the 8V net is the 5V regulator I decided to add an additional power supply to provide 5V from another supply.
I removed IC94 and connected additional power supply (see yellow rectangle) parallel to C917. This new power supply is connected in parallel to the primary winding of the main transformer of the CD player T901
It's not ideal, I could try experimenting with the original power supply and low ESR high capacity alternatives for the C914 but I had an extra switching mode power supply lying around so I used it. It works just fine.

Tuesday, May 8, 2018

Ni-Cd battery deep discharge protection circuit

I have a LED lamp in my workshop which I supply from a recycled 12V 3Ah Ni-Cd battery. To protect the battery from a deep-discharge I built a simple circuit from what I found around. The circuit is built into the lamp and starts to beep when the supply voltage drops to 10V. The beep means that the battery has to be replaced.


The potentiometer PR has to be adjusted: Just set the desired voltage at which the circuit has to beep and then find a position of the PR at which the circuit starts to beep. The TL431 is a shunt voltage regulator and will pull down the pin 1 of the CD4093 when the voltage on its pin 1 is higher than 2.5V. One gate of the CD4093 forms an oscillator running at audible frequency. 3 unused gates have their inputs tied to GND. Piezzo is a of a passive type, it doesn't have built in generator.
The circuit has been built a piece of prototype PCB.

Monday, September 12, 2016

Voltrcraft LSP-1403 / Maplin N27GG / Manson SSP-7080 / Extech 382260

I bought a Voltcraft LSP-1403 power supply on ebay. I intentionally choose the broken one so I could challenge myself and try fixing it. This power supply is a product of Manson but it's sold under at least three other brands which I named in the title of this note.
Voltcraft LSP-1403, Maplin N27GG, Manson SSP-7080 and Extech 382260


The power supply was turning on, display lit and showed reasonable numbers which could be altered by turning knobs, but it didn't provide any output voltage. 
Block diagram of the LSP-1403 power supply
One look at the PCB shown that Q2, U4 R26, R27 and D9 were burned component. I replaced those damaged components and added a light bulb in series, to prevent a small explosion in case I overlook any other damaged/shorted component. Additionally, all the time the power supply was connected to mains over an isolating transformer, this way I was able to connect an oscilloscope to whatever point in the circuit I wanted.

Part of the circuit diagram of the main power supply
After putting this all together power supply provided correct output voltage but after loading it a light bulb lit up which was a sign that something is going wrong with the circuit.
I measured voltage on a shunt resistor R28 ant it turned out to look like this:
Voltage on R28 before fixing the power supply (low output current)

Voltage on R28 before fixing the power supply (higher output current)

Which is wrong because of too high current value and too steep rise. The UC3843 controller was detecting this high current and was turning the MOSFET off to prevent damage, this was the reason the power supply wasn't able to provide demanded output current. Such a steep current rise in the primary winding of a transformer is not possible because of primary winding inductance. My first guess was a damaged transformer (shorted primary winding) but with another transformer, from a similar power supply symptoms were exactly the same.

My second guess was that the snubber circuit is damaged. I measured all snubber components for an obvious damage but they all seemed to be fine. I added two shunts just to see if the current observed on the low side of the primary winding is flowing through the snubber circuit. or through the primary winding. I measured that there is no such a high current in any of the upper shunts. I started scrutinizing the (single sided) PCB for a short but there was none.

The solution, the MOSFET's radiator is connected to GND over a 10nF capacitor (a green capacitor on the circuit diagram above). The isolating layer between MOSFET case and its radiator was shorted and this 10nF was connected to the drain of the MOSFET. The capacitor charged to almost 400V over primary winding and when FET turned on it had to discharge this capacitor first what caused heavy current spikes.

After isolating the MOSFET from the radiator power supply works correctly, voltage on a shunt during normal operation looks like this:

Voltage on R28 after fixing the power supply


Lesson learned: mica is not always isolating, before starting with wild theories check very basics. I did some research on google and it seems that there are often problems at the primary side of the main power supply.

I do have circuit diagram of this power supply but I am not supposed to publish it. However, I will answer all questions to components.

Monday, May 16, 2016

Fixing РКСБ-104 - Voltcraft HS-036 Geiger counter (replacement for ИЖЦ-3 LCD display)

Geiger counter RKSB-104 was produced in Belarus and exported under Voltcraft HS-036 brand to Germany. I bought one damaged counter on ebay. The defect is typical for this model: LCD display showing a huge black stain, everything else worked fine but the previous owner has removed the display.
I tried to purchase a new ИЖЦ-3 display but I failed to find a supplier, I decided then to reverse engineer the PCB and figure out if any modern LCD can be fitted into this device. I used this circuit diagram: http://c4r0.elektroda.eu/_hv/xrays/count2_sch.jpg

50494847464544434241403938373635343332313029282726
R1BPR1G1F1A1B1G2F2A2B2G3F3A3B3G4F4A4B4BPBPBPBPBPBP
Original RKSB-104 display pinout
BPBPE1D1C1BPE2D2C2BPE3D3C3BPE4D4C4BPBPBPR2BPR3BPBP
12345678910111213141516171819202122232425

RKSB-104 LCD pinout, BP is a backplane, R1, R2 and R3 are some symbols which I couldn't identify based on a circuit diagram.


I suppose that DE119 LCD can be used to fix other similar devices for example for example РКС-107 or Bella (DBG-01N)

I prepared a small PCB which is an adapter between a original PCB and a new display

Adapter PCB circuit diagram

Adapter PCB layout
New LCD mounted on the adapter PCB

Display before fixing

The new display and adapter mounted on the counter PCB

The counter with a new display


Sunday, May 10, 2015

Voltcraft VC840 RS232 interface circuit

Q0 is a photo-transistor which receives IR light from a multimeter. If Q0 is illuminated then current flows through R1 and turns Q1 and Q2 on and the output R will be pulled down to positive voltage, this means mark will be transmitted. If Q0 is not illuminated then there will be negative voltage at the output R so space will be transmitted.

Monday, February 16, 2015

NTC temperature sensor connected over microphone input

Simple measurement
The idea is to measure resistance by connecting it to smartphone, to the microphone port to be precise. The simplest implementation would be something like this:
R1 and R2 form a voltage divider which dumps a signal from headphone output while microphone input records and measures amplitude. If one of resistors is known then second value can be found by comparing known headphone output amplitude with that recorded on a microphone input. C1 and C2 are capacitors which are always at the output and the input of a sound card. C1 is cutting off DC component so, without C1 there would be constant current flow through a headphones, even when playing back silence. The unnamed resistor to VCC is providing DC supply current for a microphone, C2 is not letting this DC current flow into ADC converter.
However
This circuit has got a huge disadvantage: it requires calibration with every smartphone you would like to connect it to. Additionally, I am not sure if headphone output doesn't change it's amplitude with temperature. Calibration seems to be not elegant solution so I though of using both headphone outputs and conducting a ratiometric measurement. Assuming that both headphone channels (left and right) provide the same amplitude if driven with the same signal, the influence of absolute amplitude could be eliminated from the equation.

Ratiometric measurement
||here will be a circuit diagram||
In this circuit there are two voltage dividers, R1 and R2 is dumping a signal from a left channel while R3 and R4 from a right channel. Microphone input measures sum of both divided voltages. Measurement is conducted by driving the left channel with a sinus signal, recording input amplitude, turning left channel off while the right on, recording input amplitude and doing calculations on recorded amplitudes.
Three of four resistors are known, the fourth is measured. To simplify calculations it is assumed that R2 and R4 resistors are the same while R1 and R3 are reference resistance and measured resistance.
to be continued...

.
Stimulus signal

For some measurement I needed a specially prepared .wav file with sinus wave interleaving between right and left channel. Octave manage to prepare that file but can't manage playback under windows 7 so I will have to use Audacity...

bps = 16;           % bits per sample
sps = 48000;         % sample rate [samples/s]
freq = 1000;         % frequency of the tone [Hz]
nsecs = 2;           % number of seconds of the audio file
interleaving = 1;      % duration of "pack" on a channel [s] 

nsamples = sps*nsecs;
interleavingSamplesNum = interleaving * sps;

time = linspace(0, nsecs, nsamples);
wave = sin(time*2*pi*freq)';

window1 = repmat([ones(1,interleavingSamplesNum), zeros(1,interleavingSamplesNum)],1,(nsamples/(2*interleavingSamplesNum)));
window1 = window1';

window2 = repmat([zeros(1,interleavingSamplesNum), ones(1,interleavingSamplesNum)],1,(nsamples/(2*interleavingSamplesNum)));
window2 = window2';

wavwrite([wave.*window1, wave.*window2], sps, bps, 'stimulus.wav')

temperatures=[];

for i=1:10
%playback prepared file and record microphone input simultaneously
i
system("play.exe stimulus.wav -t waveaudio", [], "async");
recordCommand=sprintf("SoundRecorder.exe /FILE recorded%d.wav /DURATION 0000:00:02",i);
system(recordCommand);
recordedFilename=sprintf("recorded%d.wav",i);
%recordedFilename=sprintf("recorded.wav");
y=wavread(recordedFilename);
deleteComand=sprintf("del recorded%d.wav", i);
system(deleteComand);
a=(sum(y(20000:30000).^2)/(30000-20000))^(1/2);
b=(sum(y(60000:70000).^2)/(70000-60000))^(1/2);
ratioResults=a/b;
resistanceNTC=ratioResults*10000;
temperature=ntc(resistanceNTC)-273;
temperatures=[temperatures, temperature];
%ratioResults=[ratioResults a/b]
endfor

I'd like to measure resistance value in circuit:
if three of four resistors are know, and L-OUT and R-OUT can be driven with prepared waveform while MIC-IN records amplitude, than the fourth resistor value can be calculated. I prepared a trivial protype to check if such measurement is really possible on my PC. Octave generates a wave file, Audacity plays it back and records microphone input, Octave analyses collected data...
Of course, there is many limitations like AC coupling of mic input which forms actually a high pass filter, limited amplitude of microphone input signal, asymmetry between channels, clever estimating parameters of recorded sinus wave... but, let's give it a try. This is my prototype, four resistor can be put into DIL socket to ease changing values. One jack connector is for microphone input, another for headphones stereo output.
The measurement 1
I set up the prototype with following values
R2=R4=1k
R1=10k
R3=22k
Connected my oscilloscope to find out that the cheap Chinese USB audio card:


 is actually providing around 2.23V DC into headphones output. This fact is not a problem for my measurement but can damage headphones. Anyway, here comes a waveform recorded by microphone input. The envelope of "packs" of sinus is surprising. I will do some further measurements to understand if DAC is not giving constant output or if microphone input is so bad quality. Probably these are some transitions because of microphone input capacitor. Next step will be to analyse recorded values to see if measured amplitude corresponds to expected amplitude...
Signal recorded by microphone input when stimulus signal has been played back.

Temperature logged in my room overnight. Celsius degrees, x axis are samples, not seconds.