Talaan ng mga Nilalaman:

Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter: 4 na Hakbang (na may Mga Larawan)
Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter: 4 na Hakbang (na may Mga Larawan)

Video: Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter: 4 na Hakbang (na may Mga Larawan)

Video: Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter: 4 na Hakbang (na may Mga Larawan)
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, Hunyo
Anonim
Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter
Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter
Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter
Disenyo ng Aquarium Na May Awtomatikong Pagkontrol ng Mga Pangunahing Parameter

Panimula, ngayon, ang pag-aalaga ng marine aquarium ay magagamit sa bawat aquarist. Ang problema sa pagkuha ng isang aquarium ay hindi mahirap. Ngunit para sa buong buhay na suporta ng mga naninirahan, proteksyon mula sa mga pagkabigo sa teknikal, madali at mabilis na pagpapanatili at pangangalaga, kinakailangan upang lumikha ng isang aquarium batay sa mga prinsipyo ng pagsuporta sa buhay na autonomous. Pinapayagan ng mga makabagong teknolohiya na may patent na pinapanatili ang mga naninirahan sa ilalim ng dagat ng mga dagat at mga karagatan sa mga artipisyal na kundisyon - mas malapit sa kanilang likas na tirahan. Kinokontrol ng system ng awtomatiko ang lahat ng mga proseso at kagamitan sa suporta sa buhay, nagbibigay ng walang uliran kahusayan at kadalian ng pamamahala at pagpapanatili ng malalaking mga aquarium complex at aquarium, mataas na pagiging maaasahan at walang operasyon na problema, mataas na kalidad na tubig at, bilang isang resulta, isang mahaba at malusog na buhay ng hayop sa dagat. Mayroong iba't ibang mga pangkalahatang pag-andar para sa kontrol at pag-aautomat, tulad ng: awtomatikong paglipat ng ilaw, pagtulad sa mga kundisyon ng daylight, pagpapanatili ng itinakdang temperatura, mas mahusay na pagpapanatili ng natural na tirahan at pagpapayaman ng tubig na may oxygen. Ang mga computer at accessories ng aquarium ay mahalaga upang mas suportahan ang normal na buhay ng buhay-dagat. Halimbawa, sa kawalan ng isang emergency pump at sa kaganapan ng pagkasira ng pangunahing bomba, pagkatapos ng ilang oras, ang mga hayop sa dagat ay magsisimulang mamatay, samakatuwid, salamat sa pag-aautomat, maaari nating malaman ang tungkol sa pagkilala sa anumang mga pagkakamali o mga pagkasira. Upang manu-manong mai-configure ang inilarawan na mga parameter, kailangan mong magsagawa ng maraming mga manipulasyon, magsagawa ng mga pagsubok at ayusin ang Kagamitan. Ang pagdala ng pagtatasa ng tubig sa pamamagitan ng kamay ay ang huling siglo, ngayon ang Marine Aquarium, sa malinaw na tubig kung saan ang mga hayop sa dagat, na nakikilala sa kanilang maliliwanag na kulay at masiglang pag-uugali, mabuhay, ay hindi nangangailangan ng espesyal na pangangalaga

Hakbang 1: Paggawa ng Lid para sa isang Aquarium

Paggawa ng Takip para sa isang Aquarium
Paggawa ng Takip para sa isang Aquarium
Paggawa ng Takip para sa isang Aquarium
Paggawa ng Takip para sa isang Aquarium
Paggawa ng Takip para sa isang Aquarium
Paggawa ng Takip para sa isang Aquarium

Ang paggawa ng takip para sa laki ng aquarium, ang takip ay nilikha mula sa organikong baso, dahil mayroon itong mga angkop na katangian para sa tubig at electronics.

Una, sinusukat namin ang aming aquarium, at ayon sa mga sukat na ito ay nag-imbento kami ng takip, unang pinuputol namin ang mga dingding ng takip, pagkatapos ay idikit ang mga ito sa sobrang pandikit at iwiwisik ang mga ito ng soda sa itaas para sa mas mahusay na katatagan. Kaagad para sa bentilasyon sa hinaharap at isang awtomatikong feeder, pinutol namin ang isang hugis-parihaba na butas na may sukat na 50mm ng 50mm.

Hakbang 2: Mga Bahaging Parsing

Mga Bahagi ng Paras
Mga Bahagi ng Paras
Mga Bahagi ng Paras
Mga Bahagi ng Paras
Mga Bahagi ng Paras
Mga Bahagi ng Paras

Para sa pagpuno, pinili namin ang pinakasimpleng at pinakamurang microcontroller na Arduino Mega, magsisilbing utak ng buong proseso, pagkatapos ay gagamitin ang isang servo drive para sa awtomatikong feeder, na kung saan ay maaayos sa isang silindro na may butas, para sa pag-iilaw ay kukuha kami ng programang LED strip at ipo-program ito para sa pagsikat at paglubog ng araw, kung Sa madaling araw, ang liwanag ay babangon, at sa paglubog ng araw, ito ay unti-unting babawasan. Upang maiinit ang tubig, kumuha ng isang regular na pampainit ng tubig sa aquarium at ikonekta ito sa isang relay na makakatanggap ng impormasyon sa pag-on at pag-off nito, upang mabasa ang temperatura, mag-install ng isang sensor ng temperatura. Upang palamig ang tubig, kumuha ng isang tagahanga at i-install ito sa takip ng akwaryum, kung ang temperatura ay lumampas sa itinakdang temperatura, ang tagahanga ay magbubukas sa pamamagitan ng isang relay. Para sa madaling pagbabasa ng impormasyon at pagse-set up ng aquarium, ikinonekta namin ang LCD display at mga pindutan dito upang maitakda ang mga halaga ng aquarium. Ang isang tagapiga ay mai-install din, na kung saan ay patuloy na gagana at papatayin sa loob ng 5 minuto kapag na-trigger ang feeder, upang ang pagkain ay hindi kumalat sa akwaryum.

Inorder ko ang lahat ng mga bahagi sa Aliexpress, narito ang isang listahan at mga link sa mga bahagi:

Feed sa ws2812 -

Real Time Clock Ds3231-

LCD1602 LCD -

4-channel module ng relay -

Sensor ng temperatura ng DS18b20 -

Modyul sa IRF520 0-24v -

Mga Pindutan -

Mega2560 platform board -

Servo -

Hakbang 3: Pag-install ng Kagamitan sa Proyekto

Pag-install ng Kagamitan sa Proyekto
Pag-install ng Kagamitan sa Proyekto
Pag-install ng Kagamitan sa Proyekto
Pag-install ng Kagamitan sa Proyekto
Pag-install ng Kagamitan sa Proyekto
Pag-install ng Kagamitan sa Proyekto

Inaayos namin ang mga sangkap na maginhawa para sa amin at ikonekta ang mga ito ayon sa pamamaraan, tingnan ang mga larawan.

I-install namin ang ArduinoMega 2560 microcontroller sa dating naitipunang kaso. Ang Arduino Mega ay maaaring pinalakas mula sa USB o mula sa isang panlabas na mapagkukunan ng kuryente - ang uri ng mapagkukunan ay awtomatikong napili.

Ang panlabas na mapagkukunan ng kuryente (hindi USB) ay maaaring isang AC / DC adapter o rechargeable na baterya / baterya. Ang plug ng adapter (diameter - 2.1mm, sentral na kontak - positibo) ay dapat na ipasok sa kaukulang konektor ng kuryente sa pisara. Sa kaso ng lakas ng baterya / baterya, ang mga wire nito ay dapat na konektado sa mga pin ng Gnd at Vin ng konektor ng POWER. Ang boltahe ng panlabas na supply ng kuryente ay maaaring nasa saklaw mula 6 hanggang 20 V. Gayunpaman, ang pagbawas ng boltahe ng suplay sa ibaba 7V ay humahantong sa pagbaba ng boltahe sa 5V pin, na maaaring maging sanhi ng hindi matatag na pagpapatakbo ng aparato. Ang paggamit ng higit sa 12V boltahe ay maaaring humantong sa overheating ng boltahe regulator at pinsala sa board. Sa pag-iisip na ito, inirerekumenda na gumamit ng isang supply ng kuryente na may boltahe sa saklaw na 7 hanggang 12V. Ikonekta namin ang lakas sa microcontroller gamit ang isang 5V power supply sa pamamagitan ng mga GND at 5V pin. Susunod, nai-install namin ang relay para sa bentilasyon, pampainit ng tubig at tagapiga (Larawan 3.1), mayroon lamang silang 3 mga contact, nakakonekta sila sa Arduino tulad ng sumusunod: GND - GND, VCC - + 5V, In - 3. Ang relay input ay baligtad, napakataas na antas sa In ay pinapatay ang coil, at mababang nakabukas.

Susunod, nai-mount namin ang LCD display at ang real-time na module ng orasan, ang kanilang koneksyon ay ipinakita sa diagram.

Ang mga pin ng SCL ay dapat na konektado sa konektor ng 5-pin na analog; Ang mga pin ng SDA ay kumonekta sa mga socket ng analog na 6-pin. Ang nangungunang riles ng nagresultang pagpupulong ay gaganap bilang I2C bus, at ang ibabang riles ay ang power rail. Ang module ng LCD at RTC ay kumokonekta sa 5-volt na mga contact. Matapos makumpleto ang huling hakbang, magiging handa na ang istrakturang teknikal.

Upang ikonekta ang servo, isang IRF520 transistor ang kinuha para sa mas tahimik na pulso ng servo, ang servo ay konektado sa pamamagitan ng isang transistor, at ang transistor mismo ay nakakonekta nang direkta sa Arduino

Para sa pag-iilaw, isang WS2812 LED strip ang kinuha. Ikonekta namin ang mga + 5V at GND na pin sa plus at minus ng supply ng kuryente, ayon sa pagkakabanggit, ikinonekta namin ang Din sa anumang digital pin ng Arduino, bilang default ito ang ika-6 na digital pin, ngunit ang anumang iba pa ay maaaring magamit (Larawan 3.6). Gayundin, ipinapayong ikonekta ang lupa ng Arduino sa lupa ng suplay ng kuryente. Hindi kanais-nais na gamitin ang Arduino bilang isang mapagkukunan ng kuryente, dahil ang output na + 5V ay maaari lamang magbigay ng 800mA ng kasalukuyang. Sapat na ito para sa hindi hihigit sa 13 mga pixel ng LED strip. Sa kabilang panig ng tape mayroong isang outlet ng Do, kumokonekta ito sa susunod na tape, pinapayagan ang mga teyp na ma-cascaded tulad ng isa. Ang konektor ng kuryente sa dulo ay dinoble din.

Upang ikonekta ang isang karaniwang bukas na pindutan ng taktika sa Arduino, maaari mong gawin ang pinakasimpleng paraan: ikonekta ang isang libreng konduktor ng pindutan sa lakas o lupa, ang isa pa sa isang digital pin

Hakbang 4: Pag-unlad ng isang Programang Kontrol para sa Pagkontrol sa Pangunahing Mga Parameter

Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter
Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter
Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter
Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter
Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter
Pag-unlad ng isang Programa sa Pagkontrol para sa Pagkontrol ng Pangunahing Mga Parameter

I-download ang sketch para sa programa

Arduino gamit ang FBD at LAD graphic na mga wika, na kung saan ay ang pamantayan sa larangan ng pang-industriya na programa ng controller.

Paglalarawan ng wika ng FBD

Ang FBD (Function Block Diagram) ay isang grapikong wika ng programa ng pamantayan ng IEC 61131-3. Ang programa ay nabuo mula sa isang listahan ng mga circuit na naisunod nang sunud-sunod mula sa itaas hanggang sa ibaba. Kapag nagprogram, ginagamit ang mga hanay ng mga bloke ng library. Ang isang bloke (elemento) ay isang subroutine, pag-andar o pag-andar ng function (AT, O, HINDI, mga pag-trigger, timer, counter, analog signal blocks block, pagpapatakbo ng matematika, atbp.). Ang bawat indibidwal na kadena ay isang expression na binubuo ng grapiko mula sa mga indibidwal na elemento. Ang susunod na bloke ay konektado sa output ng block, na bumubuo ng isang kadena. Sa loob ng kadena, ang mga bloke ay isinasagawa nang mahigpit sa pagkakasunud-sunod ng kanilang koneksyon. Ang resulta ng pagkalkula ng circuit ay nakasulat sa isang panloob na variable o pinakain sa output ng controller.

Paglalarawan ng LAD na wika

Ang Ladder Diagram (LD, LAD, RKS) ay isang relay (ladder) na wikang lohika. Ang syntax ng wika ay maginhawa para sa pagpapalit ng mga circuit ng lohika na ginawa sa relay na teknolohiya. Ang wika ay naka-target sa mga inhinyero ng automation na nagtatrabaho sa mga pang-industriya na halaman. Nagbibigay ng isang madaling maunawaan na interface para sa lohika ng controller, na nagpapadali hindi lamang sa mga gawain ng pag-program at pag-commissioning mismo, kundi pati na rin ang mabilis na pag-troubleshoot sa kagamitan na konektado sa controller. Ang programa ng relay lohika ay may isang graphic na interface na madaling maunawaan at madaling maunawaan para sa mga de-koryenteng inhinyero, na kumakatawan sa mga pagpapatakbo ng lohika tulad ng isang de-koryenteng circuit na may bukas at saradong mga contact. Ang daloy o kawalan ng kasalukuyang sa circuit na ito ay tumutugma sa resulta ng isang lohikal na operasyon (totoo - kung kasalukuyang daloy; maling - kung walang kasalukuyang daloy). Ang mga pangunahing elemento ng wika ay mga contact, na maaaring matalinhagang inihalintulad sa isang pares ng mga contact na relay o isang pindutan. Ang isang pares ng mga contact ay nakilala sa isang variable ng boolean, at ang estado ng pares na ito ay nakilala sa halaga ng variable. Ang isang pagkakaiba ay ginawa sa pagitan ng karaniwang sarado at karaniwang bukas na mga elemento ng contact, na maaaring ihambing sa karaniwang sarado at karaniwang bukas na mga pindutan sa mga de-koryenteng circuit.

Ang isang proyekto sa FLProg ay isang hanay ng mga board, kung saan ang bawat isang kumpletong module ng pangkalahatang circuit ay tipunin. Para sa kaginhawaan, ang bawat board ay may pangalan at komento. Gayundin, ang bawat board ay maaaring gumuho (upang makatipid ng puwang sa lugar ng trabaho kapag natapos ang trabaho dito), at pinalawak. Ang isang pulang LED sa pangalan ng board ay nagpapahiwatig na may mga pagkakamali sa iskema ng board.

Ang circuit ng bawat board ay binuo mula sa mga functional block alinsunod sa lohika ng controller. Karamihan sa mga bloke ng pag-andar ay maaaring mai-configure, sa tulong ng kung saan ang kanilang operasyon ay maaaring ipasadya alinsunod sa mga kinakailangan sa partikular na kasong ito.

Gayundin para sa bawat pag-andar na bloke mayroong isang detalyadong paglalarawan, na magagamit anumang oras at makakatulong na maunawaan ang operasyon at mga setting nito.

Kapag nagtatrabaho sa programa, ang gumagamit ay hindi nangangailangan ng code ng pagsulat, kontrolin ang paggamit ng mga input at output, suriin ang pagiging natatangi ng mga pangalan at pagkakapare-pareho ng mga uri ng data. Sinusubaybayan ng programa ang lahat ng ito. Sinusuri din niya ang kawastuhan ng buong proyekto at ipinapahiwatig ang pagkakaroon ng mga error.

Maraming mga tool sa auxiliary ang nilikha upang gumana sa mga panlabas na aparato. Ito ay isang tool para sa pagsisimula at pag-set up ng isang real-time na orasan, mga tool para sa pagbabasa ng mga address ng aparato sa mga bus ng OneWire at I2C, pati na rin isang tool para sa pagbabasa at pag-save ng mga code ng pindutan sa isang remote control ng IR. Ang lahat ng tiyak na data ay maaaring mai-save bilang isang file at sa paglaon ay magamit sa programa.

Upang maipatupad ang proyekto, ang sumusunod na programa ng pagpapaandar ng servo ay nilikha para sa feeder at sa controller.

Ang unang block na "MenuValue" ay nagre-redirect ng impormasyon sa menu block para sa pagpapakita ng impormasyon sa LCD display tungkol sa katayuan ng servo drive.

Sa hinaharap, ang lohikal na operasyon na "AT" ay nagbibigay-daan sa iyo upang pumunta sa karagdagang o sa paghahambing na yunit na "I1 == I2", iyon ay, ang preset na numero 8 ay kapareho ng real-time na module ng orasan, pagkatapos ay ang servo ay naka-on sa pamamagitan ng gatilyo, ang parehong paraan ay ginawa upang i-on ang servo sa 20:00.

Para sa kaginhawaan ng pag-on ng sarili sa servo sa pamamagitan ng isang pindutan, ang pag-andar ng trigger logic ay kinuha at ang pindutang numero 4 ay inilaan para dito, o ang output ng impormasyon tungkol sa katahimikan ng servo sa menu block upang maipakita ang impormasyon sa LCD display.

Kung lilitaw ang isang senyas para gumana ang servo, pagkatapos ay pupunta siya sa bloke na tinatawag na "Lumipat" at sa isang naibigay na anggulo ay gumagawa ng isang pag-ikot ng drive at pumunta sa paunang yugto sa pamamagitan ng block na "I-reset".

Listahan ng actuation ng servo.

Ang tagapiga ay laging nasa at konektado sa relay, kapag ang isang senyas ay dumarating sa bloke na "Servo On", pagkatapos ay papunta ito sa "TOF" timer block at i-off ang relay sa loob ng 15 minuto at nagpapadala ng impormasyon tungkol sa estado ng relay sa menu.

Listahan ng termostat.

Ikonekta ang sensor ng temperatura sa pamamagitan ng silid-aklatan

Inirerekumendang: