Sadržaj:

Arduino kontroler stolnog ventilatora: 4 koraka
Arduino kontroler stolnog ventilatora: 4 koraka

Video: Arduino kontroler stolnog ventilatora: 4 koraka

Video: Arduino kontroler stolnog ventilatora: 4 koraka
Video: SKR 1.4 - Marlin automatic stepper fan controller 2024, Studeni
Anonim
Arduino stolni ventilator
Arduino stolni ventilator
Arduino stolni ventilator
Arduino stolni ventilator
Arduino stolni ventilator
Arduino stolni ventilator

Kad sam nedavno promijenio uloge u tvrtki, premjestio sam web stranice, preselivši se iz Bradforda u naše sjedište u Wakefieldu. Rekao sam zbogom svom vjernom starom stolu sa obaveznim ventilatorom za stol koji me hladi dok sam svuda oko mene ……. U svakom slučaju, trend u našem glavnom uredu bio je za male ventilatore s USB -om od 4 "do 6". Tako je lijep model od starinskog mjedi s efektom od 6 "brzo naručen i isporučen sljedeći dan.

Problem sa svim ventilatorima, bilo da imaju postavke brzine ili mehaničke oscilirajuće načine, je to što su uključeni ili isključeni, a vi ih na kraju stalno uključujete i isključujete. Iskra mašte, u kombinaciji sa zahtjevom da podignem monitor za dobra 3 , i moj sljedeći projekt se rađa. Unesite Fanomatic.

Igrao sam s Arduinom dugi niz godina, pa je to bila logična prva stanica.

Korak 1: Popis i slučaj za kupovinu

Popis i futrola za kupovinu
Popis i futrola za kupovinu
Popis i futrola za kupovinu
Popis i futrola za kupovinu
Popis i futrola za kupovinu
Popis i futrola za kupovinu

Popis za kupovinu:

  • 1 list MDF -a od 12 mm - za kućište
  • 1 Arduino Uno - mozak
  • 1 sml matična ploča i žice
  • 1 DHT11 - digitalni senzor temperature i vlažnosti - samo za temperaturu uzorka
  • 1,96 "OLED zaslon - za prikaz varijabli - brzine, temperature itd
  • 1 IRF520 Mosfet modul - za uključivanje i isključivanje USB ventilatora
  • 4 10k potenciometra s gumbima u različitim bojama - za kontrolu brzine ventilatora, na vrijeme, vrijeme isključenja, zadanu temperaturu
  • 1 prekidač za napajanje
  • 1 sml limena boja za ploče - prikladna za MDF s 1 slojem
  • 1 USB kabel i 1 USB utičnica

Slučaj:

Veličina kućišta ovisila je o veličini baze mog 24 -inčnog monitora i 4 -portnog KVM prekidača na 220 mm širine i konačnoj visini na koju sam želio postaviti monitor. Dubina je bila prilično fleksibilna, pa sam otišao na 180 mm kako bih dao dovoljno soba. Dakle dimenzije 220mmx180mmx60mm. Sada ga napravite i napunite.

MDF od 12 mm izrezan je kod kuće prilično jednostavno, prije nego što se zalijepi i zavrne kako bi se formirala radna baza i prednja strana. Prednja strana je tada izbušena kako bi stala 4 10k potenciometra i 1 preko gornjeg prekidača za uključivanje/isključivanje koji bi kontrolirao napajanje Arduina i ventilatora. Pravokutna rupa isklesana je za držanje male dimljene sive akrilne ploče iza koje sam planirao pričvrstiti jedan od onih slatkih OLED zaslona. Na pola puta, volio bih da sam otišao na 3 mm premaz za prednju stranu, umjesto 12 mm MDF -a jer je uklonjeno više drva nego što je ostalo.

Nakon što su izbušene i isklesane rupe na stražnjoj i bočnoj strani osjetnika temperature, usb utičnice i usb napajanja. Naneseno je nekoliko slojeva boje za ploču. Izvrsna je boja za mdf jer se dobro upija i ne treba podlogu. Daje vrlo neoprostiv mat finiš, upravo ono što sam tražio.

Lonci i prekidači bili su pričvršćeni, vruće zalijepljeni dimljeni akril i proizvedene Dyno naljepnice za taj retro izgled.

Pored kontrola…

Korak 2: Kontrole

Kontrole
Kontrole

Sve se temelji na Arduino Uno. U kruh sam stavio komponente i ušao u skicu.

Skica koristi 3 biblioteke:

  • Jedan za pogon irf520 MOSFET -a za uključivanje ventilatora.
  • Jedan za pogon OLED zaslona
  • Jedan za čitanje i prevođenje temperaturnih podataka s DHT11

Skicu ću ovdje uključiti kasnije, nakon što sam to malo sredio, ali upozorite me, NISAM koder, razumijem dobre principe kodiranja, ali obično sam lijen koder. Ako mogu pronaći način da zaobiđem nešto i to funkcionira, onda funkcionira.

Postoje neke sjajne web stranice koje objašnjavaju kako koristiti svaku…. i uključivat će veze do najboljih (po mom mišljenju) web stranica kako bi iz svakog izvukli najbolje.

Logika:

Jedan USB kabel napaja Arduino AND USB ventilator. Arduino ne može pokrenuti ventilator jer bi struja koju vuče oštetila Arduino (zapravo pomalo dramatično! Pokvario bi ugrađeni osigurač). Stoga moramo pronaći način korištenja Arduina za uključivanje ili isključivanje ventilatora.

Potreban je tranzistor, prvo sam naručio Darlingtonov tranzistor, ali nakon čitanja, našao sam se za upravljački modul irf520 MOSFET s HobbyComponents.com. Upozorenje o štreberima !! IRF520 je izvrstan za prebacivanje logičke razine (izlaz iz Arduino pinova). Napon koji se šalje na uređaj određuje otpor MOSFET -a, tj. slanje 0 do 255 na digitalni pin prekinut će ventilator (ili drugi povezani uređaj) do pune brzine.

Kasnije ćemo se vratiti na 0 do 255.

Pa uključujemo ventilator s Arduinom, čemu muka? Pa, ne želimo da dođe kad je prehladno, zar ne? Dakle, ako dodamo temperaturni senzor, možemo napisati kôd i testirati je li vruće i uključiti ventilator (255) ili isključiti (0). Otišao sam na DHT11 jer je jeftin, lako kodiran i dovoljno precizan za ovaj projekt.

Natrag na taj posao od 0 do 255. Ako znamo da će malo koda uključiti ventilator (255) ako je temperatura visoka, ili isključiti (0) ako je temperatura niska, ako smo imali vrijednost između 0 i 255, otpor bi porastao ili pao preko MOSFET i ubrzati ili usporiti ventilator.

Unesite potenciometar spojen na analogni pin! Kad se okrene, generira vrijednost između 0 i 1023. Ta se vrijednost tada može testirati u kodu za promjenu brzine ventilatora !! yipeeeee.

Postoji još jedna stvar (pa, par). Knjižnica za upravljanje motorom koju ćemo koristiti za pokretanje upravljačkog programa MOSFET -a prihvaća 2 parametra, jedan za postavljanje otpora (za brzinu), a drugi za postavljanje trajanja. Tako pomoću ovog čarobnog parametra možemo postaviti koliko je dugo ventilator uključen, a koliko dugo ako je isključen.

Dakle, imamo 4 lonca za kontrolu 4 varijable. Zatim ćemo pogledati zaslon.

Korak 3: Zaslon

Zaslon
Zaslon
Zaslon
Zaslon

TREBA li zaslon? Ne baš. Pa zašto ga ima? Pa, zato što sam htio slatki zaslon koji prikazuje trenutnu temperaturu, brzinu ventilatora, ventilator na vrijeme, vrijeme isključenja ventilatora i zadanu temperaturu.

U8G knjižnica izvrsna je u upravljanju ovim malenim OLED zaslonom. Trajala je večer istraživanja i razmišljao sam o naredbama kako bih dobio željenu veličinu fonta za 5 redaka i kako bih varijable prikazao pomoću naredbi u8g.print (). Prednost ovog zaslona je u tome što nije zaslon u 2 ili 4 reda 'na koji je zajednica Arduino toliko navikla, pa su grafika i fontovi vrlo izvedivi.

Da budem iskren, većina koda pokreće zaslon. ako izrazi određuju vrijednosti za prikaz, npr. pretvoriti vrijednost iz analognih posuda (0 do 1023) u vrijednost za prikaz na zaslonu. Sve u svemu, postoji nekoliko skupova blokova izjava, odredite brzinu ventilatora iz lonca, pretvorite u % vrijednost za zaslon i vrijednost između 0 i 255 za pogon ventilatora.

Pa to će zasad biti dovoljno ljudi. Nadam se da ćete uživati u ovom prvom obroku. Uređivat ću i ažurirati vezama i kodom. Ako želite nešto više o detaljima, ostavite komentar i pitajte.

Korak 4: Kodirajte

Obećao sam da ću skicu prenijeti kad sam ovo postavio, prije 3 godine, i nikada nisam.

Pa evo ga ……

Preporučeni: