Multiplexer

A company I worked for as an intern needed a device to measure multiple channels / wires of a device in an automated way to save money / time. Such devices are called multiplexer. They have a few inputs and an "unlimited" amount of outputs which can be "switched" through to the inputs. Therefore only one measurement unit is needed to measure a whole bunch of connections.

Me and a friend offered to develop such a device since a custom solution was needed. The company could have bought devices that are already on the market but they would have had to develop adapters and write their own software and use additional power supplies for the measurement.

We successfully built our product and sold 5 units including the Intellectual Property to the company as well as plans and configurations how to build future units. Therefore i cant explain in detail how the multiplexer is built since the knowledge belongs to the company now. But i can give a general overview of what we did.

Specifications

There were a few specifications how the multiplexer should be built. First there should be at least 64 channels which can be upgraded with an additional board to 128 channels if needed. Second the power-supply for the measurement has to be built in as well. And third, there must be a EU-version which works with 230V and an US-version for 110V since its an international company.

CAD Model with Siemens NX 8.5, finished prototype plugged in the system. 
To get the contract in the first place we built a little prototype with an arduino microcontroller and relay boards for switching 32 channels. We used LabVIEW to control the unit and switch the right relays at the right point in time. The software also connected directly to the machines which were measured with our device. The multiplexer had 4 inputs in total which could be connected to the power supplies and the measurement units.

Presenting our working prototype we got contract and we started working on the "real deal". We used Altium Designer to develop two different platines. A main platine which includes 128 relays and multiplexer, ULNs and other electronic parts needed for switching and an extension platine which only included another set of relay drivers and relays. The extension can be added at any time and will provide another 64 channel switching power.

A third platine is layouted for the power-supplies. They are located on top of the multiplexer and cooled with an active fan. An additional power-supply feeds the relays with current and assist the microcontroller board.

Development / Construction

We started by drawing a schematics of our device in Altium Designer. Its a very nice tool for pcb design since you can see the platine you are working on in 3D with all the components. It helps a lot for designing better paths and arrangements especially with additional pieces like heatsinks etc.


During this time we bought some components and did some testing of the circuits on a breadboard to make sure everything works as planned. We also tested every ( a few hundred ) relays manually to make sure they work 100%.


We soulderd the platines with a wave solder machine. It was important the whole apparatus was level to get even and equally good solder points. We double checked everything and stored the platines away.

After setting up the machine it was pretty much fully automated. We just had to set the platine in place and press the start button. But obviously the flux hight, solder wave and other settings must be calibrated first.


Later we did made sure the power supply and the platine didn't get too hot with a infrared camera.


The housing is drilled with an CNC machine. We had to drill holes for screws, LEDs, Connectors and heat slits.

After assembling everything we uploaded our developed software and tested the devices functionalities. There were no surprises, everything worked perfectly and we could deliver the finished product.


I know this last bit is a bit short. Maybe i will expand it a bit on the go. If you have questions or any comments just let me know. :)