Servus,
Ich weiß es gibt schon einige Threads mit diesem Thema, aber es waren
noch nicht die richtigen Vorschläge dabei.
Mein Problem : Ich möchte mit einem Arduino UNO und mit 4 Kanal Relais
einen 0,75kW Motor steuern, allerdings stürzt der UNO fast jedesmal ab,
wenn ich den Motor einschalten will und startet sofort wieder(allerdings
vergisst der natürlich den bisherigen Zustand). Bzw wenn er mal läuft
kann passiert es manchmal, dass er beim Ausschalten abstürzt. Während er
läuft ist stürzt er nie ab..nur beim Ein- oder Ausschalten
Mittlerweile habe ich das Relais Modul ca 20cm vom Arduino weggebaut um
sicherzustellen, dass Induktivität nicht das Problem ist. Kondensatoren
halten die Spannung beim Einschalten des Motors stabil (wurde auch schon
gemessen)
Wenn der Motor abgeklemmt ist, funkt alles einwandfrei und 100%
ausfallsicher - also auch kein Softwarefehler
bitte um Hilfe..
Lg Thomas
Ja nun, Motoren sind Störfeuerwerke. Du muss man halt eine störsichere
Schaltung aufbauen und den Motor entstören und bei Funken an Funk
denken, die auch ohne Kabel übertragen werden, z.B. vom Relaiskontakt
zur Relaisspule.
Hübsch bunt die Relaisplatine!
Allerdings erschließt sich mir nicht, ob nicht vielleicht eine rote
besser gewesen wäre;-)
Also Spaß beiseite; Ernst komm raus!
Oder wie der Stephan bereits, indirekt gesagt hat: Prosa ist eine Sache,
ein Schaltbild eine andere.
ich denke das der Motor die komplette Stromversorung wo auch der Arduino
mit dran hängt runterzieht.
Vom Aufbau her sind diese Relaisplatinen ganz üblich, also Optokoppler
einem2ten nachgeschaltetem Transistor dahinter und die übliche
Freilaufdiode für die Relaisspule damit es keine Induktionsspannungen
gibt.
Warscheinlich verwendest du auf beiden Seiten der Optokoppler die
gleiche Spannungsquelle. Wenn also die Relaisspule zuviel Strom zieht,
zieht es dir auch die Versorgungsspannung des Arduinos runter.
> Wenn also die Relaisspule zuviel Strom zieht, zieht> es dir auch die Versorgungsspannung des Arduinos runter.
Diese Relais "ziehen" mitsamt Ansteuerschaltung jeweils etwas weniger
als 50mA. Dafür reicht der interne Spannungsregler aller Arduino Module
aus.
Stefan U. schrieb:> Diese Relais "ziehen" mitsamt Ansteuerschaltung jeweils etwas weniger> als 50mA. Dafür reicht der interne Spannungsregler aller Arduino Module> aus.
Deswegen läuft der Aufbau ja auch, solange der Motor nicht angeklemmt
ist. Aber wenn die Versorgung für den Einschaltstrom des Motors nicht
reicht, sackt die Spannung am Arduino AUCH weg, und es gibt nen Reset.
Eine billige Abhilfe wäre es, am Arduino-Eingang der Versorgungsspannung
einen fetten Elko zu setzen, aber vor dem Elko noch eine Diode. Dann
kann die Versorgung mal wegbrechen, der Elko puffert den Arduino, und
die Diode verhindert, daß der Elko den Motor speist.
Wäre jedenfalls mein quick&dirty-Hack hier, um erstmal zu gucken.
Nop schrieb:> Stefan U. schrieb:>>> Diese Relais "ziehen" mitsamt Ansteuerschaltung jeweils etwas weniger>> als 50mA. Dafür reicht der interne Spannungsregler aller Arduino Module>> aus.>> Deswegen läuft der Aufbau ja auch, solange der Motor nicht angeklemmt> ist. Aber wenn die Versorgung für den Einschaltstrom des Motors nicht> reicht, sackt die Spannung am Arduino AUCH weg, und es gibt nen Reset.>> Eine billige Abhilfe wäre es, am Arduino-Eingang der Versorgungsspannung> einen fetten Elko zu setzen, aber vor dem Elko noch eine Diode. Dann> kann die Versorgung mal wegbrechen, der Elko puffert den Arduino, und> die Diode verhindert, daß der Elko den Motor speist.>> Wäre jedenfalls mein quick&dirty-Hack hier, um erstmal zu gucken.
Der 0,75kW-Motor wird wohl kaum auf der Niederspannungsseite
angschlossen sein. Natürlich kann es nicht schaden, dass Netzteil
robuster zu machen.
Vermutlich ist aber die beim Ein- und Ausschalten entstehende
Spannungsspitze die Ursache.
Otto schrieb:> Vermutlich ist aber die beim Ein- und Ausschalten entstehende> Spannungsspitze die Ursache.
Dagegen wäre eine TVS-Diode nach GND eine Abhilfe. Diese würde ich vor
die Sperrdiode setzen. Und vor die TVS-Diode eine angemessene Sicherung.
> Der 0,75kW-Motor wird wohl kaum auf der> Niederspannungsseite angschlossen sein
Es sei denn, er ist Kollege von dem Typ, der ein Labornetzteil mit 60V
40A haben wollte :-)
Vorerst danke für die vielen Antworten!
noch ein paar Daten:
Spannungsversorgung Arduino : 9V, 1A Netzteil & mit Elkos stabilisiert
- Spannungseinbruch ist nicht das Problem, habe ich schon gemessen
Spannungsspitzen Da der Motor an den 230VAC hängt (und das Netzteil
natürlich auch) sind im Netzteil logischerweise Dioden drinnen - sonst
wäre keine Gleichspannung möglich. Also Spannungsspitze vom Motor sollte
auch kein Problem sein
Stromaufnahme Relais Ich gehe vom 5V Pin des Arduinos zu VCC vom
Relais Shield, weil wenn ich das direkt an das 9V Netzteil anhänge
schalten alle Relais automatisch durch (möglicherweise sind die
Optokoppler nicht für 9V ausgelegt?) Daher kann das ein Problem sein,
weiß allerdings nicht wie ich das beheben soll.. und verstehe auch nicht
wieso das weniger Strom aufnehmen sollte wenn der Motor abgeklemmt ist
Schaltplan leider sitzt ich gerade im Flugzeug und habe keinen Zettel
bei mir aber ich gehe mit 230 an dem Motor und zum Netzteil
mit 9V über Elkos zum Arduino und vom Arduino zum Relais Shield
Ich denke die Nachforschungen sollten in Richtung EMV gehen.
Ist eventuell der Reset-Pin vom Arduino hochohmig angebunden ohne
Kondensator oder mit einem Pul-Up >10k Ohm)?
Kann es sein, dass ein besonders Kurzer Impuls an einem Eingang eine
Fehlfunktion der Software auslöst? Oder eine Kombination von
Eingangssignalen, die im Programm nicht vorgesehen sind?
Hi
Bei mir hat in einem ähnlichem Fall die Trennung der Controller- von der
Relaisstromversorgung geholfen. Vielleicht mal mit 2 getrennten
Netzteilen testen. Masseverbindung nicht vergessen.
MfG Spess
die Relaisplatine besitzt ja Optokoppler als sollte man auch beide
Seiten getrennt versorgen sonst könnte man gleich auf den Optokoppler
verzichten. Mit einem Multimeter wird man keinen kurzfristigen
Spannungsabfall messen können hier muss man mit einem Oszilloskop ran.
Also mal zw. VCC und GND bzw. Reset und GND Pin messen.
Hi
>die Relaisplatine besitzt ja Optokoppler als sollte man auch beide>Seiten getrennt versorgen sonst könnte man gleich auf den Optokoppler>verzichten.
Da oft die Ein- und Ausgänge der Optokoppler den gleichen Massebezug
haben sind die eh reine Kosmetik. Also Schwachsinn und verzichtbar.
MfG Spess
Thomas schrieb:> Stromaufnahme Relais Ich gehe vom 5V Pin des Arduinos zu VCC vom> Relais Shield, weil wenn ich das direkt an das 9V Netzteil anhänge> schalten alle Relais automatisch durch (möglicherweise sind die> Optokoppler nicht für 9V ausgelegt?)
Die LEDs der Optokoppler hängen an VCC, ein Signal auf GND aktiviert die
Led.
Bei VCC 9V und Controller 5V leiten dessen Clamp-Dioden, die 4V
Differenz reicht den LEDs.
Da ist ein Jumper rechts im Bild, den ziehst Du ab, am Pin JD-VCC des
Jumpers speist Du die 9V vom Netzteil ein, an VCC (kann auch VCC der 6er
Stiftleiste sein) legst Du die 5V vom Controller. Dann bist Du das
Problem los.
Die Relais könnten ein wenig warm werden dabei, die auf dem Bild sind
für Spulenspannung 5V ausgelegt, wenn's ganz ordentlich sein soll, dann
JD-VCC mit 'nem kleinen 5V-Regler aus 9V versorgen.
Thomas schrieb:> Wenn der Motor abgeklemmt ist, funkt alles einwandfrei und 100%> ausfallsicher - also auch kein Softwarefehler
Schau mal ins Datenblatt des AVR. Man kann auslesen, welche Resetquelle
den Reset ausgelöst hat. Ist kein Bit gesetzt, dann ist es ein
Softwarefehler.
Peter D. schrieb
> Schau mal ins Datenblatt des AVR. Man kann auslesen, welche Resetquelle> den Reset ausgelöst hat. Ist kein Bit gesetzt, dann ist es ein> Softwarefehler.
Wie mach ich das? - habe nichts in diesem Datenblatt gefunden.
MWS schrieb:> Bei VCC 9V und Controller 5V leiten dessen Clamp-Dioden, die 4V> Differenz reicht den LEDs.
klingt logisch, es werden zwar auch die Spulen angezogen aber guter
einwand
Ich werde sobald ich zu Hause bin mal die 9V vom Netzteil mittls Dioden
auf ca 5V bringen und an VCC von den Relais anklemmen und schauen ob das
funktioniert..
> MWS schrieb:>> Bei VCC 9V und Controller 5V leiten dessen Clamp-Dioden, die 4V>> Differenz reicht den LEDs.> klingt logisch, es werden zwar auch die Spulen angezogen aber guter> einwand
Bei 0V oder 5V vom Controller sehen die Optokopplerleds bei VCC 9V
entweder 9V oder 4V, leuchten also immer. Natürlich ziehen dann auch
alle Relaisspulen an.
> Ich werde sobald ich zu Hause bin mal die 9V vom Netzteil mittls Dioden> auf ca 5V bringen und an VCC von den Relais anklemmen und schauen ob das> funktioniert..
Hier sollte man genau sein, diese 5V nicht an VCC der Relaisplatine,
sondern an JD-VCC, nachdem der Jumper entfernt wurde. VCC der
Relaisplatine geht an 5V des Controllers.
Schaltplan:
http://www.haoyuelectronics.com/Attachment/Four-Relay-Module/4%20channel%20SCH.pdf
Der Optokopplerteil ist so vom Relaisteil getrennt, bis auf gemeinsames
GND natürlich. Peaks von den Relais können nur den Umweg über den
Spannungsregler nehmen und das dürfte die Sache sehr entspannen.
Thomas schrieb:> Wie mach ich das? - habe nichts in diesem Datenblatt gefunden.
MCUSR:
"Bit 3 – WDRT: Watchdog System Reset Flag
This bit is set if a Watchdog System Reset occurs. The bit is reset by a
Power-on Reset, or by writing a '0'
to the flag.
Bit 2 – BORF: Brown-out Reset Flag
This bit is set if a Brown-out Reset occurs. The bit is reset by a
Power-on Reset, or by writing a '0' to the
flag.
Bit 1 – EXTRF: External Reset Flag
This bit is set if an External Reset occurs. The bit is reset by a
Power-on Reset, or by writing a '0' to the
flag.
Bit 0 – PORF: Power-on Reset Flag
This bit is set if a Power-on Reset occurs. The bit is reset only by
writing a '0' to the flag.
To make use of the Reset Flags to identify a reset condition, the user
should read and then Reset the
MCUSR as early as possible in the program. If the register is cleared
before another reset occurs, the
source of the reset can be found by examining the Reset Flags.
Atmel"
Vorsicht vor diesen China Relais Platinen mit vermeintlicher
galvanischer Trennung. Das mag auf den ersten Blick ganz gut aussehen
mit der Isolationsfräsung. Nur leider sind die Relais so gebaut, dass
die heiße Seite direkt neben dem Pin für die Relaisspule liegt. Also ist
die Isolationsstrecke nur ungefähr 2 mm. Ergo bringt der Optokoppler mal
so rein gar nichts.