mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Relais schalten unter linux


Autor: foxi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nabend,

ich habe da mal als anfänger(elektrotechnik noob) eine verständnis 
frage.
benutze ein foxboard(debian) womit ich 1-wire sensoren abfragen und über 
ein webserver grafisch darstelle.
jetzt möchte ich gerne eine relais karte anschaffen, um ein 24V 
magnetventil zu schalten.

denke mir das man das ganze über die gpio anschliessen kann?
wie spreche ich jetzt so ein relay an über die linux konsole?
suche ich mir den pin aus die ich später anspreche muss,
und diese ist als device verfügbar unter /dev oder im sys...?

ganz übertrieben gesagt mit echo 1 > /dev/tt-meindevice
oder ist das nur wunsch träumen von mir und das geht ganz anders.

lese immer man muss sich was in C schreiben etc...

ich will jetzt keine fertige scripte etc...,
sondern nur den grobe ablauf so eine schaltung/ansteuern ünter linux.

sorry, aber elektromäsig habe ich kein plan,
bin mehr mail/web/fileserver mäsig unter linux unterwegs

danke
john

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Using the I/O lines in C:
http://foxlx.acmesystems.it/?id=22

Relais an I/O Pin:
Relais mit Logik ansteuern

Alternativ: eine fertige Relaiskarte an einer Schnittstelle. Seriell 
oder USB.

Autor: einer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du das AVR_NET_IO-Modul von Pollin verwendest, ist es egal wie und 
wo das Relais betrieben werden soll.

http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetz...

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das board ist mist...

Autor: einer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum schalten von Relais aber durchaus geeignet ?!

-> Plattform-Unabhängig und auch noch weltweit

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
er hat ein uC-board. das dem pollin-zeug generationen voraus ist.
nur weil dein horizont nicht so weit reicht, muss er ja nicht 10 
schritte zurueck gehen.

er will ein relais schalten. von netzwerk oder anderem board war keine 
rede.

Autor: Imon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
foxi schrieb:
> denke mir das man das ganze über die gpio anschliessen kann?
> wie spreche ich jetzt so ein relay an über die linux konsole?
> suche ich mir den pin aus die ich später anspreche muss,
> und diese ist als device verfügbar unter /dev oder im sys...?
>
unter sys sollte was stehen.

> ganz übertrieben gesagt mit echo 1 > /dev/tt-meindevice
> oder ist das nur wunsch träumen von mir und das geht ganz anders.

das ist kein Wunsch traum von dir, das geht wirklich. Achte darauf das 
der GPIO, denn du wählst nicht schon von was anderen belegt ist. Dann 
musst du die GPIO Nummer Herausfinden und den GPIO auf der Kommandozeile 
mit den folgenden Aufruf exportieren.
 echo <NR> > /sys/class/gpio/export

Danach musst du die Richtung (I/O) des GPIO mit folgenden Aufruf auf 
Ausgang stellen
echo out > /sys/class/gpio/gpio<NR>/direction

und ab jetzt kannst du mit denn Folgenden Befehlen den GPIO schalten
echo 1 > /sys/class/gpio/gpio<NR>/value  # einschalten
echo 0 > /sys/class/gpio/gpio<NR>/value  # ausschalten

Autor: foxi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin

erstmal danke für die antworten!

@einer
nein noch ein board mit ethernet etc... brauche ich nicht, habe ich doch 
schon. ;-)

@michael
danke, zum relais bestellen und aufbauen habe ich ein bekannte(elekt. 
ing) der sich damit auskenne, nur der hat kein linux kenntnisse.
diese ganze schaltpläne verstehe ich nicht immer alles so.
der hat mir schon erklärt wie so ein aufbau auszusehen hat mit diode 
etc..

@imon

also diese link http://netus.acmesystems.it/doku.php?id=tutorial:gpio 
habe ich schon gelesen,
wusste nur nicht ob man den relais auch darüber schalten kann.

ich habe aber überall gelesen das die variante langsamer ist,
und man denn weg über C vorziehen soll.

aber wenn es so "einfach" geht warum nicht, oder sprechen was dagegen es 
so zu machen?
kommt mir sehr recht, ich habe da paar cronjobs laufen für temperatur 
erfassen mit abspeichern in sqlite.
dann kann ich mir einfach ein script basteln der ein mittelwert der 
letzte z.b 5 temperaturwerte ermitteln, und dann bei bedarf ein echo 1 > 
/sys/class/gpio/gpio<NR>/value abfeuern.
über ein cat /sys/class/gpio/gpio<NR>/value kann ich denke ich mir auch 
leicht die aktuelle status abfragen etc....

gruß
john

Autor: oszi40 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
1.Logisch richtig zuverlässig ansteuern ist die eine Seite.

