Idea for wire sorting device help

Hello, I am new to Arduino and this is my first post. I hope I am in the correct forum.

I would like to build a wire sorter for field service work. This would enable me to identify up to 15 wires that have been installed unmarked or the markings are not legible.

The idea is to create 15 different frequency square wave outputs and attach each output to a wire with an alligator clip,
then read the frequency at the other end one at a time and convert the frequency to a digital display so the wire can be marked correctly.

I am planning on using the UNO for the frequency counter and display, and initially another UNO for the 15 output sending unit. The UNO doesn't have the capability of 15 outputs however, so I would like any opinions on how best to proceed.

I need 15 outputs because that is a common wire count in so called "speedpull" which is a pre packaged industrial wire setup. It's 15 wires wrapped with a nylon tape that keeps them together like a multi conductor cable but without the outer sheath. It can be pre printed with wire numbers, but unfortunately many installers by the unmarked bundles to save a few pennies.

Thank you for your time.

The UNO doesn't have the capability of 15 outputs

What makes you say that ? Don't forget that the analogue pins can be used as digital pins

How are you intending to generate the 15 square waves ?

As I've been reading the A0 to A5 can be used as outputs! Then You've got Your wanted 15 outputs!

Brilliant idea! The old telephone service guys used one frequency transmitter plugged to the outlet of the customer. Then they walked to the telephone connection point and serched for the tone to find the line.

My preference would be a couple of 8-bit shift registers with open collector or open drain outputs, that has less risk of damage from accidentally shorting two wires.

Not sure how well this will work without a common reference point, the signal generator into a telephone wire had the advantage of having a pair of wires, so you could measure across the wires, or at least have a signal path through capacitive coupling if looking for a broken wire.

Ok....completely missed that about the analog pins being capable of digital outs. That is great news and will be much simpler than trying to cobble together a discreet circuit. Thank you!

As far as generating the square waves, I was going to use the millis() function to read the clock then set a time for each output. I don't need them to be particularly fast, just far enough apart on the frequency to be read in noisy environments without errors due to noise. I should probably consider delaying the display for a reasonable time period and check in the counter program that said reading is stable.

The common reference point will be ground. I'd just bring out a ground wire from the case that the UNO is mounted in and clip it to any convenient bare metal ( I work on overhead cranes ).

As far as shorting the outputs, I had planned on installing resistors in series with the alligator clip leads to prevent damage due to shorting to ground or to each other. I could do all that inside the case on a perf board probably. If this works well, I plan on making a set for the other techs I work with.

Thanks for the help!

In my opinion, nothing says You need to run all 15 cables at the same time. Use one frequency for cable 1, verify were it pops up. Test cable 2 using another frequency, verify.... Running this way would be done in seconds testing all 15 cables.

The only reason for using frequencies for this project, is to make it work with an audio "sniffer".

The logic would be easier to generate distinct patterns to the various outputs and they do not have to be particularly fast or simultaneous. Repeating the whole sequence each second would be sufficient (since you take a moment to read the display in any case!). You base the pattern on a UART - a start bit and eight data bits which code the number. Then wait a while to re-synchronise

OK, on this basis you could generate all the patterns simultaneously at say, 300 Baud (and use the Rxin to decode). :grinning:

All 15 wires need to be connected at the same time otherwise you have to climb up and down ladders and stairs for each wire and the other end could be 150 feet away. That's why I want to build this.

So as far as creating a pattern on each of the 15 outputs, I'm sure that would work. Is there an advantage to a serial pattern over a discrete frequency?

Thanks

jflickinger:
So as far as creating a pattern on each of the 15 outputs, I'm sure that would work. Is there an advantage to a serial pattern over a discrete frequency?

Code is easier.

If you generate standard serial data at say, 300 Baud, the receiver code becomes trivial - receive a byte on the built-in UART, display its value.

I never thought of that. That does sound easier, and I can code the actual numbers 1 through 15 and not have to do a conversion at the other end as with a frequency counter.

Thank you

And, you could use a simple 8 bit CRC and scan the cable a few times to be sure.

I have had to do what Railroader suggests and it is not fun. Had to pick a pair of unused wires in a 100 pair cable going between two bank buildings, while the telephone system was still in service.

You need to consider that you will actually hear/see all the signals on all the wires because of capacitive and inductive cross-talk. I had to actually listen for the LOUDEST SIGNAL that the limited distance modem was generating.

Paul

jflickinger:
I work on overhead cranes

And typically overhead cranes move on rails. Which means power and perhaps ground pass through collector rail systems. Sometimes they do and sometimes they don’t. If your ground is absolutely solid, bonded to earth and not subject to contact variations, it will simplify design. But, if that ground passes through a moving or rolling contact, you’ll need to address that with the resulting noise and issues it creates when trying pass extremely low currents through a system designed for very high currents.

Details matter. I would suggest you continue to discuss the requirements because at this stage, there are likely to be issues with remote sensing in the environment you allude to that will adversely affect your project.

