Help with PNP-Based SPDT Switch with 'Off'

Thread Starter

aapitten

Joined Oct 11, 2017
6
Hey everyone,

As part of a larger project I need a circuit that functions like a SPDT relay, but also need an 'OFF' position.

It is a rather complex application but, to explain it simply, I have a switch that has two solenoids attached to it. One solenoid moves it 'on' and the other moves it 'off'. It will latch in either position when power is removed. The solenoids are only rated for a very short duty cycle (~5%) so I will be operating them with pulses. I think I've got the SPDT portion figured out from some other posts, but I'm not sure how best to do the 'pulse'. I'm thinking maybe the yellow box might work?

The thought is that I can briefly close the switch (relay) to pulse power and, when its open, the 10k resistor will keep the emitters of all my PNP transistors (120 of them since 60 switches) from floating? But I'm concerned if I will cause damage to the transistors pulsing power like this. Any comments or other ideas would be awesome.

FYI, each solenoid pulls about 600 mA (and I have 60 'switches' to control, so that is 36 amps, so I will be doing the 'pulse' with a physical relay.)

circuit.PNG
Thanks!
aapitten
 

AlbertHall

Joined Jun 4, 2014
8,979
Yes that will work and you don't need the 10k resistor. While the power is switched off it doesn't matter about floating. The pulsing will not damage the transistors.
You will need to buffer the shift register output as it won't be able to supply enough current for 60 transistors. If the solenoids draw 600mA then the transistor base current should be 60mA to ensure they are saturated so the total base current for 60 transistors would be 3.6A!
 

Marley

