Forum: Mikrocontroller und Digitale Elektronik RS232 TC35 & Arduino


von mike (Gast)


Lesenswert?

Hi,

vielleicht weis jemand was:

Habe hier ein orginal Siemens TC35i-Terminalmodul. Dieses soll als 
Ersatz dienen, da mein 'SainSmart'TC35i beim Versuch einen Akku 
anzuschliessen abgeraucht ist ;-)

Dieses China Teil hatte aber Problemlos am Arduino-Softwareserial-Port 
seine Dienste getan. RXD & TXD angeschlossen und gut war...
Jetzt mit dem orginal Siemensteil bekomm ich nurnoch Datenmüll auf dem 
Serial-Monitor angezeigt. Weis jemand warum...?

von Martin (Gast)


Lesenswert?

"... Datenmüll ..."

Das könnte eine falsche Baudrate oder ein Pegelproblem sein.

Kannst du den Datenmüll aufzeichnen und posten?

von mike (Gast)


Lesenswert?

z.B. statt 'RING' kommt

'k'
bzw. in Hex
'06B 01'

An ein Pegelproblem habe ich auch schon gedacht, wüsste aber nicht wie 
ich das lösen könnte... ):

von spontan (Gast)


Lesenswert?

Nicht denken, messen!

von Martin (Gast)


Lesenswert?

Das TC35 solltest du z. B mit HyperTerm testen. Einfach alle Baudraten 
ab 9600 o. s. durchgehen, bis du eine sinnvolle Antwort bekommst.

von mike (Gast)


Lesenswert?

habe ich getan. Direkt an einer RS232 funktioniert der Kasten. Nur am 
Arduino nicht...

von Martin (Gast)


Lesenswert?

Was hast du an Messequipment zur Verfügung? Wie sieht dein Aufbau aus 
(Photo)?

Ist das TC35 auf eine feste Baudrate gestellt oder "Auto Bauding"? Sind 
eventuell unterschiedliche Baudraten das Problem?

von Thomas L. (thomas_hx)


Lesenswert?

Hast du einen RS232 Adapter an dem Arduino oder hängt das Modul direkt 
am Arduino?

von mike (Gast)


Lesenswert?

Messgeräte wären momentan da:

- Digitalmulti.

Aufbau ist eigentlich simple: 2 Leitungen von TC35-SubD9pol. Pin 2+3 
(Laut Datenblatt wären das RXD & TXD) an die Arduinopins 2+3.
Jetzt könnte man Argumentieren, das der Dataground fehlt, aber erstens 
geht es mit diesem auch nicht und zweitens habe ich das TC35 an einem 
USB2Serial-Adapter geprüft - da ging es auch nur mit den beiden 
Datenleitungen...

Auf dem Arduino läuft die SoftwareSeriallibrary konfiguriert auf 2+3 - 
so hat es ja mit dem Chinading auch problemlos funktioniert. Und da 
eigentlich der selbe Modembaustein verwendet wird, sollte es eigentlich 
keine Probleme geben. Eigentlich....

von mike (Gast)


Lesenswert?

Die Baudrate, richtig...
Tja, das weis ich nicht genau.
Beim Test am USB2RS232 Adapter war eine feste Baudrate eingestellt und 
lief. Auf der anderen Seite habe ich in irgendeiner SpTC35-Spezifikation 
was von 'Auto Bauding' 2400 - 14400 gelesen...

von mike (Gast)


Lesenswert?

Thomas Lembke schrieb:
> Hast du einen RS232 Adapter an dem Arduino oder hängt das Modul direkt
> am Arduino?

direkt

von Michael (Gast)


Lesenswert?

mike schrieb:
> habe ich getan. Direkt an einer RS232 funktioniert der Kasten. Nur am
> Arduino nicht...

Kein Wunder, der Arduino hat keine RS232 sondern eine 5V Schnittstelle. 
Unterscheiden tun sich die beiden durch die Pegeldefinitionen und die 
invertierte Logik.

von Wolfgang (Gast)


Lesenswert?

mike schrieb:
> An ein Pegelproblem habe ich auch schon gedacht, wüsste aber nicht wie
> ich das lösen könnte... ):

