Inhoudsopgave:

Aquariumontwerp met geautomatiseerde controle van basisparameters - Ajarnpa
Aquariumontwerp met geautomatiseerde controle van basisparameters - Ajarnpa

Video: Aquariumontwerp met geautomatiseerde controle van basisparameters - Ajarnpa

Video: Aquariumontwerp met geautomatiseerde controle van basisparameters - Ajarnpa
Video: Fish Bridge 🐠 2024, Juni-
Anonim
Aquariumontwerp met geautomatiseerde controle van basisparameters
Aquariumontwerp met geautomatiseerde controle van basisparameters
Aquariumontwerp met geautomatiseerde controle van basisparameters
Aquariumontwerp met geautomatiseerde controle van basisparameters

InleidingVandaag de dag is de verzorging van zeeaquaria beschikbaar voor elke aquariaan. Het probleem van het aanschaffen van een aquarium is niet moeilijk. Maar voor de volledige levensondersteuning van de bewoners, bescherming tegen technische storingen, eenvoudig en snel onderhoud en verzorging, is het noodzakelijk om een aquarium te creëren op basis van de principes van autonome levensondersteuning. Moderne gepatenteerde technologieën maken het mogelijk om onderwaterbewoners van zeeën en oceanen in kunstmatige omstandigheden te houden - zo dicht mogelijk bij hun natuurlijke habitat. Het automatiseringssysteem regelt alle levensondersteunende processen en apparatuur, zorgt voor ongekende efficiëntie en gemak van beheer en onderhoud van grote aquariumcomplexen en aquaria, hoge betrouwbaarheid en probleemloze werking, water van hoge kwaliteit en daardoor een lang en gezond leven van zeedieren. Er zijn verschillende algemene functies voor aansturing en automatisering, zoals: automatisch schakelen van licht, simuleren van daglichtomstandigheden, het handhaven van de ingestelde temperatuur, het beter in stand houden van de natuurlijke leefomgeving en het verrijken van het water met zuurstof. Aquariumcomputers en accessoires zijn essentieel om het normale leven in zee beter te ondersteunen. Bijvoorbeeld, bij afwezigheid van een noodpomp en in het geval van een storing van de hoofdpomp, zullen zeedieren na een paar uur beginnen te sterven, daarom kunnen we dankzij de automatisering op de hoogte zijn van de identificatie van eventuele fouten of storingen. Om de beschreven parameters handmatig te configureren, moet u veel manipulaties uitvoeren, tests uitvoeren en de apparatuur aanpassen. Het met de hand uitvoeren van wateranalyses is al de vorige eeuw, tegenwoordig heeft het Marine Aquarium, in het heldere water waarvan zeedieren, die zich onderscheiden door hun felle kleuren en energetisch gedrag, leven, geen speciale zorg nodig

Stap 1: Een deksel maken voor een aquarium

Een deksel maken voor een aquarium
Een deksel maken voor een aquarium
Een deksel maken voor een aquarium
Een deksel maken voor een aquarium
Een deksel maken voor een aquarium
Een deksel maken voor een aquarium

Om een deksel te maken voor de grootte van het aquarium, het deksel is gemaakt van organisch glas, omdat het geschikte eigenschappen heeft voor water en elektronica.

Eerst meten we ons aquarium en volgens deze afmetingen bedenken we een deksel, eerst snijden we de wanden van het deksel, lijmen ze vervolgens met superlijm en sprenkelen ze met soda erop voor een betere stabiliteit. Meteen voor toekomstige ventilatie en een automatische feeder, snijden we een rechthoekig gat met een afmeting van 50 mm bij 50 mm.

Stap 2: Onderdelen parseren

Onderdelen parseren
Onderdelen parseren
Onderdelen parseren
Onderdelen parseren
Onderdelen parseren
Onderdelen parseren

Voor de vulling hebben we gekozen voor de eenvoudigste en goedkoopste microcontroller Arduino Mega, deze zal dienen als het brein van het hele proces, dan zal een servoaandrijving worden gebruikt voor de automatische feeder, die op zijn beurt zal worden bevestigd aan een cilinder met een gat, voor verlichting zullen we de programmeer-LED-strip nemen en deze programmeren voor zonsopgang en zonsondergang, wanneer bij zonsopgang de helderheid zal toenemen en bij zonsondergang zal deze geleidelijk afnemen. Om het water te verwarmen, neemt u een gewone aquariumboiler en sluit u deze aan op een relais dat informatie ontvangt over het in- en uitschakelen, om de temperatuur te lezen, installeer een temperatuursensor. Om het water af te koelen, neem een ventilator en installeer deze in het deksel van het aquarium, als de temperatuur de ingestelde temperatuur overschrijdt, wordt de ventilator ingeschakeld via een relais. Voor het gemakkelijk aflezen van informatie en het instellen van het aquarium, verbinden we het LCD-display en knoppen om de waarden van het aquarium in te stellen. Er zal ook een compressor worden geïnstalleerd die constant zal werken en 5 minuten zal uitschakelen wanneer de feeder wordt geactiveerd, zodat het voedsel zich niet over het aquarium verspreidt.