2.Induktive Abschaltspitzen sind die andere Seite, die schon manche 
Fehlfunktion ausgelöst hat. Man sollte also auch auf den Aufbau achten.

Autor: foxi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
heute habe ich mit mein freund (elekt. ing) gesprochen der meine relais 
bauen soll,
und der meint er würde ein 8 kanal IC nehmen und dahinter die zwei 
relais.

dann muss ich die ic ansteurn zum schalten, leider habe ich da nicht 
viel plan von und würde lieber die variante oben vorziehen.

ich brauche zwei relais, 1x 24V(magnetventil) und 1 mal 230V für eine 
pumpe.
er meinte externe stromversorgung 12V und alles über die ic steuern.

was macht mehr sinn, oder was ist einfacher.

über i2c mal mein grobe wissen wie sowas geht
ein i2cdetect zeigt mir schon mal was an, aber noch ist nichts 
angeschlossen.
wenn ja halt die address mit i2cdetect ermitteln, dann doku vom IC lesen 
und mit i2cget und i2cset die relais über die console ansteuern,
oder doch mal in C einarbeiten und das ganze im C schreiben?

gruß
john

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
foxi schrieb:
> dann muss ich die ic ansteurn zum schalten, leider habe ich da nicht
> viel plan von und würde lieber die variante oben vorziehen.
Ohne den Namen des ICs kann man darüber nichts sagen.
Einfacher und günstiger als unter Relais mit Logik ansteuern wird es 
vermutlich nicht.
Falls dir eine klare Anleitung lieber ist: 
http://www.franksteinberg.de/erel.htm

> ich brauche zwei relais, 1x 24V(magnetventil) und 1 mal 230V für eine
> pumpe.
> er meinte externe stromversorgung 12V und alles über die ic steuern.
Nimm lieber 5V Relais, denn dann kannst du die Versorgung von deinem 
foxboard auch dafür nutzen und brauchst nicht noch ein Netzteil.

> über i2c mal mein grobe wissen wie sowas geht
i2c? Ich dachte, du willst über GPIO schalten?

Autor: foxi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi

danke, franksteinberg seite kenne ich, so war auch mein plan eigentlich.
da ich von elektro keine ahnung habe, weiß ich ja auch nicht wie der 
aufbau so eine karte genau sein muss,
daher kann ich ja nur kurz erzählen was er so meint.

er meint 5V reicht nicht um 230V mit zur schalten, da muss ein externe 
stromkreis dran, am besten 12V.
über i2c meint er wäre es besser, man ist flexibler/erweiterbar etc.

ich habe auch gelesen das wenn man ein 12c bauteil nehmen sollte,
man drauf achten soll das es auch linux treiber für gibt.
wenn es denn so ein i2c sein muss, was würde denn so am gängigste 
genommen unter linux?

mir wir naturlich gpio lieber.

wie würde ihr sowas denn machen?

danke
john

Autor: olibert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
foxi schrieb:
> er meint 5V reicht nicht um 230V mit zur schalten

Bist du sicher das dein Freund Ahnung von Elektronik hat ?

Autor: Michael H. (michael_h45)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
foxi schrieb:
> er meint 5V reicht nicht um 230V mit zur schalten, da muss ein externe
> stromkreis dran, am besten 12V.
Das ist Blödsinn.
Es gibt auch Relais mit 5V Spulenspannung, die große Lasten schalten 
können.

> über i2c meint er wäre es besser, man ist flexibler/erweiterbar etc.
Das stimmt, aber wenn du wirklich nur 2 Relais brauchst, nimm GPIO.

Autor: foxi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
keine ahnung, wie gesagt habe ich da kein plan von elektro, nur respekt, 
daher frage ich ja auch nach.

naja,der ist elekt. ing. und arbeite in ein sehr große 
konzern(produziern teile für bmw/vw etc..),
und ist dort für steuerung, elektrik etc.. der maschinen zuständigt.
die arbeiten mehr mit Logo SPS etc..

er meint halt 3,3 oder 5V wäre nicht so optimal.

Autor: mbs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hatte kürzlich etwas ähnliches gemacht: Embedded device von Omnima 
mit OpenWRT Linux drauf und dann über die GPIOs drei Relais angesteuert. 
Als Relais bekam ich beim großen C welche, die für 6V ausgelegt waren, 
funktionierten mit den 5V des Boards aber auch. Das erste Relais 
schaltete die 230V vom 24V-Netzteil, und die anderen beiden hingen 
zwischen Netzteil und 2 Magnetventilen. Das ganze dann einfach als 
cron-job angesteuert, mittels Zugriff über sysfs. Solange dein Board den 
Strom für die Relais liefern kann, klappt das ganz gut.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.