7

I designed and got a PCB manufactured for the first time, and have soldered the component and powered it up. However it is not behaving as expected. I think I may learn something by everyone here for advice instead of ripping it apart and trying it again before. The circuit is an 8-bit register for a CPU consisting of two 4-bit D type FFs (SN74LS173AN) and an 8-bit bi-directional bus buffer (SN74LS245N). There are 2N7000 N channel MOSFETs that are used just to show the bit status of the register so the TTL output load is reduced. Clock is rising edge and reset is asynchronous active low. Store signal has to be high to clock in data to the register and the enable signal for the buffer is active high.

The schematics, PCB layouts and PCB board are all shown at the bottom of the post.

This design was working on a breadboard previously so I know how it should behave.

So the upon powering the PCB with 5V from a current limited PSU set to 50mA, the current was reaching the limit, and even up to 100mA, the PSU voltage was only around 3.3V. Bit 0 LED was illuminated brightly and bits 1, 2 and 3 are lit. However the other bits are dimly lit. The resistance between Vcc and GND is around 5kOhm, but don't think that necessarily indicates a short somewhere.

I checked the board before soldering for trace continuity according to the schematic and it was good.

Where is a good place to start? Desoldering LED and MOSFET components leaving just the the ICs, then check for correct operation? If still faulty, some of the ICs must be causing the issue.

Schematic:

Schematic

PCB Layout

PCB Layout

PCB 3D Viewer (Top)

3D top

PCB 3D Viewer (Bottom)

3D bottom

PCB Photo (Top)

PCB Photo top

PCB Photo (Bottom)

PCB Photo bottom

EDIT

Image below shows the state of the board at most times regardless of what you do with inputs. They mainly flicker due to the power supply current limit being reached. Clock and reset do work but you cannot clear the register to zero and the LEDs will not go out.

circuit powered up

David777
  • 1,548
  • 12
  • 29
  • 2
    I'd measure continuity between each pair of pins, in case there's a solder bridge or PCB fault that you can't see. If that doesn't turn up anything, because you've already had it powered up to 100mA, do that again and measure the voltage on each pin and see if it's sensible. – TimWescott Jan 21 '23 at 17:16
  • 1
    check the dim LED signal with an oscilloscope – jsotola Jan 21 '23 at 17:22
  • 1
    Instead of desoldering components, if it came to that, I'd be more incluned to cut the power traces. They can be re-soldered together if you scrape off the green layer (solder mask) which prevents accidental soldering. It would be much quicker than desoldering a whole bunch of components. – user253751 Jan 21 '23 at 17:28
  • With current limit up to 110mA, the supply voltage is at 5V. Only LEDs not lit are D4 and D5. All 8 bits of the register is outputting 0.2V, so something not right here. LEDs should only be lit when register bits are high. And if any of the inputs are tied high, it shorts out the power supply so could be the ICs bad? – David777 Jan 21 '23 at 17:41
  • 4
    Which parts get hot as you apply power? I’d suspect those first. – Bryan Jan 21 '23 at 17:42
  • @Bryan now that you mention it, the 74LS245N is slightly warm, rest are fine. It must be the problem? – David777 Jan 21 '23 at 17:43
  • 2
    @David777 it jumps to the top of the suspect list. Try getting it out of circuit, perhaps just snipping it’s power pin? (You have spares I assume) – Bryan Jan 21 '23 at 17:47
  • @Bryan chopped VCC off the 245N and now the supply current drops to 50mA before shorting the PSU. but the registers and LEDs still don’t behave correctly – David777 Jan 21 '23 at 18:52
  • 1
    Have you measured voltages at FETs? Are the FETs mounted in correct orientation, or is the pinout correct? – Justme Jan 21 '23 at 20:05
  • @Justme correct orientation and pin out, yeah. The flip flops don’t seem to behave properly either. When outputting high anywhere between 1.5 and 3.5 volts and LED is lit. But also when flip flop output is 0.2 volts, the LED is still lit. – David777 Jan 21 '23 at 21:12
  • 2
    I'd increase the current limit. 100mA isn't much especially with in-rush current and LEDs are coming on at startup. – user324996 Jan 21 '23 at 22:08
  • 1
    As a side note, for mounting DIP packages on a prototype board I highly recommend grabbing some [DIP sockets](https://www.digikey.ca/en/products/filter/sockets-for-ics-transistors/409?s=N4IgjCBcpg7AnAFiqAxlAZgQwDYGcBTAGhAHsoBtEeWAJgDYQBdEgBwBcoQBldgJwCWAOwDmIAL6SgA) (link for illustration, not endorsement) to allow easy swap, and to prevent overheating the IC during hand soldering. – Matt S Jan 22 '23 at 02:03
  • 1
    The solder job looks a bit questionable at least by IPC standards. Was any part of it done by wave soldering or was it all done by hand? Some joints have poor wetting, some have too little solder (the joints should wet onto the component side). – Lundin Jan 23 '23 at 15:56
  • @Lundin the soldering was done myself by hand . I have not done much soldering so I am probably not very good. How can you prevent poor setting from occurring? – David777 Jan 23 '23 at 22:45
  • 1
    After soldering, clean all the flux residue using alcohol and a stiff brush. Follow that with a good scrubbing using detergent and hot water, to remove ionic contaminants like salt. Finally, rinse with hot water, and dry thoroughly for a few minutes with a hot air gun, or a toaster oven set to about 150F for a couple hours. – PStechPaul Jan 24 '23 at 00:26
  • 1
    @David777 Like any craft it takes practice and experience. Two tips I can give: 1) get external flux like a flux pen, then when you get questionable wetting (like on the socket strip upper right corner solder side), apply external flux then briefly heat the joint once more. 2) Use something like an AWG26 cable or similar ~0.5mm diameter object then use that as a template to see what length you should cut the component legs at. – Lundin Jan 24 '23 at 07:19
  • 1
    Oh and for prototype boards that don't get put on market, don't use RoHS solder SnAg but leaded solder SnPb. Much easier and much prettier joints. – Lundin Jan 24 '23 at 07:23

