Pages: [1]   Go Down
Author Topic: hardware used to test continuity of a 50 pin connector?  (Read 2490 times)
0 Members and 1 Guest are viewing this topic.
Nova Scotia
Offline Offline
Full Member
***
Karma: 4
Posts: 205
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I am just thinking of the best way to use an arduino uno to test the continuity of a 50 pin connector. It could look like a metal box with two large 50 pin connectors on the top, a pushbutton and a 2X16 line lcd. I could plug the cable into each of the connectors and the arduino would test the continuity of each of the 50 pins one after the other when the pushbutton is pressed. Possibly noting on the lcd which pins are opens. It's been a while since I've built a project so if you could give me some direction on what type of  shift registers or multiplexers would be the best way to go with or maybe some other option.

Mike
Logged

Copenhagen, Denmark
Offline Offline
Edison Member
*
Karma: 33
Posts: 1228
Have you testrun your INO file today?
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 If you just want continuity, then you can join them all at one end, and then you only need a one-to-50 at the other end. But you probably want to know about shorts, too.
Quote
type of  shift registers or multiplexers
So just use the little search box (top right on every page) on this forum for "shift registers" or "muliplexers" and you get plenty of ideas from others who have done it before and already written about it. If you have specific question ask them in the LED and Multiplexing section

As for the project in general : Yes, enough 1-to-8 multiplexers to get your 100 lines, and a simple program with two nested loops (to test every-one-against-every-other wire should do it. Hint: You set all pins to HIGH on the one side of the cable, except one to LOW. Then you probe for the LOW one on the input side. By using the internal pullup resistor no more parts are needed. (I did a 15 minute program for working out a weird thumbwheel switch I picked up as junk. It only had 8 leads, so I did not need a shiftregister). Your program only needs to write the unexpected result, and you can save the LCD by using the Serial/USB/computer (unless you wnat a standalone test box)
Logged

Nova Scotia
Offline Offline
Full Member
***
Karma: 4
Posts: 205
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the feedback Msquare,
I have a few 74HC164 cascade able shift registers that I would like to use on this project. I was thing of using these on the driving end of the cable. Position one would be high, a clock pulse would then just make position 2 high... for each of the 50 pins, one after the other. Then I needs to somehow have the receiver side know that only one wire should be seen high at the correct location on each clock pulse. Giving an error if the correct wire is not high when it should be or a crossover is detected. It could be a few logic chips that would give the arduino a binary number to see but that may not detect crossovers.

Any thoughts would be appreciated,
Mike
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 130
Posts: 8620
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

You put a 1 in the driver shift regs and have 50 bits of MUX for the input, say using 4067s or 4051s. Then

Code:
digitalWrite(shiftRegDataPin, HIGH);  // set a 1 bit for shift regs
digitalWrite(shiftRegClockPin, HIGH); // clock it out
digitalWrite(shiftRegClockPin, LOW);
digitalWrite(shiftRegDataPin, LOW);  // set a 0 bit for shift regs

for (int i = 0; i < 50; i++) {

    setMuxAddr (i - 1); // have to handle special case when i == 0
    if (digitalRead (muxPin) == HIGH)
      error();
    setMuxAddr (i);   // you'll have to write a func to do this
    if (digitalRead (muxPin) == LOW)
      error();
    setMuxAddr (i + 1); // have to handle special case when i == 49
    if (digitalRead (muxPin) == HIGH)
      error();

digitalWrite(shiftRegClockPin, HIGH); // move the 1 bit to the next wire
digitalWrite(shiftRegClockPin, LOW);
   
}

That's the general idea.

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

have anyone successfully build the hardware using arduino uno??. some info please....
Logged

nr Bundaberg, Australia
Offline Offline
Tesla Member
***
Karma: 130
Posts: 8620
Scattered showers my arse -- Noah, 2348BC.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

0miker0 never got back to us so who knows?

______
Rob
Logged

Rob Gray aka the GRAYnomad www.robgray.com

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 639
Posts: 34725
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
have anyone successfully build the hardware using arduino uno?
It doesn't matter if they have or have not actually built it, it is a perfectly simple thing to build and is a straight forward thing to program.
Do you want one?
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yes, please....
got a project to test  continuity for 42 point of cables set..... some idea anyone...
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 639
Posts: 34725
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Yes read the thread, those are ideas that would work.
Logged

Pages: [1]   Go Up
Jump to: