Help Support RocketryForum by donating using the link above or becoming a Supporting Member.


Page 2 of 2 FirstFirst 1 2
Results 31 to 49 of 49
  1. #31
    Join Date
    7th February 2009
    Location
    Arlington, TX
    Posts
    1,235
    Quote Originally Posted by LithosphereRocketry View Post
    How do you propose I fix this? I can't put a capacitor on it since a capacitor from ground to ground really doesn't do much... The ground voltage changes all the time anyway. Mount your altimeter on a sled? You just changed the ground voltage with all the static charge on the sled.
    The problem isn't caused by the absolute ground voltage changing but that the difference between Vcc and ground changes. The regulator is almost certainly of the series pass design which means that it cannot sink current. So if something should cause the difference between its output and ground to rise, it can do nothing to stop it.

    Filtering (ferrite beads and capacitors) are the only way to prevent RF entering via your external connections from causing trouble. You could ignore it and hope that there is never a source of RF around strong enough to cause trouble. That works for most altimeters most of the time.

    The BMP280 may help as it has an internal regulator.

    Everything sensitive has a decoupling capacitor attached to it.
    Decoupling capacitors are not used to keep power supply noise out of the parts but to provide a local low impedance reservoir for when the current demanded by that part changes suddenly.


  2. #32
    Join Date
    19th February 2017
    Location
    The world, probably
    Posts
    351
    So I'm just getting back to this project, and I've reconsidered (again) and decided to go back to the ATMega based design. I figured that way I don't have to worry about burning a 3rd party version of Arduino on a different chip.

    I've simplified a bit by removing the servos and shift register, then rearranging the sensors a bit and adding in a MicroSD card reader in place of the 8K FRAM chip. This way I can run a high data resolution and never run out of space- probably a good idea with an experimental altimeter. Since the previous iteration I learned more about SPI buses (namely how multiple SPI slave devices stack) and was able to free up 4 analog pins. Those pins became a battery voltage sensor and continuity checks for the 3 pyro lines.

    My schematic and PCB are included- Chrome was having issues with inline images, so they're attached as files.

    Still no resistors on the MOSFETs. I really don't think it's the most essential thing ever. I'm just going with how Arduino themselves recommend MOSFETs be connected to the Uno, which has no internal parts in between the ATMega and the I/O pin.

    That said, there's probably something obvious I missed. Please feel free to say so if you see anything.

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	ardiu_1_0_pcb.jpg 
Views:	41 
Size:	119.6 KB 
ID:	333425   Click image for larger version. 

Name:	ardiu_1_0_schematic.jpg 
Views:	58 
Size:	90.4 KB 
ID:	333426  
    NAR #104043

    crmrc.org

  3. #33
    Join Date
    10th July 2007
    Location
    Melbourne, Australia
    Posts
    1,219
    Hi LR. Thanks for posting your info on this project. Putting your ideas out for everyone to throw rocks at is a bit daunting at times. In a commercial environment it is part of the process: Design, Make, Release to factory, release for sale, sell to customer. Every extra step through the process costs about 10x the $ to fix than the one before it. This means reviewing early on to find problems reduces the cost to the company orders of magnitude than if they have to fix it after it has been sold. I actually accept review as a necessary part of the process rather than a personal attack. I encourage you to look at it the same way.

    On with some comments:
    Your schematic is a bit scrambled and unreadable. I suspect it is largely due to you trying to "do a drawing on a postage stamp" as my graphic communications teacher used to say. You have lines going over and under schematic symbols, lines overlapping symbol lines, symbols under other symbols and things generally too tight to see clearly. The area to the immediate left of IC1 is a good example of what I just said. Consider using more space and being a bit more disciplined in the placement and routing of wires. Try to keep the flow left-right if it makes sense to do that, as it can help readability. Try to keep positive voltages above more negative ones, or ground (see your regulator circuit as an example). Looking at your gyro connector for example, keep the wires coming out of one side rather than going over the symbol. Allow yourself to use more space and your diagrams should be more legible.

    A little thought before you start sketching the schematic can make all the difference to it being legible. Try to make a logical layout with the functionality. Also consider who the schematic will be viewed by to determine what information is important. If it is not important consider leaving it off to make the page more readable.

    Here is an example of one of my circuits to show you what I mean:
    Click image for larger version. 

Name:	PWM-VoltsSchematic.png 
Views:	59 
Size:	165.9 KB 
ID:	333439

    Keep up the good work!

    As a final comment I would suggest you put those resistors in the gate legs of the FETs
    Last edited by OverTheTop; 4th December 2017 at 01:04 AM.
    TRA 13430, Level 3

    "Everybody's simulation model is guilty until proven innocent" (Thomas H. Lawrence 1994)

  4. #34
    Join Date
    23rd January 2009
    Location
    NE Ohio
    Posts
    2,475
    You really need to pull down the gates to ground so the FETs don't fire the pyro charges when the ATMega outputs are in an indeterminate or high impedance state.

    I don't understand why you 'resist' this?
    John Derimiggio NAR/TRA L3
    MarsaSystems

  5. #35
    Join Date
    19th February 2017
    Location
    The world, probably
    Posts
    351
    Quote Originally Posted by OverTheTop View Post
    Hi LR. Thanks for posting your info on this project. Putting your ideas out for everyone to throw rocks at is a bit daunting at times. In a commercial environment it is part of the process: Design, Make, Release to factory, release for sale, sell to customer. Every extra step through the process costs about 10x the $ to fix than the one before it. This means reviewing early on to find problems reduces the cost to the company orders of magnitude than if they have to fix it after it has been sold. I actually accept review as a necessary part of the process rather than a personal attack. I encourage you to look at it the same way.

    On with some comments:
    Your schematic is a bit scrambled and unreadable. I suspect it is largely due to you trying to "do a drawing on a postage stamp" as my graphic communications teacher used to say. You have lines going over and under schematic symbols, lines overlapping symbol lines, symbols under other symbols and things generally too tight to see clearly. The area to the immediate left of IC1 is a good example of what I just said. Consider using more space and being a bit more disciplined in the placement and routing of wires. Try to keep the flow left-right if it makes sense to do that, as it can help readability. Try to keep positive voltages above more negative ones, or ground (see your regulator circuit as an example). Looking at your gyro connector for example, keep the wires coming out of one side rather than going over the symbol. Allow yourself to use more space and your diagrams should be more legible.

    A little thought before you start sketching the schematic can make all the difference to it being legible. Try to make a logical layout with the functionality. Also consider who the schematic will be viewed by to determine what information is important. If it is not important consider leaving it off to make the page more readable.

    Here is an example of one of my circuits to show you what I mean:
    Click image for larger version. 

Name:	PWM-VoltsSchematic.png 
Views:	59 
Size:	165.9 KB 
ID:	333439

    Keep up the good work!

    As a final comment I would suggest you put those resistors in the gate legs of the FETs
    I agree that my schematic is a mess. I'll fix that next time I have some time to devote to it.

    I appreciate all the help- I totally get what you're saying about time to fix. I'm having that issue already- I tend to wire up a schematic, start laying out the PCB, then realize I forgot something and have to start over .

    The regulator circuit is how it is mainly because of the ATMega footprint I have- I just lined it up with where VCC and ground on the ATMega are. I guess I could make that part separate, kinda like what I did with the SPI pins. Also, I'll try to add labels to said connections to make the schematic a bit more readable.

    While I'm at it, I'll see if I can fit some gate resistors under the SD reader (silkscreen box on the schematic, already has some resistors under it). If not, they'll go in next time I redo the board- I meant to do them this time but honestly completely forgot.

    Quote Originally Posted by jderimig View Post
    You really need to pull down the gates to ground so the FETs don't fire the pyro charges when the ATMega outputs are in an indeterminate or high impedance state.

    I don't understand why you 'resist' this?
    I gave a reason in an earlier post- this is intentional. This is a protection against brownout due to high currents pulling the regulator below 5V. There is a separate key switch that powers on the pyrotechnics, and the processor can tell whether the key is in. If the altimeter boots with the key out (armed), it will assume it just browned out and not reset the ground altitude.

    I realize this isn't ideal, but I came up with it on an older design that used a shift register, which can't be simply pulled down. I originally used it as a workaround to the shift register issue, but when I realized the potential to reduce brownout I stuck with it.


    Thanks to everybody for all the help! You know it's a great hobby when you're making a DIY gadget and TWO different manufacturers of said gadgets help out...
    NAR #104043

    crmrc.org

  6. #36
    Join Date
    23rd January 2009
    Location
    NE Ohio
    Posts
    2,475
    Quote Originally Posted by LithosphereRocketry View Post

    I gave a reason in an earlier post- this is intentional. This is a protection against brownout due to high currents pulling the regulator below 5V. There is a separate key switch that powers on the pyrotechnics, and the processor can tell whether the key is in. If the altimeter boots with the key out (armed), it will assume it just browned out and not reset the ground altitude.
    Ok, very clever, I like it.

    One thing you can look into for future iterations is using the brown-out detection features of the ATMEGA's. The chip knows if it resetting from a power-on reset versus a brown-out reset and you can branch to different code appropriately.
    John Derimiggio NAR/TRA L3
    MarsaSystems

  7. #37
    Join Date
    19th February 2017
    Location
    The world, probably
    Posts
    351
    Quote Originally Posted by jderimig View Post
    Ok, very clever, I like it.

    One thing you can look into for future iterations is using the brown-out detection features of the ATMEGA's. The chip knows if it resetting from a power-on reset versus a brown-out reset and you can branch to different code appropriately.
    Thanks!

    Do you know if the Arduino firmware supports brownout detection? It sounds like a nice feature to have.

    In other news, I cleaned up my schematic a bit. Of course, the way Eagle PCB works, this means I have to reroute most of it... Ah well...

    OTT will be happy to note, I added gate resistors on the MOSFETs... Haven't wired them in on the PCB, but they're there in the schematic.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	ardiu_1_0_schematic.jpg 
Views:	28 
Size:	99.8 KB 
ID:	333558  
    NAR #104043

    crmrc.org

  8. #38
    Join Date
    18th January 2009
    Location
    Austria
    Posts
    744
    Quote Originally Posted by LithosphereRocketry View Post
    The advantage of this setup is that if the processor browns out due to a power-hungry ematch it'll continue firing.
    The voltage on the GPIO pins is limited to about Vcc + 0.5V, due to the internal clamping diodes of the AVR (see 18.1 and 32.1 in the ATmega328/P datasheet). Depending on the lowest voltage reached during brown-out, there is no guarantee that Vgs stays sufficiently high. Lowering Vgs will also increase the FETs resistance, which will increase the risk of thermal damage to the FET.
    Besides a short, very high currents will be a sign of an arc discharge in the igniter. If this happens, the igniter has already done its job. Keeping the FET on any further, will only increase the risks that something gets damaged.


    Quote Originally Posted by LithosphereRocketry View Post
    I gave a reason in an earlier post- this is intentional. This is a protection against brownout due to high currents pulling the regulator below 5V. There is a separate key switch that powers on the pyrotechnics, and the processor can tell whether the key is in. If the altimeter boots with the key out (armed), it will assume it just browned out and not reset the ground altitude.
    Are your switches designed to enforce the proper sequence or is there a possibility that it will be armed before it gets powered up by user error? What will happen in this case? Besides the "undefined GPIO pin during reset" scenario, what will the altimeters state machine do if it assumes a brown-out after booting? For example, will it immediately fire the main because it is below the main altitude? Or will it wait for liftoff, which may never be detected if the rocket is descending past apogee? Something else? While it is possible to recover state after a brown-out, this is also a good way to shoot yourself in the foot, if you overlook something and the law of unintended consequences strikes.


    Reinhard

  9. #39
    Join Date
    8th October 2016
    Location
    Midwest
    Posts
    92
    Hi LithosphereRocketry,

    Thanks for posting this thread. I am followig this discussion and learning quite a lot. And thanks to everyone for posting all those informative replies.

    Peace,
    Tobor

    Edit: oops

  10. #40
    Join Date
    23rd January 2009
    Location
    NE Ohio
    Posts
    2,475
    Quote Originally Posted by LithosphereRocketry View Post
    Thanks!

    Do you know if the Arduino firmware supports brownout detection? It sounds like a nice feature to have.
    I do not know if the Arduino supports BO detection programmatically but it is easy to implement. The MCUSR register on the AT328 indicates the source of the reset It is described in section 11.9 of the AT328P datasheet.
    John Derimiggio NAR/TRA L3
    MarsaSystems

  11. #41
    Join Date
    20th December 2011
    Location
    France
    Posts
    350
    Quote Originally Posted by LithosphereRocketry View Post

    OTT will be happy to note, I added gate resistors on the MOSFETs... Haven't wired them in on the PCB, but they're there in the schematic.
    Hello
    For the MOSFET the resistors on the gate should be pull up resistors rather than from the Arduino output to the gate. You need to wire your resistor from ground to the gate.

  12. #42
    Join Date
    3rd February 2012
    Location
    So Cal (ROC, TRASD, SCRA)
    Posts
    2,546
    Quote Originally Posted by LithosphereRocketry View Post
    OTT will be happy to note, I added gate resistors on the MOSFETs... Haven't wired them in on the PCB, but they're there in the schematic.
    Boris, your FET gate resistors need to be connected from the gate to GND, not in series with the processor outputs and the gates. This ensures that that gate will be kept at GND unless you explicitly send it high. On your PC board, you can simply run the resistor between the gate and the drain of the FET; it's often hard to find real estate right next to the processor pins to put them there.

  13. #43
    Join Date
    23rd January 2009
    Location
    NE Ohio
    Posts
    2,475
    Series resistors to gates in MOSFETS is a best practice to limit in-rush current and provide stability. Probably not needed in hobby electronics but it is standard practice in industrial and commercial products where 5 9 component reliability is required. At least that is standard practice where I work.
    John Derimiggio NAR/TRA L3
    MarsaSystems

  14. #44
    Join Date
    9th October 2013
    Location
    San Jose, CA
    Posts
    624
    Interesting, I've worked in consumer electronics for 20 years and have never seen a series R on a MOSFET gate unless that gate was exposed to a connector (where of course other sorts of transient protection are also recommended, the series R was just to help protect the gate, which tends to be pretty sensitive, from ESD). A series R is common (expected) on BJT bases since they can't be pulled all the way to the rail (or to help set the current through the BJT). But a pull (down on a N-FET or up on a P-FET) to ensure the gate never floats into the active region has certainly been standard practice where I work or any other vendor schematics I've seen, unless the design didn't care that the FET might turn on randomly (i.e. if it's just being used as a signal inverter or level-shifter and it's known that the input will be stable before the output will be read, then the pull could be skipped to save space/cost). But for a deployment FET lack of a pull seems like an extremely bad idea, as it would lead to a much better chance of the FET accidentally firing during power-up before the micro is in full control of its outputs.
    Will Ferry (Launches & Videos) NAR #96512 (L2) / TRA #15328 (L2) / LUNAR #2759
    L1: 9/2013 @ XPRS, GLR T-Bolt "Thunderbolt" (R.I.P.), H148R
    L2: 4/2016 @ TCC Helm, Binder Design Excel w/DD "dd2.xls", J315R
    Impulse flown (flights): 2013: 767Ns (2), 2014: 4298Ns (8), 2015: 7486Ns (16), 2016: 11693Ns (18), 2017: 11138Ns (16)

  15. #45
    Join Date
    10th July 2007
    Location
    Melbourne, Australia
    Posts
    1,219
    Have seen MOSFETs oscillate without series R in the gate (they make a Colpitts oscillator with the parasitics). Seen it twice in 30 years. I don't want it happening on my electronics. I use the series R... Don't need high value, typically 15ohm is used.

    Pulldowns needed also. If you need the inputs to be floating for some clever function then design the cleverness differently. If you are relying on special sequencing of switches, what happens when the sequence doesn't conform to your expectationis. You need to design for off-nominal situations or bear the consequences. Incidentally, just had a weird problem here at work where an uninitialised processor was letting IO pins waft around and screwed with an attached module. The relevant engineer spent days chasing that fault and fixed it with a pull-down. The lesson is that if it is undefined at some time then make sure you do something to define it deliberately in that time. Nothing is worse than variability, except maybe unpredictability.
    Last edited by OverTheTop; 6th December 2017 at 10:29 PM.
    TRA 13430, Level 3

    "Everybody's simulation model is guilty until proven innocent" (Thomas H. Lawrence 1994)

  16. #46
    Join Date
    3rd February 2012
    Location
    So Cal (ROC, TRASD, SCRA)
    Posts
    2,546
    Quote Originally Posted by jderimig View Post
    Series resistors to gates in MOSFETS is a best practice to limit in-rush current and provide stability. Probably not needed in hobby electronics but it is standard practice in industrial and commercial products where 5 9 component reliability is required. At least that is standard practice where I work.
    Then I would assume he'd need BOTH resistors... correct?

  17. #47
    Join Date
    23rd January 2009
    Location
    NE Ohio
    Posts
    2,475
    Quote Originally Posted by cerving View Post
    Then I would assume he'd need BOTH resistors... correct?
    Yes I suggested that several times. He explained how he is de-risking the system with an additional switch in the pyro lines.
    Last edited by jderimig; 7th December 2017 at 01:00 AM.
    John Derimiggio NAR/TRA L3
    MarsaSystems

  18. #48
    Join Date
    23rd October 2015
    Location
    Canberra, Australia
    Posts
    61
    Here is a useful reference on the subject of employing MOSFET gate resistors and other considerations when using them as switches.

    http://www.electronic-products-desig...neral-switches
    John
    TRA #14574 L2

  19. #49
    Join Date
    20th December 2011
    Location
    France
    Posts
    350
    Quote Originally Posted by cerving View Post
    Boris, your FET gate resistors need to be connected from the gate to GND, not in series with the processor outputs and the gates. This ensures that that gate will be kept at GND unless you explicitly send it high. On your PC board, you can simply run the resistor between the gate and the drain of the FET; it's often hard to find real estate right next to the processor pins to put them there.
    Cris
    I thought that is what I was saying
    "For the MOSFET the resistors on the gate should be pull up resistors rather than from the Arduino output to the gate. You need to wire your resistor from ground to the gate."
    On my altimeters with some of the mosfet I am using, it can accidentally turn on the charges if you do not have resistors from the gate to ground. So far I have noticed that problem with smt/smd resistors


Similar Threads

  1. Open Hardware Flight Computer for sounding rockets
    By mitokondri in forum Rocketry Electronics and Software
    Replies: 0
    Last Post: 4th February 2016, 12:20 AM
  2. [SOLD!] Open source GPS tracker pcb
    By thobin in forum Yard Sale / Wanted
    Replies: 4
    Last Post: 2nd June 2014, 08:50 PM
  3. [For Sale] Open source TX PCB
    By conman13 in forum Yard Sale / Wanted
    Replies: 0
    Last Post: 8th May 2014, 02:30 AM
  4. Help! My computer will not run Open Rocket
    By goose_in_co in forum Rocketry Electronics and Software
    Replies: 18
    Last Post: 20th July 2011, 11:01 PM
  5. Open Source Flight Controller/Altimeter
    By konkers in forum Recovery
    Replies: 37
    Last Post: 12th June 2007, 06:13 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •