Lukas Fässler is building a CNC milling machine, and in doing so found himself in need of a way to easily interface with a range of devices running on anything from 5V to 24V logic and controlling hardware from 5V to 250V. The result: the creation of the Universal Interface.
"My challenge was that I had to connect to and from a variety of external devices," Fässler recounts, "such as coolant pumps, pneumatic valves, probes and the like. Input and output signals could be anything from 5V logic, open collector logic, 24V logic to a relay. And they could be active low or active high.
"Some situations also required a bit of logic. Not much but still some. Something like an AND and an OR gate or so. None of those circuits were challenging to design. But there were several of those and I didn’t really want to custom design and build a board for each one. Besides the fact that some in- and outputs were not entirely final yet or could change in the future. In other words, I wanted a single design that is flexible enough to handle all the present and future little challenges."
The Universal Interface is the result. Each compact board includes three inputs and a fourth "enable" input, all of which are 24V tolerant and can be given pull-up or pull-down resistors and configured to be active high or active low. Each input also includes hardware debounce, courtesy of an RC filter plus a Schmitt triggered logic gate — and each has a status LED assigned.
The logic side is handled without a microcontroller, through an 74HC151 eight-input logic multiplexor programmed in hardware by soldering surface-mount zero-ohm resistors to a physical logic table silkscreened to the top of the board. Finally, a single output can be configured as a single-pole double-throw (SPDT) relay supporting up to 250V at 10A, an open collector draining up to 2A, a 5V logic output good to source or drain 25mA, or a 24V logic output good to 500mA.
"As this circuit was intended to for use in an industrial environment, its supply voltage is 24V," Fässler adds. "This could easily be changed to 12V by simply using the 12V version of the relay – nothing else needs to be changed. The 5V voltage for the logic and 5V output is generated by a switching power supply that is good for up to 1 amp output current (far more than ever needed here) and an input voltage up to 30 volts. There is plenty of capacity both at the input (220uF) as well as the output (680uF). And yes, it is also reverse-polarity protected."