With all of the sub-systems developed on a breadboard I moved to the next step of designing and ordering the circuit board that I would use for the final product. For now, I will skip over the design choices and jump straight to what happened when I received the board and what the mistakes were and how I have changed my design.
1) Massive voltage transients
This image shows the voltage on the power rail when I plugged my 12V DC source into the board. It peaks at around 32V! That is not ok. So what was the reason?
As recommended in the datasheet, I had provided ceramic bypass capacitors on the positive rail of each NE5532 opamp. What I had done wrong was that I had chosen to use 10uF capacitors, instead of the recommended 0.1uF. This extra capacitance, combined with the parasitic inductance of my traces and the low equivalent series resistance (ESR) of the capacitors and my traces resulted in the oscillations that you see above. This phenomonon is well described in this application from Linear Technology. The solution? Use electrolytic capacitors for my large bypass capacitors next to the power supply, and ceramic capacitors for my lower value bypass capacitors. Electrolytic capacitors naturally have a higher ESR than ceramics and will therefore dampen the ringing.
2) Flipping my microphone opamp inputs
I accidentally switched the connections on the inputs to the microphone opamp. I guess that this is one of the things that happens when you work long days and then come back and do more electronics. Nothing that can’t be fixed with a knife, some 38 gauge wire and a little patience.
3) Incorrect footprint for my LM3914 chips
This is the most frustrating problem, because this is what really made these boards useless.
I use seven LM3914 chips on my board – one for each channel – and they come in two packages – DIP18 and PLCC20. On the breadboard I was, of course, using the DIP package. On the PCB I want surface mount parts and so am using the PLCC package. Now look at this image from the datasheet:
They have provided a pin number and pin name for each pin without specifying that these pairings are ONLY valid for the DIP package. The pin-out for the PLCC package is slightly different.
Yes, I should’ve read the datasheet more thoroughly, but I don’t have much time to spend on this at the moment and the diagrams above are misleading.
With this error repeated 7 times on the board, I didn’t really have any choice but to respin the board. And once again, I wait.