Modulo GSM.

Questo articolo sarà introduttivo e spiegherà come scegliere un modulo serie SIM800, come alimentarlo correttamente e come collegarlo correttamente ad Arduino. I diversi moduli della serie SIM800 hanno caratteristiche e funzionalità diverse.

Come scegliere un modulo GSM/GPRS serie 800.

Se scartiamo le caratteristiche che sono insignificanti per i radioamatori e sono le stesse per tutti i moduli, le differenze fondamentali possono essere brevemente presentate di seguito (Figura 1):

                                                                                                  Figura 1 

Se scartiamo i moduli destinati principalmente al tracciamento GPS (SIM808 e SIM868), il confronto mostra che tutti i moduli presentano differenze del tutto insignificanti. Quindi, se la presenza di un ricevitore FM e Bluetooth non è importante, puoi sceglierne uno qualsiasi (Tabella 1).

Modulo SIM800 SIM800C SIM800H SIM800L SIM800F SIM868 SIM808
Chiamate vocali + + + + + - -
GNSS (GPS) - - - - - + +
Bluetooth 3.0 + + + - - - -
Ricevitore FM - - + + - - -

                                                                                                  Tabella 1

Schede tecniche della serie SIM800. 

La stragrande maggioranza dei radioamatori non è pronta a lavorare direttamente con i moduli GSM/GPRS/GNSS. Per questo motivo i produttori di componenti radio-elettronici offrono un gran numero di schede su cui sono già inseriti i moduli GSM. I più semplici forniscono all'utente funzionalità minime - lo scambio di dati con il modulo GSM tramite UART. 

Ciascuna delle schede dovrà avere uno slot per una SIM card esterna (Figura 2).

                                                                                                  Figura 2 

Nota: per iniziare a lavorare con il modulo, avrai bisogno di una scheda SIM funzionante in formato microSIM.

Il modulo SIM800L dispone del minimo necessario per accedere alla maggior parte delle funzioni, compresa la voce (output per il collegamento di microfono e altoparlante) (Figura3). 

                                                                                                  Figura3 

Alimentazione modulo GSM.

Per alimentare il modulo è necessaria una tensione compresa tra 3,4 e 4,5 V, consigliata 4 V. Come puoi vedere, si tratta di tensioni non standard per Arduino (5 V / 3,3 V). Non è possibile alimentare il modulo SIM800L da Arduino. Il fatto è che il modulo può consumare molta corrente (secondo la scheda tecnica, il consumo massimo di corrente raggiunge 2 A). E, come sai, Arduino non è in grado di fornirgli tale corrente, quindi è molto probabile un malfunzionamento - il modem, o Arduino, o entrambi. Qui possono esserci 2 uscite - o il SIM800L è dotato di un proprio alimentatore separato (GND di entrambe le sorgenti deve essere comune), oppure sia l'Arduino che il modulo GSM sono alimentati da una potente fonte di alimentazione (7-12V) attraverso un convertitore di tensione step-down. Prima di collegare il modulo ad un convertitore di tensione è necessario, con la fonte di alimentazione collegata al convertitore, impostare tramite un multimetro la tensione di uscita specificata.

Nota: quando si collega una tensione non corrispondente a quella richiesta, il modem emette due tipi di messaggi. Se la tensione è al livello di soglia, il modulo emette un avviso UNDER-VOLTAGE WARNING, OVER-VOLTAGE WARNING. Nei casi in cui il livello di soglia viene superato, il modulo segnala un avviso UNDER-VOLTAGE POWER DOWN, OVER-VOLTAGE POWER DOWN e si spegne.

Collegamento ad Arduino.

Dopo aver alimentato il modulo GSM, è necessario collegarlo a un dispositivo di controllo, ad esempio un microcontrollore Arduino. Errore comune, non è possibile collegare direttamente il pin TX di Arduino all'input RX del modulo SIM800L. Il datasheet del modulo, nelle caratteristiche della porta Seriale, afferma chiaramente che il livello massimo di unità logica all'ingresso RX è 3,1 V (con un minimo di 2,1 V). Per organizzare un'unità logica con un valore nominale di 2,5 V (questa tensione rientra correttamente nell'intervallo consentito ed è facile da ottenere dalla logica Arduino standard a 5 V), è necessario prendere due resistori dello stesso valore nell'intervallo di 1-10 kOhm (Figura 4).

                                                                                                  Figura 4 

Scambio di dati.

L'interazione con il modulo viene effettuata tramite l'interfaccia UART (seriale) utilizzando speciali comandi AT. Per implementare lo scambio tramite l'interfaccia UART su pin diversi dallo standard RX(0)/TX(1) (di solito vengono utilizzati per la connessione a un computer), saranno necessari i pin RX1(19)/TX1(18), RX2( 17)/TX2 (16),RX3(15)/TX3(14) Arduno Mega o libreria Arduino standard SoftwareSerial.h​.

Per impostazione predefinita, il modem determina automaticamente la velocita di scambio dei dati, ma questo parametro può essere impostato manualmente sul modem utilizzando il comando AT+IPR=<rate>, dove <rate> è la velocità di trasmissione (il valore predefinito è 0), vedi comandi AT.

Primo avvio.

Quando lo accendi per la prima volta, l'indicatore del modulo inizia a lampeggiare rapidamente: ciò indica che sta cercando una rete. Un raro lampeggiamento indica che la rete è stata trovata e che il modulo si è connesso con successo ad essa. Se il modulo lampeggia molto raramente in serie rapide di 3 volte, significa che la tensione di alimentazione è impostata in modo errato oppure che i cavi RX/TX sono invertiti. Se l'antenna standard non fornisce una ricezione affidabile, è possibile collegare un'antenna esterna.
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia