conrad 8-Fach Relaiskarte mit rs232 TTL-Wandler und Arduino Uno

Hallo Leute,
Ich möchte meine 8-Fach relaiskarte von Conrad 197730 - 62 (http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197730-an-01-ml-8_K_RELAISKARTE_PC230V_AC16A_de_en_fr_nl.pdf) mit einer Arduino Uno steuern. Da die Relaiskarte 12V hat und die Arduino nur 5V hat, möchte ich ein RS232 TTL Wandler (Empowering Innovation | Microchip Technology) hinfügen. Aber ich weiß nicht, wie ich die 3 Karten verbinden kann.

Die Relais-Karte hat neben dem RS232 und USB-Eingang ebenfalls die Möglichkeit die Steuerleitungen Tx und Rx sowie GND über eine Klemme anzuschließen. Normalerweise läuft darüber die Kommunikation mit kaskadierten anderen Karten. Damit kann ich der Wandler anschließen. Aber ich weiß nicht ,wie ich mein Wandler mit der Arduino Karte anschließen kann.

Bitte kann mir jjemand helfen?

Danke

alexis##:
...Ich möchte meine 8-Fach relaiskarte von Conrad 197730 - 62 (http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197730-an-01-ml-8_K_RELAISKARTE_PC230V_AC16A_de_en_fr_nl.pdf) mit einer Arduino Uno steuern...

Bitte kann mir jjemand helfen?

Warum soll es diese Karte sein.

Ich halte diesen Aufwand für sehr groß und evtl. für den Arduino als nicht unbedingt geeignet, obwohl es sicher funktionieren wird.

Dein Link zum Wandler ist irgendwie defekt.

Gruß Tommy

Tommy56:
Dein Link zum Wandler ist irgendwie defekt.

Defekt nicht, aber total falsch. :wink:

Der zweite Link funktioniert bei mir nicht.

OK, bin nur der Dritte, dann schaue ich mir alternativ Kunst an.

alexis##:
Da die Relaiskarte 12V hat und die Arduino nur 5V hat, möchte ich ein RS232 TTL Wandler hinfügen.

Du schließt unzulässigerweise von der Versorgungsspannung (12 - 24 V) auf die Spannung an der Schnittstelle. Es ist aber nicht unwahrscheinlich, daß Deine Vermutung, die verwendete Spannung an der Schnittstelle übersteigt 5 V, zutrifft.

agmue:
Du schließt unzulässigerweise von der Versorgungsspannung (12 - 24 V) auf die Spannung an der Schnittstelle. Es ist aber nicht unwahrscheinlich, daß Deine Vermutung, die verwendete Spannung an der Schnittstelle übersteigt 5 V, zutrifft.

Richtig...es ist sogar sicher. RS232 arbeitet mit +/- 12 Volt und ist somit nicht für den direkten Anschluss an den Arduino geeignet. Dazu braucht es den oben zitierten RS232-TTL-Wandler.
Evtl. gibt es ja noch einen richtigen Link.

Oder der TO verwendet diesen Wandler.

Ich habe mich gerade mal durch die Anleitungen von der Relaiskarte geklickt. Das müsste eigentlich auch ohne Wandler gehen.

Die Karte 197730 - 62 hat ja hinter dem Sub-D Stecker für die serielle Schnittstelle einen Steckplatz für den USB-Konverter 197257 - 62. Und in dessen Anleitung steht, er arbeitet mit einem CP2102, ein ziemlich gewöhnliches UART zu USB Interface.

Aber anscheinend mit 3,3 V betrieben, in der Anleitung (197257 - 62) steht

Pin 15 bis Pin 20 sind I/Os, der RXD erkennt Spannungen von 3.3V bis 5V, TXD gibt einen
Pegel von 3.3V aus. Werden Controller mit 5V eingesetzt, so müssen Sie den Anschluss
TXD_5V verwenden.

Man müsste also mit dem Arduino z.B. mit Jumper Kabeln an diesen Steckplatz gehen.

ArduFE:
Ich habe mich gerade mal durch die Anleitungen von der Relaiskarte geklickt. Das müsste eigentlich auch ohne Wandler gehen.

Das ist sicher eine gute Alternative für Anwender, die schon öfter etwas mit dem Arduino gemacht haben, aber ob ein "Anfänger" der jetzt schon danach fragt, wie er die 3 Platinen zusammen schließen soll, damit klar kommt, möchte ich bezweifeln.

Aber warten wir es mal ab.

Ja, hast recht, ich halte mich da raus.

Aber vorher vielleicht noch ein paar Infos, vor vielen Jahren habe ich mal in zwei Projekten diese Conrad Karten von Windows aus angesteuert. Falls Conrad nicht wieder die Schaltung geändert hat, sollte die Elektronik auf der Relaisplatine durchaus Arduino kompatibel sein. Da müsste eigentlich noch ein ATtiny2313 als Prozessor verbaut sein, nur die frühen Varianten ohne USB-Adapter hatten einen Motorola Prozessor.

