Go Down

Topic: Resetting SIM900 modules (Read 16869 times) previous topic - next topic

caroper

Hi All,

I am working with a iComSat V1.0 Shield with a SIM900 module on it and have a major problem working out how to control it's power and reset from within software.

When the stack is initially powered up the Shield goes into a standby mode and requires you to press the power button on the shield to fully power up.

Secondly, when the Arduino is reset, the Shield is not, again it has its own reset button.

Has anyone found a way to override these buttons in software or, if need be, hardware?
As the Arduino is running at 5V and the SIM900 at 3.3V I am reluctant to try and override the buttons with I/O pins directly.

The application calls for the product to be inside a locked box so having to push buttons renders the shield useless in this application.


robtillaart

Not familiar with the shield, do you have a link?
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

caroper

#2
Jul 20, 2011, 09:17 pm Last Edit: Jul 20, 2011, 09:23 pm by caroper Reason: 1
It's this one, although I'm not sure which vendor it came from, It was delivered with the rest of the kit to be used.

SIM900 GSM/GPRS shield for Arduino - IComSat v1.0
http://iteadstudio.com/store/index.php?main_page=product_info&products_id=413

Edit: I am using it with the MEGA and driving it with Serial2, rather than soft serial, and have additional spare pins and a soldering iron if anyone considers a Hardware patch is  necessary and feasible.

robtillaart

Quote
When the stack is initially powered up the Shield goes into a standby mode and requires you to press the power button on the shield to fully power up.

maybe you can use a free digital pin to connect to this button to do it programmatically. Keep pin LOW for 200 millis or so ?

checking the schematics ...

As I interpret the schema you can connect a digital LOW to the RESET and PWR of the SIM shield to signal it. You have to look where to connect..

Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

caroper

Quote
As I interpret the schema you can connect a digital LOW to the RESET and PWR of the SIM shield to signal it.


That was my initial thought too, but then I realised that the 5V logic level on the Arduino Pins would probably blow the 3.3V input pins of the SIM900. I have never worked with devices at different Voltage levels before so thought I should ask for help rather than risk letting the smoke out :)



robtillaart


To be sure, use a transistor as a switch controlled by an Arduino out.

bit like this - http://www.azega.com/controlling-a-stepper-motor-with-an-arduino-part-2/ -

Be aware that polarity flips..  - see picture just below the middle -
Rob Tillaart

Nederlandse sectie - http://arduino.cc/forum/index.php/board,77.0.html -
(Please do not PM for private consultancy)

caroper

Thanks, I was rather hoping I could do it with a voltage divider rather than transistors, but I guess if the job is worth doing I may as well do it properly. It still rules out this board for production units though.
Is there a 3.3V version of the Arduino?
But then I will have problems interfacing to other devices i suppose :)

wayneft

I'm not sure why you want to reset the SIM900 when the Arduino resets but.... what you can do is include the AT command to power the shield down in your Setup function and then turn the power on using a digital pin through a transistor. 
I2C GPS Shield

Checkout my Open Source GPS Tracker on Kickstarter

novice

Sparkfun sell a non-expensive "Logic Level Converter" to "connect a 3.3V device to a 5V system".

OpenElectronics

Hi under http://www.open-electronics.org/arduino-gsm-shield/
you can find the schematics how connect the SIM900 with Arduino
and here
http://code.google.com/p/gsm-shield-arduino/
find the library

http://www.open-electronics.org

msj121


Hi under http://www.open-electronics.org/arduino-gsm-shield/
you can find the schematics how connect the SIM900 with Arduino
and here
http://code.google.com/p/gsm-shield-arduino/
find the library


Just curious, if one uses the arduino mini pro (3.3v) is the built-in controlled power supply. This should without modification be appropriate for the simcom900 chip (3v-4.8v), though it is on the low side is that okay? Also simcom seems to want 2A at peak (I presume for voice), but for web pages or sms, would the vcc from the arduino mini pro be sufficient?

ruyin

Quote
When the stack is initially powered up the Shield goes into a standby mode and requires you to press the power button on the shield to fully power up.


Have a check in the library hosted at Iteadstudio.com (http://iteadstudio.com/store/images/produce/Shield/IComSat/GSM_Shield2.zip). In this library there is a function named TurnOn(long baud_rate) which can be used to power on the module. Basically, the code for turning on the module (inside the TurnOn function) looks like this:

Code: [Select]

#define GSM_ON 8

digitalWrite(GSM_ON, HIGH);
delay(1200);
digitalWrite(GSM_ON, LOW);
delay(5000);


But there is some error checking and setting up as well in this function which is nice, so the code above is just to switch the shield on.

/ruy

ecave

Hello all,

Did anyone have this problem:

GSM no response
Registration 0

Is there something else you have to do to get it to work?

Ecave

48X24X48X

The logic level is 2.8V on the SIM900. Don't simply connect without checking the SIM900 datasheet.

ecave

So if I'm using the Debug port I need to use a voltage divider on the RX Port of the gsm module?

I can receive messages in Hyperterminal but I get no response to the commands I send.

The Shield should already step down the voltages right?

Go Up