Pozdrav svim ljubiteljima mikrokontrolera DIY, Ako ste sretni vlasnik kućnog akvarija, možda će vas ovaj članak zanimati. U njemu ću detaljno opisati cijeli postupak stvaranja jednostavnog, ali vrlo korisnog domaćeg - akvakontrolera, dizajniranog da olakša život vlasniku malog podvodnog svijeta.
Kao što znate, svaki uspješan projekt započinje s pripremom tehničkih specifikacija. Ovo su osnovni zahtjevi i funkcije koje sam želio dobiti od aquacontrolera:
- niska cijena i dostupnost komponenti;
- prilagodljivo vrijeme za uključivanje i isključivanje svjetla u akvariju;
- način hranjenja (filter se isključuje i automatski pokreće nakon 15 minuta);
- uključivanje rasporeda hranjenja;
- mjerenje temperature i vlažnosti okolnog zraka (kao dodatak);
- prikaz trenutnog datuma, vremena i drugih parametara na LCD zaslonu;
- postavke upravljanja i postavki putem izbornika pomoću 4 gumba (Gore, Dolje, U redu, Odustani);
- prilagodljivo vrijeme za uključivanje i isključivanje svjetla u akvariju;
- način hranjenja (filter se isključuje i automatski pokreće nakon 15 minuta);
- uključivanje rasporeda hranjenja;
- mjerenje temperature i vlažnosti okolnog zraka (kao dodatak);
- prikaz trenutnog datuma, vremena i drugih parametara na LCD zaslonu;
- postavke upravljanja i postavki putem izbornika pomoću 4 gumba (Gore, Dolje, U redu, Odustani);
Na temelju gore navedenog, nastao je krug prikazan na slici 1.
Glavni element je ploča Težak ProMinistečen u Kini. Kao što se kasnije ispostavilo, na njemu je instaliran kontroler ATMega168 umjesto da ATMega328, Zbog toga sam se pozabavio optimizacijom programa, jer se ispostavilo da je ovaj kontroler nepodnošljiv zbog polovice veličine flash memorije.
Za prikaz informacija odabran je dobro poznati 2-linijski LCD zaslon s 16 znakova. U projektu je povezano Težak na 4-žičnoj magistrali podataka.
Digitalni senzor odgovoran je za mjerenje temperature i vlažnosti. DTH11, Za domaće potrebe dovoljno je. U stvari, nema određenu svrhu i dodaje se isključivo kao dodatak cjelokupnoj slici.
Za kontrolu fluorescentne svjetiljke i filtra koristio sam dva simistorska kanala izrađena na hrpi opto-simistora MOC3063 i simistor snage BT137-600E, To nam je omogućilo da se riješimo kruga mehaničkih releja, zbog čega iz nekog razloga ne osjećam simpatiju.
Gumbi za upravljanje - uobičajeni sat, bez fiksiranja.
Pa, budući da su sve postavke vezane za određeno vremensko razdoblje, uređaj mora nužno sadržavati sat u stvarnom vremenu.U ovom slučaju koristio sam modul TinyRTC zasnovan na mikrovezu DS1703, Modulom upravlja protokol I2C sadrži priključak za instaliranje baterije, koji vam omogućuje spremanje datuma i vremena kad je struja isključena. Ulaz vanjskog modula prikazan je na fotografiji br. 2
Fotografija br. 2 - modul sata u stvarnom vremenu
Dakle, zahtjevi su definirani, nacrtana je shema - možete prijeći na fazu dizajna tiskane pločice. Internetska usluga EasyEda uspješno mi je pomogla u rješavanju ovog zadatka. Kako se ne bih gnjavio s bušenim rupama, odlučio sam staviti sve tragove i komponente koji nose struju u gornji sloj. Kad sam detalje malo zaokrenuo u uređivaču, dobio sam PCB dizajn sa samo tri skakača. Izgled ploče može se vidjeti na slici 3.
Slika 3 - Izgled pločice aquacontrol
Oni koji žele ponoviti projekt mogu preuzeti PCB datoteku s ove veze:
Pogledaj internetsku datoteku:
Pogledaj internetsku datoteku:
Dakle, na koje bi točke trebali obratiti pažnju. otpornost R4 i R8 - blizanci, sve ostalo je napravljeno unutra SMD kućište 1206, Gumbi sata imaju veličinu 12x12, Ploča također ima kineski pretvarač napona 220V / 5V, čiji je izgled prikazan na fotografiji br. 4.
Fotografija br. 4 - pretvarač napona 220V / 5V.
Planirani su LCD zaslon i modul sata u stvarnom vremenu na ugradbene police, čiju sam ulogu uspješno obavljao izrezanim plastičnim mozgalicama.
Na ovome su definirane sve značajke instalacije i ostaje nam samo prenijeti ploču s ekranskog monitora u naš fizički svijet. Za to je odabrana dobro poznata metoda LUT, što podrazumijeva prisutnost laserskog pisača i željeza. Za one koji nisu upoznati s ovom tehnologijom budućnosti, postupak stvaranja pločica u mojoj kupaonici bit će opisan u nastavku.
Dakle, za početak potražite bilo koji časopis sa sjajnim stranicama ili list foto-papira. Ispisujemo uzorak ploče na laserskom pisaču, ne zaboravljajući je okrenuti. Komad staklo-tekalita obloženog folijom pripremamo prema veličini praznine i površinu bakra sitnozrnom brusnim papirom brusimo do sjaja. Trebao bi biti nešto takvo (broj fotografije 5).
Zatim prebacimo ispis na foliju i nanesemo je na PCB. Nakon toga, papir vozimo vrućim peglom oko 3 minute. Vrijeme zagrijavanja ovdje može varirati ovisno o temperaturi željeza i iskustvu izvođača ovog tajnog rituala. Ovo vizualno izgleda otprilike ovako (fotografija br. 6):
Nakon što se papir čvrsto lijepi na PCB, isključite glačalo i ostavite da se pločica ohladi. Sada morate pažljivo ukloniti sloj papira i istodobno ne oštetiti ljepljivi toner. Da bi slučaj uspio, papir mora biti navlažen i uklonjen valjanje vrhovima prstiju. Taj je postupak jasnije prikazan na fotografiji br. 7.
Ponekad se dogodi da se na nekim mjestima toner jednostavno ne lijepi. U ovom se slučaju ta područja mogu upotpuniti trajnim markerom. Fotografija br. 8 prikazuje ploču nakon uklanjanja papira. Napominjemo da u gornjem lijevom dijelu nema dijela slike koji će se kasnije vratiti gornjom metodom.
Kada se uklone svi neugodni trenuci, možete započeti jetkanje. Za to sam koristila otopinu željeznog klorida, kao jednu od najpovoljnijih i najsigurnijih opcija. Nakon što je ploča utkana, temeljito je isperite otapalom kako biste uklonili toner iz zapisa. Zatim opet očistimo finim brusnim papirom, odmašćujemo i kositrimo. Rezultat je prikazan na fotografiji br. 9.
Jedna od glavnih faza je završena. Sljedeća faza je instalacija i lemljenje radio komponenti. Ovo je kreativan i čisto individualan proces. Ako imate bilo kakvih pitanja, spreman sam odgovoriti na njih u komentarima, ali sada ću vam samo pokazati što imam (fotografija 10):
Kao što sam gore napisao, zaslon i modul sata podignuti su iznad ploče plastičnim nosačima napravljenim od čepova za brzu instalaciju, a njihovi kontakti su lemljeni na ploču tankim žicama.Senzor temperature i vlage prikazan je zasebno na vrhu uređaja. Po mom mišljenju, s ovim rasporedom, čitanja će biti preciznija. Za kanale osvjetljenja i filtar, na dnu ploče nalaze se dvije vanjske utičnice. Također, visina gumba bila je nedovoljna, pa ih planiram povećati plastičnim čahurama. Nakon nekih manipulacija, uređaj poprima gotovo gotov izgled, prikazan na fotografiji br. 11.
Prije nego što zapečate vrh kućišta, morate upisati firmver unutra Arduino ProMini, Da biste to učinili, stavio sam igle na ploču spojenu na kontakte VCC, GND, RX i TX, Za programiranje Arduino ProMini najlakše korištenje USB programer, ali to nije bilo dostupno. Njegovu ulogu uspješno je obavljao drugi odbor Arduino uno s uklonjenim kontrolerom. Neću ulaziti u pojedinosti ovog postupka, jer na internetu postoji puno članaka o ovoj temi. Dat ću samo fotografiju broj 12 radi jasnoće.
Sada razgovarajmo o samom programu. Kad uključite napajanje, prikazat će se glavni zaslon. Prikazuje informacije o trenutnom datumu, vremenu, temperaturi i vlažnosti. Također se prikazuje nekoliko posebnih znakova ovisno o trenutnom stanju sustava, naime: svjetlo je uključeno - ikona sunca; svjetlo isključeno - mjesečeva ikona; filter on - ikona filtra; hranjenje je u tijeku - ikona ribe. Kada kliknete na U redu, korisnik ulazi u izbornik u kojem je moguće konfigurirati parametre kao što su:
- način upravljanja osvjetljenjem. U ovom odjeljku možete ručno uključiti i isključiti svjetlo odabirom odgovarajuće stavke izbornika, a također postavite vrijeme uključivanja i isključivanja prema rasporedu.
- način kontrole filtra. Omogućuje vam ručno uključivanje i isključivanje filtera, odaberite funkciju "hranjenja" (fedding) i postaviti raspored hranjenja. U načinu hranjenja, filter se zaustavlja i automatski se vraća nakon 15 minuta.
- postavljanje trenutnog datuma.
- postavljanje trenutnog vremena. Podaci o datumu i vremenu bilježe se u modulu sata, a kada je isključen, oni se ne resetiraju ako je na njemu instalirana baterija.
Za bolje razumijevanje, slika 13 prikazuje strukturu izbornika.
- način upravljanja osvjetljenjem. U ovom odjeljku možete ručno uključiti i isključiti svjetlo odabirom odgovarajuće stavke izbornika, a također postavite vrijeme uključivanja i isključivanja prema rasporedu.
- način kontrole filtra. Omogućuje vam ručno uključivanje i isključivanje filtera, odaberite funkciju "hranjenja" (fedding) i postaviti raspored hranjenja. U načinu hranjenja, filter se zaustavlja i automatski se vraća nakon 15 minuta.
- postavljanje trenutnog datuma.
- postavljanje trenutnog vremena. Podaci o datumu i vremenu bilježe se u modulu sata, a kada je isključen, oni se ne resetiraju ako je na njemu instalirana baterija.
Za bolje razumijevanje, slika 13 prikazuje strukturu izbornika.
Preuzmite softver za Arduino Pro Mini a sve potrebne knjižnice mogu biti ovu vezu
Nakon što program napišete na mikrokontroler, možete zatvoriti slučaj i nastaviti s ispitivanjima u stvarnim uvjetima. Prije pisanja ovog članka prošlo je otprilike tjedan dana rada. Aquacontroller je savršeno funkcionirao bez ikakvih grešaka, spasio me da stalno izvlačim vilice ako je potrebno da nahranim ribu ili ugasim svjetla. Rezultat mog truda prikazan je na fotografiji br. 16.