Einen Schaltplan von der Platine habe ich leider noch nicht gesehen.

Hallo an Alle,

@HotSystems: Aber wie kommt der Anfänger denn zu Erfahrungen?
Ich denke doch einfach, indem erExperimentiert, und wenn er nicht weiter weiss, sich Hilfe sucht, sein Problem schildert, dann die vorgeschlagenen Schritte nachvollzieht, weiter experimentiert und lernt.

Wnee man ihm nun einfach sagt: Das ist zu kompliziert für Dich, da kommst Du nie zum Erfolg, ist die einzige Erfahrung die er macht, die Erfahrung, dass er als Anfänger mit problemen alleine gelassen wird.

Ich meine das überhaupt nicht böse und will Dich auch wirklich nicht angreifen, das stünde mir auch überhaupt nicht zu, sondern meine das nur als Denkanstoss.

Ich selbst bin Autodidakt, habe mir vieles im Bereich Elektronik und vielen andern gebieten selber beigebracht aber auch vieles in Foren und durch lesen erlernen dürfen. Mit Arduino experimentiere ich jetzt auch schon ne Weile, stehe aber sicher noch immer am Anfang, besonders was geschickte programmierung angeht, muss ich noch sehr sehr viel lernen.

Liebe grüsse
Stefan

Deltaflyer:
@HotSystems: Aber wie kommt der Anfänger denn zu Erfahrungen?

Du hast natürlich Recht.

Aber Erfahrung sammelt man nicht dadurch, dass man den 4. Schritt vor dem Ersten macht.

Daher mein Hinweis, es nicht komplizierter machen als es ist.
Als Anfänger sollte man erst mit den Grundlagen anfangen und dazu gehört auch die Platinen richtig mit einander zu verbinden.

Wenn man das gelernt hat und es funktioniert, kann man auch Dinge anders, hier speziell ohne vorhandene Schnittstellen verbinden.

Und dann helfen wir natürlich alle gern. Und wenn wir nicht den Tipp geben, das der "vorgeschlagene" Weg auch Risiken birgt, dann ist bei einem Anfänger schnell das Ärgernis groß.

Hallo sorry der richtige Link für der Wandler ist Bausatz RS232/TTL Wandler online kaufen | Pollin.de

Du solltest allerdings auch die anderen Fragen beantworten.

Hallo, Ich habe Jetzt der USB-Konverter 197257 - 62 von Conrad gekauft und habe damit meine Relaiskarte mit meine Arduino Uno verbinden. Die Verbindung ist ok, denn mein USB Konverter kann die Spannung an meiner Arduino Karte übertragen und umgekehrt. Ich habe der Pin 10 , 9 und 18 (USB Converter) mit meiner Masse, pin 9 und Pin8 (Arduino ) verbunden. Aber bis jetzt schalten meine Relais nicht . Mein Code ist folgendes:

#include <SoftwareSerial.h>

#define rxPin 9
#define txPin 8

SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);
byte myByte = 255;


void setup(){
 pinMode(rxPin, INPUT);
 pinMode(txPin, OUTPUT);
 
 mySerial.begin(57600);
 
 sendCommand(1,0,0); //Initialisierung der Karte (Command 1, Karte 0, Daten egal)
}

void loop(){
sendCommand(3,0,255);// Setzen alle Relais
sendCommand(7,0,192);// auschalten relais 7 und 8
 delay(120000);
sendCommand(6,0,192);//einschalten relais 7 und 8
}

void sendCommand(byte command, byte cardAddr, byte data){
 byte xorCheck = command ^ cardAddr ^ data;
 mySerial.print(command + cardAddr + data + xorCheck,myByte); //Sendet Command an die Serielle Schntitstelle (Comnmand, Kartenadresse, Daten [welche Relais], XOR-Checksumme aller Parameter) wie im Handbuch beschrieben

}

Sorry wenn ich dumme Frage stelle

Ich wollte mich ja eigentlich raushalten, aber wo ich schon da bin.

Nein, dieser USB-Konverter ist für deine Anwendung völlig ungeeignet. Er ist dazu gedacht die Platine über deren USB-Buche mit einem PC zu verbinden.

Meine ursprüngliche Idee war einen Arduino anstatt dieses Konvertes mit der Platine zu verbinden. Das habe ich mittlerweile mit einem Arduino Micro und einer alten Conrad 19 77 20 versucht, bin da aber auf Probleme gestossen, deswegen gehe hier nicht weiter darauf ein.

Ist die Baudrate von 57600 überhaupt richtig ? Kann das SoftwareSerial überhaupt ? Meine alten Platine arbeitet mit 19200.