Mit einem Pegelwandler, z.B. Max232 oder Nachfolger (für 5V Arduino)

mike schrieb:
> Aufbau ist eigentlich simple: 2 Leitungen von TC35-SubD9pol. Pin 2+3
> (Laut Datenblatt wären das RXD & TXD) an die Arduinopins 2+3.

Das wird wahrscheinlich nicht reichen. Zumindest das TC35 brauchte lt. 
Handbuch auch noch ein Freigabesignal.

von mike (Gast)


Lesenswert?

Wolfgang schrieb:
> Das wird wahrscheinlich nicht reichen. Zumindest das TC35 brauchte lt.
> Handbuch auch noch ein Freigabesignal.

dieses Handbuch habe ich nicht gefunden?! Kannst du das evtl. hochladen 
oder wenigstens sagen welche Leitung das sein soll...

von Wolfgang (Gast)


Lesenswert?

mike schrieb:
> dieses Handbuch habe ich nicht gefunden?!

Vom TC35 kenne ich dieses:
http://www.flygt.de/1114471.pdf

von mike (Gast)


Lesenswert?

Wolfgang schrieb:
> Vom TC35 kenne ich dieses:
> http://www.flygt.de/1114471.pdf

das hab ich auch, aber da steht nichts von einem Freigabesignal...?

Inzwischen habe ich meinen Aufbau etwas abgeändert.
GSM-Modul beiseite. Statt dessen habe ich die Datanleitungen auf den 
USB2RS232-Adpter gepinnt und lasse ein 2.Terminalprogramm laufen. Naja, 
das Ergebnis ist eigentlich das selbe:
An den Arduino sende ich via Terminal z.b. die Zeichenkette
'OK'
am USB-Adapter kommt dann
'XZy='
an. Beide haben 9600Baud... Keine Ahnung was das hier soll. das ging mal 
Problemlos. Arduino kann eigentlich auch nicht defekt sein. Habe einen 
2. - da isses genau so. Unter Linux isses genau so. Das Programm dazu 
geht gar nicht simpler:
1
#include <Arduino.h>
2
#include <SoftwareSerial/SoftwareSerial.cpp>
3
char incoming_char=0;
4
SoftwareSerial cell(2,3); //Create a 'fake' serial port. Pin 2 is Rx pin, pin 3 is Tx pin.
5
6
void setup(){
7
  Serial.begin(9600);
8
  cell.begin(9600);
9
  Serial.println("Starting serial Communication...");
10
}
11
12
void loop(){
13
  if(cell.available() >0){
14
    incoming_char=cell.read();
15
    Serial.print(incoming_char);
16
  }
17
  if(Serial.available() >0){
18
    incoming_char=Serial.read();
19
    cell.print(incoming_char);
20
  }
21
}

von Wolfgang (Gast)


Lesenswert?

mike schrieb:
> das hab ich auch, aber da steht nichts von einem Freigabesignal...?

Dann guck mal auf S. 26/27 (Einschalten des Terminals) über Ignition 
Signal bzw. DTR. Und auf S. 24 stehen die erforderlichen Signalpegel.

von mike (Gast)


Lesenswert?

Da gehts um das Einschalten des Modems. Das geht ja auch - LED blinkt 
erst schnell dann langsam - Modem ist also im Netz eingebucht.

von mike (Gast)


Lesenswert?

so, ich denke jetzt weis ich woran es liegt:

Es wird, wie weiter oben schon einmal vermutet, am Pegel liegen.
Das Problem: Der Arduino gibt auf den emulierten serial Pins 0/5V f. 
LOW/HIGH
aus. Und dieser Siemenskasten will nun irgendwie einen anderen Standart 
(ANSI/EIA/TIA-232-F-1997??) haben.

Nun kann man das evtl. mit solch einem MAX232 wandeln.. Wäre das korrekt 
und wenn ja, ich hab da diverse Beipiele gefunden bin mir aber nicht 
sicher.
Da gibt es ganz einfache Schaltungen: 5 Elkos dran - fertig.. Oder ist 
das die falsche Richtung, sprich RS232 zu 5V TTl...? Ich bräuchte ja 5V 
TTL zu RS232. Oh man......

Dank Euch

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.