psas / launch-tower

CAD files and software for the launch tower computer (LTC)
19 stars 4 forks source link

Select Relay Driver Technology for LTC3 External Triggers #18

Closed nellump closed 9 years ago

nellump commented 9 years ago

The BeagleBone GPIO have a very limited current sourcing capability, not nearly enough to drive a typical 12V relay. We'll either need to use discrete driver transistors, one each connected to its own GPIO, or use a relay driver IC (connected to the BBB over I2C or SPI). Investigate amongst yourselves. Refer to the Requirements Spec for details, as necessary.

nellump commented 9 years ago

Linear Technology offers an I2C-based relay driver chip, LTC4255. Four independent open-collector drivers; short-circuit and over-current (foldback) protection; etc.

NM. That chip is designed to switch a -48 V supply.

nellump commented 9 years ago

Relay-driving capes are also available, including a four-relay 3 A cape from CircuitCo ($30 from Digi-Key). An off-the-shelf cape would save us some design time, but would require running power wires from the relay cape to the external trigger connectors on the enclosure.

nellump commented 9 years ago

Possibilities worth investigating:

BartMassey commented 9 years ago

What are the relay coil current requirements? Why are we using relays instead of solid-state switches in the first place? Is there really any reason not to just use a MOSFET per GPIO?

nellump commented 9 years ago

Haven't settled on a specific relay, yet. IIRC, 30-50 mA is a typical 12 V relay coil current.

Relays seem simpler and more robust to me, but that could be due to lack of experience with MOSFETs.

OutboundFlight commented 9 years ago

Isn't there also a safety/reliability issue? Because the relays are driving the igniter and RocketReady for the launch system. Are relays considered more reliable than transistors?

BartMassey commented 9 years ago

Transistors are way more reliable than relays if they are protected properly. Mechanical failure modes are unpredictable, whereas transistor failure modes are highly predictable/repeatable.

Just use a MOSFET directly. If there are unusual voltage or current requirements, use a "solid-state relay" (http://www.digikey.com/product-search/en/relays/solid-state-relays/1048664). If you must use a mechanical relay use a MOSFET for the coil.

nellump commented 9 years ago

The current implementation is based on your second suggestion (MOSFET driving a mechanical relay's coil). (This is also Andrew's suggested circuit.) The MOSFETs are good for several amps, though. Would we need to worry about heat dissipation if we drove the external triggers directly with MOSFETs?

BartMassey commented 9 years ago

I doubt it. The effective resistance of the MOSFET is really tiny, so it doesn't really dissipate noticeable power except when switching. Like I say, check out the "solid state relay" chips I referenced earlier: they are basically a FET with some protection circuitry. I think you'll find reasonably-priced things rated for our application.

andrewgreenberg commented 9 years ago

You have to worry a little bit about thermal dissipation, but only if you choose the wrong one. Here's a better list for you from Digi-Key. Some of them are absolutely huge, either in area or height, but many of them are simple 8 pin SMT parts.

Here's my favorite huge ginourmous one.

And my favorite small one.

I'd go for the small one. You'll still need a small N channel MOSFET to run on the LED of the "solid state relay", but that's OK. And now no bouncing of the contacts :) but no clicking noise either :(

We can chat Tuesday, but let's wrap it up then so you can move on.

nellump commented 9 years ago

Andrew and the LTC3 team conferred at Tuesday's general meeting, and have settled on using MOSFET-driven photorelays for control of external devices' power and triggering. I will update the design spec accordingly.