Indholdsfortegnelse:

Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)
Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)

Video: Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)

Video: Akvariedesign med automatiseret kontrol af grundlæggende parametre: 4 trin (med billeder)
Video: Det komplette Redux-værktøjssæt + RTK-forespørgselskursus for begyndere | Redux på 2 timer! 2024, November
Anonim
Akvariedesign med automatiseret kontrol af grundlæggende parametre
Akvariedesign med automatiseret kontrol af grundlæggende parametre
Akvariedesign med automatiseret kontrol af grundlæggende parametre
Akvariedesign med automatiseret kontrol af grundlæggende parametre

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

Lav et låg til et akvarium
Lav et låg til et akvarium
Lav et låg til et akvarium
Lav et låg til et akvarium
Lav et låg til et akvarium
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

Parsing -komponenter
Parsing -komponenter
Parsing -komponenter
Parsing -komponenter
Parsing -komponenter
Parsing -komponenter

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

Installation af projektudstyr
Installation af projektudstyr
Installation af projektudstyr
Installation af projektudstyr
Installation af projektudstyr
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

Udvikling af et kontrolprogram til styring af hovedparametrene
Udvikling af et kontrolprogram til styring af hovedparametrene
Udvikling af et kontrolprogram til styring af hovedparametrene
Udvikling af et kontrolprogram til styring af hovedparametrene
Udvikling af et kontrolprogram til styring af hovedparametrene
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: