Kazalo:
- 1. korak: Uvod
- 2. korak: Izberite pravi stroj
- 3. korak: Spremembe strojne opreme
- 4. korak: glavne povezave in nadzorna plošča
- 5. korak: Nadzor pretoka vode in mehanizem polnjenja
- 6. korak: Zaznavanje poplav
- 7. korak: Testiranje in končna montaža
- 8. korak: Koda za nadzor kave
- 9. korak: Oblikovalski premisleki in zaključne misli
Video: JavaStation (popolnoma samodejni popolnoma avtomatski IoT aparat za kavo): 9 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:06
Cilj tega projekta je bil izdelati popolnoma avtomatiziran aparat za kavo z glasovnim nadzorom, ki se samodejno napolni z vodo in vse kar morate storiti je, da zamenjate obiskovalce in popijete kavo;)
1. korak: Uvod
Ker je bil to moj drugi način kave, sem se v tem procesu veliko naučil, še posebej, da bolj zapleten stroj spremenite, več težav/hroščev boste imeli pri vsakodnevnem delovanju. Prejšnji stroj je bil le preprost star aparat za kavo z 1 stikalom z relejskim načinom.
Circolo (popolnoma samodejna različica) je vrh vrhunskega stroja Dolce Gusto. Moral sem porabiti ure za iskanje ustreznega stroja, ker so vsi drugi stroji iz te serije z zgornjo mehansko ročico preklapljali med pretoki hladne in tople vode, kot je prikazano na sliki.
2. korak: Izberite pravi stroj
Moj osnovni stroj ni samo popolnoma avtomatiziran, ampak ima izjemne funkcije, kot je samodejni izklop po 5 minutah in spominjanje na zadnjo količino kave (kar bo pozneje pri modingu precej olajšalo stvari). Osnovno delovanje stroja:
1, pritisnjen gumb za vklop
2, pritisnjen gumb za hladno vodo (takoj bo razpršil vodo v skodelico)
3, pritisnjen gumb za toplo vodo (ogreval bo bojler ~ 20-60 sekund in začel sproščati vročo vodo v skodelico) Lučka za napajanje bo v času pripravljenosti utripala rdeče, nato pa bo trajno zelena, ko bo kotel pripravljen.
Ta stroj lahko zazna tudi naslednje napake:
Posoda za vodo je prazna
Držalo za skodelico ni na svojem mestu
V obeh primerih lučka za napajanje utripa med rdečo/zeleno.
3. korak: Spremembe strojne opreme
V tem pisanju ne bom podrobno razstavljal in ponovno sestavljal ohišja, ker so na YouTubu videoposnetki o tem. Glavni mikroprocesor je skrit tik pod glavo, kjer sta dve stikali. Kotel je na desni strani ohišja ločen od vsega drugega, črpalka in napajalna plošča sta na levi strani.
Aparat za kavo je težko okolje za elektroniko, nobena od stranskih naprav ni popolnoma primerna za integracijo vezja. Na desni strani kotla je več prostora, vendar se boste spopadli s toploto, očitno se vezje ni moglo dotakniti kotlovske plošče ali biti celo blizu nje. Odločil sem se za napajanje / črpalko, toda tukaj se morate spoprijeti z močno resonanco, ki izhaja iz delovanja membranske črpalke, ki lahko poškoduje krmilno vezje / sčasoma zdrsne žice iz njihovih priključkov.
Napajalna plošča ne vsebuje ničesar uporabnega, vendar se lahko uporabi za odvajanje stabilnega +5V (še en palec gor za ta stroj), ki ga je mogoče neposredno priključiti na VIN -vtič Arduino, mimo vgrajenega regulatorja napetosti.
Hiter seznam strojne opreme (ni polna specifikacija, ne vključuje osnov):
- Popolnoma samodejna različica Dolce Gusto Circulo
- 5V 4-kanalni relejni modul z optičnim sklopnikom Za PIC AVR DSP (predlagam uporabo 4-kratnega releja Reed Switch SIP-1A05)
- Arduino Micro (predlagam uporabo SparkFun Pro Micro ali novejše v prihodnosti)
- 2PCS 4n35 FSC optični sklopniki fototranzistor
- 1/2 "električni elektromagnetni ventil za vodni zrak N/C normalno zaprt DC 12V DC
- Ultrazvočni modul HC-SR04 Senzor merilnika razdalje (kupite nekaj dodatkov, kasneje boste videli zakaj)
- 2 kom. Modul senzorja za zaznavanje vlažnosti dežnih kapljic Odkrivanje dežja za Arduino
- 1 Xbee
- Cevni priključki za vodne bloke (lahko se razlikujejo glede na hišo, najbolje je, da jih kupite v trgovini s strojno opremo in jih tam sestavite pred nakupom)
4. korak: glavne povezave in nadzorna plošča
Priključiti je treba naslednje točke vezja:
1, Vroči gumb
2, gumb za hladno
3, rdeča led
4, zelena led
5, Glavni gumb za vklop
6, GND v skupni rabi
Na žalost sem izgubil zapiske/slike o tem, kje jih lahko spajkam na ploščo, vendar je vse mogoče zlahka izslediti z multimetrom (samo uporabite preskusni način diode, da sledite žicam nazaj). Spajkanje ni bilo pretrdo, izberite točke z nogami SMD in tam spajkajte žice.
Rdeča/zelena LED se nahajata ena poleg druge na stikalu za vklop. Potrebni so za določanje stanj aparata (vklopljen, pripravljen za pripravo kave (segret kotel), napaka). Odstranil sem jih neposredno z glavne plošče, ker se težko poigravam z majhnim vezjem okoli stikala za vklop.
Za varno povezavo z Arduinom in branje stanj LED sem uporabljal optične sklopke 4N35. Prvotna zamisel je bila, da bi jih uporabili 5 in opravili tako odčitke kot tudi stikala (naredite popolnoma tiho vezje). Žal ta čip ni mogel ustvariti dovolj nizkega upora za posnemanje pritiska na gumb, zato sem bil prisiljen uporabiti releje. Uporabil sem generični 4-kanalni relejni modul, ki sem ga imel pri roki, če pa bi moral projekt ponoviti, bi uporabil le majhne releje Reed (rele za stikalo Reed SIP-1A05 z notranjimi povratnimi diodami), ki jih je mogoče neposredno priključiti na izhod Arduina zatiči (~ 7mA obremenitev), tako da je vse mogoče postaviti na 2 -stopenjsko konstrukcijo plošče.
5 majhnih kablov lahko enostavno spustite poleg napajalnih kablov pod napajalno ploščo.
Za učinkovitejšo uporabo prostora v stroju sem se odločil, da elektroniko razdelim na 2 glavni plošči:
Levo je glavna nadzorna plošča, desno (kar imenujem komunikacijska plošča) drži Xbee in čeprav ni prikazano na sliki, sta za njo stisnjena 2 senzorja vode (za zaznavanje prelivanja). Na vrhu je ura v realnem času (neobvezno za neprekinjeno delovanje:)) in 4 -kanalna relejna plošča, ki je nameščena poleg črpalke na dnu, zavita v gobo, prav tako nekoliko lepljena za zaščito pred resonanco.
Za komunikacijsko ploščo se nisem potrudil, da bi PCB uporabil samo navadno ploščo, ker se tam ne dogaja veliko. Ima 6 povezav z glavno ploščo:
Vcc (5V), GND, Xbee (TX), Xbee (RX), senzor vode1 (podatki), senzor vode2 (podatki)
5. korak: Nadzor pretoka vode in mehanizem polnjenja
Ta stroj sem zasnoval z mislijo na varnost, zaradi česar napadalci/okvare ne morejo povzročiti resne škode zaradi vode v hiši, saj bi bil stroj priključen na pipo in internet 24 ur na dan. To počne naslednje zaščitno vezje 555 na vrhu elektromagneta.
Upoštevajte tudi, da elektromagnet deluje iz 12V napajanja, kar sem še vedno uspel stisniti v dno aparata za kavo poleg plošče črpalke in releja. Da ne izgubljate energije, 4 -kanalna relejna plošča preklopi omrežni vtič 230V neposredno na adapter, ki bo nato vklopil elektromagnet. Seveda obstaja nekaj mikrosekundnih zakasnitev izklopa, kar morate izračunati za propad magnetnega polja tako na solenoidu + na adapterju ob vlečenju vtikača.
Uporabljam standardni priključek 3,5 mm za povezavo zunanjega vodnega bloka z dolgo 3 -milimetrsko žico in PVC cevjo majhnega premera, ki prihaja iz bloka do aparata za kavo.
Zgornji del rezervoarja za vodo je izvrtan, da sprejme to cev, ki se nato spusti na dno rezervoarja. Ugotovil bi, da je zelo pomembno, da cev dovedete do dna na strani, ne da bi šli skozi sredino in posegali v ultrazvočne senzorje.
Ko se elektromagnet, ki je vklopljen, samodejno izklopi po ~ 4 sekundah (kar bi moralo biti več kot dovolj časa za polnjenje rezervoarja) in ostane v tem stanju do naslednjega cikla vklopa. To vezje je zadnja obrambna linija pred okvaro in deluje popolnoma samostojno od aparata za kavo. Če bi rele v stroju odpovedal in ostal zaprt, bi voda lahko poplavila hišo, s to zaščito se to nikoli ne zgodi.
Če vam to še vedno ni dovolj dobro ali je nemogoče zapreti vodo ali se ne želite poigravati z vodnimi bloki, si oglejte moj projekt WasserStation, ki je bil zgrajen ravno za to, da bi podaljšal majhen rezervoar za vodo v kavnem avtomatu.
6. korak: Zaznavanje poplav
Za zaščito sta na voljo 2 dodatna senzorja vode:
- Senzor1: na zadnji strani rezervoarja za zaznavanje prelivanja iz rezervoarja
- Senzor2: na dnu aparata za kavo za zaznavanje prelivanja skodelic
Oba senzorja sprožita prekinitev, ki takoj izklopi vodo, prižge lučko napake in prekine izvajanje programa, da prepreči napad, kot je priprava milijona kav in poplava hiše na ta način. Po zaključku programa se naprava ne odziva več na nič in jo je treba ročno aktivirati.
Če se sprašujete, kaj bi se zgodilo, če bi ultrazvočni senzor preplavil (to se je zgodilo enkrat:))
Nekaj dni je vračal tak nivo vode, a tudi potem, ko se je posušil, nikoli več ni bil natančen in sem ga moral zamenjati. Stroj je bil zasnovan tako, da deluje iz hladne vode iz pipe, tako da vroče pare ne poškodujejo senzorja. Ta senzor je natančen le, dokler ni nivo vode 2-3 cm od njega.
Eliptična oblika rezervoarja je otežila izračune nivoja vode, zato so bili izmerjeni in trdo kodirani v program, da ustrezajo odstotkom.
7. korak: Testiranje in končna montaža
Stroj v končnem stanju, skoraj v celoti skrije sledi kakršnega koli vdora in če 3 LED indikatorja stanja in vrata za odpravljanje napak USB ne bi bila tam, ne bi mogli povedati, da se v notranjosti dogaja karkoli drugega, medtem ko bi lahko imel celo povezan Wi -Fi Strežnik Quake:)
Ko spreminjam naprave, imam ročno uporabo vedno na prvem mestu. Po krampu je stroj popolnoma uporaben tako kot je bil, razen če posode za vodo ni mogoče enostavno odstraniti. Če ne dokončate celotnega projekta načrtovanja avtomatizacije vode, lahko stroj na tem mestu napolnite le z majhno kombinacijo cevi + lijaka.
8. korak: Koda za nadzor kave
Spodaj najdete celotno izvorno kodo Arduino.
Kratka razlaga kode:
Glavna zanka kliče funkcijo xcomm (), ki je odgovorna za obdelavo ukazov, pripravo kave, vklop/izklop aparata.
Koda spodaj je dosežena le v primeru ročnega upravljanja. Poveča števec stat, da spremlja, koliko kave je bilo narejeno, in samodejno napolni rezervoar za vodo.
Ukaze lahko pošljete prek Xbee ali prek vrat USB (odpravljanje napak mora biti omogočeno na začetku). Ko pride komunikacija z ene ali druge oranžne lučke, za sekundo utripa, da prikaže omrežno aktivnost. Izvedeni so naslednji ukazi:
1, CMSTAT - statistika poizvedb s stroja
Naprava shranjuje statistične podatke o tem, koliko tople/hladne/ročne kave je bilo narejeno, prav tako pa pridobi čas delovanja iz RTC, ki se po 3 -krat ne prelije, zato bi lahko trajal več let: P
2, CMWSTART - začne kuhati kavo in tople napitke z vročo vodo
3, CMCSTART - začne s pripravo ledenega čaja in hladnih pijač s hladno vodo
Vroči in hladni procesi se začnejo s klicem funkcije standby (), ki opravi nadaljnja preverjanja, nato sproži pritisk gumba za vklop. Po tem program počaka na zeleno luč (ko se kotel segreje) in posnema pritisk na tipko vroče/hladno. Po tem počaka 50 sekund (kar je več kot dovolj tudi za največjo skodelico kave) in nato izklopi napajanje. To niti ne bi bilo potrebno, saj bi se ta odličen aparat samodejno izklopil 5 minut po pripravi kave, a zakaj izgubljati energijo? Mimogrede, poraba energije v stanju pripravljenosti stroja tudi po spremembi znaša manj kot 2 vata.
Polnjenje vode in varnost
Ta stroj je bil zasnovan z mislijo na varnost, zato bi napadalcu, ki pridobi nadzor, nemogoče poplaviti celo hišo z vodo. Tudi okvara strojne opreme ne bi povzročila resnih poškodb. Poleg senzorjev strojne opreme je v kodo za polnjenje vgrajena zaščita. Števec, ki sproži rutino ISR, če se stroj ne napolni v x sekundah (to se lahko na primer zgodi, če ultrazvočni senzor ne deluje pravilno in po x sekundah odda 20% po začetku polnjenja).
Preverjanja pristnosti ni, vsak lahko uporablja stroj znotraj radijskega dosega, ki pozna ukaze, zato sem privzeti ID pikoneta Xbee spremenil v nekaj drugega, tudi ERR_INVALIDCMD je mogoče komentirati in naprava bo prezrla vse neznane ukaze.
Napake
Dvojna napaka kave: najbolj nadležno pri tej napaki je, da se je začela pojavljati nekaj mesecev po uporabi aparata z isto kodo. Ko je bil ukaz za kavo izdan, je skuhal kavo, jo izklopil in ponovno vklopil ter nadaljeval kuhati še 1 kavo z istim pokroviteljem.
Moral sem začeti odpravljanje napak podvajanja ukazov na ravni Android, ker sem izvedel ponovno pošiljanje kode v primeru izgube paketa. Izkazalo se je, da za to niso odgovorni niti android, programska oprema C za upravljanje ali jedro Linuxa na raspi2, ampak Xbee.
Po izdaji odmeva “CMCSTART”>/dev/ttyACM0 na krmilnem vozlišču pride dvakrat na drugi konec. Ugotovil sem, da je moj 2,4 GHz spekter v mojem domu začel nasičevati številne radijske naprave v tem območju, kar je povzročilo, da je Xbee sprožil nekakšno ponovno pošiljanje v radijski plasti, podatki pa so bili poslani dvakrat (ne vedno). Ko je prvi ukaz prišel v strojih, ga je funkcija xcomm () začela obdelovati, takoj po tem pa je prišel drugi, ki je čakal v vmesniku Xbees in ko je zanka končala, je začel z obdelavo drugega ukaza. Da bi se izognili tej težavi, sem v kodo uvedel 3 prage, ki onemogočajo pripravo več kot 1 kave v 2 minutah. Obstaja tudi omejitev za CMSTAT, vendar, da ne vpliva na nadzorno kodo C/Android, bo preprosto dušil odzive za 2 sekundi.
Za ročni števec kave je bil določen zadnji prag, saj je aparat, ko je dosegel stanje pripravljenosti (segret kotel, zelena luč), več stokrat zapisal zeleni dogodek in povečal število kave.
9. korak: Oblikovalski premisleki in zaključne misli
Po številnih težavah s komunikacijo Xbee ne bi priporočil Xbeeja za ta projekt. Za stabilnost bodisi uporabite standardni poceni radio s 433 MHz z VirtualWire in znižanimi Bps ali pa vstavite Raspberry PI Zero s povezavo Wifi neposredno v aparat za kavo.
Kot kaže datum, je to star projekt, zato se opravičujem za manjše podrobnosti, kot je povezava iz krmilnega vezja z natančnimi nožicami na matični plošči. Ta projekt zahteva določeno stopnjo tehničnega znanja, da ga lahko izvedete sami. Če najdete kakršne koli napake/težave ali želite prispevati k tej vadnici, mi to sporočite.
Nadzorna programska oprema in načini glasovnega upravljanja so še en del, ki vam bo omogočil pripravo kave samo z glasovnim ukazom, še preden vstanete iz postelje.
Zdaj sem dokončal dokumentacijo svojega sistema za shranjevanje vode (WasserStation) in posodobil kodo CoffeeControlCode na najnovejšo različico, ki vključuje tudi samodejno polnjenje. Če za izdelavo uporabljate isti stroj, bo polnjenje delovalo brezhibno (brez spreminjanja kode), saj so bili nivoji vode umerjeni v rezervoar za vodo Circolo.
Priporočena:
STONE Display +STM32 +Aparat za kavo: 6 korakov
STONE Display +STM32 +Aparat za kavo: Sem inženir programske opreme MCU, pred kratkim sem prejel projekt naj bo aparat za kavo, gospodinjske zahteve z zaslonom na dotik, funkcija je dobra, nad zaslonom izbira morda ni dobra, na srečo lahko ta projekt zavrnem
Pametni aparat za kavo - del ekosistema SmartHome: 4 koraki
Pametni aparat za kavo - del ekosistema SmartHome: Hacked Coffee Machine, ki je postal del SmartHome Ecosystem Imam dober stari Delonghi aparat za kavo (DCM) (ni promocija in želim, da je "pameten". Zato sem ga vdrl z namestitvijo ESP8266 modul z vmesnikom za možgane/mikrokrmilnik z uporabo
Pametna črpalka za aparat za kavo, ki jo nadzira ultrazvočni senzor Raspberry Pi & HC-SR04 in Cloud4RPi: 6 korakov
Pametna črpalka za aparat za kavo, ki jo nadzirata ultrazvočni senzor Raspberry Pi & HC-SR04 in Cloud4RPi: teoretično, vsakič, ko greste na aparat za kavo na jutranjo skodelico, obstaja le ena od dvajset možnosti, da morate napolniti vodo rezervoar. V praksi pa se zdi, da stroj nekako najde način, da vam to nalogo vedno naloži.
WiFi aparat za kavo: 9 korakov
WiFi aparat za kavo: Aparat za kavo Wifi uporablja Arduino, NODE MCU in reciklirane dele za varno in daljinsko skodelico kave
Aparat za kavo IOT (UFEE): 7 korakov (s slikami)
Aparat za kavo IOT (UFEE): Kot dokaz znanja smo morali ustvariti napravo IOT, ki bi jo lahko upravljali prek lastnega spletnega vmesnika. Ker obožujem kavo in jo dnevno uživam veliko, sem se odločil, da si naredim svoj aparat za kavo IOT. Aparat za kavo UFEE: "