Automātiskas vistas gaitas durvis - ar Arduino vadību: 10 soļi (ar attēliem)
Automātiskas vistas gaitas durvis - ar Arduino vadību: 10 soļi (ar attēliem)
Anonim
Image
Image

Šī pamācība ir paredzēta automātisku vistas durvju projektēšanai ar manuāli maināmiem atvēršanas un aizvēršanās laikiem. Durvis var atvērt vai aizvērt attālināti jebkurā laikā.

Durvis ir veidotas tā, lai tās būtu modulāras; rāmi, durvis un kontrolieri var konstruēt un pārbaudīt vietā, kas atrodas tālāk no kupola, un pēc tam vienkārši pieskrūvēt esošajai atvēruma atverei.

Tas darbojas ar 9 V līdzstrāvu, tāpēc, lai uzlādētu akumulatoru, to var darbināt no kontaktdakšas vai akumulatora un saules paneļa.

Tas izmanto solenoīdu, lai aizslēgtu aizvērtas durvis un turētu durvis atvērtā stāvoklī.

Galvenās daļas ietver:

Arduino UNO 3.

4 ciparu, 7 segmentu LED displejs

RTC modulis

RF modulis

Potenciometri, Servo motors, 6V - 12V solenoīds, Rotējošais kodētājs ar spiedpogu

Durvis un to rāmi var izgatavot no koka lūžņiem. Durvis grozās uz augšu ap stieni (manā gadījumā ņemts no printera), un tam ir pretsvars, lai samazinātu griezes momentu, kas nepieciešams durvju pacelšanai.

Instrumenti tā izveidošanai ietver:

Dators ar Arduino IDE, lai programmētu Arduino, Āmurs, Ieraudzīja, Lodāmurs, Stiepļu griezēji, Urbt, Skrūvgriezis.

Es uzbūvēju šīs automātiskās vistas durvis, lai glābtu mani divreiz dienā - atvērt un aizvērt durvis no rīta un vakarā. Cāļi ir lieliski olu, kūtsmēslu un izklaides nodrošinātāji, taču agri celties, lai izlaistu tos laukā - it īpaši ziemā - bija nekaunība. Un pēc tam pārliecinoties, ka esmu savlaicīgi mājās, lai tos slēgtu, patiešām tika ierobežota mana brīvība atgriezties vēlu.

Cāļi ievēro ikdienas režīmu, kad ap saulrietu atgriežas kūts un pamostas ap saullēktu. Laiks, kad viņi ieiet un iziet, nav precīzs, un to ietekmē dienas laika apstākļi un apkārtējā gaisma. Ja vista pēc durvju aizvēršanas ir par vēlu ieiet, tās var attālināti atvērt un aizvērt. Durvis var aizvērt dienas laikā, ja īpašniekam ir jāaptur cāļu gaļa.

Tā kā saullēkta un saulrieta laiks mainās visu gadu un ir atkarīgs no platuma, jebkuram durvju kontrolierim ir jāseko diennakts laikam, gada dienai un jāzina atrašanās vietas platums. Šo prasību var izpildīt, izmantojot programmatūru vai suntracker, taču šajā dizainā tiek izmantoti manuāli regulējami atvērta un aizvērta laika iestatījumi, lai viss būtu vienkāršāk.

Tā kā saullēkts un iestatītais laiks mainās tikai par dažām minūtēm no vienas dienas uz otru, durvju kontrollera iestatījumi ir jāpielāgo tikai reizi nedēļā.

Kad īpašnieks izjūt savu cāļu gaiļošanas kārtību, viņš var viegli pielāgot atvēršanas un aizvēršanas laiku.

Atvēršanas laiku var pielāgot no pulksten 3:00 līdz 9:00 un slēgšanas laiku no pulksten 15:00 līdz 21:00. Šie laiki ir piemēroti platumam no 12 līdz 42 grādiem no ekvatora (Darvins līdz Hobārta Austrālijā) un aptver gada garākās un īsākās dienas..

Būtībā durvju kontrolieris ir pulkstenis ar diviem iestatāmiem modinātājiem ar manuālu pārslēgšanu.

1. solis: rāmis un šūpoles durvis

Rāmis un šūpoles durvis
Rāmis un šūpoles durvis
Rāmis un šūpoles durvis
Rāmis un šūpoles durvis
Rāmis un šūpoles durvis
Rāmis un šūpoles durvis

Rāmis ir paredzēts nostiprināšanai virs esošās atveres atveres. Durvis šūpojas uz augšu kā garāžas durvis. Šim dizainam ir priekšrocība salīdzinājumā ar automātiskajām durvīm, kas slīd uz augšu vai uz sāniem, ja jumts ir slīps virs esošajām durvīm vai esošā atvere atrodas blakus sienai.

1. Noņemiet esošās durvis.

