aktualisiert 05.08.2010
Mit dem Atmega 8 ein Siemens Handy ansteuern !

Ziel soll es hier sein mit dem Microcontroller Atmega 8 ( von der Firma Atmel) in Verbindung mit einem Handy eine Telefon Nr. anzurufen !
Da ich leider wenig Literatur oder Infos im Web gefunden habe (in Verbindung mit der Programmiersprache Bascom) bzw. dass was ich gefunden habe war größtenteils so voller Fehler ,
das ich beschlossen habe diese Informationen so wenig wie irgend möglich zu nutzen und habe selber Experimentiert um das gewünschte Ziel zu erreichen.
Um das Handy mit dem Atmega zu verbinden gehe ich erst einmal über den Zwischenschritt das ich erst einmal das Handy direkt vom PC aus anspreche,
dazu benötige ich ein Original Datenkabel von Siemens, weil dieses Kabel einen Pegelwandler inne hat.
Der Pegelwandler ist notwendig weil die Schnittstelle des PC's ( COM oder auch RS232 genannt) mit einer völlig anderen Spannung arbeitet als das Handy.
Um diesen Spannungsunterschied anzupassen ist der Pegelwandler notwendig.

Handy vom Rechner aus ansteuern
Benutzt wird COM Port 5 mit einem Adapterkabel von Hama (USB auf Seriell) bei einer Übertragung von 1200 Baud vom PC nach Atmega
Mit Siemens Handy S45 und auch mit dem Me45 kann das Modem angesprochen werden.

Also das Original Datenkabel am COM Port des PC angeschlossen die andere Seite am Siemens Handy S45, dann Terminal Programm im PC aufrufen einfacher halber das Interne Terminal Programm im Programmiertool " Bascom".
Adresse des COMport evtl. ändern dann eine Baudrate von 1200 eingeben Parity=0 und 8 Datenbits und 1 StopBit .


Dann folgenden Befehl ins Terminal Programm eingeben
" AT+CGMI"mit anschließendem "Return"
natürlich ohne Ausführungszeichen.
Darauf antworte das Handy mit der Antwort "Siemens"
Folgende Befehle kann man auch noch testen:
"ATAT+CGMR" gibt die Software Version aus
" +CGMM" gibt die Modellbezeichnung aus

"AT+CGSN" gibt die IMEI aus
"AT+CBC "gibt den Batteriezustand in % aus
Wenn mann erst einmal so weit gekommen ist, hat man schon einmal die Sicherheit, das der Rechner mit dem Handy kommunizieren kann. Weil die Antwort"OK" aus dem Handy kommt. Falls keine Antwort kommt kann man Testweise einmal die Baudrate ändern auf beispielsweise 2400 oder evtl noch höher. Sollte das auch keinen Erfolg bringen sollte man sich vergewissern ob man die richtige COM Schnittstelle ausgewählt hat, auch da kann man einfach mal spielen und andere Schnittstellen testen. Mit der Eingabe von
"ATE0" wird das Echo ausgeschaltet, und die Tastatureingabe wird dann nicht mehr angezeigt. Mit
"ATE1" wird das Echo wieder eingeschaltet und die eingegebenen Ziffern werden wieder sichtbar.

Mit der Eingabe von "AT+CMGF=?" wird eine Null zurück gegeben die Bedeutung weiß ich noch nicht ?
Handy vom Mikrokontroller aus ansprechen

Mit folgender Schaltung versuche ich nun das Handy anzusprechen:
Die Schaltung besteht aus:

1. Atmega8L Der Atmega 8 mit der Zusatzbezeichnung" L" läuft auch noch mit Spannungen weit unter 5Volt, das ist nötig damit man später evtl. die Betriebsspannung aus dem Handy entnehmen kann.
2. Display Ein Standard Display mit 2 mal 16 Zeichen steckbar, benötigt man evtl zur Programmentwicklung.
3. Programmierschnittstelle Um den Controller mit Bascom zu programmieren
4. Led Gelb Betriebsspannungsanzeige
5. Led Grün Empfangsanzeige zeigt an ob der Prozessor Daten vom Handy erhält
6. Led Rot Sendeanzeige zeigt an ob der Prozessor Daten zum Handy sendet.
7. ISP Schnittstelle Um das Programm vom Rechner in den Mikrokontroller zu übertragen
Plan vergrößern hier

