Sadržaj:

JavaStation (Potpuno automatski aparat za kavu s IoT-om): 9 koraka (sa slikama)
JavaStation (Potpuno automatski aparat za kavu s IoT-om): 9 koraka (sa slikama)

Video: JavaStation (Potpuno automatski aparat za kavu s IoT-om): 9 koraka (sa slikama)

Video: JavaStation (Potpuno automatski aparat za kavu s IoT-om): 9 koraka (sa slikama)
Video: Alltag und Beruf - Deutsch lernen mit Dialogen - B2 2024, Srpanj
Anonim
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)
JavaStation (Potpuno automatski, IoT aparat za kavu koji se sam puni)

Cilj ovog projekta bio je napraviti potpuno automatski aparat za kavu s glasovnim upravljanjem koji se automatski dopunjava vodom i sve što trebate učiniti je zamijeniti korisnike i popiti kavu;)

Korak 1: Uvod

Uvod
Uvod

Kako je ovo bio moj drugi način pripreme kave, naučio sam puno toga u procesu, posebno da što složeniji stroj izmijenite, to će više problema/grešaka naići tijekom svakodnevnog rada. Prethodni stroj bio je samo jednostavan stari aparat za kavu s jednim prekidačem s relejnim modom.

Circolo (potpuno automatska verzija) je vrhunski vrhunski stroj Dolce Gusto. Morao sam provesti sate u potrazi za odgovarajućim strojem jer su svi ostali strojevi iz ove serije koristili gornju mehaničku polugu za prebacivanje između protoka hladne i tople vode kako je prikazano na slici.

Korak 2: Odaberite pravi stroj

Odaberite pravi stroj
Odaberite pravi stroj

Moj osnovni stroj nije samo potpuno automatiziran, već ima i izvanredne značajke, poput automatskog isključivanja nakon 5 minuta i sjećanja na zadnju količinu kave (što će kasnije uvelike olakšati stvari). Osnovni rad stroja:

1, gumb za napajanje je pritisnut

2, pritisnuto dugme za hladnu vodu (odmah će raspršiti vodu do šalice)

3, pritisnuta tipka za toplu vodu (zagrijat će bojler ~ 20-60 sekundi i početi ispuštati toplu vodu u šalicu) Lampica napajanja će treperiti crveno tijekom razdoblja pripravnosti, a zatim će trajno svijetliti zeleno kad je bojler spreman.

Ovaj stroj također može otkriti sljedeće pogreške:

Spremnik za vodu je prazan

Držač za čašu nije na mjestu

U oba slučaja svjetlo napajanja treperi između crvene/zelene boje.

Korak 3: Izmjene hardvera

Izmjene hardvera
Izmjene hardvera

U ovom pisanju neću opisivati rastavljanje i ponovno sastavljanje kućišta jer na YouTubeu postoje video zapisi o tome. Glavni mikroprocesor skriven je odmah ispod ploče na kojoj se nalaze 2 prekidača. Kotao je s desne strane kućišta odvojen od svega ostalog, crpka i ploča za napajanje su s lijeve strane.

Aparat za kavu je okruženje za teške uvjete rada elektronike, niti jedna bočna strana nije savršeno prikladna za integriranje strujnog kruga. Desno kod kotla ima više prostora, ali ćete se nositi s toplinom, očito krug nije mogao dotaknuti ploču kotla niti biti u njezinoj blizini. Odabrao sam stranu napajanja / pumpe, ali ovdje se morate suočiti s jakom rezonancijom koja dolazi od rada membranske pumpe koja može uništiti upravljački krug / učiniti da žice s vremena na vrijeme iskliznu iz njihovih konektora.

Ploča za napajanje ne sadrži ništa korisno, ali se može koristiti za ispiranje stabilnih +5V (još jedan palac gore za ovaj stroj) koji se mogu izravno spojiti na Arduino VIN pin zaobilazeći regulator napona na ploči.

Brzi popis hardvera (nije puna specifikacija, ne sadrži osnove):

  1. Potpuna automatska verzija Dolce Gusto Circulo
  2. 5V 4-kanalni relejni modul s optičkom sprezaljkom Za PIC AVR DSP (predlažem korištenje 4x releja Reed prekidača SIP-1A05)
  3. Arduino Micro (predlažem da ubuduće koristite SparkFun Pro Micro ili novije)
  4. 2PCS 4n35 FSC optičke sprežnice Fototranzistor
  5. 1/2 "električni elektromagnetni ventil za vodeni zrak N/C normalno zatvoreni DC 12V
  6. Ultrazvučni modul HC-SR04 Senzor pretvarača za mjerenje udaljenosti (kupite neke dodatke, kasnije ćete vidjeti zašto)
  7. 2 komada Modul senzora za otkrivanje vlažnosti kišne kapljice Otkrivanje kiše za Arduino
  8. 1 Xbee
  9. Cijevni priključci za vodene blokove (mogu se razlikovati ovisno o kući, najbolje je kupiti ih u trgovini gvožđa i staviti sve zajedno prije kupnje)

Korak 4: Glavne veze i ploča upravljača

Glavne veze i ploča upravljača
Glavne veze i ploča upravljača
Glavne veze i ploča upravljača
Glavne veze i ploča upravljača
Glavne veze i ploča upravljača
Glavne veze i ploča upravljača

Sljedeće točke kruga potrebno je spojiti:

1, Vrući gumb

2, Hladno dugme

3, Crvena led

4, Green vodio

5, Glavni gumb za uključivanje

6, zajednički GND

Nažalost, izgubio sam bilješke/slike o tome gdje ih treba lemiti na ploči, ali sve se može lako pratiti pomoću multimetra (samo upotrijebite način ispitivanja dioda kako biste pratili žice natrag). Lemljenje nije bilo pretvrdo, odaberite točke SMD nogama i lemite žice.

Crvena/zelena LED dioda nalaze se jedna pored druge na prekidaču za napajanje. Oni su potrebni za određivanje stanja stroja (uključen, spreman za kuhanje kave (kotao zagrijan), pogreška). Skinuo sam ih izravno s glavne ploče, jer je teško petljati po malenom krugu oko prekidača za napajanje.

Koristio sam optičke sprege 4N35 za sigurno povezivanje s Arduinom i čitanje stanja LED -a. Prvotna ideja bila je upotrijebiti njih 5 i obaviti očitanja i kontrole prekidača (napraviti potpuno tihi krug). Nažalost, ovaj čip nije mogao generirati dovoljno nizak otpor za oponašanje pritiska na gumb pa sam bio prisiljen koristiti releje. Koristio sam generički 4-kanalni relejni modul koji sam imao pri ruci, ali ako bih morao ponoviti ovaj projekt, samo bih upotrijebio male Reed releje (SIP-1A05 Reed prekidač releja s unutarnjim flyback diodama) koji se mogu izravno spojiti na Arduino izlaz igle (opterećenje ~ 7mA) kako bi se sve moglo staviti na 2 -stupanjsku ploču.

Pet malih kabela može se jednostavno spustiti pored kabela za napajanje ispod ploče za napajanje.

Kako bih učinkovitije iskoristio prostor u stroju, odlučio sam elektroniku podijeliti na 2 glavne ploče:

Lijevo je glavna upravljačka ploča, desno (ono što ja zovem komunikacijska ploča) drži Xbee i iako nije prikazano na slici 2 senzora vode (za otkrivanje prelijevanja) stisnuta iza njega. Na vrhu je sat u stvarnom vremenu (opcionalno za produženje rada:)) i 4 -kanalna relejna ploča koja zauzima svoje mjesto pored pumpe na dnu omotana spužvom, također malo zalijepljena radi zaštite od rezonancije.

Što se tiče komunikacijske ploče, nisam se trudio izradom PCB -a već sam koristio običnu ploču jer se tamo ne događa mnogo. Ima 6 priključaka na glavnu ploču:

Vcc (5V), GND, Xbee (TX), Xbee (RX), senzor vode1 (podaci), senzor vode2 (podaci)

Korak 5: Kontrola protoka vode i mehanizam punjenja

Kontrola protoka vode i mehanizam punjenja
Kontrola protoka vode i mehanizam punjenja
Kontrola protoka vode i mehanizam punjenja
Kontrola protoka vode i mehanizam punjenja
Kontrola protoka vode i mehanizam punjenja
Kontrola protoka vode i mehanizam punjenja

Dizajnirao sam ovaj stroj imajući u vidu sigurnost, onemogućujući napadačima/kvarovima da izazovu ozbiljna oštećenja vode u kući jer bi stroj bio spojen i na slavinu i na internet 24 sata dnevno. To radi sljedeći zaštitni krug 555 na vrhu solenoida.

Također imajte na umu da solenoid radi od 12V napajanja što sam ipak uspio ugurati u dno aparata za kavu pored ploče pumpe i releja. Da ne troši energiju, četverokanalna relejna ploča prebacuje 230V glavni izravno na adapter koji će zatim uključiti solenoid. Naravno, postoji nekoliko mikrosekundnih odgoda isključivanja koje morate izračunati za kolaps magnetskog polja i na solenoidu + na adapteru pri povlačenju utikača.

Koristim standardnu utičnicu od 3,5 mm za povezivanje vanjskog bloka za vodu s dugačkom žicom od 3 metra i PVC cijevi malog promjera koja izlazi iz bloka prema aparatu za kavu.

Vrh spremnika za vodu je izbušen kako bi se smjestila ova cijev koja se zatim spušta na dno spremnika. Napomenuo bih da je vrlo važno dovoditi cijev do dna sa strane bez prolaska kroz sredinu i ometati ultrazvučne senzore.

Nakon uključivanja solenoida, krug će se automatski isključiti nakon ~ 4 sekunde (što bi trebalo biti više nego dovoljno vremena da se spremnik napuni do kraja) i ostaje u tom stanju do sljedećeg ciklusa uključivanja. Ovaj krug je posljednja linija obrane od kvara i radi potpuno samostalno od aparata za kavu. Ako bi relej u stroju otkazao i ostao zatvoren, voda bi mogla poplaviti kuću, s ovom zaštitom to se nikada ne može dogoditi.

Ako vam to još uvijek nije dovoljno dobro ili je nemoguće zatvoriti vodu ili ne želite petljati po vodenim blokovima, pogledajte moj projekt WasserStation koji je napravljen upravo za to kako bi se produžio mali spremnik vode u aparatu za kavu.

Korak 6: Otkrivanje poplava

Otkrivanje poplava
Otkrivanje poplava
Otkrivanje poplava
Otkrivanje poplava
Otkrivanje poplava
Otkrivanje poplava

Za zaštitu postoje 2 dodatna senzora vode:

  • Senzor1: na stražnjoj strani spremnika za otkrivanje prelijevanja iz spremnika
  • Senzor2: na dnu aparata za kavu za otkrivanje prelijevanja šalice

Oba će senzora aktivirati prekid koji odmah isključuje vodu, uključuje svjetlo pogreške i prekida programsko izvršavanje kako bi spriječio napad poput stvaranja milijuna kava i poplave kuće na taj način. Nakon zatvaranja programa stroj više neće reagirati ni na što i mora se ručno uključiti.

U slučaju da se pitate što bi se dogodilo ako bi ultrazvučni senzor poplavio (dogodilo se jednom:))

Ovako je vraćao vodostaj nekoliko dana, ali čak i nakon što se osušio, nikad više nije bio točan i morao sam ga zamijeniti. Stroj je dizajniran za rad iz hladne vode iz slavine, tako da vruće pare ne bi oštetile senzor. Ovaj senzor je točan samo dok razina vode ne bude 2-3 cm od njega.

Eliptični oblik spremnika otežao je proračune razine vode pa su izmjereni i tvrdo kodirani u program tako da odgovaraju postocima.

Korak 7: Testiranje i završna montaža

Testiranje i završna montaža
Testiranje i završna montaža
Testiranje i završna montaža
Testiranje i završna montaža
Testiranje i završna montaža
Testiranje i završna montaža

Stroj u svom konačnom stanju, gotovo potpuno skrivajući tragove bilo kakvog hakiranja, a da nema 3 LED indikatora statusa i USB otklanjanja pogrešaka priključka, ne biste mogli reći da se bilo što drugo događa unutra, dok bi čak moglo imati i Wifi povezan Quake server:)

Kad mijenjam uređaje, ručna upotreba mi je uvijek na prvom mjestu. Nakon hakiranja stroj je potpuno upotrebljiv za bilo koga, osim što se spremnik za vodu ne može lako ukloniti. Ako ne dovršite cijeli projekt dizajna automatizacije vode, stroj se u ovom trenutku može napuniti samo malom kombinacijom cijev + lijevak.

Korak 8: Kôd za kontrolu kave

Kôd za kontrolu kave
Kôd za kontrolu kave

Cijeli izvorni kod Arduina pronađite u nastavku.

Kratko objašnjenje koda:

Glavna petlja poziva funkciju xcomm (), odgovornu za obradu naredbi, pripremu kave, uključivanje/isključivanje aparata.

Kôd ispod dolazi samo u slučaju ručnog upravljanja. Povećava brojač statistika kako bi pratio koliko je kava napravljeno i automatski puni spremnik vode.

Naredbe se mogu slati putem Xbee -a ili preko USB priključka (otklanjanje pogrešaka mora biti omogućeno na početku). Kad dođe komunikacija s bilo kojeg narančastog LED -a trepće na sekundu za prikaz aktivnosti mreže. Implementirane su sljedeće naredbe:

1, CMSTAT - statistika upita sa stroja

Stroj pohranjuje statistiku o tome koliko je tople/hladne/ručne kave napravljeno, a dobiva i vrijeme rada od RTC -a koji se ne prelijeva nakon 3x dana pa bi mogao potrajati godinama: P

2, CMWSTART - počinje kuhati kavu i tople napitke s toplom vodom

3, CMCSTART - počinje s pripremom ledenog čaja i hladnih napitaka s hladnom vodom

Topli i hladni procesi započinju pozivanjem funkcije standby () koja vrši daljnje provjere, a zatim aktivira pritisak gumba za napajanje. Nakon toga program čeka zeleno svjetlo (kada se kotao zagrije), zatim oponaša pritisak na tipku za vruće/hladno. Nakon toga pričeka 50 sekundi (što je više nego dovoljno čak i za najveću šalicu kave), a zatim isključuje napajanje. To čak ne bi bilo potrebno jer bi se ovaj izvrsni aparat automatski isključio 5 minuta nakon kuhanja kave, ali zašto gubiti energiju? Usput, potrošnja energije uređaja u stanju pripravnosti čak i nakon izmjene je manja od 2 Watta.

Punjenje vode i sigurnost

Ovaj je stroj dizajniran s obzirom na sigurnost, pa bi bilo nemoguće da napadač koji stekne kontrolu poplavi cijelu kuću vodom. Kvar na hardveru također ne bi rezultirao ozbiljnim oštećenjima. Uz hardverske senzore nalazi se zaštita ugrađena u kôd za nadopunu. Brojač koji pokreće ISR rutinu ako se stroj ne napuni u x sekundi (to bi se, na primjer, moglo dogoditi ako bi ultrazvučni senzor neispravno funkcionirao i dao bi 20% nakon x sekundi nakon pokretanja punjenja).

Nema provjere autentičnosti, svatko može koristiti stroj unutar radijskog dometa tko zna naredbe pa sam promijenio zadani ID piconeta Xbee na nešto drugo, također se može komentirati ERR_INVALIDCMD i stroj će zanemariti sve nepoznate naredbe.

Greške

Dvostruka greška kave: najneugodnija stvar u vezi ove greške je ta što se počela događati nekoliko mjeseci nakon korištenja aparata s istim kodom. Nakon što je izdana naredba za kavu, skuhala je kavu, isključila se i ponovo uključila te nastavila kuhati još 1 kavu s istim pokroviteljem.

Morao sam početi otklanjati pogreške u dupliciranju naredbi s Android razine jer sam implementirao ponovno slanje koda u slučaju gubitka paketa. Ispostavilo se da niti Android, C kontrolni softver niti Linux kernel na raspi2 nisu odgovorni za ovaj, već Xbee.

Nakon izdavanja odjeka “CMCSTART”>/dev/ttyACM0 na upravljačkom čvoru, izašao je dvaput na drugi kraj. Zaključio sam da se moj 2,4 Ghz spektar u mojoj kući počeo zasićivati od mnogih radio uređaja u ovom rasponu što je uzrokovalo da Xbee pozove neku vrstu ponovnog slanja u radijskom sloju i da su podaci poslani dva puta (ne uvijek). Nakon što je prva naredba stigla u strojevima, funkcija xcomm () ju je počela obrađivati, međutim odmah je došla druga nakon koje se čekalo u međuspremniku Xbees, a kada je petlja završila, započela je obrada druge naredbe. Kako bih zaobišao ovaj problem, uveo sam 3 praga u kôd koji onemogućuje kuhanje više od 1 kave u 2 minute. Također postoji ograničenje za CMSTAT, ali kako ne bi ometao kontrolni kod C/Android, jednostavno će umanjiti odgovore 2 sekunde.

Posljednji prag postavljen je za ručni brojač kave, jer nakon što je stroj dosegao stanje pripravnosti (kotao se zagrijao, zeleno svjetlo), stotinama je puta zabilježio zeleni događaj povećavajući broj kave.

Korak 9: Razmišljanja o dizajnu i završne misli

Nakon puno problema s Xbee komunikacijom, ne bih preporučio Xbee za ovaj projekt. Ili upotrijebite standardni jeftini radio od 433 MHz s VirtualWire -om i sniženim bps -om za stabilnost ili umetnite Raspberry PI Zero s Wifi vezom izravno u aparat za kavu.

Kako datum pokazuje, to je stari projekt pa se ispričavam što nedostaju sitni detalji poput veze od upravljačkog kruga do preciznih nožica na matičnoj ploči. Ovaj projekt zahtijeva određenu razinu tehničkog znanja da biste to učinili sami. Ako pronađete bilo kakve greške/probleme ili želite pridonijeti ovom vodiču, obavijestite me.

Softver za upravljanje, metode glasovnog upravljanja drugi su dio koji će vam omogućiti da pripremite kavu samo glasovnom naredbom prije nego što uopće ustanete iz kreveta.

Sada sam završio dokumentaciju svog sustava za skladištenje vode (WasserStation) i ažurirao CoffeeControlCode na najnoviju verziju, koja također uključuje automatsko punjenje. Ako koristite isti stroj za izradu, punjenje će raditi besprijekorno (bez ikakvih izmjena koda) jer je razina vode kalibrirana u spremnik za vodu Circola.

Preporučeni: