DigitalPin als Ground ?

Hallo,

konkret möchte ich ein Bipolares 5 V Relais, ~ 40mA (1 Spule) über die 2 DigitalPin's switchen -> Umkehrung High LOW, und wollte man wissen, bevor ich das Relais kaufe, ob irgend etwas dagegen spricht, das somit abwechselnd ein DigitalPin als "Ground" genutzt wird .

Beispiel Code:

void setup() {
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
}
void loop() {
// Ansteuerung Bistabiles Relais über Pin7 und Pin8
digitalWrite(7, HIGH);  
digitalWrite(8, LOW); 
delay(20);  //Relais Anzugszeit
digitalWrite(7, LOW);  // Pause beide  Pins Low 
digitalWrite(8, LOW);              
delay(3000);
digitalWrite(7, LOW); 
digitalWrite(8, HIGH); 
delay(20); //Relais Anzugszeit
digitalWrite(7, LOW);  // Pause beide  Pins Low 
digitalWrite(8, LOW);              
delay(3000);

}

Gruß
Thomas

Würde da eher Transistoren nehmen. Hier sind zwei passende Schaltungen (habe die aber nicht selbst ausprobiert):
http://www.talkingelectronics.com/projects/200TrCcts/101-200TrCcts.html#20
Beide mit zwei Transistoren

Einmal die zweite von oben (baut auf der ersten auf). Die braucht nur einen Pin. Und dann diese mit zwei Pins:

Da passt sogar der Spulenwiderstand

Ja dass kannst du so machen, zwischen dem umschalten reicht auch delay(10), zumindest bei meinen.
Habe auch solche Relais im Haus verbaut, Licht schalten.

skorpi08:
Ja dass kannst du so machen, zwischen dem umschalten reicht auch delay(10), zumindest bei meinen.
Habe auch solche Relais im Haus verbaut, Licht schalten.

40 mA über einen Pin?!

Gruß

Gregor

Danke für die Info :slight_smile:

gregorss:
40 mA über einen Pin?!

Gruß

Gregor

http://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

Solltest du unterlassen. Hierbei handelt es sich um eine Induktivität, und nicht um einen rein ohmschen Verbraucher. Transistor und Freilaufdiode ist die Lösung.

Nein, Ein Pin kann keine Spule ansteuern. Du brauchst immer einen Transistor zu Ansteuerung von Relais.
http://www.massimobanzi.com/img/relay01.png

Für das aufgezeigte Relais brauchst DU die gezeigte Schaltung richtig bemessen oder einen H-Brücke.

Es gibt diese selbsthaltenden Relais auch mit 2 Spulen, eine zum einschalten und die andere zum ausschalten. Die steuerst Du mit 2 Transistoren an.

Grüße Uwe

O.K. danke für eure "Richtigstellung".

Nur zum Verständnis:

Könnte mir jemand erklären warum man ein Relais (Induktivität) nicht direkt über einen Pin ansteuern kann / soll, oder geht es primär nur um die erzeugte Spannung/ Induktion nach dem Abschalten (Strom ->Stromloser Zustand) ?

Die Antwort gibst du dir selber :wink:

Zum einen die Induktionsspannung, die beim Abschalten der Spule entsteht, zum anderen aber auch der hohe Strom (welcher in der Praxis sicherlich > 40mA ist). Gewöhn dir am besten direkt an, an einem AVR nichts direkt anzuschließen aus LowCurrent Leds mit Widerstand oder Signalleitungen,

http://forum.arduino.cc/index.php?topic=228325

Motortreiber L293 (glaub ich, ist alles in dem Link) kannste natürlich auch nehmen.

skorpi08:
SSR / TRIAC / MOSFET / OPTOCOPPLER ? - Deutsch - Arduino Forum

Motortreiber L293 (glaub ich, ist alles in dem Link) kannste natürlich auch nehmen.

Wennschon die L293D-Version mit eingebauten Schutzdoden.
Aber ein Bistabiles Relais mit 2 Spulen und 2 Transistoren ist die bessere Lösung.

Grüße Uwe

Ahank:
Arduino Playground - HomePage

Ja, da steht, dass 40 mA der Punkt ist, ab dem „damage“ passiert.

Wer ein bisschen vorausschauend plant, geht nie vom Start weg bis an die Grenze.

Gruß

Gregor

40mA werden garantiert, funktionieren tut aber bestimmt auch 80mA, nur nicht so lange wie mit 40mA.
Funktionieren tut auch das Relais direkt am Atmega, ohne jegliche Peripherie.
Wie lange hab ich nicht getestet aber es funktioniert. In meinem Fall war es eine Woche.

Die Tips will ich mal sehen, wenn es schafft, dass jemand einen teureren AVR damit zu zerschießen. (>= Atmega644). Ist doch das gleiche, als wenn man sich auf die Reservetankanzeige im Auto verlässt. Wenn da steht, man kann noch 2km fahren, würde ich sicher nicht die 2km entfernte Tankstelle mehr anfahren.

Alles > 20ma ist eine "Vergewaltigung" des Controllers. Das wird sich bei mehreren solcher Aktionen gleichzeitg an der Abwärme bemerkbar machen. Bald gibts das erste Arduino Shield mit gekühlten Atmegas :-X

sschultewolter:
... Alles > 20ma ist eine "Vergewaltigung" ...

Puh. Schön, dass ich nicht der Einzige bin, der dieser Meinung ist.

Gruß

Gregor

Nachtrag: In http://www.netzmafia.de/skripten/hardware/Arduino/Arduino_Programmierhandbuch.pdf ist auf Seite 22 beschrieben, wie man höhere Lasten schalten kann.

Bei einem bistablen Relais mit einer Spule muss man halt etwas tricksen da der Strom in beide Richtungen fließen muss. Aber da reichen zwei Transistoren.