Go Down

Topic: Arduino Duemilanove - Relais - Betrieb mit 12 V usw. (Read 8594 times) previous topic - next topic

Etzl

Hallo liebe Arduino Community,

ich arbeite gerade an einem Projekt, welches ich mit Arduino betreiben möchte. Stoße hierbei auf ein paar Fragen, wo ich leider nicht weiter weiß, da ich zu wenig Erfahrung mit Arduino und allgemein Elektronik habe.
Vielleicht könnt ihr mir ja weiterhelfen:

Ich habe eine Box, die ich gerne mit LEDs beläuchten würde, zusätzlich gibt es diverse Magnetventile, die sich öffnen und schließen sollen. Diese LEDs btw. Magnetventile würde ich gerne mit 12V-Akku speisen. Ich habe einen "Arduino Duemilanove".
Ich dachte mir, dass ich den 12V Stromkreis mithilfe eines Relais (Bausatz von Conrad - "Quad relay card") über Arduino steuern kann. Nun habe ich das alles installiert, und bemerkt, dass das Relais nur mit 9V Spannung geschalten werden kann. Da Arduino nur 5V bei den Pins ausgeben kann, stehe ich vor dem Problem, dass sich das Relais nicht schließt.

Auf der Homepage habe ich nun gelesen, dass das "Arduino Duemilanove" auch mit bis zu 12V betrieben werden kann über den Eingang "VIN". Wenn ich da 12V reinschicke, bekomme ich dann bei den Digitalen und Analogen Pins auch 12V raus? Kann ich die PWM Ausgänge dann auch dimmen? Bleibt der Pin bei 50mA? oder wird das auf 5V gewandelt?
Wenn ich Arduino mit 12V betreibe, wird er recht heiß und wie lange kann ich es ohne Probleme betreiben? Hat jemand erfahrung damit? Oder funktioniert das gar nicht so wie ich es mir vorstelle?

Sollte der Betrieb von Arduino mit 12V nicht funktionieren, wie könnte ich das Relais sonst steuern? Andere Relais-Card kaufen?

Hoffe jemand kann mir bei diesen Probleme helfen.
Und entschuldigt meine Elektronik-Lücken  :)

LG
Etzl

uwefed


...
Ich dachte mir, dass ich den 12V Stromkreis mithilfe eines Relais (Bausatz von Conrad - "Quad relay card") über Arduino steuern kann. Nun habe ich das alles installiert, und bemerkt, dass das Relais nur mit 9V Spannung geschalten werden kann. Da Arduino nur 5V bei den Pins ausgeben kann, stehe ich vor dem Problem, dass sich das Relais nicht schließt.

Auf der Homepage habe ich nun gelesen, dass das "Arduino Duemilanove" auch mit bis zu 12V betrieben werden kann über den Eingang "VIN". Wenn ich da 12V reinschicke, bekomme ich dann bei den Digitalen und Analogen Pins auch 12V raus? Kann ich die PWM Ausgänge dann auch dimmen? Bleibt der Pin bei 50mA? oder wird das auf 5V gewandelt?


Nein, da ist ein Spannungsstabilisator der bringt die 12V auf 5V und der Controller auf dem Arduino bekommt 5V; also geben Ausgänge auch nur maximal 5V. Der Controller ghet bei mehr als 5V kaputt.

Quote from: Etzl

Wenn ich Arduino mit 12V betreibe, wird er recht heiß und wie lange kann ich es ohne Probleme betreiben? Hat jemand erfahrung damit? Oder funktioniert das gar nicht so wie ich es mir vorstelle?


Ist normal daß der Spannungstabilisator heiß wird.

Was hast Du noch an den 5V hängen?

Du kannst einen externen Spannungswandler (hat einen besseren Wirkungsgrad als ein Spannungstabilisator) nehmen; kostet einiges (ca 20 bis 25€) aber dafür reicht der Akku länger.

Quote from: Etzl

Sollte der Betrieb von Arduino mit 12V nicht funktionieren, wie könnte ich das Relais sonst steuern? Andere Relais-Card kaufen?

Steuere die LEDs direkt mit einem Transistor oder MOSFET.

Welche LEDS (Farbe und Strom) möchtest Du verwenden?

Grüße Uwe

Etzl

Quote from: uwefed
Was hast Du noch an den 5V hängen?

Du kannst einen externen Spannungswandler (hat einen besseren Wirkungsgrad als ein Spannungstabilisator) nehmen; kostet einiges (ca 20 bis 25€) aber dafür reicht der Akku länger.

Am Arduino wollte ich nicht all zu viel hängen, darum hatte ich es ja mit dem Relais versucht, um mehr an den 12V stromkreis zu hängen.

Werde dann wahrscheinlich einen Spannungswandler nehmen für den Betrieb von Arduino.

Quote from: uwefed
Steuere die LEDs direkt mit einem Transistor oder MOSFET.

Ich werde mir mal so ein MOSFET kaufen und etwas damit herumtesten.
Gibt es tutorials hier im Forum, die mir hierzu weiterhelfen können?

Quote from: uwefed

Welche LEDS (Farbe und Strom) möchtest Du verwenden?

LED Farbe sollte eher weiß sein. Die LEDs die ich verwenden möchte haben 3,6V und 20mA.

Vielen Dank
Etzl

sth77

Ich greife nochmal auf den Tipp von Gurkengraeber zurück, den er in einem anderen Thread nannte: Der ULN2803 ist ein 8fach Darlington-Array. Dieses kannst du direkt mit den 5V des Arduino-Ausgangs ansteuern, jeder der 8 Kanäle schaltet dabei bis zu 500mA. Und vergleichsweise günstig ist er auch noch.
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

Etzl

Hallo liebe Community,

ich habe nun das Relais zum laufen bekommen Relais von Conrad

Nun versuche ich den Steuerstromkreis mit Arduino zu steuern, nur leider funktioniert es nicht so wie ich es mir wünsche.
Ich habe folgenden Code verwenden vom standard "Blink-example" von Arduino, doch irgendwie scheint noch eine restspannung da zu sein, oder vielleicht sind die Wiederstände von Arduino zu hoch?

Code: [Select]
void setup() {               
  // initialize the digital pin as an output.
  // Pin 13 has an LED connected on most Arduino boards:
  pinMode(13, OUTPUT);   
}

void loop() {
  digitalWrite(13, HIGH);   // set the LED on
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // set the LED off
  delay(1000);              // wait for a second
}


Ich dachte, dass "digitalWrite(13, HIGH);" 5V von Arduino in den Stromkreis zu schicken, sodass sich das Relais schließt. und "digitalWrite(13,LOW);" die stromzufuhr wieder stoppt und sich das Relais wieder öffnet.
Ich würde also gerne von einem Arduino Pin 5V zu GND schicken, und das mit Arduino auch unterbrechen können, sodass kein Strom mehr fließt.

Muss ich einen AnalogPin verwenden? Wenn ja, wie?
Oder ist mein Code für diese Anwendung falsch?

Hoffe jemand kann mir hierbei weiterhelfen.

LG
Etzl

uwefed

#5
May 26, 2011, 12:20 am Last Edit: May 26, 2011, 12:22 am by uwefed Reason: 1
Hallo Etzl

Für die spezielle Schaltung dieser Relaisplatine mußt Du zum Ausschalten der Relais eine Spannung nahe an der Versorgungsspannung der Relaiskarte anlegen oder den Eingang offen lassen. Das heißt ca 9V. Umgekehrt bringst Du 9V auf die Pins von Arduino und kannst ihn somit kaputtmachen.
Nimm, wie bereits vorgeschlagen, für die Ansteuerung der Relaiskarte einen ULN2803.
Schaltplan der Relaiskarte findest Du: http://www.produktinfo.conrad.com/datenblaetter/175000-199999/190980-as-01-en-Quad_Relaiskarte_BS.pdf

Grüße Uwe

Etzl

Hallo,

ich habe es jetzt mit einem ULN2803 versucht, und natürlich funktioniert es wunderbar. Vielen Dank für den tollen tip!

Eine weitere Frage:

Kann ich an den ULN2803 LEDs auch dimmen über PWM? Kann ich LEDs an den 12V Kreislauf mit LEDs anschließen und dann über die Arduino Pins dimmen? Funktioniert der ULN2803 ähnlich wie ein Relais? Wo könnte ich den 12V Kreislauf zum GND führen? Oder ist das ULN2803 dafür nicht gedacht?
Gibt es da gute Tutorials?

Schonmal vielen herzlichen Dank für die großartige Hilfe, ihr seit klasse :)

LG
Etzl

uwefed

Der ULN2803 ist 8 Darlington Transistoren mit integrierten Widerständen um Schaltschwellen für TTl un CMOS zu haben und Ausgänge mit Open Collector. Praktisch kann er den Ausgang auf Masse schalten. Natürlich kannst Du damit auch LED schalten. auch PWM.
Einzige Limits sind der maximale Strom (500mA) und die maximale Spannung an den Ausgängen (50V):
Er hat auch Schutzdioden integriert die Du beim Schalten Induktiven lasten brauchst (Pin 10 auf +Versorgungspannung der Lasten). Wenn Du keine Induktiven lasten (Relais, Magnetventile, Motore) ansteuerst kannst du das Pin 10 auch nicht beschalten.

Grüße Uwe

Etzl

#8
Jun 06, 2011, 06:35 pm Last Edit: Jun 06, 2011, 07:36 pm by Etzl Reason: 1
Hallo liebe Community,

vielen Dank erstmal für die nützlichen Tips bis jetzt. Ich bin damit einen großen Schritt weitergekommen.

Ich habe mir einen ULN2803A gekauft und dazu ein paar fragen:
Ich habe nach wie vor meine Betriebsspannung von 12V. Ich gehe mit Arduino bei Pin 1 (vom ULN2803) rein und verbinde den GND mit dem GND Pin 9 vom ULN.
Bei pin 18 vom ULN kommt der MinusPol von meinen 3 LEDs dran, vom PlusPol kommen 12V für die LEDs. Wo kommt der Vorwiderstand für die LEDs dran... Vor die LEDs, oder vor den ULN?
Habe da im Internet eine Grafik gefunden. Dachte mir, dass ich den Widerstand normalerweise VOR das LED machen muss. Bei der Grafik ist es allerdings anders:


Nächste Frage:
Kann ich von Arduino Pin 10 (zb.) auf Pin 1 und Pin 2 vom ULN2803 gehen, und so Pin 17 und Pin 18 mit der selben Programmierung von Pin 10 "steuern"?

Letzte Frage:
Ich habe ein Magnetventil von Conrad. Auf dem Datenblatt stehen 12V und 14W.
Laut P = U * I ergeben die Werte aus dem Datenblatt 1,16A... Allerdings habe ich mit einem Multimeter 300mA gemessen bei Betrieb der Spule.
Kann ich dieses mit dem ULN2803 steuern? Welche Werte stimmen?

Zusatzfrage zur Spule(weil ich mich leider mit Elektronik noch immer zu wenig auskenne :) ):
Wofür brauche ich den 3. Pin an der Spule? (Datenblatt von Spule) Es ist das GND Symbol drauf. Schalten tut das Ventil allerdings bei +/- Verbindung der beiden anderen Pins.

uwefed

Hallo Etzl
Zur ersten Frage:
Der Vorwiderstand muß in Reihe zum LED sein. Es ist egal ob zwischen +Versorgungspannung und LED oder zwischen LED und Masse oder in diesem Fall zwischen LED und Ausgang ULN2803. Der Widerstand muß den LED-Strom begrenzen, darum muß der gleiche Strom durch LED und Widerstand fließen.

Nächste Frage:
Ja, Wenn Du 2 Eingänge des ULN2803 auf den gleichen Arduino-Ausgang schaltest leuchten beide Led am Ausgang gleichzeitig. Du darfst nur nicht Ausgänge zusammenschalten.

Letzte Frage:
Eine Luftspule, eine Spule mit teilweisen Eisenkreis (abgezogene Spule eines Magnetventils, Es ist ein Eisenjoch drin um das Magnetfeld effektiv zum Eisenkern im magnetventil zu führen), eine Spule mit Eisenkern und eine Spule mit beweglichen Eisenkern (Magnetventil) verhalten sich sehr verschieden.
Die lose Spule kannst Du mit dem ULN2803 ansteuern, aber nicht die Spule am Magnetventil montiert!!!. Das Pin 10 des ULN mußt Du aber an +12V anschließen ( Schutzdiode).

Zusatzantwort:
Der dritte Kontakt ist um die Spule mit dem Erdungsleiter zu verbinden. Bei Kleinspannungen ist das nicht nötig; bei 110 oder 230V Spulen schon.

Grüße Uwe

Etzl

Hallo uwefed,

Vielen Dank für deine Antwort, ich habe dazu aber noch fragen:


Der Vorwiderstand muß in Reihe zum LED sein. Es ist egal ob zwischen +Versorgungspannung und LED oder zwischen LED und Masse oder in diesem Fall zwischen LED und Ausgang ULN2803. Der Widerstand muß den LED-Strom begrenzen, darum muß der gleiche Strom durch LED und Widerstand fließen.

Vorwiderstand in Serie, ist klar. Egal ob vor LED oder vor MASSE ist auch klar. Ich habe allerdings 3 LEDs parallel geschalten. Vorwiderstand dann auch entw. vor die 3 LEDs (seriell) oder dannach? oder soll ich einfach 3 Widerstände Seriell (pro LED) nehmen?



Letzte Frage:
Eine Luftspule, eine Spule mit teilweisen Eisenkreis (abgezogene Spule eines Magnetventils, Es ist ein Eisenjoch drin um das Magnetfeld effektiv zum Eisenkern im magnetventil zu führen), eine Spule mit Eisenkern und eine Spule mit beweglichen Eisenkern (Magnetventil) verhalten sich sehr verschieden.
Die lose Spule kannst Du mit dem ULN2803 ansteuern, aber nicht die Spule am Magnetventil montiert!!!. Das Pin 10 des ULN mußt Du aber an +12V anschließen ( Schutzdiode).

Ich glaube ich habe deine Antwort nicht ganz verstanden:
Es gibt 2 Arten von Magnetventilen? Wie kann ich die spule nicht am Magnetventil montieren? Dann kann ich das Ventil ja nicht öffnen und schließen lassen?
Dh. lieber mit Relais schalten?

vielen herzlichen dank,
du hilft mir wirklich sehr weiter...

LG
Etzl

uwefed

Jedes LED mit eigenen Vorwiderstand. Also LED in Reihe Widerstand und beides dann paralell.

Das war mir nicht klar.
Nein Das Magnetventil kannst DU nicht am ULN anschließen. Du brauchst dafür entweder ein Relais oder einen MOSFET.
Grüße Uwe

Etzl

Alles klar...

Eine letzte Frage: Warum muss ich für jedes LED einen Widerstand nehmen und kann nicht 3 LEDs an einen höheren Widerstand hängen? (Würde mir dabei viele Widerstände sparen :)

Vielen dank nochmal uwefed,

du bist klasse...

LG
Etzl

sth77

#13
Jun 08, 2011, 11:00 am Last Edit: Jun 08, 2011, 11:14 am by sth77 Reason: 1
Bei 12V Versorgungsspannung würde ich auch eher dazu neigen, mehrere LEDs in reiche zu schalten, weil die Verlustleistung am Vorwiderstand (und damit die Gesamtstromaufnahme der Schaltung) sonst zu groß wird. Es macht einen Unterschied, ob ein Widerstand 6V bei 20mA "verbrennt" oder 3 Widerstände 10V bei eben jener Stromstärke in Wärme umsetzen.
Die potentiellen Gefahren dieser Beschaltung hatten wir neulich schon behandelt, als es um die IR-LEDs ging. Kannst ja mal in diesem Thread querlesen.

[edit] Hab den Link zum genannten Thread rausgesucht: http://arduino.cc/forum/index.php/topic,62126.0.html
Mein verwaister Arduino-Blog: http://www.sth77.de/ - letzter Eintrag: Diamex-ISP in der irgendwann mal aktuellen Arduino-IDE 1.6.4

Etzl

#14
Jun 08, 2011, 11:23 am Last Edit: Jun 08, 2011, 12:07 pm by Etzl Reason: 1
Gut, dann werde ich es jetzt so lösen:
Meine LEDs haben 3,5V, 20mA

                    |----LED-----|
+12V -------- |----LED-----| ----- | 470k Ohm | -------> - Pin von ULN2803A
                    |----LED-----|

Edit: (oder wäre es so richtig? Ist doch im Prinzip das gleiche oder?
+12V -------- LED ------ LED ----LED----- 470k Ohm -------> - Pin von ULN2803A

Korrekt?
Könnte auch weniger Widerstand nehmen... 100k Ohm?

Vielen Dank
Etzl

Go Up