Go Down

Topic: Arduino GPRS shield caught fire (Read 10003 times) previous topic - next topic

LukeZ

Thanks again for that explanation. In my case, room is not an issue so I am tempted to solder an electrolytic in the place of the tantalum. The solder pads are huge and I can bend over the cap so it lies flush with the top of the shield. Will look strange, but that doesn't bother me.

Actually I am using this with the Mega and because of the design of the GSM shield as well as the design of some of my other shields, it won't be possible to have the GSM shield on the stack anyway. Thankfully the GSM shield doesn't require many pins itself so I will just mount it off to the side.

Since it's going to be detached anyway, I am tempted to power the GSM shield with a dedicated 5v supply distinct from the Arduino, but with a common ground. The Arduino regulator is limited in the current it can provide but I can easily make a 5v, 2A supply just for the GSM. This should also make the capacitor in question somewhat less critical in terms of total capacitance.

I can't think of any negatives to this approach but if I am missing something I hope someone will tell me.



Zapro

I really have a hard time figuring out why such a big capacitor is used on the board, I have been working with the SIM900-module, and the requirements for the power supply isn't as crazy as that:
http://zapro.dk/public/PDF/AN_SIM900%20Reference%20Design%20Guide_V102.pdf
Look at Page6 in the PDF.

I've made a simple Breakout-board for the module during hardware development, and i've found absolutely no problem with the stability of the VBAT-suppply.

In the end i'm going to power the module off a protected Lithium-cell (Nokia cellphone battery) with a suitable Lithium-charger IC. Such a protected pack is foolproof - any abuse will make the electronics in the pack shutdown and prevent anything nasty. It wouldn't be any worse than leaving a Cellphone or iPod in the car, plugged in.

// Per.

LukeZ

Since it's going to be detached anyway, I am tempted to power the GSM shield with a dedicated 5v supply distinct from the Arduino, but with a common ground.
Actually, looking at the shield schematic, it appears I can drive the GSM shield through the VIN connection with up to 20 volts (this is what the onboard LMZ12002 regulator can accept). Since my shield won't be connected directly to the Arduino power, I think I can power it straight from the car battery (~12v). In that case I don't believe the capacitor in question will ever even come in to play. So far as I can tell it is only to buffer the +5v input.

Out of curiosity I'm trying to make out what the whole arrangement of transistors / mosfets is for on the shield schematic, that leads into the shield's regulator. I'm assuming it restricts the shield to either +5V or VIN but not both, and chooses one over the other somehow.




alekseevic

Actually, looking at the shield schematic, it appears I can drive the GSM shield through the VIN connection with up to 20 volts (this is what the onboard LMZ12002 regulator can accept). Since my shield won't be connected directly to the Arduino power, I think I can power it straight from the car battery (~12v). In that case I don't believe the capacitor in question will ever even come in to play. So far as I can tell it is only to buffer the +5v input.


Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.
Somewhere I also read about cycling power some times to make it more robust, if doesn't go flambé in the meantime.

BTW, there isn't any note on the GSM shield page about this issue I'd appreciate a refound for my board while looking for another GSM shield.

Thanks for sharing.

retrolefty

Quote

I can't think of any negatives to this approach but if I am missing something I hope someone will tell me.


One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.


LukeZ

Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.

Yeah, running power through VIN seems to work though I've only tested the shield by itself on the bench and not with the Arduino in the final application.

One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.


I have not heard of this before, and would be somewhat skeptical but you have 16k posts! In my case the two boards should power on and off and roughly the same moment, but for the sake of understanding this better: let's say I have an Arduino with a digital input pin that reads 0 or 5v. The Arduino is off but there happens to be 5V on the input pin (common ground). This will damage my Arduino??

Or another situation is where you have a powered serial device hooked up to a non-powered Arduino, this would damage the serial pins on the Arduino?


retrolefty

#36
Nov 28, 2013, 06:29 pm Last Edit: Nov 28, 2013, 06:30 pm by retrolefty Reason: 1

Hey LukeZ, does your solution work? I've recently bought a GSM shield from RS and I've just read this discussion, I've got the orange guy on my board and I'd like to minimize the risk.

Yeah, running power through VIN seems to work though I've only tested the shield by itself on the bench and not with the Arduino in the final application.

One thing to be careful about when two or more sub-systems use separate DC voltage sources is what can happen if some of the voltage sources are turned on and some are turned off. Current can flow to/from input pins in unpowered parts and even pretty small amounts of current can damage clamping diodes and such.


I have not heard of this before, and would be somewhat skeptical but you have 16k posts! In my case the two boards should power on and off and roughly the same moment, but for the sake of understanding this better: let's say I have an Arduino with a digital input pin that reads 0 or 5v. The Arduino is off but there happens to be 5V on the input pin (common ground). This will damage my Arduino??

It can. When the arduino is powered off, it's Vcc goes to zero voltages, then when an external voltage source signal being applied to a digital input pin it will forward bias the pin's clamping protection diode causing it to conduct current. These diodes are only rated a 1 milliamp or less. It's some times called parasitic power as the arduino will actually try and power up the whole chip via that clamping diode conducting.
Lefty


Or another situation is where you have a powered serial device hooked up to a non-powered Arduino, this would damage the serial pins on the Arduino?



LukeZ

Other than powering devices on at the same time (although even then there is always bound to be time differences of at least a few milliseconds), is there any practice recommended to somehow protect against this? It just seems like having power on one side of an equation is something that is going to happen all the time.

retrolefty


Other than powering devices on at the same time (although even then there is always bound to be time differences of at least a few milliseconds), is there any practice recommended to somehow protect against this? It just seems like having power on one side of an equation is something that is going to happen all the time.


One method is to wire series resistors at all the digital input pins sized to limit current flow to be less then the maximum clamping diode current rating.

Lefty

LukeZ

To determine that resistor size would require knowing how much current the chip wants to draw from the pin, which is something it "shouldn't" want to do in the first place. This could be a deep rabbit hole and I think is getting off topic from this thread, so I'll leave it there. Thanks for the warning though.



alekseevic



Yeah, running power through VIN seems to work though I've only tested the shield by itself on the bench and not with the Arduino in the final application.


For my application having different tensions isn't so easy, so I was thinking about 12V both for Arduino and the GSM shield but in parallel. Sounds good to you?
I can manage to have a 5V line for the Arduino itself and a 12V one for the GSM shield, but only if not possible in other ways.

Thanks for sharing LukeZ, I really appreciate it.

LukeZ

Yes, 12v to VIN for both should work fine.

Both the 5v (from the Arduino regulator) and the VIN pins are connected to the GSM shield. As best I can read the schematic, if the GSM shield detects 5v on the 5v pin, it will try to use that instead of VIN, and this is when the capacitor comes into play. If you cut (or bend out of the way) the 5V pin from the Arduino to the shield, then the shield will be forced to use VIN. At that point we have exactly what you propose: 12v to both devices in parallel, and each device will use its own on-board regulator.

I'm not the expert on this stuff so I hope others will confirm but this seems correct to me.

I agree with you Alek, Arduino really needs to put a note about this issue on the wiki page.

alnath

#42
Nov 30, 2013, 10:33 pm Last Edit: Nov 30, 2013, 11:26 pm by alnath Reason: 1

Yes, 12v to VIN for both should work fine.

Both the 5v (from the Arduino regulator) and the VIN pins are connected to the GSM shield. As best I can read the schematic, if the GSM shield detects 5v on the 5v pin, it will try to use that instead of VIN, and this is when the capacitor comes into play. If you cut (or bend out of the way) the 5V pin from the Arduino to the shield, then the shield will be forced to use VIN. At that point we have exactly what you propose: 12v to both devices in parallel, and each device will use its own on-board regulator.

I'm not the expert on this stuff so I hope others will confirm but this seems correct to me.

I agree with you Alek, Arduino really needs to put a note about this issue on the wiki page.


as far as I can see, I think that it is the contrary : if VIN is there ( and > 5V) , it is used instead of 5V  :
edit : here is how I understand it (short version ;) )
If Vin is applied (and > 5,7 V) :
  - Q5 is ON, which makes T1 Gate high -> T1 is off (which makes sure that no current will flow back in +5V supply from PWRIN which is at a higher voltage) . 
- Q5 ON makes Q6 ON, which puts T2 Gate à 0V -> T2 is ON -> PWRIN is at VIN voltage -> LMZ12002TZ 's VIN is at VIN voltage

LukeZ

You may be right, and hopefully so. As I mentioned before, I really can't make out what is going on with the power input transistors and mosfets leading into the shield's regulator.

Cutting/removing the 5V pin to the shield may then be unnecessary, but wouldn't hurt.

alnath


You may be right, and hopefully so. As I mentioned before, I really can't make out what is going on with the power input transistors and mosfets leading into the shield's regulator.

Cutting/removing the 5V pin to the shield may then be unnecessary, but wouldn't hurt.


sorry, while you were writing, I modified my post to add the way I understand the schematic

Go Up