Hallo! Ich habe ein Problem bei der Programmierung des Schwimmers! Mein ganzer Aufbau sieht so aus wie auf dem Bild. Der Ablauf sollte so aussehen, dass ich einen Befehl via I2C Bus vom Master bekomme. Der Befehl startet den Befüllzyklus. Das Magnetventil öffnet und lässt das Wasser so lange in den Behälter laufen bis der Schwimmerschalter auslöst. Danach wird ein Rührer aktivieret (ist nicht im Bild eingezeichnet). Nach einer kurzen Mischzeit soll die unter dem Behälter stehende Pumpe das Wasser abpumpen. Der Ablauf wird mittels Statemachine gemacht. Das große Problem das ich jetzt habe ist das wenn ich die Pumpe einschalte der Füllstand fällt (logisch). Sobald jedoch das Signal vom Schwimmerschalter weg ist öffnet das Magnetventil und lässt wieder Wasser in den Behälter. Habe schon versucht es mit verschachtelten If- Abfragen zu machen jedoch ohne Erfolg daher die Idee mit der State Maschine. Wäre echt froh über jede Hilfe die ich bekomme! Noch ein paar Worte zur Schaltung: Eingangssignale (Schwimmerschalter) werden mittels Optokoppler eingelesen, Ausgangssignale (Pumpe, Rührer, Ventil) werden über ULN2003 geschaltet. mfg Stefan
Die Zulaufzeit mit einem Counter erfassen und beim Ablassen wieder rückwärts zählen lassen. Oder einen zweiten Schwimmerkontakt im Sumpf montieren, das ist sicherer. So wird das auch in manchen Hebeanlagen gemacht, sogar mit einem dritten Schalter für die Überlaufalarmierung.
Wenn du unbedingt Schwimmerschalter benutzen willst, dann brauchst du zwei davon. Einen zum Ventil öffnen, den Anderen zum Ventil schließen und Rührer starten.
> Die Zulaufzeit mit einem Counter erfassen und beim Ablassen wieder
> rückwärts zählen lassen.
Das geht aber nur gut, wenn Zu-und Ablauf die SELBEN Dimensionen habe.
> Noch ein paar Worte zur Schaltung Das ist ein Logikproblem, kein Problerm der Schaltung. Mit einem Tank-Voll-Sensor kann man nicht feststellen, wann er leergepumpt ist - da helfen auch keine IF-Abfragen. Man müsste die Pumpe zeitlich steuern (z.B. eine Minute lang laufen lassen, bis der Tank garantiert leer ist), aber da Pumpen i.a. nicht leerlaufen dürfen... > Die Zulaufzeit mit einem Counter erfassen und beim Ablassen wieder rückwärts zählen lassen. Das wird nicht gehen, da Zulauf und Ablauf nicht über den gleichen Pfad erfolgen.
So ganz klar ist mir das Problem nicht. Du willst es ja mit einer Statemachine angehen. Nun - im State "Abpumpen" wir einfach der Schwimmerschalter nicht betrachtet und somit das Magnetventil nicht angesteuert.
[quote]Nun - im State "Abpumpen" wir einfach der Schwimmerschalter nicht betrachtet und somit das Magnetventil nicht angesteuert.[/quote] Und wie kommst du dann aus diesem State wieder heraus? Wie gesagt, du wirst eine zweiten Schwimmerschalter brauchen.
NochEinGast schrieb: > Und wie kommst du dann aus diesem State wieder heraus? Über Timer, über zweiten Schwimmerschalter, über Befehl vom Master,... - das wissen die Götter. Da muss sich der Kollege natürlich was überlegen - klar. Aber das war doch gar nicht die Eingangsfrage. Der OP schrieb : Das große Problem das ich jetzt habe ist das wenn ich die Pumpe einschalte der Füllstand fällt .... Magnetventil öffnet .. Ihr habt Euch - löblicherweise - eines anderen Problems angenommen. Nämlich "Funktioniert das ganze überhaupt" oder "Ist der Aufbau Sinvoll" Ich wollte mehr darauf hinweisen, dass der OP anscheinend ein Problem mit dem Verständniss der Statemachine hat, und darüber nachdenken sollte wie er seine States sinvoll aufbaut. Wenn das Magnetventil IMMER am Schwimmerschalter hängt, dann ist das eben keine Statemachine.
Dann male er sich das mal in Relaistechnik auf und übersetzt es in einen Programm-Ablaufplan, dann sieht er die Abhängigkeiten. In Relaistechnik ist es ein nach dem Startimpuls ein Selbsthaltekontakt des Schalters und einem Endkontakt in Reihe zu alledem.
Danke für die schnellen Antworten!!! Das mit dem zweiten Schwimmerschalter lässt sich nicht realisieren da es aufgrund von platzgründen nicht mglich ist einen zweiten schwimmer zu instalieren! das abpumpen hätte ich sowieso mittels timer realisiert da es "immer" fast die selbe zeit ist! Meine pumpe ist auch gegen trockenlauf eher unempfindlich! Hölscheranlage schrieb: > Dann male er sich das mal in Relaistechnik auf und übersetzt es in einen > Programm-Ablaufplan, dann sieht er die Abhängigkeiten. Werde mal dieser idee nachgehen es in Relaistechnik zu zeichnen und dann zu übersetzen! nur halt die Selbsthalung macht mir da etwas sorgen! Habe keine ahnung wie ich das am besten schreiben soll! Vielleicht hat ja jemand einen Denkanstoß für mich! mfg Stefan
Wenn weitere Hub-Schwimmer platzmäßig nicht passen, dann sollte es ein einzelner Schwimmer auf einer Drehachse sein, z.B. von Zehnder. Da stecken in einem Zylindergehäuse 3 Schalter drin für Minimum, Maximum u. Überlauf. Die Achse bewegt immer gleichzeitig alle Quecksilberschalte, jeder hat seine eigene Kipp-Einbaulage innerhalb des gemeinsamen Drehwinkels.
Ich sehe gerade, dass neue WUZ-Hebeanlagen von Zehnder mit Pneumatikschaltern ausgeliefert werden, Ersatzteile für alte gibt es jedoch weiterhin. Du könntest also einen Druckschalter aus Waschmaschinen nehmen, die haben mehrere Druckanschlüsse für Niveaudetektion.
Irgendwie diskutiert Ihr hier komplett am Thema vorbei. Der einzige der passend zum Problem gepostet hat war NurEinGast. @Hölscheranlage Wie willst Du eine 'State Machine' bzw. ein Zustandautomat in einer Relaisschaltung realisieren? Willst Du den ersten Relaiscomputer neu erfinden oder was? Das Problem war doch Schwimmer schaltet wieder weil durch den Rührer sich das Niveau ändert. Man könnte es mit einer Relaisverriegelung machen: Wenn Pumpe an, dann klemm Schwimmerschalter ab. ABER ER HAT DOCH EINEN MICROCONTROLLER! Also Zustandsmaschine Zustand 1: Warten auf Füllbefehl. Wenn Füllbefehl Übergang auf Zustand 2. Zustand 2: Füllventil an, Schwimmerschalter abfragen bis Voll angezeigt wird, dann Ventil aus und Übergang auf Zustand 3. Zustand 3: Über einen Timer rühren. Bei Timerende Übergang auf Zustand 4 Zustand 4: Abpumpen. Wie auch immer Timer, 2. Schwimmer, Durchflussmesser etc. Dann Übergang auf Zustand 1??? Wo ist da das Problem?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.