2. Izvēlieties rāmja izmēru, kas atbilst esošajai atverei. Svarīgi ir divi rāmja izmēri - rāmja augstums un kokmateriāla platums. Durvis šūpojas no horizontālas šarnīra, un garums no šarnīra līdz rāmim ("D" diagrammā) ir tāds pats kā kokmateriāla platums. Tas nozīmē, ka tad, kad durvis ir atvērtas, durvju daļa virs šarnīra netraucē sienas sienu.

3. Izvēlieties rāmim materiālu, kas ir izturīgs un izturīgs pret laika apstākļiem. Es izmantoju sarkano gumiju, kas izrādījās izturīga, bet smaga. Ar āra priedi būtu vieglāk strādāt.

4. Durvīm jābūt vieglām, stingrām un izturīgām pret laika apstākļiem.

2. solis: šarnīra stieņa un veramo durvju izmēru noteikšana

Šarnīra stieņa un šūpoles durvju izmēri
Šarnīra stieņa un šūpoles durvju izmēri
Šarnīra stieņa un šūpoles durvju izmēri
Šarnīra stieņa un šūpoles durvju izmēri
Šarnīra stieņa un šūpoles durvju izmēri
Šarnīra stieņa un šūpoles durvju izmēri

Šūpoles durvju izmēriem jābūt tādiem, lai durvju platumam būtu jāatbilst rāmja iekšējām malām. Durvju augstums ir mazāks nekā rāmja augstuma iekšpuse.

1. Atrodiet stieni, kura diametrs ir aptuveni 5 mm (1/4 collas) un garums ir vienāds ar rāmja platumu. Es izmantoju stieni no demontēta printera, bet ar vītņotu stieni pietiktu. Vēl viens stieņu avots ir no metāla drēbju žāvēšanas statīviem. Stieni var sagriezt ar skrūvgriezi vai zāģi. Nogrieziet pārklājumu no metāla ar asmeni.

2. Izgrieziet rievā divas rievas garumā "D" (diagrammā iepriekšējā solī) no rāmja augšējās atveres un šarnīra stieņa diametra dziļuma.

3. Atrodiet eņģi, kuras tapas diametrs ir vienāds vai nedaudz lielāks par šarnīra stieni. Izspiediet tapu ar āmuru un centrālo perforatoru. Ja jums nav centra perforatora, izmantojiet lielu naglu vai līdzīgu tapu.

Nejauši, printera stieņa šarnīrsavienojums, ko es izmantoju, bija ideāli piemērots pirmajai eņģei, kas iznāca no manas nevēlamās kastes.

4. Šūpoles durvju apakšējās daļas zem šarnīra un augšējās daļas virs šarnīra svariem jābūt līdzīgiem, lai noņemtu slodzi no servomotora, kas atver durvis. To var panākt ar dažām smagām skrūvēm un uzgriežņiem, kas tika urbti durvju augšējā daļā.

3. solis: Servomotors un pacelšanas ieroči

Servomotors un pacelšanas ieroči
Servomotors un pacelšanas ieroči
Servomotors un pacelšanas ieroči
Servomotors un pacelšanas ieroči
Servomotors un pacelšanas ieroči
Servomotors un pacelšanas ieroči

Es izmantoju servo motoru MR-996. Tā griezes moments ir: 9,4 kgf · cm (4,8 V) vai 11 kgf · cm (7,2 V). Tas nozīmē, ka 20 cm durvīm zem šarnīra motors var pacelt 11 kg/20 = 550 g pie 7,2 V sprieguma.

Ja pretsvars ir virs šarnīra stieņa, durvis var būt smagākas un/vai garākas. Kā pretsvaru es izmantoju divus lielus uzgriežņus un skrūves, kā parādīts attēlos.

Servo ir aprīkots ar plastmasas rokturi, kas atbilst servo rievotajai izejas vārpstai. Izgrieziet šīs rokas vienu pusi ar asu nazi vai stiepļu griezējiem.

2. Pacelšanas roka ir izgatavota no diviem alumīnija garumiem, augšdelms ir L kronšteins, apakšējā roka ir plakans alumīnija gabals.

Pievienotās diagrammas parāda, kā aprēķināt katras rokas izmērus. Iegūtie izmēri ir balstīti uz rāmja platumu "d" un uz durvīm uzstādītā pacelšanas punkta stāvokli.

Augšdelmam ir izgriezumi, lai, paceļot durvis, roka notīrītu servomotoru.

4. solis: bloķējiet solenoīdu un durvju atvēršanas atbalstu

Bloķēšanas solenoīda un durvju atvēršanas atbalsts
Bloķēšanas solenoīda un durvju atvēršanas atbalsts
Bloķēšanas solenoīda un durvju atvēršanas atbalsts
Bloķēšanas solenoīda un durvju atvēršanas atbalsts

1. Solenoīdam, kas uzstādīts uz rāmja, ir divi mērķi:

a) aizslēdziet durvis, kad tās ir aizvērtas, un

b) neļaujiet durvīm aizvērties pēc atvēršanas.

Solenoīdu darbina caur FET no kontrollera izejas. Dažas sekundes tas tiek ievilkts, kamēr durvis tiek atvērtas vai aizvērtas.

2. Nostipriniet koka gabalu, kā parādīts fotoattēlā. Tas būs īsāks par rāmja platumu un uzstādīts tieši zem šarnīra stieņa.

5. solis: kontrolieris

Kontrolieris
Kontrolieris
Kontrolieris
Kontrolieris
Kontrolieris
Kontrolieris

1. Kā kontroliera pamatu es izmantoju Arduino Uno 3. Kopumā ir 17 ieejas un izejas tapas.

2. Kontrolieris saglabā laiku, izmantojot I2C RTC kontrolieri ar rezerves akumulatoru. Lai ietaupītu pūles, katru gadu atverot kontrolieri, lai mainītu RTC akumulatoru, būtu vēlams rezerves akumulators. Laiks tiek iestatīts, izmantojot rotējošu regulatoru, un tiek parādīts 4 ciparu 7 segmentu gaismas diodē. Varētu izmantot LCD un parādīt vairāk informācijas, piemēram, durvju atvēršanas un aizvēršanas reižu skaitu.

3. Atvēršanas un aizvēršanās laiku regulē ar 10k omu lineāriem potenciometriem. Es būtu varējis izmantot rotējošo kodētāju un LED displeju, lai iestatītu atvēršanas/aizvēršanas laiku, taču nolēmu, ka lietotājam būs vienkāršāk vienkārši uzkāpt un redzēt laiku no paneļa no attāluma. Laiks ir jāmaina tikai katru nedēļu.

4. Bezvadu RF adapteris (https://www.adafruit.com/product/1097) ērtībai manuāli atvērt un aizvērt no attāluma. Atslēgas fob URL:

5. Kastīte, kuru izvēlējos kontroliera ievietošanai, bija mazajā pusē, tāpēc man vajadzēja tai pievienot mazāku kastīti, lai tā ietilptu tālvadības uztvērējā.

6. Pievienota frizēšanas diagramma.

6. darbība: kods

Kods aplocās un veic šādas darbības:

1. skenē paneļa slēdžu stāvokli, 2. nolasa RTC un pārvērš laiku dienas minūtēs (no 0 līdz 1440).

3. nolasa divus analogos potenciometrus un pārvērš par veseliem atvēršanas un aizvēršanās laikiem. Lai nodrošinātu precīzāku laika iestatījumu izšķirtspēju, atvērtais slēgtais laiks ir ierobežots attiecīgi no pulksten 3:00 līdz 9:00 līdz 15:00 līdz 9:00.

4. nolasa RF ievadi, lai redzētu, vai ir nospiesta tālvadības poga.

5. salīdzina pašreizējo laiku ar atvēršanas un aizvēršanas laiku un nolasa režīmu durvju atvēršanai vai aizvēršanai.

Manuāla atvēršanas un aizvēršanas slēdža pievienošana sarežģīja programmatūras dizainu, jo sistēmai bija nepieciešams pārslēgties starp “manuālo” un “automātisko, ti, laika” režīmu. Es to atrisināju, nepievienojot citu “režīma” slēdzi, liekot lietotājam divreiz nospiest atvēršanas vai aizvēršanas slēdzi, lai atgrieztos automātiskajā režīmā.

Vienreiz nospiežot atvēršanas vai aizvēršanas pogu, kontrolieris tiek pārvietots manuālā režīmā. Pastāv iespēja, ka, ja durvis tika atvērtas pēc slēgšanas laika, iespējams, lai ielaistu novēlotu vistu, tad lietotājs aizmirstu atgriezt durvis automātiskajā režīmā. Tādējādi manuālo režīmu apzīmē LED displejs, kas atgādina "Open" vai "Close".

LED displeju bibliotēkas, kuras es saņēmu no:

7. darbība: kontroliera detaļu saraksts

Arduino Uno 34 ciparu 7 segmentu modulis

Servo motors MG 996R

1k omu rezidents

FET: FQP30N06L.

2 x 10 kOhm potenciometri (atvēršanas/aizvēršanas iestatīšanas laiks)

Rotējošais kodētājs ar iebūvētu spiedpogu

Džempera vads

1A DC-DC pārveidotājs: servo un solenoīdam

1 x SPDT pārslēgšanas slēdzis (stundu/minūšu iestatīšanas selektors)

1 x SPDT centrs izslēgts uz mirkli-izslēgts (manuālai atvēršanai/aizvēršanai)

1 x SPDT centrs izslēgts (dzēšanas/laika skata/laika iestatīšanas selektoram)

Solenoīds: Push Pull 6-12V 10MM Stroke

Adafruit Simple RF M4 uztvērējs - 315MHz Momentary Type

Tālvadības pults ar divām pogām - 315 MHz

Kastīte

8. solis: barošanas avots un saules paneļa un akumulatora izmēri

1. Lai gan Arduino var darboties no 12 V līdzstrāvas sprieguma, to darot, borta lineārais regulators darbosies karsti. Servo darbojas labāk pie augstāka sprieguma (<7,2 V), tāpēc kompromiss bija palaist 9Vdc sistēmu un izmantot DC-DC konvektoru, lai darbinātu solenoīdu un servo pie 6V. Es domāju, ka līdzstrāvas līdzstrāvas pārveidotāju varētu novērst, un Arduino, servomotors un solenoīds darbotos ar vienu un to pašu 6V (1A) barošanu. Ieteicams 100uF kondensators, lai filtrētu Arduino no servo un solenoīda.

2. Manis taisītais kontrolieris ievilka miera strāvu aptuveni 200mA. Kad darbojās solenoīds un servo, strāvas stiprums bija aptuveni 1A.

Lai taupītu akumulatora enerģiju, LED displeju var izslēgt ar slēdzi.

Ņemot vērā, ka durvju atvēršana vai aizvēršana prasīja apmēram 7 sekundes, un atvēršanas un aizvēršanas darbības notika tikai divas reizes dienā, 1A ikdienas enerģijas patēriņa aprēķinā tika ignorēts.

Tas var izplūst no 1A 9V kontaktdakšas, taču elektrotīklam un kontaktdakšai jābūt aizsargātai no laika apstākļiem.

3. Dienas enerģijas patēriņu aprēķina kā 24h x 200mA = 4800mAh. 7Ah svina skābes akumulatoram ar 20W saules paneli vajadzētu pietikt ar vienas dienas autonomiju apgabalos, kur gada vidējais insolācijas laiks ir 5 stundas. Bet ar vairākām baterijām un lielāku paneli būtu vairāk autonomijas dienu.

Lai novērtētu akumulatora un paneļa izmēru, es izmantoju šādu tiešsaistes kalkulatoru:

www.telcoantennas.com.au/site/solar-power-…

9. darbība. Lietotāja lietošanas instrukcijas

Lietotāja lietošanas instrukcijas
Lietotāja lietošanas instrukcijas
Lietotāja lietošanas instrukcijas
Lietotāja lietošanas instrukcijas
Lietotāja lietošanas instrukcijas
Lietotāja lietošanas instrukcijas

Durvis darbojas automātiskajā vai manuālajā režīmā.

Automātiskais režīms nozīmē, ka durvis atveras vai aizveras atbilstoši atvēršanas vai aizvēršanās laika iestatījumiem. Automātiskais režīms tiek apzīmēts ar tukšu displeju, kad displeja slēdzis ir iestatīts uz "Tukšs". Kad režīms mainās no manuālā uz automātisko, vārds “AUTO” mirgos 200 ms.

Durvis pārslēdzas manuālajā režīmā ikreiz, kad tiek aktivizēts tālvadības pults vai vadības pults. Manuālais režīms tiek apzīmēts, ja displejā tiek rādīts "OPEn" vai "CLSd", un displeja slēdzis ir iestatīts uz "Blank".

Manuālajā režīmā atvēršanas/aizvēršanas laika iestatījumi netiek ņemti vērā. Lietotāja ziņā ir atcerēties aizvērt durvis, ja tās tika atvērtas manuāli, vai atvērt durvis, ja tās tika aizvērtas manuāli, vai arī atgriezties automātiskajā režīmā.

Lai pārslēgtos atpakaļ automātiskajā režīmā, lietotājam otro reizi jānospiež poga Aizvērt, ja durvis jau ir aizvērtas, vai otrreiz - poga Atvērt, ja durvis jau ir aizvērtas.

Durvis sākas automātiskajā režīmā dienas sākumā (12:00).

10. solis: zvani un svilpes

Daži turpmākie uzlabojumi varētu ietvert:

Bezvadu durvju zvans, kas signalizē, kad durvis atveras/aizveras

"Iestrēdzis trauksmes signāls", ja sistēma ilgāk par 10 sekundēm izvelk strāvu, kas vienāda ar solenoīdu un servo.

Bluetooth un lietotne, lai konfigurētu kontrolieri.

Interneta vadīta atvēršana un aizvēršana.

Lai parādītu vairāk informācijas, nomainiet LED displeju pret LCD.

Izvairieties no atvērtā/aizvērtā laika iestatīšanas potenciometriem un izmantojiet pārslēgšanas slēdzi un esošo rotējošo slēdzi, lai iestatītu atvēršanas/aizvēršanas laiku.

Ieteicams: