Need to choose between 48 solenoids, trying to design a proper circuit to do so

darlingtonopto-isolatorsolenoid

I am in the process of designing a project that will allow a Raspberry Pi to "print" to an old (60s) electric typewriter. I have decided to have a push-solenoid for each key (24V), for 48 total keys. I have chosen a set of decoders (74VHC138M) to take a six-bit output from the RasPi GPIO pins to select the solenoids (one at a time).

I am trying to figure out how to drive the solenoids, and I think an optocoupler might be a good idea (something like this: LTV-847).

My question: can I drive the solenoid straight through the LTV-847 simply by triggering the optocoupler with the decoder? I was looking at this post and I'm wondering if will be necessary to build a Darlington (one for each of the 48 keys…). I'm hoping I don't have to do that, but if it necessary, I want to do it correctly.

Best Answer

My suggestion is to see if any of the TPIC family of shift registers from TI can handle the solenoid current. For example, the TI website says that the TPIC6595 is good for 250 mA continuous, 750 mA peak, 1.5 Amps pulsed.

I honestly don't know what the difference is between peak current and pulsed current but TI does make the distinction.

The TPIC6A595 (note the extra "A" in the middle) is good for about 30% more current than the 6595.

Also note that this family of chips contains circuits that clamp the inductive spike from the solenoids. You don't need catch diodes for your solenoids with these chips.

6 of these chips should be able to drive all 48 solenoids. You can either daisy-chain the serial out to in (slower) or drive the 6 chips with separate data lines (but common clock & latch lines) for faster operation. Personally, I suspect that the serial scheme would be fast enough (shift out 48 bits, assert the latch line, repeat as necessary).