Conrad 8-Fach Relaiskarte mit Arduino UNO steuern

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

Und das steht wo?

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

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 :wink:

ja ist der gleiche.

Es steht nicht expliziet drin.
Da die Schnittstelle zur Verbindung zur nächsten Platine dient ist es logisch nicht sinnvoll RS232 Pegel zu verwenden da dadurch ein zusätzliches PegelwandlerIC benötigt wird. Um sicher zu sein genügt es die Spannung am TX pin zu messen. ca -10V +/-2V dann RS232; +5V dann TTl.

Grüße Uwe

Sinnvoll... haha hmmm. Im zweifelsfall gilt es murphy's law zu beachten :wink:

Der MAX232 kann ausserdem 2x TX und 2x RX. Ein schaltplan waere halt am besten.

Ich werde noch wahnsinnig damit. Ich habe mir jetzt mal eine kleine Schaltung gebaut um zu gucken was die Karte antwortet. Da ich ja nur einen Seriellen Anschluss auf meinem Arduino UNO habe ging das leider nicht mit der Konsole am Rechner, deswegen lasse ich LEDs blinken.

Über Serial.available() hole ich mir erst die Anzahl der Bytes die empfangen wurden. Dann gehe ich die Bytes in einer Vorschleife durch, wandle sie um in int und lasse eine LED entsprechend des Wertes blinken. Dabei kommt heraus, dass egal was ich sende (aber auch nur WENN ich was sende) 3 Bytes zurück kommen mit den werten 0,5,64.

Ich verstehe das nicht. Die Karte empfängt also offensichtlich ein Signal und antwortet dann irgendeinen Quatsch. Sie sendet aber nur wenn ich ihr vorher auch was schicke, also scheint die Kommunikation ja generell zu funktionieren...

Also laut anleitung (seiten 12 ff.) bestehen befehle UND andworten IMMER aus 4 bytes. Wenn du nur 3 bekommst, dann ist da was faul. Aber das ist ja schon bekannt.

Du musst herausfinden, nach welchem standard auf den schraubklemmen gesprochen wird. RS232 (+-15V) oder 0-5V (TTL pegel). Dabei gilt es auch zu beachten, dass das signal bei RS232 invertiert ist, also -15V entsprechen logisch 1 und +15V logisch 0.

Nimm ein voltmeter und messe die spannungen and den klemmen. RS232 liefert im idle state auf der TX leitung eine negative spannung -5 ...- 15V.

http://www.lammertbies.nl/comm/info/RS-232_specs.html

Wenn du ueberal nur 0-5V misst, dann ist klar, dass es sich um TTL serial (nicht invertiert) handeln sollte. Du kannst natuerlich auch ein DSO mit serial dekoder nehmen. Das geht evtl. schneller, und du weisst gleich, was er antwortet :wink:

madworm:
Sinnvoll... haha hmmm. Im zweifelsfall gilt es murphy's law zu beachten :wink:

Der MAX232 kann ausserdem 2x TX und 2x RX. Ein schaltplan waere halt am besten.

Ja ein Königreich für einen Schalplan. Aber es braucht 3 mal TX und 3 RX (RS2232 Schnittstelle und 2 x Verbindung zwischen den Karten)

Grüße Uwe

Hmm. Ich haette jetzt gedacht der DB9 ist parallel auf der einen schraubklemme mit drauf. Aber darueber will ich jetzt nicht nachdenken.

Hab ich nicht so verstanden, aber wie Du sagst ohne Schaltplan kann alles sein.
Grüße Uwe

Hilft es weiter, dass direkt hinter den beiden Klemmen ein MAX202CPE 5V RS-232 Transceiver sitzt? Das sollte doch eigentlich heißen, dass die Klemmen mit 5 V arbeiten, oder?!
Hab ein Bild dazu angehängt.

Bist du masochist?

Die frage ob und was und warum und ueberhaupt sollte sich, wie bereits vorgeschlagen, mit einer einfachen spannungsmessung aufklaeren lassen. Wenn du nicht einmal ein simples multimeter hast, dann ist dir nicht mehr zu helfen.

