Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.
Photo

Weird problem powering up GSM shield


  • Please log in to reply
10 replies to this topic

#1 Nighthawk

Nighthawk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 26 May 2013 - 05:18 PM

Hi all, 

 

Really stumped on this one. Ran out of ideas.

I'm using an IComSat v1.1 GSM shield on a plain vanilla Netduino 1 and all is working fine. The only problem is powering up the SIM900 module. This version of the shield allows software powering up, by writing pin 9 HIGH for a short interval.

 

If I use visual studio, press F5 to start debugging (without any breakpoints whatsoever), it all works fantastic. Turn on and turn off both work flawlessly.

 

If I then stop the debugger, remove the USB cable, and power the Netduino independently, power up doesn't happen. I tried flashing the netduino LED to make sure I'm passing through that bit of code and sure enough it flashes while sending the power up pulse to pin 9, but the shield doesn't turn on. Pressing the actual physical power button on the shield instantly turns the shield on.

 

Connect the USB cable and run via F5 again and everything works perfectly via software.

 

I tried everything from waiting 10 seconds after powerup before turning on the shield, to implementing a retry mechanism every 10 seconds. I sent 10 power up pulses 10 seconds apart... a total of almost 2 minutes. Shield still didn't power up.

 

What does running through Visual Studio debugger do differently to running on a 12V 2A power supply?

Really giving up on this :(

 

Anyone has any ideas before I whip out the soldering iron and use a relay in parallel with the shield's physical power button controlled via the netduino?

 

Thanks and Regards,

Dennis



#2 Nighthawk

Nighthawk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 30 May 2013 - 10:29 PM

I've been in contact with IComSat regarding this issue. I still don't have a 100% definite answer but it is most likely related to the netduino's 3.3V GPIO.

 

If I power the netduino independently without a debugger attached (hence reproducing the problem described), and I then MANUALLY feed a 5V feed to PIN 9 on the shield, the SIM900 powers up without issue. So basically, setting PIN 9 on the netduino to HIGH doesn't work, while jumpering a 5V feed to PIN 9 works.

 

What baffles me is why the thing works totally without issue (and without fail!) with the Visual Studio debugger attached. Does the Netduino somehow use 5V GPIO when  a debugger is attached?

 

I understand the IComSat shield was designed for the Arduino (hence 5V GPIO), so I'm not too worried as I was aware of the "risk" before buying, though I'd really love to know the definite reason why this happens. At least I have a workaround to get the thing powered up via software :)



#3 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 31 May 2013 - 01:00 AM

I've been in contact with IComSat regarding this issue. I still don't have a 100% definite answer but it is most likely related to the netduino's 3.3V GPIO.

 

If I power the netduino independently without a debugger attached (hence reproducing the problem described), and I then MANUALLY feed a 5V feed to PIN 9 on the shield, the SIM900 powers up without issue. So basically, setting PIN 9 on the netduino to HIGH doesn't work, while jumpering a 5V feed to PIN 9 works.

 

What baffles me is why the thing works totally without issue (and without fail!) with the Visual Studio debugger attached. Does the Netduino somehow use 5V GPIO when  a debugger is attached?

 

I understand the IComSat shield was designed for the Arduino (hence 5V GPIO), so I'm not too worried as I was aware of the "risk" before buying, though I'd really love to know the definite reason why this happens. At least I have a workaround to get the thing powered up via software :)

 

It is interesting.  I swear all these guys must use the same circuit design.  I myself use a board from SeeedStudio, and it also uses D9 for the power switch.  And so does another from another manufacturer who's name escapes me.

 

Anyway, some things:

*  the SIM900 is a 2.8v device.  You can use the goog to find "SIM900_HD_V103.pdf" for gory deets, but it's not a 5v device, not even 3.3 really.

*  it's a kind of a kooky device, and seems to want to be a phone (e.g. the input voltage is pretty clearly that of a LiPo battery), and this whole 'power on' line operation is like for a human operated switch rather than a computer.

But, quirks aside, it (the SIM900) does work -- I have been using several in the field continuously for months now.

 

I don't believe the 'designed for 5v' assertion unless there's level shifters from 5v logic to 2.8v logic, and they all looks like direct wired connections to me, based on the schematic.

 

I'm looking at the schematic for your board from:

http://itead-europe....009_IComSat.pdf

I can see VIN on p1 in section B-3, and then in area B-6.  They are drawing VIN from your netduino's 5v line (which they call VDD5), not from the Vin pin (which comes straight from your power jack).

 

The Netduino's 5v line comes from either of two sources:  USB, or power supply.  There's a comparator and mosfet switch that selects between the two depending on whats plugged in.  When it is operating off of USB, the onboard voltage regulator (to 5v, separate one to 3.3v) is not used, and when it is operating off of a jack, the onboard voltage regulator is used.

 

The SIM900 will suck the bejesus out of your power supply, especially during power-on and certain radio operations (and even worse if the signal is poor and the radio tries speaking loudly).  They say be prepared for up to 2A!

 

An interesting experiment might be for you to run your program not in the debugger, but nonetheless connected to the computer via USB (i.e. just for power).  Pass/Fail?  And you could even -- but I know you won't -- but you could even cut just the +5 from your usb cable and power the board from the external supply, and this time be connected to the debugger (i.e. power from supply, but only data over usb).  Pass/fail?

 

Anyway, see if they have a new revision that corrects the power supply design issues, or look to another vendor's product.  But for experimentation you can make do with this one.  And if you're bold, you can probably cut a trace and re-rerout the radio board's VIN to the netduino's Vin (instead of 5v).  But by all means check the schematic yourself, as well as the feasibility from the pcb standpoint.



#4 Nighthawk

Nighthawk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 31 May 2013 - 11:03 AM

Thanks for your reply. 

 

I did try USB power without debugger. It still fails. Which confuses me even more  :)

 

I also saw the power requirements (2A) and also said to myself "No way will a netduino supply that power". However I have encountered zero issues running directly off the USB cable. It powers up, sends and receives SMSes and phone calls seamlessly. I also have a relay shield which is operating off the same Netduino (trip relays depending on the SMS received) which I'm sure zaps some power too when energizing the relay coil. Everything works perfectly together.  :huh:

 

I haven't tried GPRS though... maybe that's where I might encounter power issues  :)

 

I'm not very experienced in the schematic design etc. I'm a programmer by trade. Electrical engineering isn't my strong point  :( so I won't really delve into cutting traces etc  :D

 

As a workaround it is very easy to feed a 5V line through a relay and into PIN9 on the shield. And simply use the netduino to trip the relay for 2 seconds. Not clean, but it will do for now...



#5 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 31 May 2013 - 12:41 PM

...I did try USB power without debugger. It still fails. Which confuses me even more  :)

 

I also saw the power requirements (2A) and also said to myself "No way will a netduino supply that power". However I have encountered zero issues running ..

yeah and Im surprised your computer's usb would supply that much power, either.  oh well, there it is!  I suppose it's also possible the schematic is inaccurate -- it shows D9 going through a voltage divider of 0 ohms and 10k ohms.



#6 Nighthawk

Nighthawk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 31 May 2013 - 06:46 PM

Is there any other GSM module you would recommend other than this board (if I were to go down this road again)? SM5100B?



#7 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 01 June 2013 - 10:23 AM

my experience is not comprehensive, so I can only speak to the module that I have been using, which is vended by SeeedStudios,

 

The v1.2 of this board had several problems (including power and i2c), but they have greatly improved that in the current v 2.0, and the older ones are out-of-market now.  But some folks knocked-off that design (or they all used the same reference design, I don't know), so I would avoid any ones that looks like it in the picture.

 

I do miss the SMA connector on the older board, though.  Also, these use the older arduino pinout, so you loose the R3 pins.  And still, you'll want to power it from an adapter with some heft to it's current capacity -- the voltage can be lower since the regulators are going to drop that way down anyway.  I use a 7.5v switcher, but 9v work fine and are much more common (7.5 is important for me for a different circuit I have attached to the system).

 

The SIM900 module on which the board is based, quirky though it is, does work -- it's the board designs around the modules which had the problems I experienced.  I have not used a board based on the Spectrum part, but I had looked at it's data sheet a while back, and it seemed to be functionally much the same as the SIM900, so I'd probably select a product based upon board's design more than the module its using.  Plus if you've already coded to the SIM900's AT commands, maybe you don't want to rework that stuff.



#8 Nighthawk

Nighthawk

    Member

  • Members
  • PipPip
  • 21 posts

Posted 02 June 2013 - 10:26 AM

Thank you very much. Very insightful  :)

Yes I did pretty much get to grips with the SIM900 now. I'm getting round the power-up problem using a relay as mentionedd before. It is very cumbersome, and wastes a GPIO pin, but it will do for now.

 

I also managed to hit the USB power limit finally. Determined to find the limit, I dropped in a shift register with LEDs attached ... once I got to 8 LEDs on the SIM900 wouldn't power on any more  B)



#9 ziggurat29

ziggurat29

    Advanced Member

  • Members
  • PipPipPip
  • 244 posts

Posted 02 June 2013 - 10:49 AM

when you got to 7, did you cry out 'she can't take much more of this captain, she'll blow!'?



#10 Fahdil

Fahdil

    Advanced Member

  • Members
  • PipPipPip
  • 59 posts
  • LocationJakarta, Indonesia

Posted 06 September 2013 - 04:13 AM

Thank you very much. Very insightful  :)

Yes I did pretty much get to grips with the SIM900 now. I'm getting round the power-up problem using a relay as mentionedd before. It is very cumbersome, and wastes a GPIO pin, but it will do for now.

 

I also managed to hit the USB power limit finally. Determined to find the limit, I dropped in a shift register with LEDs attached ... once I got to 8 LEDs on the SIM900 wouldn't power on any more  B)

Hi NightHawk

 

I do use Icomsat V1.1 and Netduino too...  could you please share the code how to communicate with it. Do you use serial communication on it?

so... do you turn it off and on automatically to safe the power?



#11 Fahdil

Fahdil

    Advanced Member

  • Members
  • PipPipPip
  • 59 posts
  • LocationJakarta, Indonesia

Posted 02 February 2014 - 03:37 AM

Thank you very much. Very insightful  :)

Yes I did pretty much get to grips with the SIM900 now. I'm getting round the power-up problem using a relay as mentionedd before. It is very cumbersome, and wastes a GPIO pin, but it will do for now.

 

I also managed to hit the USB power limit finally. Determined to find the limit, I dropped in a shift register with LEDs attached ... once I got to 8 LEDs on the SIM900 wouldn't power on any more  B)

 

to power it up, just declare Pin 8 as output, False. then you can control the power button through pin 9. send High from netduino for 500ms.

 

regards






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.