So I've got a model rocketry related project that I'm working on, and I'm looking to ( if possible ) simplify some of the circuitry that needs to go on the board. Basically, I'm designing a flight computer that will have two or three igniter outputs as well as a high-speed telemetry output channel ( that will later be connected to a Raspberry Pi, collecting video and acting as a data-logger ). Most of the design is coming together almost naturally, but the igniter channels are giving me some trouble. The difficulty is that they really need to do several things, and the circuitry is getting more complicated than I really like.
Firstly, the igniter needs to be "fired." This is accomplished by an N-Channel MOSFET to ground. Secondly, the igniter needs to be checked for continuity ( resistance below, roughly, 100 ohms ). This check needs to be able to be turned off such that no current flows through the igniter. Finally, I want to be able to do an order-of-magnitude estimate of the current through the igniter while it is being fired so that the switch can be disabled in a short-circuit condition. The circuit I'm considering at the moment is as follows:
Following the right-hand side, current flows from Vin through the igniter and down, through the bottom MOSFET to "fire" the system. To check continuity, the "Continuity Mode" input is brought high ( switching the second MOSFET on and creating a voltage divider. This voltage divider allows a small current ( around 1.5mA and maximum Vin ) to flow through the igniter. This pulls the voltage divider up nearly to Vin and results in a voltage being buffered and passed through to the "sense" output. These two work fairly simply. Things are more interesting when "Continuity Mode" is brought high. In this case, assuming that there is continuity through the igniter, the input to the buffer is pulled up to Vin. Thus, the buffer attempts to pull "sense" up to Vin. The "sense" output is wired to an ADC on a 3.3v microcontroller though -- hence the resistor and diode on the buffer output. By putting the feedback after the resistor, the buffer will work to pull that point up to Vin but it will do so with a current limit ( again, less than 2mA ), and be clamped by the diode to ~0.4v above the microcontroller rail ( which should be safe ). In this mode, no current flows through the igniter ( because the divider is disconnected and the op-amp is high impedance ). But, when the fire MOSFET is closed, the on resistance of the MOSFET acts a current sense resistor. The voltage across the MOSFET is buffered ( undivided, as the voltage divider is disconnected ) directly to the ADC. With a 45mOhm MOSFET, this will give me plenty of voltage ( at 10A ) for my 12-bit ADC to read, without causing thermal troubles, after all, the switches will only be closed for a couple of seconds each flight.
Anyhow, there's the theory. In the last couple of years, I've gotten much better at my analog design, but I know I still tend to design in a very piecemeal fashion -- adding components to solve problems as they arise. I was just wondering if anyone saw any obvious changes that would allow for complete current shutoff through the igniter, continuity check, and rough current sensing ( without overvolting my ADC ), with fewer components, in less board space, cheaper ( all of the above! ) or just in a completely different way. I'm hoping, at the moment, to place three of these circuits on my final board, so even a small improvement would be helpful.
Thanks in advance!
Martin Jay McKee