Continuity Check Circuit Issue

The Rocketry Forum

Help Support The Rocketry Forum:

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

Gerald T

Member
Joined
Dec 16, 2022
Messages
7
Reaction score
0
Location
United States
Hi All,

I am attempting to make my own altimeter. I designed an ematch firing circuit which I believed should have worked and allowed the microcontroller I am using to detect continuity when activated (Like a commercial altimeter). However, when I assembled the PCB and tested it, the ematch fired the moment I plugged the battery in. When I removed R3 from the circuit, everything works nominally, so I assume it's an issue with my continuity checking circuit.

The U6 Terminal block is where the ematch is connected. The ematch is fired by activated the PY1 output pin on the arduino nano microcontroller I am using. The idea was to be able to read current through the CONTREAD pinout on the microcontroller in order to tell if the circuit had continuity through the ematch.

Any ideas what I am doing wrong with this circuit and how it can be fixed? I don't have much experience with electronics.

Thanks,
Gerald T.
 

Attachments

  • Pyro Circuit.PNG
    Pyro Circuit.PNG
    15.2 KB · Views: 5
Hi All,

I am attempting to make my own altimeter. I designed an ematch firing circuit which I believed should have worked and allowed the microcontroller I am using to detect continuity when activated (Like a commercial altimeter). However, when I assembled the PCB and tested it, the ematch fired the moment I plugged the battery in. When I removed R3 from the circuit, everything works nominally, so I assume it's an issue with my continuity checking circuit.

The U6 Terminal block is where the ematch is connected. The ematch is fired by activated the PY1 output pin on the arduino nano microcontroller I am using. The idea was to be able to read current through the CONTREAD pinout on the microcontroller in order to tell if the circuit had continuity through the ematch.

Any ideas what I am doing wrong with this circuit and how it can be fixed? I don't have much experience with electronics.

Thanks,
Gerald T.
The circuit looks fine except your continuity resistors are too low in value, by maybe 10x. The ematches can be sensitive. But double-check that that's the problem by using a multimeter to measure the gate voltage and the voltage across the FET to make sure it's not getting turned on. I don't know enough about the arduino nano you're using to know if it might also glitch the output when it powers up.
 
Last edited:
The circuit looks fine except your continuity resistors are too low in value, by maybe 10x. The ematches can be sensitive. But double-check that that's the problem by using a multimeter to measure the gave voltage and the voltage across the FET to make sure it's not getting turned on. I don't know enough about the arduino nano you're using to know if it might also glitch the output when it powers up.
Thanks for the reply, Adrian. I was curious if it was the resistor values, but I wasn't sure. I'll try uping the resistance by quite a bit. Hoping it's as easy of a fix as that!
 
Thanks for the reply, Adrian. I was curious if it was the resistor values, but I wasn't sure. I'll try uping the resistance by quite a bit. Hoping it's as easy of a fix as that!
What ematches are you using? Commercial, MJG etc, have a no-fire "test" current rating of 50ma. If you are setting those off you may have an issue with the pyro pin to your gate.
 
Thanks for the reply, Adrian. I was curious if it was the resistor values, but I wasn't sure. I'll try uping the resistance by quite a bit. Hoping it's as easy of a fix as that!
I agree with Adrian. However, it might be helpful to see your code. There might be an issue with your IO configuration and control.
 
I agree with Adrian. However, it might be helpful to see your code. There might be an issue with your IO configuration and control.
I don't have any saved code right now as I have just been playing around with the circuit trying to get it to work with temporary code. I've been using something along the lines of:

pinMode(PY1,OUTPUT)
digitalWrite(PY1,LOW)
delay(10000)
digitalWrite(PY1,HIGH)

to fire the pin. I don't recall if I even tried reading continuity because I couldn't get the above code to not fire the moment the battery was plugged in unless I disconnected the continuity circuit. Is it possible the CONTREAD pin is somehow sending current through the ematch?
 
In my opinion a few ma should not set off the ematch. Are you absolutely positive you have the fet wired correctly? Also do not test your system with ematches, use a volt meter initially. Put a resistor at U6 and measure the voltages on all the FET pins and report back what they are.
 
In my opinion a few ma should not set off the ematch. Are you absolutely positive you have the fet wired correctly? Also do not test your system with ematches, use a volt meter initially. Put a resistor at U6 and measure the voltages on all the FET pins and report back what they are.
I believe the mosfet is on correctly since the left side of the circuit works as intended when R3 is removed. I won't be able to test the circuit for a while since I will be gone for the holidays, but I will report back when I do.
 
In my opinion a few ma should not set off the ematch. Are you absolutely positive you have the fet wired correctly? Also do not test your system with ematches, use a volt meter initially. Put a resistor at U6 and measure the voltages on all the FET pins and report back what they are.
I had some time, so I grabbed my multimeter and tested the way you said. Looks like when my altimeter first powers up, there's a spike of about 5V across "the ematch". Then it drops down to about 1V until it fires. After it fires, it goes up to 7V.

Seems to me like somehow the Arduino nano is outputting voltage from its pin for a second when it boots up. What would the best way to fix this be? A larger R3 resistor?
 
I had some time, so I grabbed my multimeter and tested the way you said. Looks like when my altimeter first powers up, there's a spike of about 5V across "the ematch". Then it drops down to about 1V until it fires. After it fires, it goes up to 7V.

Seems to me like somehow the Arduino nano is outputting voltage from its pin for a second when it boots up. What would the best way to fix this be? A larger R3 resistor?
Is this measurement with an ematch or a resistor at U6? If a resistor what is the value used?
 
You need to make sure the output is set to zero before you enable the pin, iirc. On a pic processor, you write the register that goes with the pin first, then tell the pin what it is.That way it stay's tri-stated, and the 10k can hold the gate off. If you're seeing a 5v pulse, it's the pin config. dig deeper into that.
 
I had some time, so I grabbed my multimeter and tested the way you said. Looks like when my altimeter first powers up, there's a spike of about 5V across "the ematch". Then it drops down to about 1V until it fires. After it fires, it goes up to 7V.

Seems to me like somehow the Arduino nano is outputting voltage from its pin for a second when it boots up. What would the best way to fix this be? A larger R3 resistor?
On your Arduino code just to be safe I would code:
You need to make sure the output is set to zero before you enable the pin, iirc. On a pic processor, you write the register that goes with the pin first, then tell the pin what it is.That way it stay's tri-stated, and the 10k can hold the gate off. If you're seeing a 5v pulse, it's the pin config. dig deeper into that.
^This. On the arduino during setup

- Set pin to input ( it should be by default but do it anyways.
- Set pin level to low (yes you can set inputs to low/high)
- Then set pin as output.
etc etc
 
I don't have any saved code right now as I have just been playing around with the circuit trying to get it to work with temporary code. I've been using something along the lines of:

pinMode(PY1,OUTPUT)
digitalWrite(PY1,LOW)
delay(10000)
digitalWrite(PY1,HIGH)

to fire the pin. I don't recall if I even tried reading continuity because I couldn't get the above code to not fire the moment the battery was plugged in unless I disconnected the continuity circuit. Is it possible the CONTREAD pin is somehow sending current through the ematch?
Don't you mean:

pinMode(PY1,OUTPUT)

digitalWrite(PY1,HIGH)
delay(10000)
digitalWrite(PY1,LOW)

Also, that 10 second delay is very long. Only needs to be 1 second typically, at most.
 
Is this measurement with an ematch or a resistor at U6? If a resistor what is the value used?
With a 22 Ohm resistor, I get a spike of about 3.7V right when it powers on. Then I get almost 0 until the MOSFET switches and the full battery goes through the resistor which brings it up to 5V, but this smokes the resistor. Strangely, I've uped the resistance on both R4 and R3 up to 1M ohm, but it doesn't seem to change the voltage across the U6 resistor.
 
Last edited:
Are R2 and R4 supposed to be connected to ground? You appear to be connecting the gate of the FET to Vcc through R3, R4 and R2.
 
I agree, but that missing junction symbol would cause the circuit to function the way he described. Hence the question.
 
With a 22 Ohm resistor, I get a spike of about 3.7V right when it powers on. Then I get almost 0 until the MOSFET switches and the full battery goes through the resistor which brings it up to 5V, but this smokes the resistor. Strangely, I've uped the resistance on both R4 and R3 up to 1M ohm, but it doesn't seem to change the voltage across the U6 resistor.
if you are getting 3.7v across a 22 ohm resistor your fet is turning on to the tune of about 168ma and probably more because you DVM is probably not catching the peak.
Try programming your Arudino to do nothing. Set the pins to inputs and just run a while(1) loop on startup and see if what happens. Separate the problem to see if you have a hardware or a software problem.
 
Separating the problem is the way to trouble shoot this.
Other option is put a Scope on the circuit, Ardiuno pin setup as a single shot trigger to see if a spike occurs at power up.
 
I may have missed it above, but the OP doesn’t mention which IO pin is being used to control the mosfet. If either of D0 or D1 (RX and TX) are being used, then there could be issues on power up, particularly with D1 (TX). These pins can be used for gpio, but with care. Should use from D2 and up.

If you are using these pins and initialising the serial monitor port in your code with Serial.begin(), then you’re probably going to have an issue. Additionally, these pins should be disconnected from your circuit when uploading code to your Nano.
 
Last edited:
Probably just hasn't placed a junction symbol on the source/GND connection. If that wasn't the intention, then there will be a problem.
The first post mentioned assembling a PCB. If the schematic above is part of the design, the error will be present in the board too.

Reinhard
 
Back
Top