using Arduino to test for shorts/continuity?

Thread Starter

Kardo22

Joined Mar 12, 2014
49
Hi,
I'm thinking of building a simple tester to test a board that has 2 connectors (no other components, it's a simple connection board). Need to test as solder joints can't be visually seen.
My thought was to connect all pins of both connectors to IO pins, then set them high 1 at the time and check that only the correct pins are high. Would this work if I connect them directly to Arduino digital ports? Are there any precautions that should be added so that shorted board doesn't damage the Arduino?

Thanks
 

DickCappels

Joined Aug 21, 2008
10,232
If this is for a production environment, it might pay to add ESD protection diodes and series resitors to the Arduino pins. No sure what the capacitor in the drawing below is for, so I would leave it out.

upload_2018-4-12_13-20-34.png
 

ericgibbs

Joined Jan 29, 2010
19,013
hi 22,
In most commercial continuity testers, especially for solder or crimped connections, it is required that specified test current flows through the connection.
This type of test will detect high resistance joints/connections that may be missed by a 'voltage' continuity tester.

Also the tester should be ground/common free of the PCB/Connector being tested, tester is often battery powered.

E
 

Thread Starter

Kardo22

Joined Mar 12, 2014
49
If this is for a production environment, it might pay to add ESD protection diodes and series resitors to the Arduino pins. No sure what the capacitor in the drawing below is for, so I would leave it out.
Do you mean something like the sample attached (only all signals will have the diode)?
P1 and P2 are UUT, P3 is Arduino digital. And then I can set 1 pin high and check the rest (that only schematically connected pin is high and the rest are low)? And then the same for other pins.
[/QUOTE]
 

Attachments

Last edited by a moderator:

danadak

Joined Mar 10, 2018
4,057
As pointed out earlier shorts and opens take on a variety of characteristics,
how "short", how "open" are they. So normally one would force a current and
measure V. That requires an analog mux and an A/D.

As a biased user of PSOC I would think of that as a solution, as it contains
current source and hi res A/D and muxes, both digital and analog, onboard
reference.....


Regards, Dana.
 

Thread Starter

Kardo22

Joined Mar 12, 2014
49
As pointed out earlier shorts and opens take on a variety of characteristics,
how "short", how "open" are they. So normally one would force a current and
measure V. That requires an analog mux and an A/D.

As a biased user of PSOC I would think of that as a solution, as it contains
current source and hi res A/D and muxes, both digital and analog, onboard
reference.....


Regards, Dana.
Do you mean it can't be done reliably using Arduino?
 

ericgibbs

Joined Jan 29, 2010
19,013
hi,
That would be better, use only 1k series resistors on the Output drives, this will ensure that the Input will pull up to a logical High.
E
 

Thread Starter

Kardo22

Joined Mar 12, 2014
49
Hi,
Would it perhaps be a better idea using internal pullup resistors?
Set all as intput:
Code:
//for loop over all connections
pinMode(pin, INPUT);           // set pin to input
digitalWrite(pin, HIGH);       // turn on pullup resistors
Then set one pin as low output:
Code:
pinMode(pin, OUTPUT);
digitalWrite(pin, LOW);
And then check all other pins:
Code:
//for loop except pin that was set as output
digitalRead(pin);
If pin is connected with output pin (through tested unit) then it should be low, otherwise it should be high.
And all that would be done for all pins (1 set out low and others read).

Does this seem OK?
 

ericgibbs

Joined Jan 29, 2010
19,013
hi K,
You could reverse the test logic sense OK.
The internal PU have a weak current pull up, so it would a very small continuity test current.
E
 

DickCappels

Joined Aug 21, 2008
10,232
1K would have a much better chance of detecting a poor connection such as what you might get with contaminated contacts and would be less succeptable errors resulting from noise pickup,
 
Top