Pyro circuit question

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

Chad

Well-Known Member
TRF Supporter
Joined
Jul 23, 2018
Messages
467
Reaction score
319
Location
Dallas
I want to make a stand alone pyro board accessible over i2c. I have one breadboarded using a Darlington transistor that works just fine. However, I've been going over Altus Metrum's altimeter designs since they publish their schematics on the website. I understand how their pyro circuits work except for the comparators. Is the purpose of the comparators to disable the pyro channel if the battery is low?

This is from the Easy Timer schematic
Screen Shot 2022-11-15 at 8.41.11 AM.png

full schematic
https://altusmetrum.org/EasyTimer/v1/easytimer-sch.pdf
 
Yes. Based on the voltage dividers, the input to the regular (v_ldo_in) has to be at least 0.1V higher than the 3.3V regulator output rail. Otherwise the input to the firing FETs is pulled low to disable.
 
Yes. Based on the voltage dividers, the input to the regular (v_ldo_in) has to be at least 0.1V higher than the 3.3V regulator output rail. Otherwise the input to the firing FETs is pulled low to disable.

ok now the logical next question is, can you think of a reason why? To me it makes sense to always at least try to fire the pyro channels no matter what. No pyro = lawn dart. Do you think the idea is don't risk shutting down the altimeter as a whole when the pyro fires? I think Altus Metrum altimeters record battery voltage and Easy Mini/Mega use this same circuit so maybe the thought is sacrifice the pyro charges to keep the altimeter powered and recording data. After the crash, you at least have a log that would show battery voltage too low to fire the pyro charges. I know we're just speculating, i should probably just email AltusMetrum and ask..
 
I think this is mainly to avoid errant firings while powering up, especially with a low battery. The microcontroller outputs could be in an unknown state during those circumstances.
 
I believe the idea is if the output is a hard enough short to pull down the supply the output will go into a PWM-like mode.
This keeps the CPU alive while trying to continue driving the [shorted?] pyro output.
This keeps the thing from going brain dead and hopefully still able to fire backup charges.
 
I believe the idea is if the output is a hard enough short to pull down the supply the output will go into a PWM-like mode.
This keeps the CPU alive while trying to continue driving the [shorted?] pyro output.
This keeps the thing from going brain dead and hopefully still able to fire backup charges.
I agree, if this is not the intent its a clever way of brown out prevention.
 
I agree, if this is not the intent its a clever way of brown out prevention.
+1. But more critical is protection from errant firing at power up at the pad.

The Altus Metrum uses a single-cell LiPo for the electronics and a separate battery for the pyro charges. I suppose a 3.7V lipo with enough capacity could fire an ematch, and some people might use the altimeter with a single battery. So, yep, the circuit would prevent brownout (but especially avoiding reset from the 3V supervisor chip). Some ematches (etc) can go to a short after firing and before the firing pulse is removed.

They are using a 25A, 20V FET. There's no protection from firing into a dead short. Overkill on the choice of pyro battery would burn traces on the board.

My preferences is a current source for a firing circuit, limited to 1.5x the all-fire current of an e-match. So, 1.5 to 2.0A.
 
Another way using diodes and capacitors is a charge pump circuit. a simple high or low or even a couple transitions from the controller does not trigger the FET. The controller however will have to pulse many times and keep pulsing to keep the FET on. This also has an advantage of creating a higher gate voltage to fully turn on the FET for more current flow, even with a low supply voltage.
David
 
+1. But more critical is protection from errant firing at power up at the pad.

The Altus Metrum uses a single-cell LiPo for the electronics and a separate battery for the pyro charges. I suppose a 3.7V lipo with enough capacity could fire an ematch, and some people might use the altimeter with a single battery. So, yep, the circuit would prevent brownout (but especially avoiding reset from the 3V supervisor chip). Some ematches (etc) can go to a short after firing and before the firing pulse is removed.