not sure what problems you might have with 150 cable, but for me, I would go low tech and use LED's

a circuit board in an enclosure and leds on the face in a line.
your 16 wires out of the box, aligator clips on the end.
the ground to the cable ground
the other alagator clips all marked 1 to 15

connect the Arduino and send out a signal on each line,
on the Arduino end, same thing, 16 alligator clip, all numbered
for the first wire, send 3 pulses. that would signal #1 the rest to follow
turn each one on for 3 seconds.

At the far end, you look at the LEDs, they would be flashing in a random order.
whichever line 1 is, move the alagator clips so 1 is on that line.
within a few minutes, you will have it all sorted and the leds in a nice chase sequence.

if you got a 3rd set of numbered clips, you could just clip them to the wires as the lights indicated to make if faster than trying to swap wires as the lights are blinking.

not nearly as high tech as sending duplex signals, but it seems to me that the hard part will be to mark each wire once you identify them.

you stated 150 feet. if there is a problem with power, you could use AC, a simple doorbell transformer. and relays.

no matter how you do it, it would seem that you should be able to get it all sorted faster than walking the length of the wire.

Paul_KD7HB:
I have had to do what Railroader suggests and it is not fun. Had to pick a pair of unused wires in a 100 pair cable going between two bank buildings, while the telephone system was still in service.

You need to consider that you will actually hear/see all the signals on all the wires because of capacitive and inductive cross-talk. I had to actually listen for the LOUDEST SIGNAL that the limited distance modem was generating.

Paul

Clearly you don't work in telecoms!
You put the tone on a pair, because it's a twisted pair you get very little crosstalk with the other pairs and identifying the correct pair is easy. The final check is to short it out, if the tone stops you have the right pair.

I built something that does what you want but to distinguish 4 pairs. It works by interrupting the tone like this:
Pair 1 tone break tone break
Pair 2 tone break break tone
Pair 3 tone break break break tone
Pair 4 tone break break break break tone

Very easy to tell them apart.

PerryBebbington:
I built something that does what you want but to distinguish 4 pairs. It works by interrupting the tone like this:
Pair 1 tone break tone break
Pair 2 tone break break tone
Pair 3 tone break break break tone
Pair 4 tone break break break break tone

Very easy to tell them apart.

you could do groups of 4
the individuals on the group.
9 lives.... there seems to be more ways to skin this cat.
one thing the OP did not say was the wire size or that if it is twisted pair. or anything other than the 150 foot.

Paul_KD7HB:
I have had to do what Railroader suggests and it is not fun. Had to pick a pair of unused wires in a 100 pair cable going between two bank buildings, while the telephone system was still in service.

You need to consider that you will actually hear/see all the signals on all the wires because of capacitive and inductive cross-talk. I had to actually listen for the LOUDEST SIGNAL that the limited distance modem was generating.

Paul

Unclear by me. OP wants to connect all 15 ends of the bundle, then move to the other end. Coding can be done that one cable is tested at each 1/15 of the loop.
I've also worked with 100 pair cables. Didn't You have the map, the chart, showing the layers?

Let me clear up a few things;

The wires range from bundles of 10AWG to 16AWG, but 12 and 14 are the most common. They are not twisted pair.

Bundle size or grouping is usually either 12 or 15 wires in a bundle, although 9 and 10 are also somewhat common.

The cranes are grounded quite well, simply because whether a 230 VDC crane or a 220 or 480 VAC crane, they are all steel ( rarely aluminum ) and are sitting on steel wheels in direct contact with steel rails which are in direct contact with the building structure. The ground return path is local to the crane anyway, so resistance through wheel bearings isn't even an issue unless tracing through a festoon system to the trolley, which is rare. A good ground is not an issue, so a return path even at 5VDC is very low resistance.

The circuits to be identified are dead, no voltage, and usually the crane can be completely disconnected and IS completely disconnected from the power source, either AC or DC. Any electrical noise is usually from other processes in an industrial environment such as welding machines, electric arc furnaces, rolling mills, etc. That being said, usually there is some distance from said noise sources while doing maintenance work. The bigger problem is probably RFI from 2 way communications radios, or remote data acquisition systems in the plant, but even then it is not much of a problem because the cables/bundles being identified are run in rigid conduit or steel cable trays/gutters and only the ends of the cables are exposed for connection to the control system.

It's obvious that there are many ways to approach this project. I will go with a method that transmits information over 15 wires at one end and then use a single wire detection method at the other. The 15 wires at the sender end will all be labeled first, 1 through 15, then the clips 1 through 15 attached and sending.

At the other end, a single detector is used to locate any of the 1 - 15 wires, and that wire is then labelled, then on to the next wire. I think that this is the most efficient method because I want to keep the package size small, so using a beakout box or board would be a bit bulky.

Thanks

Is the problem one of getting signals from one end of the wire to the other or in discriminating which wire is which ?

How good is your Morse code ?
Send the code for letters A to whatever down the appropriate wire and listen to each at the other end !