4 Answers4

5

The 2N7000 MOSFETs are not quite rated for logic level applications, especially for LSTTL. They may be getting into linear mode and dissipating enough power to cause excessive current. But the 1k pull-ups should limit current to about 3 mA each. You might try using 74HC logic components which have rail-to-rail outputs as well as lower static dissipation.

Another possibility is oscillation, so check voltages with a scope.

PStechPaul
  • 7,195
  • 1
  • 7
  • 23
  • If a 74HC logic register equivalent was used instead of the 74LS173 used here, could the LEDs be driven directly from the register instead of using the FETs and the TTL LS173? – David777 Jan 22 '23 at 10:16
  • You need to check the specs. The LS logic gate could drive LEDs directly by using the outputs as pull-down current sinks. The HC might work either way. – PStechPaul Jan 22 '23 at 18:18
3

Here's one tip for troubleshooting old style PCBs with through hole components - put all the ICs in sockets. That way you can pull a leg out to see what happens etc.

Dirk Bruere
  • 13,425
  • 9
  • 53
  • 111
  • 1
    Yes this would have made my life a lot easier. From now on during testing of prototype PCBs, sockets will be soldered on. Great advice thank you. – David777 Jan 22 '23 at 22:42
  • 2
    Yep this is standard practice. Also means you can snatch IC from old prototype boards if you are being cheap :) – Lundin Jan 23 '23 at 15:54
3

With a multimeter, check for shorts to the very close ground trace as shown (just a hunch).

A few hundred Ω or more is okay, < 10Ω is not. It's really only two tests since they're connected togther at U3 and U2, but the solder under U2 looks suspicious. Remember that the solder mask over traces can leave copper exposed at the edges so it's not okay to have solder blobs that extend over edges that are not supposed to be connected.

enter image description here

In the future note that there is no reason to have the trace that close to the pads. Similarly, if you end up doing copper pours keep the spacing to pads generous since there are many more opportunities for shorts, either from soldering or from board manufacturing defects.

Spehro Pefhany
  • 376,485
  • 21
  • 320
  • 842
2

I have done this many times. The first thing I do is add the power to the board and test all the ICs etc to be sure power and polarity is on the correct pins. On your board I would add the LEDs and FETs resistors and test them. You can put +5 on each pin on J5 one at a time to be sure everything works. Then solder in sockets for each of the ICs. Install one and apply the appropriate signals at J1, J3, J4.At any point something does not work correctly solve that problem before continuing. Do this with each of the other ICs one at a time. When the last one is working add one of the others etc until they all work. While testing measure the voltage at each IC input and see if it has at least the minimum voltage +20% or more.You may have some families of ICs that do not work and others do. Also if this is headed for production be sure you have margin on all pins at both max and min voltage. See the probe described below.

I have a 3.3K resistor connected to a VOM probe. I connect the probe to the input, of the VOM, the ground to ground. If I am measuring grounds I connect the resistor to +5, if it is the positive side I connect the resistor to ground. I have also done this with a bidirectional LED powered by a 3V supply. The probe will then give me one color for + a different color for - and nothing if open. It does light leds so it helps in checking if they are inserted correctly.

This is not detailed but intended to give you the idea.

Gil
  • 4,951
  • 2
  • 12
  • 14
  • I will take your advice and follow an incremental build process where I can test each smaller part as I go, and use sockets. What do you mean about the VOM probe? Are you describing a method of testing VCC and GND by having an LED light if if you make certain connections? – David777 Jan 22 '23 at 22:42