They are using a 25A, 20V FET. There's no protection from firing into a dead short. Overkill on the choice of pyro battery would burn traces on the board.

My preferences is a current source for a firing circuit, limited to 1.5x the all-fire current of an e-match. So, 1.5 to 2.0A
<Marsa's use the latter and limit the current to just under the rating of the FET which is about 6A. This is adjustable in firmware. Some like to put ematches in parallel so a little higher current allowed is prudent.

Triggering the pyro outputs due to power instability (power on/off) can be avoided by using the brown-out reset, and start-up clock delays to stable power capability of some modern mcu's. Also keeping the outputs in a high-impedance state until you need to fire the FET is also wise.
 
Last edited:
I want to make a stand alone pyro board accessible over i2c. I have one breadboarded using a Darlington transistor that works just fine.
I would consider changing to MOSFETs. Darlingtons are good for high gain (low drive to the base needed) but FETs are so much more capable these days for doing the same thing. YMMV.
 
Also keeping the outputs in a high-impedance state until you need to fire the FET is also wise.
I am not sure you want to do this, but it depends on the circuit type, might work for bipolar devices but a FET device should be driven and held in an off state. Because of the "ease" for very low current to turn the FET on, RF or other EM sources could drive the gate on, easy when the controller is in a floating mode. one of the issues with a charge pump circuit BTW so there needs to be a good off path. One of the reasons to have a high side driver on/off providing power to the firing circuit along with a ground path.
dB
 
I am not sure you want to do this, but it depends on the circuit type, might work for bipolar devices but a FET device should be driven and held in an off state. Because of the "ease" for very low current to turn the FET on, RF or other EM sources could drive the gate on, easy when the controller is in a floating mode. one of the issues with a charge pump circuit BTW so there needs to be a good off path. One of the reasons to have a high side driver on/off providing power to the firing circuit along with a ground path.
dB
You always have a robust pull down resistor on the FET gate.
 
An IGBT might be a better choice than an FET. It has many advantages over an FET, and most of the disadvantages wouldn't apply to rocketry applications. But what do I know? Back in my day, we used a 9v battery and an SCR and replaced the battery each time.

[edit] not meant as any negative criticism. There are many ways to do this.
 
Last edited:
I would consider changing to MOSFETs. Darlingtons are good for high gain (low drive to the base needed) but FETs are so much more capable these days for doing the same thing. YMMV.
I originally used the darlington based on another circuit i saw and managed to get it to work ( including a continuity check ) on a breadboard connected to a raspberry pi pico which was no small feat for me heh. I started looking at the Altus Metrum circuits because they're available online and obviously work well enough, i figure if i can understand it then i can put something together in kicad based on their firing circuits and the i2c enabled gpio expander i used on my breadboard.

here's a vid of my breadboarded darlington based setup, i'm firing the channels by entering in CircuitPython code on the REPL right on the pico over USB (that REPL and Python on an MCU is pretty handy)


i looked at using high side switches for automative applications that were mentioned in an other pyro circuit thread. They look perfect for the application but I would need to use a 2s battery with them. Not that big of a deal really but i'm just looking at different options.
https://www.rohm.com/products/power...witch-ics/bv1hj045efj-c-product#productDetail
 
Last edited:
I agree, so why hold in a high impedance state?

Why not? During an anomalous event, like a loss of power a stray "1" could end up on a GPIO pin, if the pin at that time is configured as an input, it could not enough source current to fire the fet, in theory.

Edit: BTW I am too unsure that this is necessary. I think brown-out resets are good enough protection in most power loss cases.
 
Last edited:
The big problem with transistors is that mosfets ' input capacitance makes it draw a large current to turn it on fast. Darlingtons have a much higher saturation voltage, and will burn easier. a good regular transistor can work with the proper one.
 
I want to make a stand alone pyro board accessible over i2c.

The B1 revision of the Eggtimer Quantum has a very elegant pyro circuit, see attached schematic. The Eggtimer Proton uses a similar circuit with six drivers and a MCP23017 I2C port expander.

Simply hook up all IOs to the port expander. Configure IO1+IO3+IO5 as output with internal pull-down resistor and IO2+IO4 as input with internal pull-up resistor. The drivers need a POWER supply between 5 and 28 volts to operate.

NOTE: this design will falsely detect PYRO continuity when the POWER voltage is below a minimum threshold.

quantum_pyro_schematic.png
 
Here is a test circuit I was trying out with the charge pumps that I was playing with for RF and EM immunity. The 1 meg could be lower but it has to balance with the energy from the 0.1uf cap storage and feeder to the FET. This circuit is waaaay overkill and was designed for a 12 volt system. you could easily pop a pump stage or two off and still have good results.

think brown-out resets are good enough protection in most power loss cases.

I think there are various methods for errant power protection, I was curious if you were addressing something specific. I focused more on the start up but I was also playing with controllers when they did not have a fast start or brownout circuits and the unknown state was a lot longer that the ~2ms the current controller crop has today.

dB
 

Attachments

  • chargepump with scope images.png
    chargepump with scope images.png
    501.6 KB · Views: 7
The B1 revision of the Eggtimer Quantum has a very elegant pyro circuit, see attached schematic. The Eggtimer Proton uses a similar circuit with six drivers and a MCP23017 I2C port expander.

Simply hook up all IOs to the port expander. Configure IO1+IO3+IO5 as output with internal pull-down resistor and IO2+IO4 as input with internal pull-up resistor. The drivers need a POWER supply between 5 and 28 volts to operate.

NOTE: this design will falsely detect PYRO continuity when the POWER voltage is below a minimum threshold.

View attachment 546527
Is IO5 like an arm output? Set it to true to enable the other two channels?
 
Here is a test circuit I was trying out with the charge pumps that I was playing with for RF and EM immunity. The 1 meg could be lower but it has to balance with the energy from the 0.1uf cap storage and feeder to the FET. This circuit is waaaay overkill and was designed for a 12 volt system. you could easily pop a pump stage or two off and still have good results.



I think there are various methods for errant power protection, I was curious if you were addressing something specific. I focused more on the start up but I was also playing with controllers when they did not have a fast start or brownout circuits and the unknown state was a lot longer that the ~2ms the current controller crop has today.

dB
I did have a test flight where the motor catoed, a charge fired and the log data from the computer showed loss of power or short (no more data logged) at the time of the cato. The log data showed that there was no firmware command to fire the FET. So the FET gate output pin was not driven high by the software. The electronic bay was intact so there were no loose wire or metal pieces flying around that could have shorted the fets to turn on. So the root cause was never determined and the hypothesis was the fet gate was somehow driven high during the power anomaly. So hence the proposal to keep the output to the gate in a high impedance state until you need it to drive. Don't know if that would have prevented the event but it would be another 'layer' of safety, maybe.
 
Is IO5 like an arm output? Set it to true to enable the other two channels?

That's right! It helps to ensure that all pyro channels are practically dead until the low-side MOSFET is switched on. There will still be a very small current flowing through the pyro channels, but it's nowhere near enough to fire any igniter you might be using.
 
Last edited:
The B1 revision of the Eggtimer Quantum has a very elegant pyro circuit, see attached schematic
I like the high low switching piece, very nice. but you do give up something such as a higher voltage requirement. Most high side drivers also have the nicety to limit current too, which is a bonus.

R4 is used to keep the pyro- from floating? or part of the continuity?

dB
 
I did have a test flight where the motor catoed, a charge fired and the log data from the computer showed loss of power or short (no more data logged) at the time of the cato.
Thanks John, Yeah I had one of those events recently where the rocket launched unannounced. over a thousands of safe launches. spent days trying to recreate and no luck. Still trying to come up with scenarios that might have caused it.
 

Latest posts

Back
Top