Joined Apr 4, 2016
332
Do all your 60 switches have to operate at exactly the same time?
How short can the 600mA pulse be to reliably operate the solenoid?
What I am thinking is, have 120 transistors but operate them in sequence so that only 1 is on at a time.
So to switch on the 60 switches, transistors 1 to 60 operate as quick as possible in sequence. To switch off, operate 61 to 120 in sequence. That way, although 120 transistors, only a fairly small power supply is needed.
I would use MOSFET transistors with "logic level" gate threshold and control them from digital logic or a simple microcontroller.
Various ways to control the transistors: Could be a chain of -ve edge triggered monostables (where the previous one triggers the next one at the end of it's pulse) or better a pair of 60 bit shift registers where a pulse is clocked through (probably by a microcontroller). The clock rate determines the pulse width.
Don't forget to use back EMF diodes in parallel with the solenoid coils.
 

AnalogKid

Joined Aug 1, 2013
8,250
First, you show the shift register output connected to a 23.3 V DC source. If that is the actual case, the shift register will fail. also, there is no current limiting resistor for the "left" transistor. Please add reference designators to each component.

Your requirements are not clear. To me it sounds like each pair of solenoids is controlled by one bit from a shift register. When the pulsed power is applied, only one solenoid in each pair is supposed to activate. Is this correct? If so, your circuit needs some changes. Both transistor bases need pull-up resistors to the 24 V source to assure that they are firmly off when not being driven. Something in the 10K to 47 K range is common for this.

If the shift register data is coming from a programmable device of some kind (uC, PLC, etc.), is it possible to double the number of shift registers so each solenoid has its own dedicated control signal? In this way, you can control each one without relying on one solenoid to provide the turn-on signal for another.

ak
 

Thread Starter

aapitten

Joined Oct 11, 2017
6
@AlbertHall , thanks for the suggestions. Good to know I don't need the 10k resistor. I was worried about any potential induced currents hanging out on those pins.

I actually thought I was going to need a buffer but, when I did the calculation based on my actual components, it looks like I may only need 3.75 mA of base current. Did I do something wrong here?

I am using a SS8550DTA transistor with an Hfe of 160. So 160/0.6 Amps = 0.00375 Amps. 24 VDC /0.00375 Amps = 6400 Ohm.

My shift register is a TPIC6C595N. It is rated with a drain-to-source voltage of up to 33 volts and 250mA pulsed (all outputs on). Based on that it looks like it should be able to directly drive my PNP's.


@Marley,
I still need to do some experimenting to figure out how short the pulse can be but, based on some very un-scientific testing, I'm thinking a minimum of 50-100ms. Operating one at a time is probably going to take too long (the application is to move the stops on an electronic pipe organ, so 3-6 seconds is far too long to wait for a stop-change mid-music.) Not to mention, I would have to add a lot of additional outputs to drive the 'pulse disconnect' circuit for each one pair of transistors.

What I was planning on doing is running them in banks of 20 and having 3 power relays do the pulsing (so that limits my current to 12 amps per bank but I can still do a stop change in about 300 ms.) I haven't done the numbers yet but, I figure with shuch short pulses, I may be able to add a large capacitor to my power supply so I can get away with 'under-sizing' it a little bit.

In addition to the components I mentioned above in my reply to AlbertHall, I will be controlling all of this with an Arduino (there is a whole other batch of circuitry to read in the current stop position for saving presets (through a bunch of Mux's), as well as processing the pedal data from the organ and converting it to Midi.) I had been doing all this with a Mega with a 5v logic level, but I'm considering moving to a 3.3 volt platform. My muxes support 3.3v no problem, but it looks like I would have to use a logic level converter for the shift register as I can't find something comparable to what I have that also runs at 3.3 volts!

While you are correct, I could drive each transistor directly from a shift register, I like the bi-stable operation as it ensures that a coding error will not allow both solenoids to fire at the same time (which I suspect may not end well.) In fact, my 3 power relays may very well get powered through a physical toggle switch so, if anything goes haywire, there is a quick way to disconnect power before burning up the coils.

I actually am using latching shift registers as it is possible that I may not flip all the stops on each cycle - some may need to be on while some need to be off. That will allow me to clock in the exact pattern I want, and then move it to the outputs. Your suggestion is interesting as I wouldn't have thought of using the pulse width to determine if a stop flips (I assume you mean if I pulse it quick enough the solenoid wouldn't actually fire, and I could do a longer pulse for the solenoids I do want to fire.)

The flyback diodes are included - they should be in the circuit above.


@AnalogKid ,
Thanks - you have some very valid points there. I had converted this circuit at one point and missed moving some resistors. I also didn't realize a pullup was recommended. I could absolutely double the number of shift registers but, as I was mentioning to Marley, I really would like the 'hardware assurance' that both solenoids won't fire at the same time. I have updated the schematic accordingly and added some explanation and part numbers for reference.

You are correct though, each pair of solenoids is controlled by one bit from a shift register. When I pulse the power, only one solenoid in each pair should activate. In the top left of the image, I added a quick sketch of how the solenoids interact with the organ stop they are controlling. I do realize I can remove the 10k ohm resistor (R5).


One of my friends suggested I could try using P-Channel MOSTFET's - he thought that might reduce component and circuit complexity. What are everyone's thoughts on that?


circuit.PNG
 

AlbertHall

Joined Jun 4, 2014
8,979
I am using a SS8550DTA transistor with an Hfe of 160. So 160/0.6 Amps = 0.00375 Amps. 24 VDC /0.00375 Amps = 6400 Ohm.
To make sure that the transistor is saturated you must supply a good bit more current than that to the base. The section below is from that transistors datasheet for Vce saturation voltage. Note that it is specified at 800mA collector current and that to achieve that the base needs 80mA. Keep to that factor of 10 and you can be sure the transistor will be saturated.

To avoid the large base current this ends up needing for all those transistors, as suggested above, you could use P-Channel MOSFETs which need no gate current.

1574809620626.png
 

Thread Starter

aapitten

Joined Oct 11, 2017
6
Okay, thanks for the help and suggestions - I did a lot of reading and learning over the last week or so and I think I understand MOSFETs a bit better now. It seems that really is going to be a better option to go the FET route rather than the BJT due to current requirements (not to mention a lot less to solder.)

I revised my circuit and wanted to see what everyone thought. It seems to simple - yet I can't find anything that seems to be wrong with this design. Please tear it apart and tell me if I've done anything incorrectly. Thanks everyone!

circuit.PNG
 

Thread Starter

aapitten

Joined Oct 11, 2017
6
Hey @crutschow , sorry I see how that is confusing. If SW1 is opened (Therefore neither FET is getting power) then neither solenoid is powered and the organ stop (switch shown in the sketch in the top left) will remain in it's last state.

These organ stops are best thought of a glorified toggle light switch with one solenoid to pull it up and one solenoid to pull it down.

Hopefully that helps?
 
Top