Pages: [1] 2 3   Go Down
Author Topic: Conrad 8-Fach Relaiskarte mit Arduino UNO steuern  (Read 5740 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
EDIT: Thema geklärt, an TX liegen -9,3V also ~-10V an. Das heißt die Kommunikation über die TX/RX Klemmen erfolgt via RS232, ein Wandler ist nötig, z.B.: http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html

Hallo!

Ich bin ganz neu in der Arduino-Welt und mache damit grad meine ersten Gehversuche. Ich habe einen Arduino UNO und die 8-Fach Relaiskarte von Conrad (197730 - 62).
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.

Ich versuche jetzt die Relaiskarte über diese Klemme und mit einem Software-Serial anzusprechen. Leider klappt das nicht so wirklich.

Hat da jemand einen Rat?
« Last Edit: November 15, 2011, 02:49:51 pm by andi357 » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hast Du Dich ans Handbuch gehalten?
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197730-an-01-ml-8_K_RELAISKARTE_PC230V_AC16A_de_en_fr_nl.pdf

Ich hab einen Rat.
a) Kristallkugel
b) genaue Beschreibung der Verdrahtung und des verwendeten Sketches.

Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, ich habe alles so gemacht wie es im Handbuch steht. Die Relaiskarte hat Strom (12V, 300mA) und ist wie auf dem angehängten Foto zu sehen mit dem Arduino verbunden.

Das dazugehörige Sketch sieht so aus:

Code:
#include <SoftwareSerial.h>

#define rxPin 9
#define txPin 8

SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);

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

void loop(){
  sendCommand(8,0,3);//Toggle Relais 1 und 2 (Command 8, Karte 0, Daten 3 [00000011])
}

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



* Foto.JPG (863.76 KB, 1591x2122 - viewed 168 times.)
« Last Edit: November 10, 2011, 06:49:09 pm by andi357 » Logged

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Code:
mySerial.print(command + cardAddr + data + xorCheck);
Bist Du sicher, daß Du so ein String mit 4 Elementen rausschickst und nicht die arithmetische Summe der 4 Variablen?
Hast Du es mit
Code:
mySerial.print(command); mySerial.print(cardAddr); mySerial.print(data); mySerial.print(xorCheck);
versucht?

Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hab ich nun probiert, klappt leider auch nicht.
Ich habe im Handbuch der Relaiskarte eben gesehen, dass sie mit 19200 Baud arbeitet. Da dieses SoftwareSerial das nicht kann habe ich es nun mal mit der physischen Schnittstelle auf dem Arduino probiert, klappt aber leider auch nicht.

Code:
void setup(){
  Serial.begin(19200);
  
  sendCommand(1,0,0); //Initialisierung der Karte (Command 1, Karte 0, Daten egal)
}

void loop(){
  sendCommand(1,0,0);
  sendCommand(8,0,3);//Toggle Relais 1 und 2 (Command 8, Karte 0, Daten 3 [00000011])
    delay(10000);
}

void sendCommand(byte command, byte cardAddr, byte data){
  byte xorCheck = command ^ cardAddr ^ data;
  Serial.print(command,BYTE); Serial.print(cardAddr,BYTE); Serial.print(data,BYTE); Serial.print(xorCheck,BYTE);
}
Ich komme einfach nicht weiter an der Stelle. Ich glaube, die vier Bytes müssen auf einmal übertragen werden und nicht so nacheinander in getrennten Writes. Aber wie übertrage ich 4 Byte auf einmal?



* Foto 11.11.11 12 31 48.jpg (997.04 KB, 1469x1958 - viewed 56 times.)
« Last Edit: November 11, 2011, 06:52:32 am by andi357 » Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mh ist nur so vermutung, aber versorgst du den Arduino über USB mit Spannung?
Wo bekommt der Überhaupt seine Spannung her? Auf den Bildern ist nicht´s zu sehen.
Wenn die Spannungsversorgung über USB läuft, dann ist es kein wunder das nix geht, RX unD TX sind dann doppelt belegt.
« Last Edit: November 11, 2011, 07:01:16 am by Jago » Logged

Nothing is impossible ^^

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ich betreibe die Karte ja auch nicht über die USB-Buchse bzw. im USB-Modus und auf Seite 9 steht unter "Anschluss über RS232-Buchse" "Die Steuerleitungen können auch direkt an RXa, Txa und GND angeschlossen werden"
Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sorry, das ist mir auch grad klar geworden. Deshalb hat ich meinen Beitrag auch schnell gelöscht bevor jemand den Mist ließt, leider zu spät...
Logged

Nothing is impossible ^^

Offline Offline
Newbie
*
Karma: 0
Posts: 23
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Mh ist nur so vermutung, aber versorgst du den Arduino über USB mit Spannung?
Wo bekommt der Überhaupt seine Spannung her? Auf den Bildern ist nicht´s zu sehen.
Wenn die Spannungsversorgung über USB läuft, dann ist es kein wunder das nix geht, RX unD TX sind dann doppelt belegt.

Ich habe beides versucht. Wenn ich das Arduino Board am Netzteil anschließe passiert aber auch nichts. Dann blinken nicht mal die TX und RX LEDs auf dem Board.
Logged

Berlin
Offline Offline
Jr. Member
**
Karma: 0
Posts: 91
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die TX und RX  Led´s können glaub ich auch garnicht blinken:

http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

Schade eigentlich, dann weis ich auch nicht weiter. Vom überfliegen her ist alles richtig.
Logged

Nothing is impossible ^^

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Nachdem in der anleitung staendig von RS232 geredet wird und ich glaube auf dem photo einen MAX232 zu erkennen, sind die anschluesse fuer +-15V ausgelegt. Und nicht fuer 0-5V TTL pegel. Wenn du da mit einem arduino ran willst, dann musst du den level-shifter ueberspringen. Die pins duerften ueber den usb-adapter steckplatz zu finden sein. Ich glaube, dass bei nur einer platine die schraubklemmen fuer dich wertlos sind.
Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Die Karte hat eine RS232 Schnittstelle und 2 andere TTL serielle schnittsellen für die Verbindung mehrerer Karten untereinander. andi357 verwendet die 2.genannte.
Grüße Uwe
Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Und das steht wo?
Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21939
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hier: http://www.produktinfo.conrad.com/datenblaetter/175000-199999/197730-an-01-ml-8_K_RELAISKARTE_PC230V_AC16A_de_en_fr_nl.pdf
Logged

"The old Europe"
Offline Offline
Edison Member
*
Karma: 1
Posts: 2005
Bootloaders suck!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Na! Das ist doch der gleiche link wie oben! Hallo?

Ich kann in dem ganzen schrieb weder 5V noch TTL finden, nur RS232.

Mehr beweise bitte ;-)
Logged

• Upload doesn't work? Do a loop-back test.
• There's absolutely NO excuse for not having an ISP!
• Your AVR needs a brain surgery? Use the online FUSE calculator.
My projects: RGB LED matrix, RGB LED ring, various ATtiny gadgets...
• Microsoft is not the answer. It is the question, and the answer is NO!

Pages: [1] 2 3   Go Up
Jump to: