Maker Pro
Maker Pro

Help with hooking up open collector outputs

Hey there,

I'm trying to hook up an RC module to open collector outputs and am stuck, any help would be greatly appreciated :)

The RC module has 4 buttons. I soldered 4 wires, once to each of the buttons, plus a 5th wire to a common terminal.

I can successfully "press" any of the 4 buttons by shorting the buttons wire to the 5th one. When I test it with the multimeter I see that the 5th "common" wire is +12v, and the wire to the button is the ground. So, I have 4 "grounds", that I can short with the 5th +12v common wire.

I'm trying to connect these wires directly to some open collector outputs on a PC interface card. The interface card has a common ground, and the outputs turn on/off.

I think everything would work correctly if the 5th wire for the buttons was ground instead of +12v (and the 4 wires soldered to the buttons were +12v instead of ground). But, hooking up the 5th wire to "ground" on the PC interface card, and the 4 button wires to 4 open collector outputs, this doesn't work :(

I'm very new to electronics, so I'm kindof stuck here. I hope I explained this correctly, can someone shed light on what I need to do, so that the PC interface card can "press" these buttons with it's open collector outputs?

Thanks,
Mike
 

KrisBlueNZ

Sadly passed away in 2015
Hi Mike.

That's a pretty good description but I'll repeat it to make sure I understand you.

So you have four buttons which are connected to a remote control circuit using five connections. One connection is the common for all buttons, and it measures +12V relative to the remote control circuitry's 0V rail. The other four wires connect to the other sides of the buttons. They measure 0V normally. If you bring one of these wires up to +12V, by shorting it to the button common connection, the remote control circuit responds as if the button is being pressed.

And you want to control them from a set of open collector outputs which close to the 0V rail. The 0V rail that the open collector outputs use is connected to the 0V rail of the remote control circuit. (If it isn't now, it needs to be.)

You have two options. You can connect the open collector outputs to the button wires and add pull-up resistors, so that when the open collector output turns OFF (stops pulling to the 0V rail), the resistor will pull the button wire up to +12V.

There are two problems with this arrangement. First, the open collector outputs need to be turned ON by default; they will pull the button wires to 0V which is the idle state, and turning an output OFF will activate the button, which is unexpected. Second, it's possible that the open collector outputs will not pull down hard enough, and the remote control circuit may regard the buttons as always ON. This may happen if the open collector outputs are provided by a Darlington transistor array IC such as a ULN2003 or ULN2803, which are often used for this purpose.

The second approach is to use four PNP transistors to invert the open collector outputs. This requires more parts, but avoids those disadvantages.

To do this, make up four identical stages using PNP transistors such as BC557 or 2N3906. For each transistor, connect the emitter to the +12V rail and connect the collector to the button wire, so the transistor is connected across the button. Then connect a 10k resistor from the transistor's base to its emitter, and another 10k resistor from the base to the open collector output that you want to control that button with.

The transistors will be held OFF by the base-emitter resistors. When an open collector output pulls to 0V, current will flow in the resistor and into the base, and will turn the transistor ON. The transistor will pull its collector up to +12V and this will activate the remote control circuitry.

You will need to connect the 0V rail of the open collector output circuit to the 0V rail of the remote control circuit, if they aren't already connected together.

If you need clarification or have any other questions, feel free to ask.
 
Hi Kris,

Thanks so much for your help and clear instructions. I bought some 2N3906 transistors and hooked them up as per your instructions, and it works perfectly :) Thanks again mate, your a legend :)

Cheers,
Mike
 
Top