1
\$\begingroup\$

I am using a 7 segment 3 1/2 digits "raw" LCD (like this one) using 4 CD4543 controllers and a MSP430. I use one of MSP430's pins to create a 30Hz square wave that I feed into CD4543's phase input. Other MSP pins are used for the latch disable and binary inputs.

The LCD works fine on the breadboard and it's very stable (shows constant contrast over time).

However, when I tried moving the LCD (along with the 4543s and the MSP430) onto a stripboard (using more then 100 thin wires), the LCD kept fading away and behaved weirdly (human proximity or pressing on the wires behind the board would light it up or turn it off).

I checked and rechecked the wiring and could not find anything wrong. I removed the LCD from the stripboard and it runs fine on the breadboard so it doesn't look like anything was wrong with the components.

What could be the problem that prevents my project from running on a stripboard?

\$\endgroup\$
1
  • \$\begingroup\$ Question, are you actually using stripboard/vero board (Copper is all the way across a row, each column is separated), a breadboard like pcb (All of it's connections are like a breadboard, five across, two large power buses at either side), or a point to point pcb (every hole has it's individual copper, no connections) \$\endgroup\$
    – Passerby
    Feb 21, 2013 at 21:03

2 Answers 2

7
\$\begingroup\$

Two obvious possibilities come to mind:

  1. You messed up the stripboard wiring. There is not much more we can help with that. You say there are over 100 wires, so the chance of a screwup, and then not catching it, is high. A real circuit board is the obvious solution.

  2. Your design left something floating, and it happened to work on the breadboard. Perhaps there was fortuitous leakage to ground or power in just the right place. It can take only a few nA of leakage to force a otherwise floating CMOS input high or low. It may also be that on the breadboard this floating input was more protected, but on the stripboard it couples better to power line hum or whatever.

Either way, it sounds like you have a floating input on the strip board, whether from a wiring error (point 1) or a design error (point 2). The fact that proximity of your hand changes the symptoms is a strong indication of this.

You have a bug in a circuit, so go diagnose it. The obvious thing to do is to look at waveforms on a scope to see what isn't right. I don't know what you expect us to do here.

\$\endgroup\$
2
  • \$\begingroup\$ For (1), get someone else to check it. For (2) poke each connection with a wire (held in your hand, or through 100k to ground or Vcc) until you find the one that reacts when you touch it. That'll be the floating connection. \$\endgroup\$
    – gbarry
    Feb 21, 2013 at 17:27
  • \$\begingroup\$ Thanks for the answer. I asked the question here to eliminate causes I don't know about and that are hard to trace - e.g. crosstalk between the wires. Since none of you mentioned it, it was probably a problem with the wiring. \$\endgroup\$
    – diciu
    Feb 21, 2013 at 18:19
4
\$\begingroup\$

As Olin says, you obviously have a bug which needs diagnosis.

Intermittent issues are a bit more of a pain than simple "not working" issues, but the general procedure is much the same:

  • Check resistance between power rails, compare with working circuit.

  • Check power supply if different to working circuits supply.

  • Check all supply voltages are correct. If you have a scope watch the power rail as you press on the wires. See if you can narrow it down to a specific area/wire.

  • Check current draw on working circuit, compare with stripboard circuit - if it' significantly higher it's likely you have a short/low resistance to ground somewhere, a polarised cap the wrong way round, a blown component, or something is oscillating that shouldn't be.

  • Check for continuity between all signal lines - makes sure you probe the pins themselves rather than the solder joint, as the solder joint may be bad.

  • Scope all signals and watch for issues as you press the wires.

  • In places you made cuts in the stripboard trace, make sure you have cut the stripboard completely so the is not a tiny sliver of copper still remaining (I have had this problem my self) Use a loupe to check closely.

  • To ensure there are no bits of copper/wire causing issues, use compressed air on the back of the stripboard, and/or clean it with flux remover and wipe/brush it thoroughly.

  • Check all components are the correct values. Check polarised capacitors or diodes are the right way round. Check for any bad caps (if you have an LCR meter this is easy - if not look for bulging electrolytics, replace if in doubt)

  • Go over the entire design slowly and check your wiring. Simplify your code or write a test program that tests each segment in turn.

If you don't solve things going through the above advice, start removing components from the board and testing to see if the problem goes away (e.g. remove one of the CD4543s and test the remaining segments, etc. Use an indicator such as an LED on the microcontroller which flashes at e.g. 2Hz. It should flicker if there are power rail issues or stop flashing for a period if the controller resets.) Keep pulling stuff off until it works.

\$\endgroup\$
2
  • \$\begingroup\$ Thanks for the list. I can't go through it as I've already taken apart the stripboard - that's how I checked that the LCD still works. But it will serve me the next time I face a similar issue. \$\endgroup\$
    – diciu
    Feb 21, 2013 at 18:17
  • \$\begingroup\$ No problem - it helps to build up a checklist of common issues and test procedures as you go along, which you can refer to at time like this. \$\endgroup\$
    – Oli Glaser
    Feb 21, 2013 at 18:33

Not the answer you're looking for? Browse other questions tagged or ask your own question.