Ik heb alle onderdelen op Aliexpress besteld, hier is een lijst en links naar componenten:

Voer op ws2812 -

Realtimeklok Ds3231-

LCD1602 LCD -

4-kanaals relaismodule -

DS18b20 temperatuursensor -

Module op IRF520 0-24v -

Knoppen -

Mega2560 platformbord -

Servo -

Stap 3: Installatie van projectapparatuur

Installatie van projectapparatuur
Installatie van projectapparatuur
Installatie van projectapparatuur
Installatie van projectapparatuur
Installatie van projectapparatuur
Installatie van projectapparatuur

We rangschikken de componenten zoals het ons uitkomt en sluiten ze aan volgens het schema, zie de foto's.

We installeren de ArduinoMega 2560-microcontroller in de eerder geassembleerde behuizing. De Arduino Mega kan worden gevoed via USB of via een externe stroombron - het type bron wordt automatisch geselecteerd.

De externe voedingsbron (niet USB) kan een AC/DC-adapter of oplaadbare batterij/batterij zijn. De adapterstekker (diameter - 2,1 mm, centraal contact - positief) moet in de overeenkomstige voedingsconnector op het bord worden gestoken. In het geval van batterij / batterijvoeding, moeten de draden worden aangesloten op de Gnd- en Vin-pinnen van de POWER-connector. De spanning van de externe voeding kan in het bereik van 6 tot 20 V liggen. Een afname van de voedingsspanning onder 7V leidt echter tot een afname van de spanning op de 5V-pin, wat een onstabiele werking van het apparaat kan veroorzaken. Het gebruik van meer dan 12V-spanning kan leiden tot oververhitting van de spanningsregelaar en schade aan het bord. Met dit in gedachten wordt het aanbevolen om een voeding te gebruiken met een spanning in het bereik van 7 tot 12V. We verbinden de voeding met de microcontroller met behulp van een 5V-voeding via de GND- en 5V-pinnen. Vervolgens installeren we het relais voor ventilatie, boiler en compressor (Figuur 3.1), ze hebben slechts 3 contacten, ze zijn als volgt verbonden met Arduino: GND - GND, VCC - + 5V, In - 3. Relaisingang is omgekeerd, zo hoog niveau aan In zet de spoel uit en laag wordt ingeschakeld.

Vervolgens monteren we het LCD-scherm en de real-time klokmodule, hun verbinding wordt weergegeven in het diagram.

De SCL-pinnen moeten worden aangesloten op de analoge 5-pins connector; SDA-pinnen worden aangesloten op analoge 6-pins aansluitingen. De bovenste rail van de resulterende assemblage zal fungeren als de I2C-bus en de onderste rail zal de stroomrail zijn. De LCD- en RTC-module worden aangesloten op 5-volt contacten. Na het voltooien van de laatste stap is de technische structuur klaar.

Om de servo aan te sluiten, werd een IRF520-transistor genomen voor stillere servopulsen, de servo was verbonden via een transistor en de transistor zelf was rechtstreeks verbonden met de Arduino

Voor verlichting is een WS2812 ledstrip genomen. We verbinden de + 5V- en GND-pinnen met respectievelijk de plus en min van de voeding, we verbinden Din met elke digitale pin van de Arduino, standaard is dit de 6e digitale pin, maar elke andere kan worden gebruikt (Figuur 3.6). Ook is het aan te raden om de massa van de Arduino aan te sluiten op de massa van de voeding. Het is onwenselijk om de Arduino als stroombron te gebruiken, aangezien de + 5V-uitgang slechts 800mA stroom kan leveren. Dit is genoeg voor niet meer dan 13 pixels van de ledstrip. Aan de andere kant van de tape bevindt zich een Do-uitgang, deze sluit aan op de volgende tape, waardoor de tapes als een cascade kunnen worden doorlopen. De stroomconnector aan het uiteinde is ook gedupliceerd.

Om een normaal open toets op de Arduino aan te sluiten, kun je de eenvoudigste manier doen: sluit een vrije geleider van de knop aan op voeding of aarde, de andere op een digitale pin

Stap 4: Ontwikkeling van een controleprogramma voor het regelen van de belangrijkste parameters

Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters
Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters
Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters
Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters
Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters
Ontwikkeling van een besturingsprogramma voor het besturen van de belangrijkste parameters

Download de schets voor het programma

Arduino maakt gebruik van de grafische talen FBD en LAD, die de standaard zijn op het gebied van industriële controllerprogrammering.

Beschrijving van de FBD-taal

FBD (Function Block Diagram) is een grafische programmeertaal van de IEC 61131-3 standaard. Het programma wordt gevormd uit een lijst van circuits die achtereenvolgens van boven naar beneden worden uitgevoerd. Bij het programmeren worden sets bibliotheekblokken gebruikt. Een blok (element) is een subroutine, functie of functieblok (AND, OR, NOT, triggers, timers, tellers, analoge signaalverwerkingsblokken, wiskundige bewerkingen, enz.). Elke afzonderlijke keten is een uitdrukking die grafisch is samengesteld uit afzonderlijke elementen. Het volgende blok is verbonden met de blokuitgang en vormt een ketting. Binnen de keten worden blokken strikt uitgevoerd in de volgorde van hun verbinding. Het resultaat van de circuitberekening wordt naar een interne variabele geschreven of naar de uitgang van de controller gestuurd.

LAD taalbeschrijving

Ladderdiagram (LD, LAD, RKS) is een relais (ladder) logische taal. De syntaxis van de taal is handig voor het vervangen van logische circuits gemaakt op relaistechnologie. De taal is bedoeld voor automatiseringsingenieurs die in industriële fabrieken werken. Biedt een intuïtieve interface voor de logica van de controller, die niet alleen de programmeer- en inbedrijfstellingstaken zelf vereenvoudigt, maar ook een snelle probleemoplossing in de apparatuur die op de controller is aangesloten. Het relaislogica-programma heeft een grafische interface die intuïtief en intuïtief is voor elektrotechnici en logische bewerkingen weergeeft zoals een elektrisch circuit met open en gesloten contacten. De stroom of afwezigheid van stroom in dit circuit komt overeen met het resultaat van een logische bewerking (waar - als er stroom vloeit; onwaar - als er geen stroom vloeit). De belangrijkste elementen van de taal zijn contacten, die figuurlijk kunnen worden vergeleken met een paar relaiscontacten of een knop. Een paar contacten wordt geïdentificeerd met een booleaanse variabele en de status van dit paar wordt geïdentificeerd met de waarde van de variabele. Er wordt onderscheid gemaakt tussen normaal gesloten en normaal open contactelementen, wat te vergelijken is met normaal gesloten en normaal open knoppen in elektrische circuits.

Een project in FLProg is een set borden, waarop elk een complete module van het algemene circuit is gemonteerd. Voor het gemak heeft elk bord een naam en opmerkingen. Elk bord kan ook worden samengevouwen (om ruimte op het werkgebied te besparen wanneer het werk erop is voltooid) en uitgevouwen. Een rode LED in de bordnaam geeft aan dat er fouten in het bordschema staan.

Het circuit van elk bord is samengesteld uit functionele blokken in overeenstemming met de logica van de controller. De meeste functieblokken zijn configureerbaar, met behulp waarvan de werking kan worden aangepast aan de eisen in dit specifieke geval.

Ook is er voor elk functioneel blok een gedetailleerde beschrijving, die op elk moment beschikbaar is en helpt om de werking en instellingen ervan te begrijpen.

Bij het werken met het programma hoeft de gebruiker geen code te schrijven, het gebruik van in- en uitgangen te controleren, de uniciteit van namen en consistentie van gegevenstypen te controleren. Het programma houdt dit allemaal in de gaten. Ook controleert zij de juistheid van het gehele project en signaleert zij de aanwezigheid van fouten.

Er zijn verschillende hulptools gemaakt om met externe apparaten te werken. Dit is een tool voor het initialiseren en instellen van een realtime klok, tools voor het lezen van apparaatadressen op OneWire- en I2C-bussen, evenals een tool voor het lezen en opslaan van knopcodes op een IR-afstandsbediening. Alle bepaalde gegevens kunnen als bestand worden opgeslagen en later in het programma worden gebruikt.

Om het project uit te voeren, werd het volgende servo-aansturingsprogramma voor de feeder en de controller gemaakt.

Het eerste blok "MenuValue" leidt informatie om naar het menublok voor het weergeven van informatie op het LCD-scherm over de status van de servoaandrijving.

In de toekomst kunt u met de logische bewerking "AND" verder gaan of met de vergelijkingseenheid "I1 == I2", dat wil zeggen, het presetnummer 8 zal hetzelfde zijn als op de real-time klokmodule, dan zal de servo wordt ingeschakeld via de trigger, werd op dezelfde manier gedaan om de servo om 20.00 uur in te schakelen.

Voor het gemak van het zelf inschakelen van de servo via een knop, werd de triggerlogica-functie genomen en was de knop nummer 4 ervoor bedoeld, of de uitvoer van informatie over de kalmte van de servo naar het menublok om informatie over de LCD scherm.

Als er een signaal verschijnt om de servo te laten werken, gaat hij naar het blok genaamd "Switch" en maakt onder een bepaalde hoek een rotatie van de aandrijving en gaat naar de beginfase via het blok "Reset".

Lijst van servo-aansturing.

De compressor is altijd aan en verbonden met het relais, wanneer een signaal door het "Servo On" -blok komt, gaat het naar het "TOF" timerblok en schakelt het relais gedurende 15 minuten uit en verzendt informatie over de status van het relais in de menukaart.

Lijst van de thermostaat.

Sluit de temperatuursensor aan via de bibliotheek

Aanbevolen: