Indholdsfortegnelse:
- Trin 1: Lav et låg til et akvarium
- Trin 2: Parsing Components
- Trin 3: Installation af projektudstyr
- Trin 4: Udvikling af et kontrolprogram til styring af hovedparametrene
Video: Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Indledning I dag er havakvariumpleje tilgængelig for alle akvarister. Problemet med at anskaffe et akvarium er ikke svært. Men for beboernes fulde livsstøtte, beskyttelse mod tekniske fejl, let og hurtig vedligeholdelse og pleje, er det nødvendigt at oprette et akvarium baseret på principperne for autonom livsstøtte. Moderne patenterede teknologier gør det muligt at holde undervandsindbyggere i hav og oceaner under kunstige forhold - så tæt som muligt på deres naturlige habitat. Automatiseringssystemet styrer alle livsstøttende processer og udstyr, giver enestående effektivitet og let håndtering og vedligeholdelse af store akvariekomplekser og akvarier, høj pålidelighed og problemfri drift, vand af høj kvalitet og som følge heraf et langt og sundt levetid for havdyr. Der er forskellige generelle funktioner til kontrol og automatisering, såsom: automatisk lysskift, simulering af dagslysforhold, opretholdelse af den indstillede temperatur, bedre vedligeholdelse af det naturlige habitat og berigelse af vandet med ilt. Akvariumcomputere og tilbehør er afgørende for bedre at understøtte det normale liv i havlivet. For eksempel, i mangel af en nødpumpe og i tilfælde af sammenbrud af hovedpumpen, vil havdyr efter et par timer begynde at dø, derfor kan vi takket være automatiseringen vide om identifikationen af eventuelle fejl eller sammenbrud. For at konfigurere de beskrevne parametre manuelt skal du udføre mange manipulationer, udføre test og justere udstyret. At foretage vandanalyse i hånden er allerede det sidste århundrede, i dag kræver Marine Aquarium, i det klare vand, hvor marine dyr, kendetegnet ved deres lyse farver og energiske adfærd, ikke kræver særlig pleje
Trin 1: Lav et låg til et akvarium
Låget er lavet af organisk glas, da det har et låg til størrelsen på akvariet, da det har egnede egenskaber til vand og elektronik.
Først måler vi vores akvarium, og i henhold til disse dimensioner opfinder vi et låg, først skærer vi låg på vægge, limer dem derefter med superlim og drysser dem med sodavand ovenpå for bedre stabilitet. Umiddelbart til fremtidig ventilation og en automatisk føder skærer vi et rektangulært hul med en størrelse på 50 mm ved 50 mm.
Trin 2: Parsing Components
Til fyldningen valgte vi den enkleste og billigste mikrokontroller Arduino Mega, den vil tjene som hjernen i hele processen, derefter vil der blive brugt et servodrev til den automatiske feeder, som igen vil blive fastgjort til en cylinder med et hul, til belysning tager vi programmerings -LED -båndet og programmerer det til solopgang og solnedgang, når ved daggry vil lysstyrken stige, og ved solnedgang vil den gradvist falde. For at opvarme vandet skal du tage en almindelig akvariumvandvarmer og tilslutte den til et relæ, der modtager oplysninger om at tænde og slukke for det, for at aflæse temperaturen, installere en temperatursensor. For at afkøle vandet, tag en blæser og installer den i låget på akvariet, hvis temperaturen overstiger den indstillede temperatur, tændes ventilatoren gennem et relæ. For let læsning af information og opsætning af akvariet forbinder vi LCD -displayet og knapperne til det for at indstille akvariets værdier. Der vil også blive installeret en kompressor, som fungerer konstant og slukker i 5 minutter, når føderen udløses, så maden ikke spredes over akvariet.
Jeg bestilte alle delene på Aliexpress, her er en liste og links til komponenter:
Feed på ws2812 -
Realtidsur Ds3231-
LCD1602 LCD -
4 -kanals relæmodul -
DS18b20 temperatursensor -
Modul på IRF520 0-24v -
Knapper -
Mega2560 platformkort -
Servo -
Trin 3: Installation af projektudstyr
Vi arrangerer komponenterne så bekvemt for os og forbinder dem i henhold til ordningen, se billederne.
Vi installerer ArduinoMega 2560 mikrokontroller i den tidligere samlede kasse. Arduino Mega kan drives fra USB eller fra en ekstern strømkilde - kildetypen vælges automatisk.
Den eksterne strømkilde (ikke USB) kan være en AC / DC -adapter eller genopladeligt batteri / batteri. Adapterstikket (diameter - 2,1 mm, central kontakt - positivt) skal indsættes i det tilsvarende strømstik på kortet. I tilfælde af batteri / batteristrøm skal dets ledninger sluttes til Gnd- og Vin -benene på POWER -stikket. Spændingen på den eksterne strømforsyning kan ligge i området fra 6 til 20 V. Et fald i forsyningsspændingen under 7V fører imidlertid til et fald i spændingen ved 5V -stiften, hvilket kan forårsage ustabil drift af enheden. Brug af mere end 12V spænding kan føre til overophedning af spændingsregulatoren og beskadigelse af kortet. Med dette i tankerne anbefales det at bruge en strømforsyning med en spænding i området 7 til 12V. Vi tilslutter strøm til mikrokontrolleren ved hjælp af en 5V strømforsyning via GND og 5V benene. Dernæst installerer vi relæet til ventilation, vandvarmer og kompressor (figur 3.1), de har kun 3 kontakter, de er forbundet til Arduino som følger: GND - GND, VCC - + 5V, In - 3. Relæindgang er inverteret, så højt niveau på In slukker spolen, og lav tænder.
Derefter monterer vi LCD-displayet og real-time-urmodulet, deres forbindelse er vist i diagrammet.
SCL-benene skal tilsluttes det analoge 5-bens stik; SDA-ben forbindes til analoge 6-bens stik. Den øverste skinne i den resulterende samling fungerer som I2C -bussen, og den nederste skinne er kraftskinnen. LCD- og RTC-modulet forbindes til 5-volts kontakter. Efter at have afsluttet det sidste trin, vil den tekniske struktur være klar.
For at forbinde servoen blev der taget en IRF520 -transistor for mere støjsvage servopulser, servoen blev forbundet via en transistor, og selve transistoren blev forbundet direkte til Arduino
Til belysning blev der taget en WS2812 LED -strimmel. Vi tilslutter + 5V og GND benene til henholdsvis plus og minus på strømforsyningen, vi slutter Din til en hvilken som helst digital pin på Arduino, som standard vil det være den 6. digitale pin, men enhver anden kan bruges (figur 3.6). Det er også tilrådeligt at forbinde jorden på Arduino til strømforsyningens jord. Det er uønsket at bruge Arduino som en strømkilde, da + 5V output kun kan levere 800mA strøm. Dette er nok til ikke mere end 13 pixels af LED -strimlen. På den anden side af båndet er der en Do -stikkontakt, den forbinder til det næste bånd, så båndene kan kaskades som en. Strømstikket i slutningen er også duplikeret.
For at tilslutte en normalt åben taktknap til Arduino kan du gøre den enkleste måde: Tilslut den ene ledning på knappen til strøm eller jord, den anden til en digital pin
Trin 4: Udvikling af et kontrolprogram til styring af hovedparametrene
Download skitsen til programmet
Arduino ved hjælp af FBD og LAD grafiske sprog, som er standarden inden for industriel controller programmering.
Beskrivelse af FBD -sproget
FBD (Function Block Diagram) er et grafisk programmeringssprog i henhold til standarden IEC 61131-3. Programmet er dannet ud fra en liste over kredsløb, der udføres sekventielt fra top til bund. Ved programmering bruges sæt biblioteksblokke. En blok (element) er en underrutine, funktion eller funktionsblok (OG, ELLER, IKKE, udløsere, timere, tællere, analoge signalbehandlingsblokke, matematiske operationer osv.). Hver enkelt kæde er et udtryk, der er grafisk sammensat af individuelle elementer. Den næste blok er forbundet til blokudgangen og danner en kæde. Inden for kæden udføres blokke strengt i rækkefølgen af deres forbindelse. Resultatet af kredsløbsberegningen skrives til en intern variabel eller føres til controllerens udgang.
LAD sprogbeskrivelse
Ladder Diagram (LD, LAD, RKS) er et relæ (stige) logisk sprog. Sprogets syntaks er praktisk til udskiftning af logiske kredsløb fremstillet på relæteknologi. Sproget er målrettet automatiseringsingeniører, der arbejder i industrianlæg. Giver en intuitiv grænseflade til controllerens logik, som ikke kun letter programmerings- og idriftsættelsesopgaver, men også hurtig fejlfinding i det udstyr, der er forbundet til controlleren. Relælogikprogrammet har en grafisk grænseflade, der er intuitiv og intuitiv for elektriske ingeniører, der repræsenterer logiske operationer som et elektrisk kredsløb med åbne og lukkede kontakter. Strømmen eller fraværet af strøm i dette kredsløb svarer til resultatet af en logisk operation (sand - hvis strøm strømmer; falsk - hvis der ikke strømmer nogen strøm). Sprogets hovedelementer er kontakter, der billedligt kan sammenlignes med et par relækontakter eller en knap. Et par kontakter er identificeret med en boolsk variabel, og tilstanden af dette par er identificeret med værdien af variablen. Der skelnes mellem normalt lukkede og normalt åbne kontaktelementer, som kan sammenlignes med normalt lukkede og normalt åbne knapper i elektriske kredsløb.
Et projekt i FLProg er et sæt tavler, på hvilke hver et komplet modul i det generelle kredsløb er samlet. For nemheds skyld har hvert bord et navn og kommentarer. Hvert bræt kan også falde sammen (for at spare plads på arbejdsområdet, når arbejdet med det er færdigt) og udvides. En rød LED i tavlenavnet angiver, at der er fejl i tavlen.
Kredsløbet på hvert kort er samlet fra funktionelle blokke i overensstemmelse med controllerens logik. De fleste funktionsblokke er konfigurerbare, ved hjælp af hvilke deres drift kan tilpasses i overensstemmelse med kravene i dette særlige tilfælde.
Også for hver funktionsblok er der en detaljeret beskrivelse, som til enhver tid er tilgængelig og hjælper med at forstå dens funktion og indstillinger.
Når han arbejder med programmet, behøver brugeren ikke skrive kode, kontrollere brugen af input og output, kontrollere unikke navne og konsistensen af datatyper. Programmet overvåger alt dette. Hun kontrollerer også, om hele projektet er rigtigt, og angiver tilstedeværelsen af fejl.
Flere hjælpeværktøjer er blevet oprettet til at arbejde med eksterne enheder. Dette er et værktøj til initialisering og opsætning af et real-time ur, værktøjer til læsning af enhedsadresser på OneWire- og I2C-busser samt et værktøj til læsning og gemning af knapkoder på en IR-fjernbetjening. Alle visse data kan gemmes som en fil og senere bruges i programmet.
For at gennemføre projektet blev følgende servoaktiveringsprogram oprettet til føderen og controlleren.
Den første blok "MenuValue" omdirigerer oplysninger til menublokken for visning af oplysninger på LCD -displayet om servodrevstatus.
I fremtiden giver den logiske betjening "AND" dig mulighed for at gå videre eller med sammenligningsenheden "I1 == I2", det vil sige, at det forudindstillede nummer 8 vil være det samme som på real-time urmodulet, derefter vil servoen tændes gennem aftrækkeren, blev der på samme måde gjort for at tænde for servoen klokken 20:00.
For nemheds skyld at selv tænde servoen gennem en knap blev triggerlogikfunktionen taget, og knappen nummer 4 var beregnet til det, eller udsendelse af oplysninger om servoens ro til menublokken for at vise oplysninger om LCD display.
Hvis der vises et signal for servoen til at fungere, går han til blokken kaldet “Switch” og foretager i en given vinkel en rotation af drevet og går til det indledende trin gennem blokken “Reset”.
Liste over servo aktivering.
Kompressoren er altid tændt og forbundet til relæet, når et signal kommer gennem "Servo On" -blokken, går den til "TOF" -timerblokken og slukker relæet i 15 minutter og sender information om relæets tilstand i menuen.
Liste over termostaten.
Tilslut temperatursensoren gennem biblioteket
Anbefalede:
Automatiseret modelbanelayout med to tog (V2.0) - Arduino baseret: 15 trin (med billeder)
Automatiseret modelbanelayout med to tog (V2.0) | Arduino baseret: Automatisering af modeljernbanelayouter ved hjælp af Arduino mikrokontroller er en fantastisk måde at flette mikrokontrollere, programmering og modeljernbaner til en hobby. Der er en masse projekter til rådighed om at køre et tog autonomt på en model railroa
Modeljernbanelayout med automatiseret sidespor: 13 trin (med billeder)
Modeljernbanelayout med automatiseret sidespor: At lave modelbanelayouter er en stor hobby, og automatisering af det vil gøre det meget bedre! Lad os se på nogle af fordelene ved dens automatisering: Billig drift: Hele layoutet styres af en Arduino mikrokontroller ved hjælp af en L298N mo
Automatiseret vandmotor med niveauindikator: 6 trin (med billeder)
Automatiseret vandmotor med niveauindikator: Hej alle, velkommen til endnu en instruerbar. I dette projekt lærer vi, hvordan man opretter fuldautomatisk vandtankniveaucontroller med vandstandsindikatorfunktion ved hjælp af Arduino Nano. Arduino er hjernen i dette projekt. Det vil tage input fra
Modeljernbanelayout med automatiseret passagerbeklædning (V2.0): 13 trin (med billeder)
Model Railway Layout With Automated Passing Siding (V2.0): Dette projekt er en opdatering af et af de tidligere modeljernbaneautomatiseringsprojekter, Model Railway Layout with Automated Siding. Denne version tilføjer funktionen til til- og frakobling af lokomotivet med det rullende materiel. Driften af
Grundlæggende om motoren - Koncept super let at forstå med et eksperiment: 7 trin (med billeder)
Grundlæggende om motoren | Koncept Super let at forstå med et eksperiment: I denne instruktive vil jeg lære dig om det underliggende grundlæggende princip for motorer. Alle motorer omkring os arbejder efter dette princip. Selv generatorer arbejder på gengældende erklæring om denne regel. Jeg taler om Flemings venstrehåndede ru