
Come collegare il modulo TELIT GM862 al PICMICRO.
L'applicazione usa il collegamento tra la UART del PIC e la UART del TELIT tramite Level Shifter (realizzato con 2 transistor NPN-PNP) per adattare i segnali a 5V del micro con quelli a 2V8 del modulo. Si potevano anche usare dei BCR22PN ad esempio oppure un 74HC125 per trasferire i segnali da 2V8 --> 5V mentre da 5V--> 2V8 un diodo in serie con il catodo verso i 5V ed una resistenza di pullup tra anodo e 2V8 (in uscita dal PowerControl del modulo).
In generale per il Level Shifter si possono usare anche dei CMOS buffer come il 4049 (invertente) e il 4050 (non invertente).
Inoltre l'alimentazione del Modulo Telit è stata realizzata con un regolatore ADJ (LM350) con 3V8 di uscita in grado di supportare (tramite i condensatori) la corrente di picco richiesta dal modulo in fase aggancio rete.
Altre alternative di alimentazione sono: Alimentatore switching o Alimentatore economico con [(5V) (2 DIODI) (3V6)] ma in quest'ultimo caso la capacità del condensatore sull'alimentazione del modulo è determinante... almeno 2200uF
Schema elettrico collegamento TelitGM862 - Picmicro
Schema elettrico pic2gm862.pdf
Inizializzazione del modulo TELIT GM862 realizzata con MPLAB C18 Microchip quindi C
Il PIc è collegato al GM862 tramite la UART, in modo da poter utilizzare la funzione putrsUSART();
(fare riferimento al manuale del C18 scaricabile dal sito microchip).
Una volta acceso invio il comando AT, considerando che il GM862 è in autobaude per default,
poi disabilito l'autobaude, settando il baude-rate che preferisco.
Posso anche disabilitare l'echo, per evitare di occupare troppa ram durante la risposta quindi avere un buffer di ricezione minore.
Setto come attivo l'identificativo del chiamante,quindi posso vedere il numero di chi chiama.
Attivo la presentazione estesa degli errori, quindi posso controllare il tipo di errore tramite il manuale GM862 Telit.
Setto il formato dell'sms (text o pdu), vivamente consigliato text altrimenti dobbiamo fare la routine di conversione
Disabilito i messaggi non richiesti (unsolecited) quando ricevo un sms (se non uso questa funzione ovviamente).
Attivo la SIM come dispositivo di memorizzazione della rubrica, quindi uso la rubrica della SIM
//---------------------------------------------------------------------------------
// Telit GM862 initialize C18
//---------------------------------------------------------------------------------
setup_gm862:
gm_POWER_ON(); // accendi il modulo telit e verifica accensione, else ri-accendi
// autobaud
lungh = 0; // reset ram pointer
putrsUSART ((const far rom char *)"AT\r"); // AT command test
Delay10KTCYx (50); // response: AT
// set_baud
lungh = 0; //
putrsUSART ((const far rom char *)"AT+IPR=9600\r");// set_baude_rate 300,1200,2400,4800,9600,19200......
Delay10KTCYx (50); // response: OK
// disable_echo
lungh = 0;
putrsUSART ((const far rom char *)"ATE=0\r"); // Disable echo command
Delay10KTCYx (50); // response: OK
// caller_id
lungh = 0;
putrsUSART ((const far rom char *)"AT+CLIP=1\r"); // Set CALLER ID; 1=on
Delay10KTCYx (10); // response: OK
// error_code
lungh = 0;
putrsUSART ((const far rom char *)"AT+CMEE=1\r"); // Enable extended error code ; 1 =numeric
Delay10KTCYx (10); // response: OK
// sms_format
lungh = 0;
putrsUSART ((const far rom char *)"AT+CMGF=1\r"); // SMS format type; 1=text
Delay10KTCYx (10); // response: OK
// unsolecit_ind
lungh = 0;
putrsUSART ((const far rom char *)"AT+CNMI=0,0,0,0,0\r"); // DISABLE New message unsolecited indication +CMTI
Delay10KTCYx (10); // OK
// storage_set
lungh = 0;
putrsUSART ((const far rom char *)"AT+CPBS=\"SM\"\r"); // AT+CPBS="SM" setta phonebook normal SIM
Delay10KTCYx (50);//----------------------------------------------------------------------------------
Inizializzazione del modulo TELIT GM862 realizzata con MPLAB MPASM Microchip quindi ASSEMBLER
Il PIC è collegato al GM862 tramite la UART
Trasmette con la routine TransWt e riceve sotto Interrupt (ISR) presentando i dati nella RAM
quindi verrà resettato il puntatore FSR=0xA0 (nell'esempio viene anche cancellata la ram)
Da notare che nel listato ci sono alcune verifiche della risposta OK (check_ok)
;======================================================
; Telit GM862 initialize ASM
;======================================================
setup
call clear_ramA0 ; cancella ram da A0h a EFh e da 120h a 14Fh preset FSR=0xA0
call at ; at_command
call clear_ramA0
call _ipr ; fix port rate @ 9600call clear_ramA0
call ate ; Disable command echocall clear_ramA0
call _clip ; Enable calling line identification
call check_ok ; verify OK
SKPZ ; Z=1 OK
goto setup1 ; error --> no_ok spegni e riaccendi il modulo!call clear_ramA0
call _cmee ; Enable extended error code =1 numeric
call clear_ramA0
call _cpin ; SIM presence checking (PIN free) READY
call clear_ramA0
call _creg ; Network checking x,1 (home) or x,5 (roaming)call clear_ramA0
call _cmgf ; SMS format type 1=text
call clear_ramA0
call _csca ; Check SMS Center Service number
call clear_ramA0
call _cnmi ; DISABLE New message unsolecited indication +CMTI:call clear_ramA0
call _fclass ; AT+FCLASS=8 Attiva Voice modecall clear_ramA0 ; Set TEXT mode parameters
call _csmp ; 17,167,0,0
call check_ok ; verify OK
SKPZ ; Z=1 OK
goto setup1 ; error --> no_ok spegni e riaccendi il modulo!setup2
call clear_ramA0
call _cpbs ; AT+CPBS="SM" setta phonebook normal SIM
call check_ok ; verify OK
SKPZ ; Z=1 OK
goto setup2 ; error --> no_ok loop;#####################################################
ESEMPIO DI ROUTINE DI COMANDO PER TELIT GM862
Di seguito propongo un esempio di come può essere effettuata una routine di invio comando AT
Il tempo di 500mS finale serve per attendere la risposta e permette di effettuare poi un altro invio.
Ovviamente può essere ridotto, o meglio posso monitorare la risposta e regolarmi poi di conseguenza
Risposta OK --> Continua
Risposta Errata --> analisi errore --> gestione errori
;------------------------------------------------------------------------
; ESEMPIO DI ROUTINE DI COMANDO PER TELIT GM862
;
; AT COMMAND
; AT+CPBS="SM"
;------------------------------------------------------------------------
_cpbsmovlw 'A'
call TransWt
movlw 'T'
call TransWt
movlw '+'
call TransWt
movlw 'C'
call TransWt
movlw 'P'
call TransWt
movlw 'B'
call TransWt
movlw 'S'
call TransWt
movlw '='
call TransWt
movlw '"'
call TransWt
movlw 'S'
call TransWt
movlw 'M'
call TransWt
movlw '"'
call TransWtmovlw .13 ;
call TransWtcall t500ms
return;--------------------------------------------------------------------------------
Risorse
Si consiglia di leggere anche il seguente Post:
UTILIZZARE IL VECCHIO TELEFONINO AL POSTO DEL MODULO GSM [per uso hobbistico]
Troverete un Progetto completo per realizzare un telecontrollo con il vostro vecchio telefonino e molti links a progetti simili che utilizzano telefonini diversi.
Panoramica sulle case costruttrici di moduli GSM
TELIT Moduli GSM/GPRS QuadBand anche con GPS integrato ed in formato BGA
SIEMENS Moduli GSM/GPRS Triband anche con GPS integrato, moduli EDGE quadband. Interfacce SPI and I2C
WAVECOM Moduli GSM e GPS tracking. Interessante la suite Open AT
SONY-ERICCSON Moduli GSM/GPRS EDGE e per il GPS tracking
Links utili
Documentazione GM862 sito TELIT
Documentazione GM862 sito RoundSolutions
Leggere l'articolo su EE01 modulo telit + PIC
Sito ufficiale del modulo GSM della Telit
Il Forum di riferimento per chi sviluppa con moduli Telit
Ricevitore SMS. Utilizzabile anche come DemoBoard per collegare il GM862 al PC
Apricancello GSM. Esempio di applicazione con PIC e GM862
Le specifiche ufficiali del protocollo
Per NON perdersi nel sito ETSI

Si, potrebbe essere una soluzione, oppure comparare il carattere che appare dopo le prime virgolette,
se uguale a ” (virgolette appunto) allora NON IN RUBRICA.
Puoi fare anche dei “controlli incrociati” in base alla posizione del carattere nel buffer per avere maggiore affidabilità
Emanuele
Sarebbe perfetto per completare il mio piccolo sistema d’ allarme fai da te. Inoltre sarebbe un ottimo spunto per una serie enorme di nuovi progetti basati sui moduli gsm.
Crude
Ciao!
Mi farebbe molto piacere veder pubblicato qualcosa che riguardi i moduli gsm della Telit, legendo gli altri miei messaggi sai anche quali sono i miei attuali limiti.
Diego
Ti ringrazio ma ovviamente per un pricipiante come me si tratta di un bel rebus :-)dovrei fare un controllo tipo se fra le virgolette “”ci sono lettere vuol dire che il numero e’ in rubrica se fra le virgolette non c’e’ nulla vuol dire che il numero non e’ in rubrica?
Ciao!
Grzie per la risposta, ma c’e’ modo di capire se il numero che chiama e’ salvato nella rubrica?
Quando arriva un SMS ricevi una stringa tipo +CLIP……
In questa stringa il numero di telefono del chiamante viene associato al nome presente in rubrica (se presente ovviamente).
Facendo una comparazione tra “nome” (in rubrica) e “” (non in rubrica) hai la risposta
Emanuele
Problema risolto, lo schema in alta risoluzione è disponibile.
Grazie per la segnalazione, nel passaggio da WP a Drupal, qualcosa ci è sfuggito
Emanuele
Ciao, sarei molto contento nel vedere pubblicato un combinatore che sfrutti una forchetta telefonica elettronica, magari si potrebbe usare per fare una interfaccia che usi un normale telefono BCA per chiamare da cellulare (Gm862 o vari altri moduli), magari sarebbe anche interessante per le persone di una certa eta (tipo mio padre:-)) che sa usare il normale telefono a tasti, ma no il cellulare.
Enzo
Ciao,
Sono in possesso di 2 moduli GM862 e vorrei realizzare un sistema di allarme a distanza basato su gsm.
Potrebbe anche essere possibile collegare 2 gsm fra di loro in modo dati, come se fosero 2 modem e scambiarsi dati fra di loro (vorrei aggiornare il programma della mia scheda via radio) ?
Mirco
Ciao!!
Il modulo GM862 è semplice da utilizzare per l’invio di un sms ad un cellulare?
Io avrei piacere a costruirmi un sistema che mi invia un messaggio sul cellulare quando riceve un determinato input, il mio problema è che sono abituata a studiare più che a progettare, avresti qualche dritta da darmi?
Grazie mille
A presto
Elena
Certo, basta monitorare il pin di ingresso del micro ed all’evento stabilito chiamare la routine di invio SMS.
Buona parte dello schema elettrico lo puoi vedere in questo articolo, devi ovviamente bufferizzare l’ingresso che ti serve.
Poi leggi qui…
http://dev.emcelettronica.com/2007/01/10/inviare-sms-con-modulo-telit-gm862/it
Emanuele
P.S. Troppi libri e poco laboratorio eh?
http://www.roundsolutions.com/uk_track4free.htm
*** Comunicato stampa ***
Innovativo pacchetto per la localizzazione di Round Solutions:
Sito Web e kit d’avviamento per applicazioni di localizzazione
Dreieich, 15 marzo 2007 Round Solutions, specialista e distributore a valore aggiunto per applicazioni M2M, offre con disponibilità immediata ai suoi clienti un pacchetto molto interessante per gli sviluppatori. Il pacchetto comprende il sito Web http://www.track4free.com e un kit d’avviamento basato sul piu piccolo modulo GPRS-GPS attualmente esistente al mondo. Il pacchetto fornisce supporto agli integratori di sistema per lo sviluppo di soluzioni di tracking compatte e dal prezzo conveniente.
Fondamento del nuovissimo pacchetto di Round Solutions per la localizzazione e’ l’accesso al sito Web http://www.track4free.com. Il server di Track4free si basa sulle cartine di Google Maps. Consente la localizzazione GPS gratuita su tutto il territorio mondiale. Per utilizzare la piattaforma online occorre disporre di un apparecchio GPS funzionante in grado di inviare geodati tramite GSM dati ad alta definizione, rete HDCSD, GPRS, EDGE o UMTS. Dopo essersi registrato su Track4free, l’utente può visualizzare degli esempi su una carta che fornisce dati di posizione e numerose altre informazioni. Un’ampia documentazione integra tali dati relativi ai movimenti del proprio apparecchio. Ogni utente può registrare al massimo due applicazioni per account.
Kit di avviamento: sviluppo più veloce
In fase di sviluppo delle applicazioni di tracking, gli integratori di sistema hanno inoltre la possibilità di utilizzare il kit di avviamento di Round Solutions. Il Basic Board S3 si basa sul piu piccolo modulo GPRS-GPS combinato attualmente esistente al mondo con l’integrazione di minuscole antenne integrate. Pilastro portante del kit d’avviamento e’ un interprete Phyton provvisto di licenza e codice Phyton gratuiti. Questo interprete trasmette la posizione GPS dell’apparecchio al server Track4free. Il protocollo HTTP viene messo a disposizione gratuitamente.
Il kit di avviamento e’ completamente realizzato in package per circuiti integrati BGA. Fornisce supporto agli sviluppatori per la creazione di apparecchi di localizzazione dalle dimensioni ridotte e dal prezzo conveniente per diversi settori di impiego.
Ampia gamma di prestazioni supplementari
Round Solutions fornisce supporto per gli integratori di sistema anche con servizi di design e adeguamenti speciali per le antenne integrate. Per ogni chiarimento ci si può avvalere del supporto 24 ore su 24 fornito dalla comunità di utenti GSM, GPRS, UMTS e GPS attualmente piu numerosa con oltre 3.000 membri in tutto il mondo.
I clienti Premium possono inoltre far verificare e testare gratuitamente da Round Solutions i propri progetti e apparecchi. Un servizio di marketing gratuito integra questa offerta per stabilire il contatto con diverse migliaia di aziende. In tal modo facilitiamo notevolmente la distribuzione dei prodotti dei nostri clienti spiega Ben Hoelke, Chief Executive Officer di Round Solutions.
Round Solutions
Round Solutions e’ una ditta leader nella fornitura a livello internazionale di prodotti, servizi e progetti per gli utenti industriali di componenti elettronici. La sua attività e’ incentrata sulla tecnologia wireless quali GSM, UMTS, GPS, Bluetooth, ZigBee, Wi-Fi, banda UWB e ISM. La gamma di prodotti va dagli starter kit ai componenti per la produzione di massa. Round Solutions offre una vasta gamma di componenti elettronici quali moduli radio, cavi ad alta frequenza e antenne a elevata sensibilità . Attualmente Round Solutions presenta l’offerta più vasta al mondo per quanto riguarda le antenne quadri e penta band. Rispetto ai suoi concorrenti, Round Solutions offre anche quantità minime di antenne integrate. Tra i diversi prodotti figurano anche batterie al litio, litio-ioni e al nichel-metallo idruro. A tutto ciò si aggiunge un servizio di fornitura espresso su tutto il territorio mondiale. I componenti compatti e innovativi Round Solutions consentono agli integratori di sistema di sviluppare soluzioni in modo rapido, semplice e conveniente, offrendo vantaggi grazie a una maggiore efficienza e tempi ridotti per l’introduzione sul mercato delle proprie applicazioni. L’azienda ha sedi in Germania e in Gran Bretagna.
Per ogni ulteriore informazione visitate il sito http://www.track4free.com e http://www.roundsolutions.com oppure rivolgetevi a:
Round Solutions GmbH & Co. KG
Harald Naumann
Am Steingrund 3
D-63303 DreieichGermany
Tel.: +49/6103 270 440
Fax: +49/6103 270 44 199
[email protected]
http://www.roundsolutions.com
Meff
I cellulari indicati supportano
GSM/GPRS/EDGE
Se il problema e’ nella modalità terminale
(Rx/Tx dati via connettore) allora dovete verificare le specifiche
tecniche del prodotto, in particolare quelle di manutenzione.
Ad esempio il vecchio ericsson T28 supportava fino a 115 bit/s)
Se invece vi riferite al progetto presentato, sia il microcontroller che il modulo Telit,
possono raggiungere velocità più elevate.
Da verificare fino a 8x
Come avrete notato, le richieste maggiori sono proprio per il GSM! Quindi metterò, come promesso, risorse/routines/link per il GSM in particolare per il TELIT GM862.
Ripeto che GSM e’ una sezione LINK-RISORSE e non un PROGETTO, che non posso pubblicare completo per OVVI motivi di commercializzazione –> http://www.ipersms.com
MA sono a disposizione per RISPONDERE alle Vostre domande e PUBBLICARE le risorse necessarie!
Vorrei sapere se in una comunicazione dati punto a punto tra 2 cellulari e’ possibile superare la soglia dei 9600 bit/sec (collegamento in modalità terminale vt220 tra un clien con gsm ed una rete lan).
Ringrazio anticipatamente per ogni risposta
PS
Usiamo come cellulari 2 smartphone Ipaq hw6900 dell’HP.
Luigi
sarebbe bello veder usare un modem GSM per ricezione/invio SMS comandato da RS232 e connessione dati su RS232 bidirezionale
Gizeta
Trovo molto interessante il tuo progetto, vorrei studiarlo in dattaglio ma lo schema elettrico in formato pdf mi risulta inleggibile come posso fare per scaricarne una copia da studiare ?
[email protected]
salve io ho un allarme ad infrarossi il quale quando si attiva fa scattare una sirena piezoelettrica parallelamente a questa sirena vorrei affiancarci un sistema gsm che quando scatta la sirena si attivi questo modulo che invii un messaggio a un telefono cellulare.Potresti aiutarmi???grazie in anticipo
Salve
Sono Giovanni uno studente che vuole appassionarsi all’elettronica.
Ho studiato elettronica con i suoi vari problemi, Transistor, diodi ecc ecc.
Vorrei poter costruire qualcosa, mi intendo anche di programmazione di microcontrollori.
Ho visto il vostro progetto sul GSM realizzato col pic http://dev.emcelettronica.com/various/PDF/pic2gm862.pdf
Ho dato un’occhiata allo schema elettrico e studiandolo bene sono riuscito a capire qualcosa. Quello che mi interesserebbe tanto non è lo schema elettrico finale, ma come da alcune specifiche siete o sei arrivato a progettare questo circuito. Quali sono i passi che si compiono, per esempio nel decidere di collegare all’ingresso TX-2V8 del modulo GSM due transistor BJT.
grazie anticipatamente
cordiali saluti
Ciao Giovanni,
la realizzazione di un progetto elettronico è dovuta a 2 fattori fondamentali: teoria e pratica.
La teoria la stai studiando 😉 ora che sei studente, poi la troverai nei libri, nei datasheet, nelle application note etc.
La pratica la sperimenterai “bruciando” qualche decina di IC :).
Comunque, relativamente alla tua domanda, i transistor sono collegati tra il TX-2V8 del modulo GSM e l’ingresso del PICmicro RXD. Questi servono per adattare i livelli di segnale, infatti il GM862 trasmette a 2V8 mentre il PIC lavora a 5V. Quindi il primo transistor npn Q4 commuta in base ai 2V8 che riceve in ingresso (invertendo ovviamente il segnale) ed a sua volta, fa commutare il secondo transistor pnp Q3 che ri-inverte il segnale. Come puoi notare Q3 è collegato a VCC, quindi a +5V, la sessa alimentazione del microcontrollore.
Ricapitolando, abbiamo un segnale di partenza da 2V8 che viene invertito 2 volte e quindi in fase con quello di partenza ma in piu abbiamo ottenuto un “level shifting” a 5V.
Sembra difficile ma basta prendere il datasheet del modulo Telit GM862 e cè lo schema già pronto!
Emanuele
Ciao io devo collegare ad un micro il modulo GM862 che ha sia il gsm sia il gps, pensavo di sfruttare i pin 37 e 20 per il gsm (con l’adattatore di livello) e i pin 41 e 35 per il gps.
Lo schema dell’adattatore di livello riferito a TXD mi pare che abbia bisogno di una R di pull up sul collettore dell’npn qualcuno mi conferma questo?
Il PWRCTL corrisponde a quello che ho sul datasheet con il nome PWRMON?
Grazie
Ciao Francesco
[email protected]
Sono in commercio da Telit e relativi distributori, i seguenti moduli GM862:
– Telit GM862 Quad-PY
Versione completa di funzionalità Python del GM862 QUAD (Versione quadri band del Telit GM862)
– Telit GM862 GPS
Versione con funzionalità GPS del modulo GM862 Telit
– GPRS
Per quanto riguarda la funzionalità GPRS, tutti i moduli Telit della famiglia GM862 sono da intendersi GSM/GPRS
Questi nuovi moduli hanno quindi soppiantato i vecchi GM862 (addirittura alcuni con sim esterna) e GM862-GSM
IL microcontrollore pic è alimentato a 5V. Inoltre lo schema usato è lo stesso proposto dal datasheet Telit per collegamenti con i micro a 5V. Infine, ho fatto anche altri progetti simili ed ho usato altre soluzioni, ma non perche ci sono molte strade, questa è sbagliata. QUESTO schema funziona, la comunicazione è affidabile, i livelli sono ben delineati anche alla alte velocità di comunicazione (mi sembra che il Telit arrivi a 115K) ed il progetto è stato anche marcato CE superando tutte le varie prove di emissione ed immunità, quindi…..
Purtroppo no, lo dovresti saldare a mano, oppure farlo fare da un esperto che abbia un minimo di manualità con l’smt
L’ho fatto saldare. Lo hanno saldato a mano, infatti i prototipi li faccio saldare a mano, poi la produzione a macchina, ovviamente.
Io inizialmente saldavo anche gli 05 (passo 0,5) poi ho perso manualità, ma ci vogliono comunque saldatore con punta fine, giusta temperatura e… pazienza 🙂