• Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

harness tester

Status
Not open for further replies.

becky

New Member
hello
i am trying to build a cable harness tester that can analys up to 22 wires using arduino and i want to be able to display it on an lcd display.
the tester should be able to detect cross wire, do continuity test, and it should be able to detect if one then of the wires is connected to the other end.
 

Pommie

Well-Known Member
Most Helpful Member
You will need a board with 44 I/O plus whatever is needed for LCD and keys. It can be done but not simple.

Mike.
 

becky

New Member
i am also trying to write a code that if both end of the harness are connect i should get an output display on the lcd as a number e.g 1234....20, if they are not connect i wan to get (20 zeros) 0000000
 

Pommie

Well-Known Member
Most Helpful Member
The mega has 54 I/O pins, so if you use an I2C LCD and 4 pins for buttons then you have 48 left so it is possible. How much programming experience do you have?

Mike.
 

Les Jones

Well-Known Member
Most Helpful Member
You would need 22 I/O pins to drive one end of the cable but you only need to test the other end one at a time so you could you could select the conductor to be tested using a an analogue multiplexor. This would require 5 pins to select the input. (This would select up to 32 inputs.) So the circuit could test for shorts between conductors I would drive each conductor through a resistor. (All the same value.) and rather than just looking for a logic high or low I would use the ADC for testing. Then if there was a short between two conductors you would get a reading of about half the level of the drive signal on both of the conductors that were shorted together. The nature of the drive signals would be 21 set low and one set high. You would requence through the 22 conductors. You could also save on I/O pins by shifting bit patterns into a shift register. This would only require 2 pins. (Data and clock)

Les.
 

becky

New Member
You would need 22 I/O pins to drive one end of the cable but you only need to test the other end one at a time so you could you could select the conductor to be tested using a an analogue multiplexor. This would require 5 pins to select the input. (This would select up to 32 inputs.) So the circuit could test for shorts between conductors I would drive each conductor through a resistor. (All the same value.) and rather than just looking for a logic high or low I would use the ADC for testing. Then if there was a short between two conductors you would get a reading of about half the level of the drive signal on both of the conductors that were shorted together. The nature of the drive signals would be 21 set low and one set high. You would requence through the 22 conductors. You could also save on I/O pins by shifting bit patterns into a shift register. This would only require 2 pins. (Data and clock)

Les.
hello
thank you for ur response,
i was thinking of using a shift register instead of mutiplexer it will make coding easier, the shift register has data and clock same as mutiplexer, using mutilpexer i would need to implememt button for g.g s0,s1,s2
 

Les Jones

Well-Known Member
Most Helpful Member
All the multiplexors I have seen have a number of address lines. The address could be selected by connecting the address lines to the parallel output of a shift register and shifting the address into the shift register serially. An alternative would be to have a 22 bit long shift register enabeling 22 analogue switches.

Les
 

Pommie

Well-Known Member
Most Helpful Member
As you have a mega with 54 i/o pins there is no need for shift registers or multiplexers. How much programming experience do you have?

Mike.
 

Pommie

Well-Known Member
Most Helpful Member
This seems very straight forward. Connect an I/O to each end of the cable. Turn on weak pullups at one end. Pull one line low at the other end, if only one line is low at pullup end then all good - if none then break in line, if two or more then short between cables. Repeat for other 21 lines.

Mike.
 

JonSea

Well-Known Member
Most Helpful Member
I would use a number of I2C port expanders such as the 16 bit MCP23017. Use 2 for each end of the cable, allowing up to 32 conductors to be checked. Raise one conductor high on one end of the cable, then check that the corresponding pin on the other end of the cable is high and that all other pins are low on both ends of the cable. Repeat the process for the remaining pins on both ends of the cable.
 

Pommie

Well-Known Member
Most Helpful Member
Jon, why do you need to test both ends? How can one end be correct and the other not?

Mike.
 

JonSea

Well-Known Member
Most Helpful Member
I'm thinking about the possibility where one pin may be connected to another at one end, and not connected to the other end at all. Some RS232 cables used to be made this way. If the cable is supposed to be straight through, this step isn't strictly needed, but it would take so little time to test for the possibility that it makes sense to do it.
 

wkrug

Active Member
I would suggest You to use a Transmitter and a Receiver Module.
So You can test Wires that are mounted fix.
Additionally You need only 22 Ports for Testing at each device.
 

Pommie

Well-Known Member
Most Helpful Member
How do you test 22 wires with only 22 ports without additional hardware?

Mike.
 

ronsimpson

Well-Known Member
Most Helpful Member
Jon, why do you need to test both ends? How can one end be correct and the other not?
You need to test both ends. Looks for opens, shorts, and wires connected to the wrong place.

Idea using less pins on the computer.
I have used a IC called "CD4017" to drive cables for testing. It is a ring counter. "reset" causes pin 0 to be high and pins 1-9 to be low. "Clock" causes the pins to go high one at a time (1,2,3,----9)
Because you need to drive 22 pins I would use 3 of the CD4017s. Connect all the resets together. I would not use "0" on the ICs. After reset all three "0"s will be high and all other pins are low. Toggle "Clock-1" ten time which will take one pin high at a time 1,2,3,4,5,6,7,8,9,0, (back to 0) Then toggle "Clock-2" ten times, then clock-3 ten times.
For the cost of 3 small ICs and 4 pins on the computer you have (9x3) pins that to high one at a time.

You can get the same effect with shift registers, in place of the ring counter. ( use very small computes with only 10 I/O pins)

The point is that test machines fail and it is better to replace small ICs that the entire computer. On the receiving end I could use a buffer IC or some thing to save the computer from static or over voltage on a input pin.
 

Pommie

Well-Known Member
Most Helpful Member
If you have one end with pullups and pull each cable low at the other end then you can test for broken or shorted cables. If it fails this test then it's no good. Why the need to test the other end? What am I missing?

Mike.
 

JonSea

Well-Known Member
Most Helpful Member
If you have one end with pullups and pull each cable low at the other end then you can test for broken or shorted cables. If it fails this test then it's no good. Why the need to test the other end? What am I missing?

Mike.
I'm thinking about the possibility where one pin may be connected to another at one end, and not connected to the other end at all. Some RS232 cables used to be made this way. If the cable is supposed to be straight through, this step isn't strictly needed, but it would take so little time to test for the possibility that it makes sense to do it.
Not all cable harnesses are straight through. Some may have jumpers across pins on one end of the cable that don't connect to the other end of the cable at all.
 
Status
Not open for further replies.

Latest threads

EE World Online Articles

Loading
Top