Connect with us

Pulsed Output From 8 Data Lines To Drive A Solenoid

Discussion in 'General Electronics Discussion' started by Johnny H, Jul 18, 2014.

Scroll to continue with content
  1. Johnny H

    Johnny H

    Jul 18, 2014

    Ok so I have 8 x 5 volt data lines that each line can either go between either 0-5v and 5-0v

    I would like to drive 8 solenoid coils from my 8 data lines. My requirement are as follows

    1) High current drive, Approx 500 milli amps
    2) High voltage, above TTL logic, Approx 14 Volts DC
    3) When Data Bus levels goes from low (0v) to High (5V) Solenoid Coil is engendered for about 500msec
    4) Minimal components used, thus keeping cost and size of PCB low and small sized

    I hoping someone can suggest the best practice to achieve my above requirements, I want to drive 8 12volt solenoids from a data bus, and energize each solenoid when each data bus line level goes from low to high, for about 500ms using the very least amount of components.

    I am planing to use a darlington 8 channel driver IC in between the data bus and the solenoids, this gets over the high 14 volt and 500 ma per channel, It also has internal protection diodes to prevent damage from back emf high voltages from the solenoid coils. So most of the problems have been solved from this IC.

    The only problems I see is being able to generate for each of the 8 data bus channels a pulsed output drive to energize the solenoid coils, obviously if I leave the drive to the coil permanently, I may end up burning out the coil and pulling lots of unnecessary current. So a pulsed drive of about 500ms - 1 Sec should be fine.

    Would just like to find the least complicated and least expensive way to achieve this using components, (NO Micro)

    Maybe a CR network, or they may even be some 8 channel timer IC to do what I want, any advice will be very much appreciated.

    I am not interested in the signal going from High to Low, I don't care about that, Only From Low to High and staying high for (X) amount of time for each of the 8 data lines.

    any help in this quest as always is much appreciated in advance


    Last edited: Jul 18, 2014
  2. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    Jan 21, 2010
    There is a resource which will help you. See here.

    That will allow you to turn the solenoid on whenever the output is high.

    For the pulsing, I'd recommend you insert the following logic to handle the pulse requirement:


    A rising edge on the input will cause a pulse to appear at the output. In this case I have shown an inverting Schmitt trigger. The fact that it's a Schmitt trigger is important! Because it's inverting, the output pulses low. You probably want it to pulse high, so either find a non-inverting Schmitt trigger, or just invert the signal with another inverter (or inverting Schmitt trigger).

    A slight failing of this circuit is that when the input signal falls, the charge in the capacitor will be dumped through the input protection diodes of the inverter.

    A slightly more complex version that does not suffer from this is:


    The additional resistor (say, 10k) and the diode prevent any possibility of damage to the gate. I have also shown another inverter so a rising edge at the input will give you a positive going pulse at the output.

    Note that the output pulse will be shortened if the input goes low.

    From memory the duration of the pulse is about 0.6RC for normal CMOS logic.
    Arouse1973 likes this.
  3. Johnny H

    Johnny H

    Jul 18, 2014
    Thank you so much for your reply and advice, I wondered whether to use hi impedance cmos gates

    Kind Regards
  4. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    Nov 28, 2011
    If your loads are really drawing about 500 mA each, you may want to reconsider how you drive them.

    I assume you were planning to use a ULN2803 or similar. This is really convenient, especially with the built-in diodes, but because they're Darlington transistors, you can expect to lose 1.5~2.0V across each transistor when it's conducting. That means that if your supply rail is 12V, your loads may only see 10V when they're activated. Also the ULN2803 has a total current specification of 2.5A and if all outputs are ON simultaneously, it will be carrying 4A.

    Discrete transistors as suggested in Steve's resource are not really workable at such a high collector current because of the amount of base current needed to saturate a transistor at that current. You can use an emitter follower stage to drive the base, but that means 16 transistors.

    If you can use SMT (surface mount technology) components, there are various dual MOSFETs that you can use. You would need four of them, and eight single diodes. This solution would probably take about the same amount of room as a THT (through-hole technology) ULN2803 but would be more difficult to assemble, as well as more expensive. So it's only worth considering if the limitations of the ULN2803 are going to be a problem.

    A couple of suitable devices from Digi-Key are:
    Vishay Siliconix SI1922: USD 0.44
    Fairchild FDC6305: USD 0.49
  5. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    Jan 21, 2010
    Time for me to write the "how to use a mosfet as a switch" resource :)
    shumifan50, Arouse1973 and KrisBlueNZ like this.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day