Serial: Unterschiedliche Ausgabe bei verschiedenen Konvertern

Hallo Arduino Spezialisten!

Ich möchte von meinem Arduino über die serielle Schnitstelle Befehle an ein anderes Gerät schicken. Dabei soll der Delock USB zu Seriell Konverter zum einsatz kommen.
Wenn ich den Konverter am PC anschließe, werden aber leider nur komische Zeichen ausgegeben.
Mit einem anderen USB zu TTL Konverter funktioniert es einwandfrei.
Im angefügten Screenshot ist das sehr gut ersichtlich.

Die Einstellungen sind natürlich überall die gleichen: 9600,8N1

Was übersehe ich, dass der eine Konverter funktioniert, der andere nicht?

Einziger Unterschied, den ich bis jetzt ausmachen konnte, ist der verwendete Chip. Der Delock verwendet offensichtlich den FT232, der andere Konverter den CP2102. Könnte es damit zu tun haben?

Leider muss es unbedingt mit dem Delock Konverter funktionieren. Deshalb bitte ich um eure Hilfe, was notwendig ist damit dieser auch das tut was er soll!

Hier auch nochmal der Code:

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello World!");
  delay(2000);
}

Wäre wirklich super wenn mir jemand weiterhelfen könnte.

Vielen DANK!

Der Delock arbeitet mit RS232 und invertiert deine Daten, daher die komischen Zeichen.

Wenn du den am Arduino betreibst, kannst du den Arduino ganz schnell killen, da der Delock mit + / - 12 Volt auf der seriellen arbeitet.

Wenn du unbedingt den Delock verwenden musst, brauchst du zwischen deinem Arduino und dem Delock einen Serial-RS232-Wandler.
Beispiel: http://www.dx.com/de/p/rs232-serial-port-to-ttl-converter-communication-module-for-arduino-148963?tc=EUR&gclid=COXF3aa05dQCFSIL0wodglwG6w#.WVYuStRCTMI

Vielen Dank für die raschen Antworten!

Ich hatte schon sowas in diese Richtung vermutet. Wusste nur nicht, dass TTL und RS232 nicht nur mit anderen Pegeln arbeiten, sonder eben auch invertiert. Das hat mich etwas verwirrt.

Da mein Arduino noch lebt, wäre es nicht auch möglich softwareseitig zu invertieren? Oder ist das auf dauer zu riskant?

In weiterer Folge soll der Arduino dann nicht mit dem Delock mit einem PC verbunden werden, sondern ein Gerät mit serieller Schnitstelle abfragen, welches offensichtlich mit RS232 arbeitet, wie mir mittlerweile klar ist. =D

Wäre es auch denkbar, dass dieses Gerät zwar mit einem invertierten Signal arbeitet, aber trotzdem mit TTL Pegel? Wie gesagt, mein Arduino lebt ja schließlich noch. Oszilloskop habe ich leider keines. Lässt sich das auch anders herausfinden, mit einem Multimeter z.B.?

Das der Arduino noch lebt, ist Glücksache.
Wie schon geschrieben, die RS232 liefert + / - 12 bzw. 15 Volt.
Der Arduino verkraftet max. -0,5 / + 5,5 Volt.
Überspannung hält der nicht lange aus.
Das andere Gerät kenne ich nicht, daher keine Aussage dazu.

Alles klar!
Dann werde ich wohl noch versuchen herauszufinden mit welcher Spannung mein Gerät arbeitet.
Wenn es im verträglichen Spannungsbereich des Arduino ist, werde ich das Invertieren in der Software lösen. Bei +/- 12V komme ich wohl um zusätzliche Hardware nicht herum.

Vielen, vielen Dank nochmals für die Unterstzütung und Aufklärung!! :slight_smile:

manuel.sanz:
Alles klar!
Dann werde ich wohl noch versuchen herauszufinden mit welcher Spannung mein Gerät arbeitet.
Wenn es im verträglichen Spannungsbereich des Arduino ist, werde ich das Invertieren in der Software lösen. Bei +/- 12V komme ich wohl um zusätzliche Hardware nicht herum.

Vielen, vielen Dank nochmals für die Unterstzütung und Aufklärung!! :slight_smile:

Gerne...weiterhin viel Erfolg.

P.S.
Wenn es RS232 ist, wird es auch def. +/- 12 Volt sein. Anders ist es bei TTL-kompatiblem (0/+5Volt) seriellen Port.

manuel.sanz:
Wenn es im verträglichen Spannungsbereich des Arduino ist, werde ich das Invertieren in der Software lösen. Bei +/- 12V komme ich wohl um zusätzliche Hardware nicht herum.

Das Invertieren in Software geht nur mit SoftwareSerial oder einer ähnlichen Bibliothek, die sich auf invertierte Signale einstllen läßt, sonst mußt Du eine ganze UART selbst in Software nachbilden. Einfacher und sicherer wird das mit richtigen RS-232 Leitungstreibern in Hardware,