Hallo,
welche einfache und kostengünstige Methode könnt Ihr mir empfehlen, um
zu messen wie lange ein Relaiskontakt tatsächlich geschlossen war, und
ob der Kontakt u.U. prellt.
Für eine bestimmte Anwendung steure ich ein Relais über einen Arduino
Nano
an, das dann einen Kontakt ca. 1500 Millisekunden schließen soll.
digitalWrite(outPin, HIGH);
delay(1500);
digitalWrite(outPin, LOW);
Mit diesem Signal wird dann ein spezielles Computer-Board gestartet,
dies funktioniert auch "meistens " aber leider nicht immer, obwohl das
Relais schaltet.
Nun wollte ich mal sauber messen, was genau am Relais-kontakt passiert
und wie lange genau das Relais geschlossen hat.
Bin aber kein Elektroniker und habe kein Oszi o.Ä., und wollte mal
wissen ob man mit "einfachen" Mitteln genau messen kann, was am
Schließkontakt des Relais genau passiert.
Im voraus besten Dank
Roy
Was wird denn mit dem Relais geschaltet? Das einfachste ist einfach die
Schaltspannung auf den Arduino zu legen und dann mit dem µC zu messen.
Dein delay(1500) ist aber wenn noch Interrupts vorhanden sind eh nicht
genau.
> welche einfache und kostengünstige Methode könnt Ihr mir empfehlen, um> zu messen wie lange ein Relaiskontakt tatsächlich geschlossen war,
Stoppuhr, oder ein Zähler/Timer.
> [..] und ob der Kontakt u.U. prellt.
Ossi, Zähler.
> Bin aber kein Elektroniker und habe kein Oszi o.Ä., und wollte mal> wissen ob man mit "einfachen" Mitteln genau messen kann, was am> Schließkontakt des Relais genau passiert.
Ossi.
Ums vorweg zu nehmen: Handelsübliche Relais prellen.
HTH
Roy schrieb:> Nun wollte ich mal sauber messen, was genau am Relais-kontakt passiert> und wie lange genau das Relais geschlossen hat.
Ein kleiner Logikanalysator würde dir schon in etwa verraten, wie sich
der Kontakt benimmt, auch wenn du damit noch keine genaue Info über den
Verlauf des Kontaktwiderstandes bekommst.
Damit kannst du den Verlauf des Logikpegels mit einer Zeitauflösung von
bis zu 42ns erfassen.
z.B. http://www.ebay.com/itm/131752135890
Diek schrieb:> Hast du es schonmal mit ner Hardwareentprellung versucht?
Das ist ja wohl grober Unfug!
Wie macht man denn den PC manuell an ... richtig, mit einem mechanischen
Taster. Es gibt keinen Grund zu der Annahme, dass sich ein Relais
schlechter verhält bzw. der PC mit dessen Prellerei nicht umgehen kann.
Das ist ein bisschen schwierig. Ein "Elektroniker" könnte durchaus was
improvisieren, um die Zeitdauer zu bestimmen (Kondensator aufladen) und
evtl. auch um zu bestimmen ob ein Prellen vorliegt (das wird schon
komplizierter). Aber ein Laie sicher nicht.
Ohnehin wird das Relais ziemlich sicher prellen - so gut wie alle
üblichen Kontakte prellen. Geht man von einem Relais mit kleiner
Schaltleistung aus, wie es für den Einschaltknopf eines CPU-Boards nötig
ist, so wird das Prellen vielleicht maximal 300 - 500ms dauern.
Vermutlich eher weniger.
Da es den üblichen Boards nichts ausmacht, wenn der Schalter länger
geschlossen ist, wäre es sinnvoll und für einen Laien noch handhabbar,
die Einschaltdauer zu verlängern. OK. Man möchte die evtl. kurz haben,
aber nur um zu sehen, ob es daran liegt kann man auch mal 3s versuchen.
Dann kann man die Zeit immer noch verkürzen.
Abgesehen davon, wäre es gut zu wissen, was "funktioniert nicht immer"
eigentlich genau heissen soll.
Roy schrieb:> Mit diesem Signal wird dann ein spezielles Computer-Board gestartet,
Relais, Signal, ominöses Computer-Board.....
Klinkt alles ein wenig Schräg. Ich denke, dein Weg ist nicht wirklich
Zielführend!
Verrate doch besser was dein Ziel ist, inkl. genauer(er) Angaben der
vorhandenen HW.
Theor schrieb:> ... Geht man von einem Relais mit kleiner Schaltleistung aus, wie es> für den Einschaltknopf eines CPU-Boards nötig ist, so wird das> Prellen vielleicht maximal 300 - 500ms dauern.
In der Zeit übertragen andere Leute komplette Morsezeichen
> Vermutlich eher weniger.
Mit Sicherheit. Da kannst du bestimmt eine "0" streichen.
Theor schrieb:> Abgesehen davon, wäre es gut zu wissen, was "funktioniert nicht immer"> eigentlich genau heissen soll.
Damit ist gemeint das Bootvorgang wird nicht gestartet.
Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt
zwischen 1-2 Sekunden geschlossen werden. Ich habe mich deshalb für 1500
Millisekunden entschlossen, ich kann das aber auch auf 2000
Millisekunden setzen. Aber ob das "Prellen" event. eine Störung
verursacht kann ich nicht sagen.
Aktuell verwende ich ein solches Relais das ich direkt vom Arduino
ansteuern kann und keine extra Stromquelle benötige:
http://www.ebay.de/itm/1-Kanal-Relais-Relay-Modul-Optocouple-5V-fur-PIC-AVR-DSP-ARM-MCU-Arduino-3279-/321643306558?hash=item4ae36f5e3e:g:1Q0AAOSw2s1UuHx6
Wenn mir jemand ein hochwertigeres "prellfreies" Relais empfehlen kann,
bin für jeden Vorschlag dankbar.
Roy schrieb:> Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt> zwischen 1-2 Sekunden geschlossen werden.
kannst du etwas mehr zu den Board sagen? Eventuell kann man es ja
komplett ohne Relais lösen. (Optokoppler)
Peter II schrieb:> Roy schrieb:>> Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt>> zwischen 1-2 Sekunden geschlossen werden.>> kannst du etwas mehr zu den Board sagen? Eventuell kann man es ja> komplett ohne Relais lösen. (Optokoppler)
Kann ich leider nicht, soweit ich weiß ist das ein auf Linux basierendes
Board .
Ich könnte es natürlich mal mit einem Optokoppler versuchen welcher
währe denn dafür am ehesten geeignet um von dem Arduino angesteuert zu
werden ?
Peter D. schrieb:> Opto-MOS (z.B. AQY212) ist prellfrei
Das könnte bei einem unbedarften Leser, den Eindruck erwecken, es gäbe
OK die Prellen.
Deshalb: Prellen kann nur Mechanik!
Theor schrieb:> Das ist ein bisschen schwierig. Ein "Elektroniker" könnte durchaus was> improvisieren, um die Zeitdauer zu bestimmen
In Smartphonezeiten schafft das auch jeder Laie.
Einfach das Klick-Klack aufnehmen, ein Schnittprogramm damit
füttern und ablesen.
Zwischen 1 und 2 Sekunden?
Ja dann nimm halt 2...
Vielleicht ist das ja Temperaturabhängig oder so.
Das Prellen wird wohl von der Einschaltmimik schon abgefangen sein,
deshalb auch die Zeitverzögerung.
mit einem µC und entsprechenden Interrupt-Routinen (ggf. mit Timern mit
Capture-Modi) kannst Du das machen.
Das dauert allerdings beim ersten Mal genauso lange, wie den empfohlenen
USB-Logicanalyzer aus China per Karawane einzuführen.
Empfehlung: Das Ding bestellen und es währenddessen mit dem µC
versuchen.
Roy schrieb:> Bin aber kein Elektroniker und habe kein Oszi o.Ä., und wollte mal> wissen ob man mit "einfachen" Mitteln genau messen kann, was am> Schließkontakt des Relais genau passiert.
Um das genaue Verhalten eines Kontaktaktes zu analysieren braucht es
schon umfangreiche Messtechnik, die man als Amateur i.d.R. nicht hat.
Ich weis wovon ich hier rede, da ich mich im Rahmen meiner Diplomarbeit
mit Kontakten, speziell mit Relais der Nachrichtentechnik beschäftigt
habe.
Das Prellen könnte man mit einem Zähler ermitteln. Aber so etwas wirst
Du nicht haben. Ein kleiner Controller sollte das bei entsprechnder
Programmierung können. Ein TTL-Logikprüfstift mit einem integrierten
einfachen 4Bit Zähler kann das auch, wirst Du aber auch nicht haben.
Mach einfach die Zeit größer. 5s sollten reichen. Wie lange drückst Du
den auf den Einschalter? Denke mal das das länger als 1,5s ist
Zeno schrieb:> Ich weis wovon ich hier rede, da ich mich im Rahmen meiner Diplomarbeit> mit Kontakten, speziell mit Relais der Nachrichtentechnik beschäftigt> habe.Zeno schrieb:> einfachen 4Bit ZählerZeno schrieb:> Wie lange drückst Du> den auf den Einschalter?
........... :D
Naja. Man kann doch mit dem einen Port Pin Signal ein Relais ansteuern,
und mit einem Anderen zurueckmessen. Einfach mit einem Pullup versehen,
Gleichen GND, gleiche Speisung.
Roy schrieb:> Bin aber kein Elektroniker und habe kein Oszi o.Ä., und wollte mal> wissen ob man mit "einfachen" Mitteln genau messen kann, was am> Schließkontakt des Relais genau passiert.
geht ganz einfach:
1. 2-Kanal Speicheroszilloskop besorgen/ausleihen/kaufen
2. messen
Bei Grbrauchtpreisen von unter 200€ kann lohnt sich tagelanges
umfrickeln einfach nicht.
Roy schrieb:> Mit diesem Signal wird dann ein spezielles Computer-Board gestartet,> dies funktioniert auch "meistens " aber leider nicht immer, obwohl das> Relais schaltet.
würde mal zur Fehlersuche einen 100nF Kerko paralell zum Relaiskontakt
schalten. Kann helfen...
Roy schrieb:> Mit diesem Signal wird dann ein spezielles Computer-Board gestartet,> dies funktioniert auch "meistens " aber leider nicht immer, obwohl das> Relais schaltet.
Wie wird denn das Board gestartet, wenn du das nicht gerade über dein
Relais machst? Ist da einfach ein Taster angeschlossen? Funktioniert das
zuverlässig?
Roy schrieb:> Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt> zwischen 1-2 Sekunden geschlossen werden.
[...]
> Aber ob das "Prellen" event. eine Störung verursacht kann ich nicht> sagen.
Na wenn der Hersteller dir die 1-2 Sekunden nennt, wird er dir doch auch
sagen können, ob prellen ein Problem ist.
Roy schrieb:>> kannst du etwas mehr zu den Board sagen? Eventuell kann man es ja>> komplett ohne Relais lösen. (Optokoppler)>> Kann ich leider nicht, soweit ich weiß ist das ein auf Linux basierendes> Board .
Du hast Informationen über das Board vom Hersteller bekommen, aber weißt
nichts darüber, was das für ein Board ist?
Chr. M. schrieb:> Zwischen 1 und 2 Sekunden?> Ja dann nimm halt 2...> Vielleicht ist das ja Temperaturabhängig oder so.
Wenn die Dauer wirklich dazwischen liegen muss, wäre er mit 2 halt immer
hart an der Grenze. Ich gehe mal davon aus, dass er deshalb 1,5 gewählt
hat. So ist er von beiden Grenzen möglichst weit entfernt.
Roy schrieb:> Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt> zwischen 1-2 Sekunden geschlossen werden.
Mindestens eine Sekunde bis maximal zwei Sekunden? Das hört sich nach
einem Designfehler an...
Roy schrieb:> Mit diesem Signal wird dann ein spezielles Computer-Board gestartet,> dies funktioniert auch "meistens " aber leider nicht immer, obwohl das> Relais schaltet.
Du meinst, "obwohl das Relais klickt". Manche Relaiskontakte brauchen
eine Mindestlast um sicher und niederohmig durchzuschalten. Das von
dir verwendete 10A-Lastrelais ist da sicher für das falsche Ende des
Leistungsspektrums ausgelegt. Die Kennlinien beginnen erst ab einem
Laststrom von über 1A. Und wenn du dort im PDF mal nach dem
Kontaktmaterial AgCdO suchst, dann findest du heraus, dass das für
hohe Einschaltströme gut geeignet ist:
http://www.wago.de/media/2_products/interface_modules_1/Relais_und_Optokoppler_Goldkontakte_RO-Broschuere.pdf
Für deinen Kleinlastbereich wären aber vergoldete Kontakte sinnvoll und
nötig.
Rolf M. schrieb:> ein Taster angeschlossen? Funktioniert das zuverlässig?
Das würde ich auch zuerst mal ausprobieren...
Harry L. schrieb:> Nimm nen MOSFet und der gesamte Thread ist obsolet.
Ich habe den Verdacht, dass das eigentliche Problem nicht am Prellen
eines Relaiskontaktes liegt. Denn wenn der Hersteller vorschreibt, dass
"ein Kontakt" für 1-2 Sekunden zu schließen ist, dann ist damit oft ein
billiger Taster gemeint, der je nach Qualität sicher noch mehr prellt
als ein Relais.
Lothar M. schrieb:> Roy schrieb:>> Laut Angabe des Herstellers für dieses spezielle Board muss ein Kontakt>> zwischen 1-2 Sekunden geschlossen werden.> Mindestens eine Sekunde bis maximal zwei Sekunden? Das hört sich nach> einem Designfehler an...
Nein, nach den Spezifikationen.
Es KANN sein, dass 0,5 oder 3 Sekunden auch funktionieren, aber es ist
eben nicht garantiert. Es ist sogar wahrscheinlich, dass es
funktioniert, aber bei Problemen...
Roy schrieb:> und wollte mal> wissen ob man mit "einfachen" Mitteln genau messen kann, was am> Schließkontakt des Relais genau passiert.
Dann schicke doch z.B. die Signale wieder in Deinen Arduino und zähle
was aus EINEM (Deinem 1500ms) Impuls so geworden ist? Nutürlich nur mit
geringer Spannung! Lies auch
https://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Einleitung
Schalte mit dem Relais probeweise eine LED (mit Vorwiderstand). Wenn das
auch "nicht immer" funktioniert, dann heisst es Kontakte putzen oder
anderes Relais besorgen. Stichwort aus der Klempnerzunft: "tut das not
dass das hier so rumoxidiert?"
Roy schrieb:> Für eine bestimmte Anwendung steure ich ein Relais über einen Arduino> Nano> an, das dann einen Kontakt ca. 1500 Millisekunden schließen soll.
Zeig mal den Schaltplan mit den verwendeten Komponenten. (Freilaufdiode
ist sicher vorhanden - oder?)
Roy schrieb:> Nun wollte ich mal sauber messen
DA sollte man auch das Datenblatt kennen und die auftretende Last! Ein
kleines Reed-Relais mit 10A Einschaltspitze belasten, wäre
wahrscheinlich ungesund.
Hugo schrieb:> Ich bin der Meinung, ein Wessi müßte das auch auf die Reihe kriegen...
Nope. Weil die Ossis nicht frei an Elektrikteile kamen, sind sie
erfinderisch geworden
> Mindestens eine Sekunde bis maximal zwei Sekunden?
Das Relais kannst du schalten hören. Die Zeit kannst du mit einer
Stoppuhr kontrollieren, auf ein paar Millisekunden mehr oder weniger
kommt es ja nicht an.
Nur zur Info:
Ich habe jetzt mal anstelle eines Relais ein Optokoppler 4N35 verwendet,
aber ich messe da ca. 50 Ohm (Ausgang) Widerstand im durchgeschalteten
Zustand, und somit kommen von den 3,3 Volt die an dem Board als
"Schaltspannung" zur Verfügung stehen, wahrscheinlich zu wenig an.
Zum Einschalten des Boards über ein Relais steht eine 2. addr. Leitung
zur Verfügung , hier liegt 3,3 V an wo wahrscheinlich die + 3,3 V beim
schließen auf einen anderen Pin gelegt werden und der dann event auf
"HIGH" abgefragt wird.
Meine Vermutung ist das bedingt durch den hohen Ausgangswiderstands des
4N35 zu wenig von 3,3 V ankommt damit das Signal einwandfrei erkannt
wird.
(Zumindest waren in meinen Tests immer mehrere Versuche nötig um das
Board ein- oder auszuschalten)
Die Messung wie lange der Kontakt tatsächlich geschlossen war habe ich
über einen 2. Controller gemacht, waren ziemlich genau 1500 +/-1
Millisekunden, da die Ansprech- und Abfallzeit beim verwendeten Relais
gleich ist.
Die Sättigungsspannung beim Optokoppler liegt so im Bereich 100-200 mV.
Das sollte normal ausreichen für ein digitales Signal. Ein CMOS Eingang
braucht aber ggf. noch einen Pull-up / Pulldown, denn perfekt sperren
tut der OK nicht und ein offener Eingang hat auch keinen definierten
Pegel.
Stefan U. schrieb:> Das Relais kannst du schalten hören.
Wenn ein Relais anzieht, ist noch lange nicht gesagt, dass der Kontakt
niederohmig geschlossen ist.
Roy schrieb:> Ich habe jetzt mal anstelle eines Relais ein Optokoppler 4N35 verwendet,> aber ich messe da ca. 50 Ohm (Ausgang) Widerstand im durchgeschalteten> Zustand
Wer Mist misst.
Du kannst an einem Transistor nicht einfach einen Widerstand messen.
Sieh dir einfach mal die Kennlinie an. Die 50 Ohm gelten nämlich nur bei
der CE-Spannung, die dein Messgerät "angelegt" hat.