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 )
Lassen wir mal andi357 die Spannung an der TX Leitung nachmessen und diskutiern wir dann mal weiter.
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
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
ja das ist dann eine RS232 Schnittstelle.
also brauchst Du einen MAX232 oder kompatieblen.
Viele Grüße Uwe
Hab mir jetzt das hier bestellt: Bausatz RS232/TTL Wandler online kaufen | Pollin.de
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
Du musst ein Byte initialisieren und dieses senden, also:
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:
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.
barnybe:
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?
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...