Forum: Mikrocontroller und Digitale Elektronik AVR-NET-IO-Board + Siemens C55


von Daniel B. (danius)


Angehängte Dateien:

Lesenswert?

Hallo,

ich beschäftige mich schon einige Zeit mit meinem AVR-NET-IO-Board und 
einem Siemens C55 Handy, um damit SMS im AT-Format versenden zu können.

Bei der Software habe ich den Code von Ulrich Radig von
Beitrag "Re: SMS mit Siemens und Mega32"
als Grundlage verwendet, der für Siemens ME45 und CX70 funktioniert.

Mein C55 verwendet ja keinen Lumberg Stecker, sonder einen Slim Lumberg 
Stecker wie
http://pinouts.ru/all/siemens_c55_pinout.shtml
und somit habe ich mir das passende original Siemens Datenkabel DCA-500 
besorgt und ein Schematic dazu im Internet gefunden (siehe Anhang).

Leider ist jetzt mein Problem, dass ich keine funktionierte 
Kommunikation mit dem Handy zustande bekomme. Ich vermute mal es liegt 
an der Beschaltung des DCA-500 Datenkabels.
Diese habe ich zur Zeit wie folgt:

Pin 2 (RxD) -> R1in von Sub-D Stecker des AVR-NET-IO
Pin 3 (TxD) -> T1out von Sub-D Stecker des AVR-NET-IO
Pin 5 (GND) -> Ground
Pin 6 (DSR) -> 5V

Habe schon einiges im Forum gefunden, wie
Beitrag "AT Commands für Handy Siemens C55"
wo CTS und DCD zusätzlich auf Ground geklemmt wird.

Funktionieren müsste es mit dem C55, weil einige hier im Forum haben 
schon eine funktionierende Version.

Vielleicht könnte mir da jemand weiterhelfen und mir kurz die richtige 
Beschaltung erklären. Danke.

Schönen Tag noch,
Daniel

PS: Kann man das Handy eigentlich über dieses Datenkabel auch laden?

von Daniel B. (danius)


Lesenswert?

Ein weiterer Unterschied zum Projekt von Ulrich Radig ist, das er einen 
MAX202ECWE verwendet und am AVR-NET-IO ein MAX232N vorhanden ist.

Dies dürfte aber keinen Unterschied ausmachen...

von Daniel B. (danius)


Lesenswert?

Das Problem mit der Beschaltung konnte ich lösen, indem ich erfolgreich 
AT-Befehle vom RS232-Ausgang des PCs über mein Kabel an das Siemens C55 
schicken konnte.

Die richtige Beschaltung des Datenkabels ist

Pin 2 (RxD) -> T1out von Sub-D Stecker des AVR-NET-IO
Pin 3 (TxD) -> R1in von Sub-D Stecker des AVR-NET-IO
Pin 5 (GND) -> Ground

und das Datenkabel erhält die 5V Versorgung vom Handy Akku, somit 
braucht Pin 6 nicht beschaltet werden.
Umkgekehrt, wenn ich vom AVR-NET-IO einen AT-Befehl an den PC sende, 
kommt dieser auch an, wobei ich keine ASCII Zeichen im Terminal sehe, 
sonder "kryptische" Symbole.

Ich konnte mein Problem auch weiter eingrenzen, anscheinend erhalte ich 
keine Antwort von Handy, wenn ich z.B.
1
printf("at\r\n");
sende. Eigentlich müsste ja "OK" vom Handy zurückgesendet werden.
Das Problem ist also definitiv der Code der am AVR läuft.

Was mir auch komisch erscheint, ist, dass der Aufbau wie folgt ist:
ATmega32 -> MAX232 -> MAX232 (im Datenkabel) -> Siemens C55

Könnte das Problem vielleicht der MAX232 am AVR-NET-IO sein?

Grüße,
Daniel

von STK500-Besitzer (Gast)


Lesenswert?

Daniel B. schrieb:
> Umkgekehrt, wenn ich vom AVR-NET-IO einen AT-Befehl an den PC sende,
> kommt dieser auch an, wobei ich keine ASCII Zeichen im Terminal sehe,
> sonder "kryptische" Symbole.

Klingt nach der falschen Baudrate

von Daniel B. (danius)


Lesenswert?

STK500-Besitzer schrieb:
> Klingt nach der falschen Baudrate

Hi, danke für den Hinweis.

Die Baudrate habe ich mit baud = 9600bps eingestellt.
Den Wert für das UBRR-Register berechne ich laut Datenblatt mit
1
UBRRL = (SYSCLK / (baud * 16L) - 1);
wobei mein ATmega32 mit SYSCLK = 1MHz läuft.

Habe alles gerade noch mal überprüft, scheint aber korrekt zu sein.

von STK500-Besitzer (Gast)


Lesenswert?

oder falsche Menge an Stoppbits...

von Heinz (Gast)


Lesenswert?

Daniel B. schrieb:
> Die Baudrate habe ich mit baud = 9600bps eingestellt.

Siemens? Vermutlich 19200 bps.

von Daniel B. (danius)


Lesenswert?

Heinz schrieb:
> Daniel B. schrieb:
>> Die Baudrate habe ich mit baud = 9600bps eingestellt.
>
> Siemens? Vermutlich 19200 bps.

Bei der Baudrate von 9600 bps habe ich von:
http://www.mikrocontroller.net/articles/Handy

Vom PC direkt auf das Siemens C55 funktioniert es ja mit 9600 bps, werde 
die 19200 bps aber mal ausprobieren.

STK500-Besitzer schrieb:
> oder falsche Menge an Stoppbits...

Für die Stoppbits habe ich mal die Default-Einstellung gelassen (1 
Stoppbit).

von Daniel B. (danius)


Lesenswert?

Könnte es sein, das die 1 MHZ Clock des ATmega 32 das Problem ist.

Weil laut Datenblatt ist
Baudrate = fOSC / (16*(UBRR + 1))
und mit fOSC = 1 MHZ und UBRR = 6 ergibt sich 8928,5 bps und das ist 
doch sehr weit von 9600 bps entfernt.

von Daniel B. (danius)


Lesenswert?

Daniel B. schrieb:
> Könnte es sein, das die 1 MHZ Clock des ATmega 32 das Problem ist.
>
> Weil laut Datenblatt ist
> Baudrate = fOSC / (16*(UBRR + 1))
> und mit fOSC = 1 MHZ und UBRR = 6 ergibt sich 8928,5 bps und das ist
> doch sehr weit von 9600 bps entfernt.

Stimmt, das war das Problem, weil mit 4800 bps (UBRR = 12) funktioniert 
es. Da hat man laut Datenblatt nur einen Fehler von 0.2%.

von Heinz (Gast)


Lesenswert?

Daniel B. schrieb:
> Könnte es sein, das die 1 MHZ Clock des ATmega 32 das Problem ist.

Ja.

Wo kommen die 1 MHz her? RC-Oszillator?

von Daniel B. (danius)


Lesenswert?

Heinz schrieb:
> Wo kommen die 1 MHz her? RC-Oszillator?

Ja, verwende den internen RC-Oszillator. Die Schaltung soll ziemlich 
stromsparend sein.

von STK500-Besitzer (Gast)


Lesenswert?

Daniel B. schrieb:
> Ja, verwende den internen RC-Oszillator. Die Schaltung soll ziemlich
> stromsparend sein.

Der sollte automatisch abgeschaltet werden, sobald man die UART benutzen 
will.
Halt mal nen Fön auf den Controller...

von Heinz (Gast)


Lesenswert?

Daniel B. schrieb:
> Ja, verwende den internen RC-Oszillator. Die Schaltung soll ziemlich
> stromsparend sein.

Um eine lange Geschichte kurz zu machen: nimm einen Quarz!

von Daniel B. (danius)


Lesenswert?

STK500-Besitzer schrieb:
> Der sollte automatisch abgeschaltet werden, sobald man die UART benutzen
> will.
> Halt mal nen Fön auf den Controller...

Wenn er abgeschaltet wird, was wird dann als SYSCLK verwendet?
Das habe ich dann wohl im Datenblatt überlesen...

Meinst du mit dem Fön das der RC-Oszillator ziemlich 
temperaturempfindlich ist?

von STK500-Besitzer (Gast)


Lesenswert?

Daniel B. schrieb:
> Wenn er abgeschaltet wird, was wird dann als SYSCLK verwendet?
> Das habe ich dann wohl im Datenblatt überlesen...
Nee, der wird leider nicht automatisch abgeschaltet, was dazu führt, 
dass hier häufig hausgemachte Probleme geschildert werden, weil jemand 
meint, dass das Ding dazu geeignet ist, eine stabile Frequenz zu 
liefern.
Ist er aber nicht.
Dann kommen die Leute, die den dann noch per Fuse-Bits trimmen.
Den Aufwand kann man sich sparen, indem man einen Quarz benutzt...

>
> Meinst du mit dem Fön das der RC-Oszillator ziemlich
> temperaturempfindlich ist?
Jepp.

von Daniel B. (danius)


Lesenswert?

Ok, habe jetzt auf den 16 MHz Quartz umgestellt, der am AVR-NET-IO 
vorhanden ist. Der AT-Befehl kommt am PC korrekt an, aber wenn ich das 
Handy statt des PCs anschließe passiert leider wieder gar nichts :-(.

von STK500-Besitzer (Gast)


Lesenswert?

musst du u.U. ein gekreuztes Kabel verwenden? (Null-Modem...)

von Daniel B. (danius)


Lesenswert?

STK500-Besitzer schrieb:
> musst du u.U. ein gekreuztes Kabel verwenden? (Null-Modem...)

Wow, danke, dass war die Lösung. Im Gegensatz zum Anschluss an den PC 
muss ich beim Anschluss ans Handy Tx und Rx kreuzen.

Wenn ich aber jetzt "at" sende, bekomme ich "at" + 2 unleserliche 
Charakter zurück. Wahrscheinlich sollen die beiden unleserlichen Zeichen 
"OK" heißen. Dass kann doch nicht schon wieder ein Problem mit der 
Baudrate sein?

von Daniel B. (danius)


Lesenswert?

Nochmals danke für die Hilfe, schlussendlich funktioniert jetzt der 
SMS-Sendevorgang :-).

Das nächste Problem ist nun der Ladevorgang des Siemens C55. Am liebsten 
wäre es mir, wenn ich das Handy über das Datenkabel (DCA-500) laden 
könnte, aber bisher war das nicht von Erfolge gekrönt.

Hat zufällig wer einen Rat, was die eleganteste Lösung wäre?

von helmchen74 (Gast)


Lesenswert?

Hallo Daniel,
Lies dir mal den Fred durch, da steht auch einiges über Siemens-Handys 
bzw. Problemen bei der Ladung. Denke das hilft dir wahrscheinlich 
weiter.

http://www.blafusel.de/phpbb/viewtopic.php?f=12&t=73&sid=40c3bbdd596879aa9d99f0f5f044d8be

Viele Grüße,
Helmchen74

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.