Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Connecting PIC16F877A to GPRS via Telit GM862 Quad modem?

Status
Not open for further replies.

dare_1985

Newbie level 3
Joined
Jul 17, 2008
Messages
3
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,335
telit gm862

Hi forum members,
I am stuck with a rather complicated (at least to me) task to do, and i need some help to achieve the following:
A PIC16F887A needs to receive and send data via GPRS from remote server at every 20 seconds. The GPRS modem which will be used is Telit GM862. The remote server will have a static IP address, and so should the Telit modem at the client side (PIC microcontroller). Information sent by the remote server to the PIC and vice versa is in the range of few bytes.

I have read some posts on similar subjects, as far as i know the PIC should send the data to the GM862 modem by RS-232 and the modem itself will provide the TCP using its internal TCP/IP stack. Am i correct? How does a complete C code look like, when i want my PIC to establish a connection, send and receive data through GPRS to a remote server by using the GM862? What are the AT commands which need to be sent to the modem, and in what form should i send my data to the modem (raw?)? The same goes to receiving the data, should i do some kind of polling? Please share some example working code, i will finish the code myself...

If you have a schematic of interconnection between PIC16F887A (or other PIC) and Telit GM862 i would be very thankful if you could share it with me. Especially advice on the serial link (should i connect lines RTS,CTS or just RX and TX will do the job), and about level converting (5V at PIC -> 2.8V at GM862).

That's it! I am expecting Your answers!

Thanks,
Darko from Macedonia
 

telit gprs modem

Hi Drako at **broken link removed** you will find the schematic diagrams of the starter kits S2, S3 and S4. On **broken link removed** you will get the schematic diagram of Aarlogic C07 soon. It is based on Atmel uC + GE864 + GPS module:
* ATMEGA 162
* Free Code in C and Basic
* GPRS module GE864-QUAD + GPS Module 3M
* 56.4x84.5 mm
* Supply voltage: 6-36V
* RS232 @ +/- 12 Volt and CMOS
At https://www.roundsolutions.com you will find a user forum with 5811 members and 4523 treads. Main topic are wireless modules (GSM, UMTS, WIFI, Bluetooth, GPS, ISM ...).

The module comes with embedded IP stack, FTP client and Email client. By using of RS Term listed here you can control the module by mouse clicks on the screen. All AT commands and it answers will be visible on screen. This you have just to implement in your C code.
If you send bigger packages of data then RTS and CTS is necessary.
Regards
Meff
www.gsm-modem.de
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Dear Sir/Madam;

Many thanks for your good products

I bought Telit GM862-Quad GSM with EasyGSM/GPRS GM862 MikroElektronika Board

My project is to use PIC16F877A controller with this GSM Modem to send SMS when certain action happens

But it is not work, I used MikroBasic to program PIC16F877A

Please see attached file which include software and hardware

Awaiting your kind reply

Best regards;

Eng. Aiman Ismail
+962796732237
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Hi,

You will have several issues with interfacing Telit module with uC.

First of all your uC operates at 5V, Telit operates at 3.8V.

Second, voltage levels on communication pins of uC are TTL 5V levels, on the Telit side are CMOS 2.7V (not even 3.3V).

You can see the way how I solved the different levels.

HTH
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Zasto, that sure is a Messy (and expensive) way to convert logic levels - I guess that's what you do when you live in a 'Messy Corner'. There's so many better ways to do that.

Since the there is no 'PIC16F877A' I assume the OP meant "PIC16F877" or "PIC16F887A" both of which which operate down to 2V. In this case they can use a lower power supply voltage.
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

ProEngineer said:
Zasto, that sure is a Messy (and expensive) way to convert logic levels - I guess that's what you do when you live in a 'Messy Corner'. There's so many better ways to do that.

Since the there is no 'PIC16F877A' I assume the OP meant "PIC16F877" or "PIC16F887A" both of which which operate down to 2V. In this case they can use a lower power supply voltage.

Hi ProEngineer,
I prefer to run my micros at a reasonable speed so 2V is not acceptable. As for 'messiness' on the diagram is omitted one connector, which comes in between MAX-es, for monitoring the communication with an ordinary PC with 2 RS-232 ports.

As for level converters, I know that there other ways (a little bit cheaper, but consumes more PCB space), but this way I can easily access the module itself with an ordinary PC, if needed (at the moment I'm expanding the application in GPRS direction)

And as for my 'Messy Corner' it is located at 44 47 31.64N; 20 28 9.26E (you figure out where it is :))
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Dear zasto;

Thank you

the system connected as below:

pic16f877a using RX & TX in portc connected to max 232 then to voltage translator from 5 V to 3.3 V then to RX & TX of telit GM862

what is your notes ?

best regards;
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Hi Aiman,

Telit module is NOT 3.3V tolerant on Rx and Tx lines. Comm voltage levels are 2.7V MAX, that is clearly seen on my schematic. (MAX3232 is powered with 2.7V - resistor/zenner combo)

If you connect as you wrote
pic16f877a using RX & TX in portc connected to max 232 then to voltage translator from 5 V to 3.3 V then to RX & TX of telit GM862
you will have inverted Rx ant Tx signals (every MAX is inverter).

Visit Telit site, https://www.telit.com/en/products/gsm-gprs.php?p_id=12&p_ac=show&p=7

Here you will find a lot of info.

HTH
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Dear Zasto

Many thanks, I will change the level to 2.7 V

but please advise if the layout of connected items if correct or no ?

PortC of PIC connecting to MAX232 then to voltage translator to 2,7 V then GM862

Awaiting your kind reply

Best Regards;

Eng.@im@n
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Hi,

Find attached (a little bit revised - some unnecessary things omitted) schematic of a device that I've made.

HTH
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Many thanks for this info

Please see attached figure if this hardware is ok ?

because this is Available now

Best regards;
 

That looks ok, in my opinion.

In that circuit you have the level shifters that are necessary.

My circuit was built with a possibility to monitor the communication between PIC and Telit module (saved me a lot of time during application development).
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Dear Zasto;

Many thanks for your cooperation

please advise your opinion about this new diagram attached

best regards;

Eng.@im@n
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Many thanks, it working, SMS and caaling when certain action happen

I havent any problem with sending command to Telit GSM module, but I dont know how can I take response or recieved the result from GSM, like: OK,+CREG:0,1 and other to let my systen to work stand alone

now I now that GSM registered by status LED but when my system will work stand alone I must tell the PIc to statr AT commant after registeration, this is first

2nd: I want to know more about 74HC4050, how can I use it to be voltage translator ?

awaiting your kind reply

Best Regards;

Eng.@im@n
 

Re: Connecting PIC16F877A to GPRS via Telit GM862 Quad modem

Hello

I would like to activate a Pic output (RA1 = 1) when GMS module GM862 receives an identified caller is ringing the module.

For this i need to identify the caller number ID and if this number suits the expected number set in the Pic code, then it activates an output.

( I would like to open a gate remotly but only if my personal GSM number is calling the module )

--

I also would like to send out an SMS with a defined text to my GSM phone number when a Pic input ( RA2 ) gets its states goes from "1" to "0"

Can someone post me C codes examples to do this please ?

I'm using C18 Microchip.

I will really appreciate your help,
Many thanks.
 

You can also use the MC14504B level shifter IC - they're still available.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top