Pages: 1 2 [3]   Go Down
Author Topic: Conrad 8-Fach Relaiskarte mit Arduino UNO steuern  (Read 5190 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

So, ich hab mir die ganze Schaltung jetzt mal genau angesehen. Es handelt sich um einen ATtiny2313 Microcontroller (http://www.atmel.com/dyn/products/product_card.asp?category_id=163&family_id=607&subfamily_id=791&part_id=3229). Dieser arbeitet mit 5V, also gehe ich davon aus, dass dieser TTL-RS232 Wandler zwar genau das tut was er soll, aber andersrum als ich zuerst dachte. Also werden die Klemmen ziemlich sicher mit +-15V arbeiten.
Zu morgen habe ich mir ein Multimeter "bestellt" und dann werde ich es nochmal messen.

Die Lösung die Drähte direkt an den Microcontroller zu löten ist zwar möglich, da das ganze aber produktiv eingesetzt werden soll (als Raumlicht-Steuerung auf der Arbeit) werde ich aber diesen TTL-RS232-Wandler Bausatz bestellen.

Danke an alle die mir geholfen haben (auch an madworm der ja die Idee zuerst hatte  smiley-roll )
Logged

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

Lassen wir mal andi357 die Spannung an der TX Leitung nachmessen und diskutiern wir dann mal weiter.

Quote
Dann brauchst du keine zusätzliche Schaltung kaufen/bauen.
Einfach die 3 Adern an die Lötpunkte beppen fertig.
Ich würde nicht nur Beppen sondern gut löten. Die Kupferleitung die vom Max Ausgang zum Kontroller geht würd ich unterbrechen da ansonsten 2 Ausgänge paralellgeschaltet sind und gegenseitig blockieren.

Grüße Uwe
Logged

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

Ich habe nun gemessen und an TX liegen -9,3V also ~-10V an. Das erklärt alles und damit wäre das Thema ja geklärt :-)
Logged

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

ja das ist dann eine RS232 Schnittstelle.
also brauchst Du einen MAX232 oder kompatieblen.
Viele Grüße Uwe   
Logged

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

Hab mir jetzt das hier bestellt: http://www.pollin.de/shop/dt/MzY5OTgxOTk-/Bausaetze_Module/Bausaetze/RS232_TTL_Wandler_Bausatz.html
Logged

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

Hi,

bin neu und habe diesen Threat (und leider nicht mehr) gefunden. Deshalb hänge ich mich mal dran;-)
HW: arduino uno und Conrad serielle RelaisKarte 197730; "RS232" mit 19200baud, 1Stop-bit, keine parität
habe (new)softserial lib
würde pin 2&3 nehmen (wegen interrupt; die Geschwindigkeit ist ja recht hoch)
an anderer Stelle habe ich mal gelesen, dass hohe Geschwindigkeiten nur mit pin 6/7 oder wenn ich mich recht erinnere 12/13 funktioniert, leider weis ich nicht mehr wo...
Habe auch ein Oszilloskop, wo ich mir die "Daten" schön ansehen kann.

Jetzt zu meinem Problem: würde gerne ein Byte senden und die Bits darin bestimmen.
also "1": low bit is high
oder "16": bit5 is high
oder 255: alle bits sind high
Leider funktioniert das nicht. Kann mir jemand ein kurzes Program zeigen, das so etwas "kann"?
Wahrscheinlich habe ich nur das falsche Datenformat, aber ich komm nicht weiter...

#include <SoftwareSerial.h>

SoftwareSerial mySerial(7, 6);

void setup() 
{
  Serial.begin(57600);
  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
}

void loop() // run over and over
{
    mySerial.print(127);
    delay(5);
      mySerial.print(0);
      delay(5);
      mySerial.print(4);
      delay(3000);
}
wo liegt der fehler?

Vielen Dank,
Bernhard
Logged

arduino uno R3 1.024; dht22; Conrad relaiskarte; 20x4 hitachi auf rgb-shield mit 2 wires only

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

Du musst ein Byte initialisieren und dieses senden, also:

Code:
byte myByte = 255;
mySerial.write(myByte);

Für diese Relaiskarte brauchst du ja vier Byte, da habe ich mir folgende Funktionen geschrieben die soweit auch funktionieren:

Code:
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(250);
}

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

Kann man bestimmt auch eleganter machen, aber mir reicht das erstmal.
Logged

Munich/Germany
Offline Offline
God Member
*****
Karma: 11
Posts: 643
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

HW: arduino uno und Conrad serielle RelaisKarte 197730; "RS232" mit 19200baud, 1Stop-bit, keine parität
habe (new)softserial lib
würde pin 2&3 nehmen (wegen interrupt; die Geschwindigkeit ist ja recht hoch)
an anderer Stelle habe ich mal gelesen, dass hohe Geschwindigkeiten nur mit pin 6/7 oder wenn ich mich recht erinnere 12/13 funktioniert, leider weis ich nicht mehr wo...
Bei 19200baud ist der ATmega nur am gähnen, da brauchst Du dir wegen der Geschwindigkeit keine sorgen zu machen.
Hast Du einen TTL-RS232-Wandler dazwischen?
Logged

_______
Manfred

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

Hi zusammen,

es hat geklappt! Ich habe mich "blöd" bei den Kommandos angestellt. Nachdem ich die Karte erst initialisiert habe (1,0,0) habe ich dann auch wirklich "versucht" Relais zu setzen (3,0,x). Und kaum macht man´s richtig, gehts sogar;-)
Ich habe OHNE RS232-Kabel gearbeitet. Insgesamt 4 Leiterbahnen gekappt (eigentlich hätten 2 gereicht;-) und dann auf die Schraubklemmen gelötet.

Tschüß,
Bernhard
PS: für alle: wer wirklich mit 220V arbeitet sollte sich UNBEDINGT so(!) eine Karte holen (mit CE-Kennzeichnung). Den Unterschied kann man sehen...
Logged

arduino uno R3 1.024; dht22; Conrad relaiskarte; 20x4 hitachi auf rgb-shield mit 2 wires only

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