Interfacing a logic-level system to practically anything


The parallel port (or any other logic signal from a microcontroller) is a low-voltage, DC, very low-amperage signal. In order to control real world applications it needs to be amplified.

I created a driver circuit, and later on found basically the identical circuit in the pages of the very useful book, "The Robot Builders' Bonanza" by Gordon McComb. It seems to work well.

(Redrawn using OrCAD schematic entry, but otherwise unchanged.) I use a nine volt battery to power the relay; the diode IS a very good idea because there's a significant power pulse when the relay turns off. This particular relay can handle 220 volts, so it should be compatible with any mains supply. As usual, if you don't know what you're doing with high voltage, ie anything over 24 volts, don't do this. Do something else.

I specifically recommend the Jameco relay listed because of its performance/price ratio: it can switch an insane voltage and amperage, and only costs like $3. Get a dozen; you'll use them everywhere.

This relay can be used in place of any standard switch: it can drive lights, spotwelders, or ovens. It won't last forever, and it won't switch FAST. Within those constraints, it should be able to directly interface your computer or microcontroller to nearly any load you need. Its specifications are admittedly vast overkill for most jobs, but since it's actually cheaper than many small signal relays, it seems logical to me to use it as a standard.

In case you started with this page, I use this circuit to interface my parallel port to my homebuilt spotwelder for computer control of cycle time. It will eventually also serve as the power supply for a programmable oven temperature controller.

created 8/23/02, Last modified 12/13/06
Back to the index