RIM1802G - LowCost GSM Modem

posted by: Claudio Hediger

Ich stand vor der Aufgabe, ein Bienenhäuschen mit moderner Technologie zu vereinen.
Es sollte möglich sein, von jedem Standort aus die aktuelle Temperatur im innern des Häuschens abzufragen.

Da es auch bereits Opfer von Vandalenakten geworden ist, musste auch eine Alarmanlage angebracht bzw, integriert werden.

Doch wie erreicht man eine Standortunabhängige erreichbarkeit? Genau, nur mittels Funk. Und da das heutige Mobilfunknetz ja mehr als genügend ausgebaut ist, bietet es sich an, dieses auch zu nutzen.

Gängige GSM Module sind entweder komplex in der ansteuerung oder exorbitant teuer, so das man sich diese nicht einfach mal so schnell kaufen kann, ohne sicher zu sein, das richtige zu haben.

Also habe ich Google bemüht und bin nach einiger Zeit auch fündig geworden.

Bei der Suche heraus, kam das GSM Modem der Firma Research In Motion oder kurz RIM. Die Model Bezeichnung lautet RIM1802G. Also wurde dieses Modem für günstige 20CHF (15€) bestellt.

 

Nach einigen Tagen, kam dann auch endlich das langersehnte Modem mit der Post :)

Auf der Mikrocontrollerseite weist das Modem einen 22 Poligen Vverbinder mit 1mm Abstand zwischen den Pins.

einen Passenden Stecker ist z.B. der Molex 210390382

Nach kurzer Eingabe von "RIM1802G" in der Suche von Google war klar, das es etwas dauern würde die Datenblätter zu finden.

Beim Antennenausgang befindet sich ein MMCX Anschluss.

 

Damit ihr nicht die gleichen Probleme mit den Datasheets habt, habe ich diese für euch bereitgestellt. Siehe dazu bitte die Links im Sidebar Menu.

Zusammen mit diesen Dokumenten sollte es ein leichtes sein, das Modem zum laufen zu kriegen, Dachte ich :) !

Stromversorgung

Zuerst gilt zu beachten, das dieses Modem eine Betriebsspannung von 3.5V - 4.75V benötigt. Des weiteren befindet es sich in den Grundeinstellungen auf 115200baud.
Alle 4.616ms benötigt es für eine Zeit von 577us einen Strom von bist zu 2.0A.

Laut Spezifikationen darf die Speisung nicht mehr als 20mVpp Rippel aufweisen.
Auf dem Board der Modems befinden sich bereits 70uF Kondensatoren parallel zu VCC.

Eine einfache Diode 1N4007 macht bereits aus 5V -> 4.3V noch einen Kondensator zur Siebung und die Stromversorgung ist grundsätzlich schon einmal gelegt.

Meine Schaltung sieht folgendermasen aus:

Die 5V Speisung ist für den AVR. 3V ist für ein paar logische Pegel des Modems und die 4.5V sind für das GSM Modem.

 

Pegelwandler AVR <-> RIM1802G

Da man seinen (in diesem Fall ein AVR) Mikrocontroller ja meistens mit 5V verwenden möchte, muss man hier nun Pegelwandlung vornehmen.

Ich habe zwar im laufe meiner Entwicklung festgestellt, das die Eingange wohl über kurz oder lang 5V Tollerant sind, da diese jedoch im Datenblatt explizit als 3V Eingänge definiert sind, möchte ich auf eine Pegelwandlung nicht verzichten.

Ein MAX232 ist hier fehl am Platz, da dieser dafür ausgelegt ist, 5V RS232 in +/-12V RS232 zu wandeln.

Deshalb wurde ein eigener Wandler entworfen. Dieser Funktioniert einwandfrei auch mit einer Baudrate von 115200baud

Die IN Pins sind die Sendeleitungen der Geräte. Also an 5VIN kommt z.B. TX des AVR's

 

Pinkonfiguration des RIM1802G

Damit man mit dem Modem "Sprechen" kann, muss man zuerst noch ein paar Pins "anbinden" (an ein gewisses Potential anschliessen)

Hier siehst du was du wie verbinden musst!

Pin des Modems Wohin verbinden / Beschreibung
21 TX des Modems. Hier kommen die Daten raus! 3VIN
20 RX des Modems. Hier kommen die Daten rein! 3VOUT
5,9,16,18 Mit GND verbinden
6,11,12 Mit Low Current LED's verbinden für den Status
7,8 Mit 4.5V Verbinden (Power)
17,19 Miteinander verbinden (~DSR und ~DTR)
10 Auf Logisch "1" daher mit 3V verbinden
1,2 Mikrofon (Optional)
3,4 Lautsprecher (Optional)

In den Datenblättern steht bei Pin 21 RX und bei Pin 20 TX. Dies ist auch sicht des Mikrocontrollers!

 

Kommunikation per RS232

Nun kann man das Modem ein erstes mal per RS232 Ansteuern. Zu beachten ist, das es sich zu beginn im 115200baud Modus befindet.

Die Baudrate lässt sich per ATCommand einstellen und Speichern!

Wichtig zu beachten ist, das man nach jedem gesendeten befehl ein Carriage Return (CR) und einen LineFeed (LF) sendet. Ansonsten hat man das Problem welches ich gehabt habe, man sitzt Stundenlang vor seiner entwicklung und vermutet den Fehler überall und bemerkt erst nach laaanger Zeit, das das Programm hTerm nicht automatisch einen CR und LF sendet. Dafür war die Freude das es dann doch geklappt hat umso grösser :) .

 

Erste Befehle

Zum testen der Verbindung sendet man als erstes mal

AT   //Status Befehl
\r   //Carriage Return
\n   //Line Feed

Nach dem Befehl "AT" muss das Modem mit "OK" antworten. Andernfalls befindet sich irgendwo einen Fehler.

Hat man eine Simkarte eigelegt, so kann man mit folgenden Befehlen die Registration im Netzwerk auslösen.

AT+CPIN=0000   //Übergibt den PIN-Code der SIM-Karte (0000)
\r   //Carriage Return
\n   //Line Feed

Mit dem Befehl AT+CPIN=0000 überträgt man dem Modem den Pincode. Dieses versucht diesen nun bei der SIM aus und wenn dies erfolgreich war, meldet es sich im Netzwerk an. Hat man die LED's an den PIN's 6,11 und 12 angeschlossen, so zeigen diese nun einen Verbindungsaufbau (Blinken) sowie die verfügbarkeit des Netzes und damit die erfolgreiche einwahl (Coverage) an.

Weitere Befehle findet man im AT-Command Guide.

 

Besonderheiten

Das Modem weist zwei mir bekannte besonderheiten auf.

Zum einen gibt es eine simple möglichkeit, eine Serielle Modem Verbindung zwischen zwei RIM1802G herzustellen. Dazu genügt ein entsprechender AT Befehl sowie die Telefonnummer des anderen Modem. Alles was nach erfolgreicher Verbindung über die RS232 Schnitstelle gesendet wird, wird 1:1 am anderen Modem empfangen und auch entsprechend wieder ausgegeben. Dies ist solange der fall, bis eine zuvor definierte exit zeichenfolge gesendet wird.

Die zweite besonderheit bei diesem Modem ist, das man an Pin 1 und 2 direkt ein Mikrofon anschliessen kann und bei Pin 3 und 4 einen Lautsprecher.

Nach einem getätigten Anruf mittels ATD Befehl, kann man das Modem über das Mikrofon und den Lautsprecher als "normales" Mobiltelefon verwenden!

 

Viel Spass beim Experimentieren und entwickeln :)