Die Zeile mySerial.print( .... halte ich auch für falsch.

ArduFE:
Ich wollte mich ja eigentlich raushalten, aber wo ich schon da bin.

Nein, dieser USB-Konverter ist für deine Anwendung völlig ungeeignet. Er ist dazu gedacht die Platine über deren USB-Buche mit einem PC zu verbinden.

Meine ursprüngliche Idee war einen Arduino anstatt dieses Konvertes mit der Platine zu verbinden. Das habe ich mittlerweile mit einem Arduino Micro und einer alten Conrad 19 77 20 versucht, bin da aber auf Probleme gestossen, deswegen gehe hier nicht weiter darauf ein.

Ist die Baudrate von 57600 überhaupt richtig ? Kann das SoftwareSerial überhaupt ? Meine alten Platine arbeitet mit 19200.

Die Zeile mySerial.print( .... halte ich auch für falsch.

Ich habe auch versucht mit Baudrate 19200 und bis jetzt geht nicht. Ich habe auch dieses Programm getestet. Aber ging auch nicht:

#include <SoftwareSerial.h>

#define rxPin 9
#define txPin 8

SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);
byte myByte = 255;


void setup(){
 pinMode(rxPin, INPUT);
 pinMode(txPin, OUTPUT);
 
 mySerial.begin(19200);
 
 sendCommand(1,0,0); //Initialisierung der Karte (Command 1, Karte 0, Daten egal)
}

void loop(){
sendCommand(3,0,255);// Setzen alle Relais
sendCommand(7,0,192);// auschalten relais 7 und 8
 delay(120000);
sendCommand(6,0,192);//einschalten relais 7 und 8
}
void sendCommand(int command, int cardAddr, int data){
 byte bytes[4];
 bytes[0] = byte(command);
 bytes[1] = byte(cardAddr);
 bytes[2] = byte(data);
 bytes[3] = bytes[0] ^ bytes[1] ^ bytes[2];
   writeBytes(bytes,4);
 delay(120000);
mySerial.write(myByte);
}

void writeBytes(byte arr[], int len){
 for(int i = 0; i < len; i++){
   mySerial.write(arr[i]);
 }
}

Also ich bleibe dabei, der USB-Konverter ist falsch, der muss da raus.

Meine Verkabelung war anders. Immerhin hat die Platine geantwortet, aber kein Relais geschaltet. Könnte aber an einer falschen Initialisierung gelegen haben.

Mein Aufbau:

Jumper auf der Karte in Stellung "einzelne Karte" und "USB Verbindung". Kein Konverter in dessen Steckplatz.

Pin 10 vom Konverter-Steckplatz an Arduino GND (das hast du richtig).
Pin 1 vom Steckplatz an RX-Pin vom der Arduino Serial (bei mir Serial1 vom Micro)
Pin 6 vom Steckplatz an TX-Pin

Die Karte hat zumindest auf die vier Bytes der Initialisierung mit ebenfalls vier Bytes geantwortet. Allerdings nicht mit dem erwarteten Inhalt. Warum muss ich noch klären.

ArduFE:
Also ich bleibe dabei, der USB-Konverter ist falsch, der muss da raus.

Meine Verkabelung war anders. Immerhin hat die Platine geantwortet, aber kein Relais geschaltet. Könnte aber an einer falschen Initialisierung gelegen haben.

Mein Aufbau:

Jumper auf der Karte in Stellung "einzelne Karte" und "USB Verbindung". Kein Konverter in dessen Steckplatz.

Pin 10 vom Konverter-Steckplatz an Arduino GND (das hast du richtig).
Pin 1 vom Steckplatz an RX-Pin vom der Arduino Serial (bei mir Serial1 vom Micro)
Pin 6 vom Steckplatz an TX-Pin

Die Karte hat zumindest auf die vier Bytes der Initialisierung mit ebenfalls vier Bytes geantwortet. Allerdings nicht mit dem erwarteten Inhalt. Warum muss ich noch klären.

Sorry ich könne mich nicht mit arduino. Danke schön für deine Hilfe

alexis##:
Sorry ich könne mich nicht mit arduino. Danke schön für deine Hilfe

Schön dass du wieder alles vermischt hast. So kann dir keiner helfen.

Bringe bitte in dein Vorhaben und deinen Aufbau erst mal Struktur rein und beschreibe genau was du womit vor hast.

Wir können dir helfen, müssen aber erst genau wissen was du wie machen möchtest.
Und bitte verwende nicht irgend welche Teile, die du nicht verstehst.

Ich habe noch mein TTl Wandler und meine Relaiskarte ist noch funktionsfähig. Ich habe die Relaiskarte (Rxa und Txa ) mit der TTL Wandler (RxD und TXD ) verbunden. Und Jetzt möchte ich der Wandleer und die Arduino verbinden. Aber weiß nicht über was , denn bei dem Wandler sind jetzt nur RTS und CTS verfügbar. Und ich glaube nicht, dass diese Buchsen(CTS und RTS) die Daten übertragen. Mein Ziel ist die Relais von der Relaiskarte steuern zu können.