Over and out.

Das ist ein Uni-Projekt. Ich habe schon 112 Euro für den ganzen Arduino-Kram ausgegeben + 50 Euro für die Relaiskarte. Ich bekomme das von niemandem zurück. In Anbetracht dessen versuche ich die Anschaffung eines u.U. nicht benötigten Messgerätes zu vermeiden. Außerdem muss ich sagen, dass die ganze Diskussion vor deiner Teilnahme wesentlich kultivierter ablief weshalb ich es für keinen großen Verlust erachte wenn du ihr fern bleibst. Wie du so schön meintest: over and out.

Und nun zurück zum Thema. Wie verhält sich das bei der seriellen Kommunikation mit einem Arduino eigentlich mit den Stop-Bits? Die Relaiskarte erwartet ein solches.

Verzeihung, wenn ich Ihnen zu direkt antworte! Auch kann ich es nicht ertragen, wenn leute offenbar beratungsresistent sind und somit anfangen zu nerven (ungewollt?). Letzteres ist meine persoenliche subjektive meinung.

Wenn das ganze ein uni projekt ist, dann geh' verdammt nochmal ENDLICH zu deinem betreuer und sage ihm, dass du ein multimeter brauchst, da du ohne dieses nicht weiter kommst. Wenn er dir nicht weiterhelfen kann/will, dann gehe zu seinem boss und beschwere dich ueber ihn. Das ist ganz einfach. Wenn ihr eine elektronikwerkstatt habt, dann geh' am besten gleich direkt dort hin (mit dem ganzen kram). Die chance, dass dort jemand hilfreich taetig werden kann ist vermutlich groesser als im sekretariat irgendeines profs.

Bezueglich des seriellen datenformates:

Das standard format ist 8,N,1.

Bezuegilch eines u.U. nicht benoetigten messgeraetes:

Elektronik lebt von der kenntnis von spannungen und stroemen. Ein einfaches (billiges) multimeter ist das mindeste, was zum erwerb dieser informationen noetig ist. Das ist nicht optional.

Und bevor ich noch etwas wirklich beleidigendes von mir gebe, schweige ich lieber.

Ich wuensche dir noch viel glueck mit deinem projekt.

Ich habe zwar keine Ahnung aber:
In der Anleitung ist die rede davon an der ersten Karte an den Schraubklemmen auch direkt den PC anschließen zu können.
Was meiner Meinung nach bedeutet das an den Klemmen die +-15V benötigt werden.
Oder sehe ich das falsch?

Das klingt plausibel... ich werds mal messen.

Nehmen wir mal an bei meiner Messung stellt sich heraus, dass die Schnittstelle tatsächlich mit +-15V arbeitet (wovon ich langsam ausgehe, nachher weiß ich es genau), wäre Teil hier dann das richtige für mich:Bausatz RS232/TTL Wandler online kaufen | Pollin.de ?

Was hältst Du davon wenn du dir mal den Schaltplan (falls nicht vorhanden die Platine) anschaust.
Auf der Karte ist doch ein Microkontroller, oder nicht?
Der arbeitet auf der Seriellen mit 0V bzw 5V
Angesteuert wird die Karte aber mit -15V bzw +15V
Und da ist ein MAX dingensbumes drauf.
So wie ich das sehe (was aber nicht stimmen muss da ich selber auch nicht der Profi bin!!!) ist der MAX dafür da um das RS232-Signal
vom PC umzusetzen in TTL-Pegel.
Nu hast du aber ja schon TTL-Pegel!
Dann brauchst du doch eigentlich nur anhand des Layouts und vielleicht des Datenblattes des MAX
raus zu finden wo der Eingang bzw Ausgang ist und gehst hinter den MAX.
Dann brauchst du keine zusätzliche Schaltung kaufen/bauen.
Einfach die 3 Adern an die Lötpunkte beppen fertig.

Oder vertue ich mich da jetzt??

PS: Pin 12 und Pin 9 würde ich sagen

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 :roll_eyes: )