Und so sieht die Schaltung aus, an der oberer Seite erkennen wir eine 16 Polige Sockelleiste auf der kann bei Bedarf das Display aufgesteckt werden.
Auf der linken Seite befindet sich der ISP Steckanschluß zum programmieren des Controllers, etwas darunter dann die Drei Led's ( siehe Tabelle oben).
Weil sich am Handy kein passender Spannungsabgriff finden ließ hab ich mit etwas Draht 2 Akkus in Reihe befestigt und habe damit eine
Betriebsspannung von 2,65 Volt, diese reicht weitgehend , allerdings funktioniert bei dieser geringen Spannung das evtl. zu verwendete Display nicht.
Links neben der Gelbe Led befindet sich ein Jumper mit dem die Betriebsspannung abgeschaltet werden kann.
Etwas oberhalb der Akkus auf der rechten Seite befindet sich zwei Jumper der grüne ist der Öffner Kontakt der rechts daneben ohne Brücke ist der Schließer
Kontakt um den Anruf mit dem Handy auszulösen.
Die Betriebsspannung sollte auf jeden Fall unter 5 Volt liegen, meiner erster Versuch mit 5 Volt scheiterte weil die Pegelanpassung nicht korrekt war,
erst als ich die Betriebsspannung verringerte bis auf unter 3 Volt konnte eine Verbindung mit dem Handy aufgebaut werden,
nach weiterer  Abnahme der Spannung konnte auch unter 2 Volt keine Verbindung mehr aufgebaut werden.
Ergo sollte die Spannung zwischen 2 und3 Volt liegen , idealerweise also 2,5 Volt

   
Schaltung mit aufgestecktem Display aus
Und so als fertiges Modul
Vergrößern
Handy Schnittstelle
Abbildung des Handy Steckers (Lumberg Stecker) mit den benutzen Anschlüssen
Lumberg
Pinbelegung am Siemens ME45 und S45Handy Stecker
Pin
Beschreibung
1 Masse Wird vom Ladegerät verwendet 5Volt 400mA
2   Wird vom Ladegerät verwendet 5Volt 400mA
3   Wird vom Ladegerät verwendet 5Volt 400mA
4

 

 
5 Datenausgang Serieller Datenausgang (Daten gehen aus dem Handy raus)
6 Dateneingang Serieller Dateneingang ( Daten gehen ins Handy rein)
Weil ich nun gerade einmal dabei war die Pin's am Handy Stecker zu messen, hier noch einige Spannungsverläufe die allerdings in dem hier vorgestellten Projekt nicht relevant sind, habe die Spannungen gemessen um herauszufinden an welchem Pin ich die Spannung für meine Mikrokontroller Schaltung abgreifen kann, leider musste ich feststellen, das einige Pin's zwar die benötigte Spannung hatten diese aber mein Minimaler Belastung ( 0,2 bis 0,3 mA) zusammenbrachen. Hab noch nicht Zweifelsfrei herausgefunden welche Funktionen sie haben.Aber dazu komme ich evtl noch bei Späteren Projekten.
Das es nicht möglich war die Betriebsspannung für den Mikroprozessor aus dem Handy zu entnehmen, bzw die Spannung nicht am Stecker abgreifbar war,hab ich mich entschlossen auf der Platine zwei Akkus Mignon (AA) mit einer Kapazität von 2600mA aufzubringen und hab jetzt die Nötige Spannung für den uC . Eine Messung ergab das die Akkus eine Spannung von 2,65 Volt abgaben, und der Mikrocontroller bei dieser Spannung einen Strom von 2,2 bis 2,7mA aufnahm, das würde theoretisch für eine Laufzeit von annähernd 36 Tage ergeben
Pin 2
Pin 3
Pin 4
Pin 5
343
99
6
500mv/D
Spannung bricht zusammen wenn der uC angeschlossen wird, obwohl der Controller gerade einmal 2 bis 3 mA zieht.
500mV/D

Spannung bricht bei einer Stromentnahme von ca 0,2mA ein

Frequenz 0 ,70 Hz

1V/D

500mV/D
Datenkabel
Das Datenkabel sollte ein Original von Siemens sein, weil es viele meist billige Handelsübliche gibt ,die nicht alle die Vorraussetzungen erfüllen.Im Original Datenkabel von Siemens befindet sich ein MAX 232 in SMD Technik
       
Zum Programm
Zeile
Programm
Beschreibung
1. $regfile "m8def.dat" 'Definiert den Atmega als Atmega 8
2. $baud = 19200 ' Datenübertragungsrate für RS232 Datenkabel
3. $crystal = 1000000 'Taktfrequenz angeben
4. Ddrd = &B00000100 ' Port D.2 als Ausgang setzen
5. Portd=&B00011000 'Pull Up setzen für PinD.3 und D.4
6. Config Lcd = 16 * 2 'definiert das LCD Display in Art und Größe
7. Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.3 , Db6 = Portb.2 , Db7 = Portb.1 , Rs = Portc.5 , E = Portb.5 ' Definition der Display-Anschlüsse
8. DIM inaktiv As Byte Variable setzen
9. DIM Anrufzeit As Byte Variable setzen
10. Inaktiv=60 Vorgabezeit in Variable ablegen
11. Anrufzeit=19 Vorgabezeit in Variable ablegen
12. Wait 4 'Pause von 4 Sekunden
13. Cls 'Display löschen
14. Portd.2=0  
15. Do  
16. Portd.2=1  
17. if PinD.3=1 ThenWaitms 20  
18. if PinD3=1 Then Gosub Alarm  
19. if PinD.4=0 Then Waitms 20  
20. if PinD.4=0 Then Gosub Alarm  
21. Waitms 300  
22. PortD.2=0  
23. Loop  
24. End  
25. :Alarm  
26. LCD"ATDP+49XXXXXXXX;" Nummer wählen und abnehmen
27. Print"ATDP0XXXXXXXX" Anzeige der Nummer auf Display
28. Wait Anrufzeit  
29. Print "AT+CHUP" Hörer wieder auflegen
30. Wait Inaktiv  
31 Return  
Programm runterladen hier:
Mögliche Probleme
Controller wählt die Rufnummer baut aber keine Verbindung auf ,das gleiche Problem besteht wenn vom Terminalprogramm. aus die Nr gewählt wird. Hinter der zu wählenden Telefon Nr.ist das Semikolon vergessen worden .z.B. (Print "ATDP+49XXXXXXXX;"]
Benötigte Teile:
PC oder Laptop    

Siemens Handy S45

   
Original Siemen Datenkabel für Handy S45    
Atmega8 L    
Aktualisiert 30.05.2019

copyright by Ms 2009