Forum: Mikrocontroller und Digitale Elektronik relais shield mit zwei schwimmern


von Daniel S. (exorzist6666)


Angehängte Dateien:

Lesenswert?

Hi, ich heiße Daniel und bin neu hier.

Habe nicht wirklich viel Plan von der ganzen Materie, versuche mich aber 
rein zu arbeiten.

Ich habe da ein Projekt vor... Dazu aber später mehr.

Als Anfang würde ich gerne folgendes umsetzen.

Ich habe ein vier relais Board, einen arduino mega, und zwei Schwimmer 
Schalter.

Der Plan ist:

Schwimmer Max (ganz oben im fass)
Schwimmer min ( ganz unten im fass)

Und relaisboard eben.

Wenn Schwimmer Max auf Minimum steht passiert erstmal nichts.

Erst wenn wenn Schwimmer min auf Minimum steht soll das relais 
geschaltet werden.

Und zwar solange bis Schwimmer Max auf Maximum steht.

Der Schwimmer min steigt demzufolge ja auch vorher auf Maximum.

Wenn der obere jetzt wie gesagt AIF Max steht dann soll das relais 
wieder ausschalten.

Ich habe meinen Code bastel versuch angehängt...

Leider nur als Bild da ich im Moment unterwegs bin.

Vllt hat ja jemand eine Idee und kann mir ggf auch Hilfestellung geben.


Ich danke schonnal dafür.

Gruß Daniel

: Verschoben durch User
von Karl H. (kbuchegg)


Lesenswert?

> Wenn Schwimmer Max auf Minimum steht passiert erstmal nichts.

Der "Schwimmer Max" kann nicht auf Minimum stehen.

Ein Schwimmerschalter ist entweder offen oder geschlossen. Aber der 
steht nicht auf 'Minimum' oder 'Maximum'.

Dein Releais ist in einem Zustand. Entweder ein oder aus. Soweit hast du 
es richtig.

Wenn der Minimum Schalter anspricht, schaltest du das Relais ein. Wenn 
der Maximum Schalter anspricht, schaltest du das Relais aus. Ganz 
simpel.

Jetzt musst du dir nur noch im klaren sein, was 'Schalter anspricht' 
bedeutet. Heisst das, das der entsprechende Eingang per digitalRead ein 
Low oder ein High liefert. Und Achtung: das kann für Maximum und Minimum 
unterschiedlich sein.
WIe ist das beim Maximum? Dein Schwimmerschalter wird ja wohl mit 
irgendeinem Wasserstand betätigt. D.h. wenn der Wasserstand den Maximum 
Schalter erreicht, willst du das Relais ausschalten. Der Schalter wird 
also vom steigenden Wasserstand geschlossen.
Wie ist das beim Minimum? Dieser Schwimmerschalter ist solange 
geschlossen, solange der Wasserstand höher als das Minimum ist. Erst 
durch den fallenden Wasserstand wird der Schalter dann bei 
Unterschreiten geöffnet.

D.h. Schalter spricht an bedeutet beim Maximum: wenn der Schalter 
geschlossen wird.
Beim Minimum Schalter bedeutet 'Schalter spricht an': wenn der Schalter 
geöffnet wird.

Einfach mal in einer Skizze aufmalen, dann wird das alles viel klarer. 
Und das ist auch die Lektion, die du hier lernst: Ehe man etwas 
programmiert, muss einem die Logik dahinter klar sein. Und zwar wirklich 
klar, nicht nur so irgendwie wischiwaschi. Ein Skizze, in der man sich 
die Dinge aufmalt, wirkt da oft Wunder.
1
void loop()
2
{
3
  if( Schalter_Minimum ist geöffnet )
4
     Relais einschalten
5
6
  if( Schalter Maximum ist geschlossen )
7
    Relais ausschalten
8
}

ganz einfach und simpel.
Den jeweils anderen Schalter brauchst du dabei nicht wirklich zu 
berücksichtigen. Denn wenn der Minimum Schalter anspricht ist der 
Wasserstand so niedrig, dass der Maximum Schalter nicht geschlossen sein 
kann. Und wenn der Maximum Schalter schliesst, dann ist der Minimum 
Schalter schon längst geflutet. Das Relais wird von dem einen 
Schwimmerschalter eingeschaltet und vom anderen ausgeschaltet.

: Bearbeitet durch User
von Daniel S. (exorzist6666)


Lesenswert?

Hi, und danke für die Antwort...


Klingt plausibel...
Da habe ich wohl etwas zu kompliziert gedacht schätze ich.

Es handelt sich bei den Schaltern um zwei identische...


Werde das heute Nachmittag mal versuchen umzusetzen.

Danke für den Tipp erstmal.

Gruß

von Karl H. (kbuchegg)


Lesenswert?

Eine Frage bleibt noch.
Wie sind deine Schwimmerschalter angeschlossen?

Liefern die auch tatsächlich unterschiedliche Pegel oder sind das im 
Grunde einfach nur Taster, die nach Masse schliessen, wenn sie betätigt 
werden.
Denn im letzteren Fall brauchst du auch noch Pullup Widerstände, damit 
du unterschiedliche Pegel kriegst.

Auch wenn viele das glauben: Aber ein offener Eingang eines µC ist nicht 
automatisch auf Low. Ein offener Eingang ist erst mal nur eine Antenne, 
die sich  alles mögliche einfängt.

D.h. wenn deine Schalter so verbaut sind
1
    µC-Pin -------------------+
2
                              |
3
                               /
4
                              |
5
                         -----+------ Masse

dann IST Der µC-Eingang offen, solange der Schalter nicht geschlossen 
ist. Genauso auch hier
1
                          ----+---- 5V
2
                              |
3
                               /
4
                              |
5
    µC-Pin -------------------+

Dieser µC-Pin ist NICHT zuverlässig auf LOW, nur weil der SChalter nicht 
geschlossen ist.

Man braucht in solchen Fällen immer einen Pullup oder Pulldown 
Widerstand, je nachdem, wie der SChalter verbaut ist, die den Pin auf 
LOW oder HIGH ziehen, wenn der Schalter nicht geschlossen ist.

Da dein AVR im Arduino bereits über zuschaltbare Pullup Widerstände 
verfügt, werden Taster oder Schalter bei einem AVR normalerweise so 
angeschlossen
1
    µC-Pin -------------------+
2
                              |
3
                               /
4
                              |
5
                         -----+------ Masse

UND der Pullup Widerstand am Eingang aktiviert. Du brauchst den nur 
zuschalten und hast einen High Pegel am Eingang, wenn der Schalter nicht 
geschlossen ist.
1
void setup()
2
{
3
   ...
4
5
  pinMode( Sensormin, INPUT_PULLUP );
6
  pinMode( Sensormax, INPUT_PULLUP );
7
}

erst jetzt hast du dann tatsächlich gesicherte LOW und HIGH Pegel, je 
nachdem ob der Schalter geöffnet oder geschlossen ist.

von KanonenAufSpatzen (Gast)


Lesenswert?

Ich weiß nicht ob da ein Arduino reicht...
Nimm lieber einen Raspberry Pi.

von Karl H. (kbuchegg)


Lesenswert?

KanonenAufSpatzen schrieb:
> Ich weiß nicht ob da ein Arduino reicht...
> Nimm lieber einen Raspberry Pi.

Stell dir lieber mal vor, er soll das ganze diskret mit einem Flip-Flop, 
ev. notwendigen Not-Gliedern und Relais Treiber Transistoren aufbauen.
Brr. Dann schon lieber ein Arduino. Der funktioniert dann zumindest 
wenigstens elektrisch out of the box, auch wenn es massiver Overkill 
ist.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Daniel Schwarz schrieb:

> Als Anfang würde ich gerne folgendes umsetzen.
>
> Ich habe ein vier relais Board, einen arduino mega, und zwei Schwimmer
> Schalter.
>
> Der Plan ist:
>
> Schwimmer Max (ganz oben im fass)
> Schwimmer min ( ganz unten im fass)
>
> Und relaisboard eben.

Hmm, und was soll der Arduino da tun?  Soll das ein Projekt werden,
wie man mit möglichst hohen Aufwand möglichst einfache Schaltungen
verwirklichen kann?

von oszi40 (Gast)


Lesenswert?

Du hast mindestens 3 Baustellen:

-Deine Logik
-Relais 
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern
-Deine Spülkasten-Mechanik

von Daniel S. (exorzist6666)


Lesenswert?

Danke für die zahlreichen antworten....

Nur so nebenbei ....bi  kein Elektriker... daher ist Sommer alles etwas 
schwierig für mich....ich versuche aber mein bestes.

Also zwecks pull up oder down...muss ich dann mal schauen später....

Einen rpi habe ich auch....dachte aber nur iwie wäre es Vllt mit arduino 
einfacher...kp

Was meinst du mit viel Aufwand einfache Schaltungen zu machen !?..


Wie gesagt das ist nur ein Teil Stück vom ganzen...

Aber damit ihr hier ein ei Blick bekommt was ich vorhabe mal ein zwei 
Bilder.


Es geht darum einen automatischen Wasser Wechsel zu realisieren...


Der Abhängig vom Pegel und später auch vom salzgehalt im Vorrat und im 
aquarium agieren soll.

Das ist jetzt nur erstmal für den fullstand in einem fass   der dann ein 
Magnet Ventil schalten soll 24v dc

Und eine zentrale pumpe die an 230v hängt...denke das Bild erklärt es 
besser.

von Karl H. (kbuchegg)


Lesenswert?

Daniel Schwarz schrieb:

> Was meinst du mit viel Aufwand einfache Schaltungen zu machen !?..

Du fährst gerade mit dem 40-Tonner LKW mit Ferrari Motor zum Aldi um 
einen Liter Milch zu holen.
Aber ok.

von Daniel S. (exorzist6666)


Angehängte Dateien:

Lesenswert?

Hier die Bilder.....hoffe ich ...

: Bearbeitet durch User
von Daniel S. (exorzist6666)


Lesenswert?

So, danke an Karl Heinz !

Das hat schon mal ohne Probleme funktioniert.

Der nächste Schritt wäre mit diesem Prinzip nicht nur eines sondern zb 
drei relais zu schalten ggf mit einem delay von Ca 500 zwischen den drei 
relais.

Vllt hat sich ja auch jemand die Bild Skizze angesehen und mag dazu noch 
etwas sagen...

Danke und Gruß  Daniel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.