Inhaltsverzeichnis:

Aquariumdesign mit automatisierter Steuerung grundlegender Parameter - Gunook
Aquariumdesign mit automatisierter Steuerung grundlegender Parameter - Gunook

Video: Aquariumdesign mit automatisierter Steuerung grundlegender Parameter - Gunook

Video: Aquariumdesign mit automatisierter Steuerung grundlegender Parameter - Gunook
Video: Sonoff Ihost – Smart Home-Zentrale ohne Internetzugang mit Zigbee und Matter 2024, Juni
Anonim
Aquariendesign mit automatischer Steuerung grundlegender Parameter
Aquariendesign mit automatischer Steuerung grundlegender Parameter
Aquariendesign mit automatischer Steuerung grundlegender Parameter
Aquariendesign mit automatischer Steuerung grundlegender Parameter

EinleitungHeute steht jedem Aquarianer die Meerwasseraquariumspflege zur Verfügung. Das Problem, ein Aquarium zu erwerben, ist nicht schwierig. Aber für die vollständige Lebenserhaltung der Bewohner, den Schutz vor technischen Ausfällen, die einfache und schnelle Wartung und Pflege ist es notwendig, ein Aquarium nach den Prinzipien der autonomen Lebenserhaltung zu schaffen. Moderne patentierte Technologien ermöglichen es, Unterwasserbewohner von Meeren und Ozeanen unter künstlichen Bedingungen zu halten - so nah wie möglich an ihrem natürlichen Lebensraum. Das Automatisierungssystem steuert alle lebenserhaltenden Prozesse und Geräte, bietet beispiellose Effizienz und einfache Verwaltung und Wartung großer Aquarienkomplexe und Aquarien, hohe Zuverlässigkeit und störungsfreien Betrieb, hohe Wasserqualität und dadurch ein langes und gesundes Leben von Meerestiere. Zur Steuerung und Automatisierung gibt es verschiedene allgemeine Funktionen, wie zum Beispiel: automatische Lichtschaltung, Simulation der Tageslichtverhältnisse, Einhaltung der eingestellten Temperatur, bessere Erhaltung des natürlichen Lebensraums und Anreicherung des Wassers mit Sauerstoff. Aquariencomputer und Zubehör sind unerlässlich, um das normale Leben der Meeresbewohner besser zu unterstützen. Wenn beispielsweise keine Notpumpe vorhanden ist und die Hauptpumpe ausfällt, sterben nach einigen Stunden Meerestiere. Dank der Automatisierung können wir daher über die Identifizierung von Fehlern Bescheid wissen oder Pannen. Um die beschriebenen Parameter manuell zu konfigurieren, müssen Sie viele Manipulationen durchführen, Tests durchführen und die Ausrüstung anpassen. Die Wasseranalyse von Hand ist bereits das letzte Jahrhundert, heute bedarf das Meeresaquarium, in dessen klarem Wasser Meerestiere leben, die sich durch ihre leuchtenden Farben und ihr energetisches Verhalten auszeichnen, keiner besonderen Pflege

Schritt 1: Einen Deckel für ein Aquarium herstellen

Einen Deckel für ein Aquarium herstellen
Einen Deckel für ein Aquarium herstellen
Einen Deckel für ein Aquarium herstellen
Einen Deckel für ein Aquarium herstellen
Einen Deckel für ein Aquarium herstellen
Einen Deckel für ein Aquarium herstellen

Als Deckel für die Größe des Aquariums wurde der Deckel aus organischem Glas hergestellt, da es geeignete Eigenschaften für Wasser und Elektronik hat.

Zuerst vermessen wir unser Aquarium, und nach diesen Maßen erfinden wir einen Deckel, schneiden zuerst die Wände des Deckels zu, kleben sie dann mit Sekundenkleber und bestreuen sie zur besseren Stabilität mit Soda. Sofort für die zukünftige Belüftung und eine automatische Zuführung schneiden wir ein rechteckiges Loch mit einer Größe von 50 mm x 50 mm.

Schritt 2: Komponenten analysieren

Analysieren von Komponenten
Analysieren von Komponenten
Analysieren von Komponenten
Analysieren von Komponenten
Analysieren von Komponenten
Analysieren von Komponenten

Für die Befüllung haben wir den einfachsten und günstigsten Mikrocontroller Arduino Mega gewählt, er wird als Gehirn des gesamten Prozesses dienen, dann wird ein Servoantrieb für den automatischen Zuführer verwendet, der wiederum an einem Zylinder mit einem Loch befestigt wird, Für die Beleuchtung nehmen wir den Programmier-LED-Streifen und programmieren ihn für Sonnenaufgang und Sonnenuntergang, wenn die Helligkeit im Morgengrauen ansteigt und bei Sonnenuntergang allmählich abnimmt. Um das Wasser zu erhitzen, nehmen Sie einen normalen Aquarium-Durchlauferhitzer und schließen Sie ihn an ein Relais an, das Informationen zum Ein- und Ausschalten erhält. Um die Temperatur abzulesen, installieren Sie einen Temperatursensor. Um das Wasser zu kühlen, nehmen Sie einen Ventilator und installieren Sie ihn im Deckel des Aquariums. Wenn die Temperatur die eingestellte Temperatur überschreitet, wird der Ventilator über ein Relais eingeschaltet. Zum einfachen Ablesen von Informationen und zum Einrichten des Aquariums verbinden wir das LCD-Display und die Tasten damit, um die Werte des Aquariums einzustellen. Außerdem wird ein Kompressor installiert, der konstant arbeitet und sich beim Auslösen des Futterautomaten für 5 Minuten abschaltet, damit sich das Futter nicht im Aquarium verteilt.

Ich habe alle Teile bei Aliexpress bestellt, hier ist eine Liste und Links zu Komponenten:

Feed auf ws2812 -

Echtzeituhr Ds3231-

LCD1602 LCD -

4-Kanal-Relaismodul -

DS18b20 Temperatursensor -

Modul auf IRF520 0-24v -

Schaltflächen -

Mega2560 Plattformplatine -

Servo -

Schritt 3: Installation der Projektausrüstung

Installation von Projektausrüstung
Installation von Projektausrüstung
Installation von Projektausrüstung
Installation von Projektausrüstung
Installation von Projektausrüstung
Installation von Projektausrüstung

Wir ordnen die Komponenten so an, wie es für uns bequem ist und verbinden sie nach dem Schema, siehe Bilder.

Wir bauen den ArduinoMega 2560 Mikrocontroller in das zuvor zusammengebaute Gehäuse ein. Der Arduino Mega kann über USB oder über eine externe Stromquelle mit Strom versorgt werden - die Art der Quelle wird automatisch ausgewählt.

Die externe Stromquelle (nicht USB) kann ein AC/DC-Adapter oder ein Akku/Akku sein. Der Adapterstecker (Durchmesser - 2,1 mm, Mittelkontakt - Plus) muss in den entsprechenden Stromanschluss auf der Platine eingesteckt werden. Bei Batterie- / Batteriestrom müssen die Drähte an die Gnd- und Vin-Pins des POWER-Anschlusses angeschlossen werden. Die Spannung des externen Netzteils kann im Bereich von 6 bis 20 V liegen. Ein Absinken der Versorgungsspannung unter 7 V führt jedoch zu einem Abfall der Spannung am 5 V-Pin, was zu einem instabilen Betrieb des Gerätes führen kann. Die Verwendung von mehr als 12V Spannung kann zur Überhitzung des Spannungsreglers und zur Beschädigung der Platine führen. Aus diesem Grund wird empfohlen, ein Netzteil mit einer Spannung im Bereich von 7 bis 12 V zu verwenden. Wir verbinden den Mikrocontroller mit einer 5V-Stromversorgung über die GND- und 5V-Pins. Als nächstes installieren wir das Relais für Lüftung, Warmwasserbereiter und Kompressor (Abbildung 3.1), sie haben nur 3 Kontakte, sie werden wie folgt mit Arduino verbunden: GND - GND, VCC - + 5V, In - 3. Relaiseingang ist invertiert, so high level on In schaltet die Spule aus und low ein.

Als nächstes montieren wir das LCD-Display und das Echtzeituhrmodul, deren Anschluss ist im Diagramm dargestellt.

Die SCL-Pins müssen mit dem analogen 5-Pin-Anschluss verbunden werden; SDA-Pins werden mit analogen 6-Pin-Buchsen verbunden. Die obere Schiene der resultierenden Baugruppe fungiert als I2C-Bus und die untere Schiene ist die Stromschiene. Das LCD- und RTC-Modul wird an 5-Volt-Kontakte angeschlossen. Nach Abschluss des letzten Schrittes ist die technische Struktur fertig.

Um das Servo anzuschließen, wurde ein IRF520-Transistor für leisere Servoimpulse verwendet, das Servo wurde über einen Transistor angeschlossen und der Transistor selbst wurde direkt mit dem Arduino verbunden

Zur Beleuchtung wurde ein WS2812 LED-Streifen genommen. Wir verbinden die + 5V- und GND-Pins mit Plus und Minus der Stromversorgung bzw. verbinden Din mit einem beliebigen digitalen Pin des Arduino, standardmäßig ist es der 6. digitale Pin, aber jeder andere kann verwendet werden (Abbildung 3.6). Außerdem ist es ratsam, die Masse des Arduino mit der Masse des Netzteils zu verbinden. Es ist unerwünscht, den Arduino als Stromquelle zu verwenden, da der +5V-Ausgang nur 800mA Strom liefern kann. Das reicht für nicht mehr als 13 Pixel des LED-Streifens. Auf der anderen Seite des Bandes befindet sich ein Do-Ausgang, der mit dem nächsten Band verbunden wird, sodass die Bänder wie eines kaskadiert werden können. Der Stromanschluss am Ende ist ebenfalls doppelt vorhanden.

Um einen normalerweise offenen Taktknopf mit dem Arduino zu verbinden, können Sie den einfachsten Weg tun: Verbinden Sie einen freien Leiter des Knopfes mit Strom oder Masse, den anderen mit einem digitalen Pin

Schritt 4: Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter

Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter
Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter
Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter
Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter
Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter
Entwicklung eines Kontrollprogramms zur Kontrolle der Hauptparameter

Laden Sie die Skizze für das Programm herunter

Arduino verwendet die Grafiksprachen FBD und KOP, die im Bereich der industriellen Steuerungsprogrammierung Standard sind.

Beschreibung der FUP-Sprache

FBD (Function Block Diagram) ist eine grafische Programmiersprache der Norm IEC 61131-3. Das Programm wird aus einer Liste von Schaltungen gebildet, die sequentiell von oben nach unten ausgeführt werden. Bei der Programmierung werden Sätze von Bibliotheksbausteinen verwendet. Ein Block (Element) ist ein Unterprogramm, eine Funktion oder ein Funktionsblock (UND, ODER, NICHT, Trigger, Timer, Zähler, analoge Signalverarbeitungsblöcke, mathematische Operationen usw.). Jede einzelne Kette ist ein aus einzelnen Elementen grafisch zusammengesetzter Ausdruck. Der nächste Block wird mit dem Blockausgang verbunden und bildet eine Kette. Innerhalb der Kette werden Blöcke streng in der Reihenfolge ihrer Verbindung ausgeführt. Das Ergebnis der Schaltungsberechnung wird in eine interne Variable geschrieben oder dem Reglerausgang zugeführt.

KOP-Sprachbeschreibung

Kontaktplan (LD, KOP, RKS) ist eine logische Sprache für Relais (Ladder). Die Syntax der Sprache eignet sich zum Ersetzen von Logikschaltungen, die auf Relaistechnologie basieren. Die Sprache richtet sich an Automatisierungstechniker, die in Industrieanlagen arbeiten. Bietet eine intuitive Schnittstelle für die Logik der Steuerung, die nicht nur die Aufgaben der Programmierung und Inbetriebnahme selbst, sondern auch eine schnelle Fehlersuche in den an die Steuerung angeschlossenen Geräten erleichtert. Das Relaislogikprogramm verfügt über eine für Elektroingenieure intuitive und intuitive grafische Oberfläche, die logische Operationen wie einen Stromkreis mit offenen und geschlossenen Kontakten darstellt. Das Fließen oder Fehlen von Strom in diesem Stromkreis entspricht dem Ergebnis einer logischen Verknüpfung (wahr – wenn Strom fließt; falsch – wenn kein Strom fließt). Die Hauptelemente der Sprache sind Kontakte, die im übertragenen Sinne mit einem Relaiskontaktpaar oder einem Taster verglichen werden können. Ein Kontaktpaar wird mit einer booleschen Variablen identifiziert und der Status dieses Paares wird mit dem Wert der Variablen identifiziert. Man unterscheidet zwischen Öffner- und Schließer-Kontaktelementen, die mit Öffner- und Schließer-Tastern in Stromkreisen verglichen werden können.

Ein Projekt in FLProg ist ein Satz von Platinen, auf denen jeweils ein komplettes Modul der allgemeinen Schaltung montiert ist. Der Einfachheit halber hat jedes Board einen Namen und Kommentare. Außerdem kann jede Platine zusammengeklappt (um Platz auf der Arbeitsfläche zu sparen, wenn die Arbeit daran beendet ist) und erweitert werden. Eine rote LED im Platinennamen weist auf Fehler im Platinenschaltplan hin.

Die Schaltung jeder Platine wird gemäß der Logik des Controllers aus Funktionsblöcken zusammengesetzt. Die meisten Funktionsblöcke sind konfigurierbar, mit deren Hilfe ihre Bedienung den jeweiligen Anforderungen entsprechend angepasst werden kann.

Auch für jeden Funktionsblock gibt es eine ausführliche Beschreibung, die jederzeit abrufbar ist und zum Verständnis der Bedienung und Einstellungen beiträgt.

Bei der Arbeit mit dem Programm muss der Benutzer keinen Code schreiben, die Verwendung von Ein- und Ausgängen steuern, die Eindeutigkeit von Namen und die Konsistenz der Datentypen überprüfen. All dies überwacht das Programm. Außerdem prüft sie die Korrektheit des gesamten Projekts und weist auf das Vorliegen von Fehlern hin.

Es wurden mehrere Hilfswerkzeuge erstellt, um mit externen Geräten zu arbeiten. Dies ist ein Tool zum Initialisieren und Einrichten einer Echtzeituhr, Tools zum Lesen von Geräteadressen auf OneWire- und I2C-Bussen sowie ein Tool zum Lesen und Speichern von Tastencodes auf einer IR-Fernbedienung. Alle bestimmten Daten können als Datei gespeichert und später im Programm verwendet werden.

Zur Umsetzung des Projektes wurde folgendes Servoaktuierungsprogramm für den Abzweig und die Steuerung erstellt.

Der erste Block „MenuValue“leitet Informationen zum Menüblock um, um Informationen über den Status des Servoantriebs auf dem LCD-Display anzuzeigen.

Zukünftig können Sie mit der logischen Verknüpfung "UND" weitergehen oder mit der Vergleichseinheit "I1 == I2", d über den Auslöser eingeschaltet wird, wurde das Servo um 20:00 auf die gleiche Weise eingeschaltet.

Um das Servo über einen Taster selbst einzuschalten, wurde die Triggerlogikfunktion übernommen und die Tasternummer 4 dafür vorgesehen, oder die Ausgabe von Informationen über die Ruhe des Servos an den Menüblock zur Anzeige von Informationen über die LCD Bildschirm.

Wenn ein Signal für den Servoantrieb erscheint, dann geht er zum Block namens „Switch“und führt in einem bestimmten Winkel eine Drehung des Antriebs durch und geht durch den Block „Reset“in die Anfangsstufe.

Auflistung der Servobetätigung.

Der Kompressor ist immer eingeschaltet und mit dem Relais verbunden. Wenn ein Signal über den Block „Servo On“kommt, geht er zum Timer-Block „TOF“und schaltet das Relais für 15 Minuten aus und überträgt Informationen über den Zustand des Relais im Menü.

Auflistung des Thermostats.

Verbinden Sie den Temperatursensor über die Bibliothek

Empfohlen: