Tartalomjegyzék:
- 1. lépés: Bevezetés
- 2. lépés: Válassza ki a megfelelő gépet
- 3. lépés: Hardvermódosítások
- 4. lépés: Főcsatlakozások és a vezérlőpanel
- 5. lépés: A vízáramlás szabályozása és az utántöltési mechanizmus
- 6. lépés: Árvíz észlelése
- 7. lépés: Tesztelés és végső összeszerelés
- 8. lépés: Kávévezérlő kód
- 9. lépés: Tervezési szempontok és utolsó gondolatok
Videó: JavaStation (önfeltöltő, teljesen automatikus IoT kávéfőző): 9 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ennek a projektnek az volt a célja, hogy egy teljesen automatikus hangvezérelt kávéfőzőt készítsen, amely automatikusan feltöltődik vízzel, és csak annyit kell tennie, hogy lecseréli a védnököket és meginja a kávét;)
1. lépés: Bevezetés
Mivel ez volt a második kávémódosításom, sokat tanultam a folyamat során, különösen azt, hogy minél összetettebb gépet módosít, annál több probléma/hiba jelentkezik a napi működés során. Az előző gép csak egy egyszerű régi 1 kapcsolós kávéfőző volt, relé moddal.
A Circolo (teljes automata verzió) a Dolce Gusto prémium gépének csúcsvonala. Órákat kellett töltenem a megfelelő gép keresésével, mert az összes többi gép ebből a sorozatból a felső mechanikus kar segítségével vált a hideg és a meleg víz áramlásai között, ahogy az a képen látható.
2. lépés: Válassza ki a megfelelő gépet
Az alapgépem nem csak teljesen automatikus, hanem olyan figyelemre méltó funkciókkal is rendelkezik, mint például az 5 perc elteltével történő automatikus kikapcsolás és az utolsó kávémennyiségre való emlékezés (ami később nagyon megkönnyíti a dolgokat). A gép alapvető működése:
1, Bekapcsológomb megnyomva
2, Hideg víz gomb megnyomva (azonnal eloszlatja a vizet a csészébe)
3, A melegvíz gomb megnyomva (felmelegíti a kazánt ~ 20-60 másodpercig, és elkezd forró vizet engedni a csészébe) A tápellátás jelzőfénye pirosan villog a készenléti idő alatt, majd folyamatosan zöldre vált, amikor a kazán készen áll.
Ez a gép képes a következő hibák észlelésére is:
A víztartály üres
A pohártartó nincs a helyén
Mindkét esetben a tápellátás jelzőfénye villogni kezd a piros/zöld között.
3. lépés: Hardvermódosítások
Ebben az írásban nem részletezem a tok szétszerelését és összeszerelését, mert videók vannak róla a YouTube -on. A fő mikroprocesszor közvetlenül a fejpanel alatt van elrejtve, ahol a 2 kapcsoló található. A kazán a ház jobb oldalán van, minden mástól elkülönítve, a szivattyú és a tápegység bal oldalán.
A kávéfőző nagy teherbírású környezet az elektronika számára, egyik oldal sem tökéletesen alkalmas áramkör integrálására. A jobb oldali kazánnál több hely van, de kezelni fogja a hőt, nyilvánvalóan az áramkör nem érintheti a kazánlemezt, vagy még a közelében sem lehet. A tápegység / szivattyú oldalt választottam, de itt a membránszivattyú működéséből származó erős rezonanciával kell megküzdenie, amely tönkreteheti a vezérlőáramkört / idővel kicsúsztathatja a vezetékeket a csatlakozóikból.
A tápegység nem tartalmaz semmi hasznosat, de használható stabil +5V lekapcsolására (még egy hüvelykujj ehhez a géphez), amely közvetlenül csatlakoztatható az Arduino VIN csapjához, megkerülve a fedélzeti feszültségszabályozót.
Gyors hardverlista (nem teljes BOM, nem tartalmazza az alapokat):
- Dolce Gusto Circulo teljes automata verzió
- 5V 4 csatornás relé modul optocsatolóval PIC AVR DSP (4x SIP-1A05 Reed Switch relé használatát javaslom)
- Arduino Micro (javaslom a SparkFun Pro Micro vagy újabb verzió használatát)
- 2PCS 4n35 FSC optocsatoló fototranzisztor
- 1/2 "elektromos mágnesszelep vízlevegőhöz N/C normál módon zárt DC 12V
- Ultrahangos modul HC-SR04 távolságmérő érzékelő (vásároljon néhány extrát, később látni fogja, miért)
- 2db Esőcsepp páratartalom érzékelő modul Esőérzékelő Arduino számára
- 1 Xbee
- Csőszerelvények vizesblokkokhoz (házonként eltérőek lehetnek, a legjobb, ha megvásárolja a hardverboltban, és ott összerakja a vásárlás előtt)
4. lépés: Főcsatlakozások és a vezérlőpanel
A következő áramköri pontokat kell csatlakoztatni:
1, Forró gomb
2, Hideg gomb
3, Piros led
4, zöld led
5, Fő bekapcsoló gomb
6, Megosztott GND
Sajnos elvesztem a jegyzeteimet/képeimet arról, hogy hol kell forrasztani ezeket a táblán, de mindegyik könnyen visszavezethető multiméterrel (csak használja a dióda tesztmódot a vezetékek visszavezetéséhez). A forrasztás nem volt túl kemény, válassza ki a pontokat SMD lábakkal, és forrasztja oda a vezetékeket.
A piros/zöld LED -ek egymás mellett találhatók a főkapcsolónál. Ezek a gép állapotának meghatározásához szükségesek (be van kapcsolva, kész kávéfőzésre (a kazán felmelegszik), hiba). Közvetlenül az alaplapról vettem le őket, mert nehéz a tápkapcsoló körüli kis áramkörrel babrálni.
A 4N35 optocsatolóit használtam, hogy biztonságosan illeszkedjek az Arduino -hoz, és olvassam a LED állapotát. Az eredeti ötlet az volt, hogy 5 -öt használnak, és mind a leolvasást, mind a kapcsolóvezérlést is elvégzik (teljesen csendes áramkört készítsenek). Sajnos ez a chip nem tudott elég alacsony ellenállást generálni ahhoz, hogy egy gombnyomást emuláljon, ezért kénytelen voltam reléket használni. Az általános 4 csatornás relé modult használtam, amit a kezemben tartottam, de ha újra kell csinálnom ezt a projektet, akkor csak kicsi Reed reléket (SIP-1A05 Reed Switch Relay, belső flyback diódákkal) használok, amelyek közvetlenül csatlakoztathatók az Arduino kimenetéhez csapok (~ 7mA terhelés), így mindent egy 2 szintű táblaszerkezetre lehetett helyezni.
Az 5 kis kábel könnyen lehúzható a tápkábel mellett a tápegység alatt.
A gép hatékonyabb kihasználása érdekében úgy döntöttem, hogy az elektronikát két fő panelre osztom:
A bal oldali a fő vezérlőpanel, a jobb (amit én kommunikációs táblának nevezek) az Xbee -t tartja, és bár nem látszik a képen, a 2 vízérzékelő (túlcsordulás érzékeléshez) szorítva van mögötte. A tetején a valós idejű óra (opcionális az üzemidőhöz:)) és a 4 csatornás relé tábla, amely a szivattyú mellett helyezkedik el alul szivacsba csomagolva, szintén kissé ragasztva, hogy megvédje a rezonanciát.
A kommunikációs tábla esetében nem bántam a PCB készítését, csak egy hagyományos kenyérlapot használtam, mert nem sok minden történik ott. 6 csatlakozással rendelkezik az alaplaphoz:
Vcc (5V), GND, Xbee (TX), Xbee (RX), vízérzékelő1 (adatok), vízérzékelő2 (adatok)
5. lépés: A vízáramlás szabályozása és az utántöltési mechanizmus
Ezt a gépet a biztonság szem előtt tartásával terveztem, és lehetetlenné teszik, hogy a támadók/meghibásodások súlyos vízkárokat okozzanak a házban, mivel a gép 24 órán keresztül a vízcsaphoz és az internethez is kapcsolódik. Ezt teszi a következő 555 védelmi áramkör a mágnesszelep tetején.
Azt is vegye figyelembe, hogy a mágnesszelep 12 V -os tápegységről működik, amit még mindig sikerült a kávéfőző aljába préselnem a szivattyú és a relé tábla mellett. A pazarló áramellátás érdekében a 4 csatornás relélap közvetlenül a 230 V -os tápegységet kapcsolja az adapterhez, amely bekapcsolja a mágnesszelepet. Természetesen van néhány mikroszekundumos kikapcsolási késleltetés, amit ki kell számítani a mágneses mező összeomlásához mind a mágnesszelepen, mind az adapteren a dugó kihúzásakor.
Egy szabványos 3,5 mm -es jack aljzatot használok a külső vizesblokk csatlakoztatásához egy hosszú, 3 m -es vezetékkel és egy kis átmérőjű PVC csővel, amely a kávéfőzőhöz vezető blokkból jön ki.
A víztartály tetejét ki kell fúrni, hogy befogadja ezt a csövet, amely aztán leereszkedett a tartály aljára. Megjegyezném, hogy nagyon fontos, hogy a csövet az alján lefelé, a középső rész átmenése nélkül vezessük be, és ne zavarjuk az ultrahangos érzékelőket.
Miután a mágnesszelep bekapcsol, az áramkör ~ 4 másodperc múlva automatikusan lekapcsol (ennek több mint elegendő időnek kell eltelnie a tartály feltöltéséhez), és ebben az állapotban marad a következő bekapcsolási ciklusig. Ez az áramkör az utolsó védelmi vonal a hibás működés ellen, és teljesen önállóan működik a kávéfőzőtől. Ha a gépben a relé meghibásodna és zárva maradna, a víz eláraszthatja a házat, ezzel a védelemmel ez soha nem történhet meg.
Ha ez még mindig nem elég jó az Ön számára, vagy lehetetlen elzárni a vizet, vagy nem szeretne vízblokkokkal babrálni, nézze meg a WasserStation projektemet, amely pontosan erre készült, hogy meghosszabbítsa a kávéfőző kis víztartályát.
6. lépés: Árvíz észlelése
2 további vízérzékelő van a védelem érdekében:
- 1. érzékelő: a tartály hátulján a túlfolyás érzékeléséhez a tartályból
- 2. érzékelő: a kávéfőző alján a csésze túlcsordulás érzékeléséhez
Mindkét érzékelő megszakítást vált ki, amely azonnal elzárja a vizet, felkapcsolja a hibajelző lámpát és megszakítja a program végrehajtását, hogy megakadályozza a támadást, mint például egy millió kávé elkészítése és a ház elárasztása. A program bezárása után a gép nem reagál semmire, és manuálisan kell újraindítani.
Ha kíváncsi vagy, mi történne, ha az ultrahangos érzékelőt elárasztaná (egyszer történt:))
Pár napig visszaadta a vízszintet, de még azután is kiszáradt, hogy soha többé nem lesz pontos, és ki kellett cserélnem. A gépet hideg csapvízből való működésre tervezték, így a forró gőzölés nem károsítja az érzékelőt. Ez az érzékelő csak addig pontos, amíg a vízszint 2-3 cm-re van tőle.
A tartály elliptikus alakja megnehezítette a vízszint kiszámítását, így azokat mérték és bekódolták a programba, hogy megfeleljenek a százalékoknak.
7. lépés: Tesztelés és végső összeszerelés
A gép a végső állapotában, szinte teljesen elrejti a hackelés nyomait, és ha a 3 állapotjelző LED és az USB hibakeresési port nem lenne ott, nem tudná megmondani, hogy bármi más történik belül, akár egy Wifi csatlakoztatva is Quake szerver:)
Amikor eszközöket módosítok, mindig a kézi használatot tartom elsődleges prioritásnak. A feltörés után a gépet bárki teljesen használhatja úgy, ahogy volt, kivéve, hogy a víztartályt nem lehet könnyen eltávolítani. Hacsak nem fejezi be a tervezés teljes víz -automatizálási részét, a gépet ekkor csak egy kis cső + tölcsér kombinációval lehet feltölteni.
8. lépés: Kávévezérlő kód
Keresse meg az alábbi csatolt teljes Arduino forráskódot.
A kód rövid magyarázata:
A fő hurok meghívja az xcomm () függvényt, amely a parancsfeldolgozásért, a kávé elkészítéséért, a gép be- és kikapcsolásáért felelős.
Az alatta lévő kód csak kézi vezérlés esetén érhető el. Növeli a statikus számlálót, hogy nyomon tudja követni, hány kávé készült, és automatikusan feltölti a víztartályt.
A parancsok küldhetők az Xbee -n vagy az USB -porton keresztül (a hibakeresést az elején engedélyezni kell). Amikor a kommunikáció valamelyikről érkezik, a narancssárga LED egy másodpercre villog, jelezve a hálózati tevékenységet. A következő parancsokat hajtják végre:
1, CMSTAT - statisztikai lekérdezés a gépről
A gép statisztikákat tárol arról, hogy hány forró/hideg/kézi kávét készítettek, és megkapja az üzemidőt az RTC -től, amely nem ömlik túl 3x nap után, így akár évekig is eltarthat: P
2, CMWSTART - forró vízzel kávét és forró italokat kezd készíteni
3, CMCSTART - elkezd jeges teát és hideg italokat készíteni hideg vízzel
A hideg és meleg folyamatok a készenléti () funkció meghívásával kezdődnek, amely további ellenőrzéseket végez, majd elindítja a bekapcsológomb megnyomását. Ezt követően a program várja a zöld fényt (amikor a kazán felmelegszik), majd emulálja a hideg/meleg gombot. Ezután 50 másodpercet vár (ami több, mint elég a legnagyobb kávéhoz), majd kikapcsolja a készüléket. Erre nem is lenne szükség, mivel ez a kiváló gép automatikusan kikapcsol a kávé elkészítése után 5 perccel, de miért pazarolja az energiát? Egyébként a gép készenléti fogyasztása a módosítás után is kevesebb, mint 2 W.
Víz utántöltés és biztonság
Ezt a gépet a biztonság szem előtt tartásával tervezték, így lehetetlen, hogy egy támadó, aki megszerzi az irányítást, elárasztja az egész házat vízzel. A hardverhiba sem okozna komoly károkat. A hardverérzékelők mellett az újratöltés kódjába beépített védelem található. Egy számláló, amely elindítja az ISR -rutinot, ha a gépet nem töltik fel x másodpercen belül (ez például megtörténhet, ha az ultrahangos érzékelő meghibásodna, és az utántöltés megkezdése után 20 másodperc után 20% -ot adna ki).
Nincs hitelesítés, bárki használhatja a gépet a rádió hatósugarán belül, aki ismeri a parancsokat, ezért az alapértelmezett Xbee pikethálózati azonosítót valami másra változtattam, és az ERR_INVALIDCMD megjegyzést is ki lehet írni, és a gép figyelmen kívül hagyja az ismeretlen parancsokat.
Bogarak
Dupla kávéhiba: a legbosszantóbb ebben a hibában az, hogy néhány hónappal a gép ugyanazon kóddal történő használata után kezdődött. A kávéparancs kiadása után elkészítette a kávét, kikapcsolta, majd újra bekapcsolta, és folytatott további 1 kávé főzését ugyanazzal a pártfogóval.
A parancsmásolás hibakeresését Android szintről kellett elkezdenem, mert csomagvesztés esetén megvalósítottam a kódra történő újraküldést. Kiderült, hogy sem az android, sem a C vezérlőszoftver, sem a raspi2 Linux -kernelje nem felelős ezért, inkább az Xbee.
A „CMCSTART”>/dev/ttyACM0 echo kiadása után a vezérlő csomóponton kétszer jön ki a másik végére. Arra a következtetésre jutottam, hogy az otthoni 2,4 GHz -es spektrumom kezd telítődni az ezen a tartományon lévő számos rádiós eszköztől, ami miatt az Xbee valamilyen újraküldést kezdeményezett a rádiórétegben, és az adatokat kétszer (nem mindig) küldték el. Amint az első parancs megérkezett a gépekbe, az xcomm () függvény elkezdte feldolgozni azt, de rögtön jött egy második, ami után várt az Xbees pufferben, és amikor a ciklus befejeződött, megkezdte a második parancs feldolgozását. Ennek a problémának a kiküszöbölésére 3 küszöbértéket vezettem be a kódba, amelyek lehetetlenné teszik több mint 1 kávé elkészítését 2 perc alatt. A CMSTAT -nak is van egy korlátja, de ha nem zavarja a C/Android vezérlőkódot, akkor egyszerűen 2 másodpercig elnyomja a válaszokat.
Az utolsó küszöbértéket a kézi kávézó pultnál állítottuk be, mert miután a gép elérte a készenléti állapotot (a kazán felmelegedett, a zöld fény), több százszor rögzítette a zöld eseményt, és megnövelte a kávészámot.
9. lépés: Tervezési szempontok és utolsó gondolatok
Az Xbee kommunikáció sok gondja után nem ajánlom az Xbee -t ehhez a projekthez. Használja a szokásos olcsó 433 MHz -es rádiót VirtualWire -rel és alacsonyabb Bps -sel a stabilitás érdekében, vagy ágyazjon be egy Raspberry PI Zero -t Wifi -kapcsolattal közvetlenül a kávéfőzőbe.
Mivel a dátum azt mutatja, hogy ez egy régi projekt, ezért elnézést kérek az olyan apró részletek hiánya miatt, mint például a vezérlőáramkör és az alaplap pontos csapszárai közötti kapcsolat. Ez a projekt bizonyos szintű műszaki ismereteket igényel ahhoz, hogy önállóan elvégezze. Ha bármilyen hibát/problémát talál, vagy szeretne hozzájárulni ehhez az oktatóanyaghoz, kérjük, tudassa velem.
A vezérlőszoftver, a hangvezérlés módszerei egy másik rész, amely lehetővé teszi, hogy a kávét csak hangutasítással készítse elő, még mielőtt felkelne az ágyból.
Most befejeztem a víztároló rendszerem (WasserStation) dokumentációját, és frissítettem a CoffeeControlCode kódot a legújabb verzióra, amely az automatikus utántöltést is tartalmazza. Ha ugyanazt a gépet használja az építéshez, az utántöltés hibátlanul fog működni (a kód módosítása nélkül), mivel a vízszinteket a Circolo víztartályához kalibrálták.
Ajánlott:
Kissing the Frog V2.0 - Horn hátsó Bluetooth hangszóró Teljesen nyomtatható: 5 lépés (képekkel)
Kissing the Frog V2.0 - Horn hátsó Bluetooth hangszóró Teljesen nyomtatható: Bevezetés Hadd kezdjem egy kis háttérrel. Tehát mi az a hátsó kürt hangszóró? Tekintsük ezt fordított megafonnak vagy gramofonnak. A megafon (alapvetően az első kürt hangszórója) akusztikus kürtöt használ a
Teljesen automatikus éjszakai fény: 4 lépés
Teljesen automatikus éjszakai fény: Szia Amikor az automatikus éjszakai lámpáról beszélünk, először az LDR (fényfüggő ellenállás) jut az eszünkbe. Ha az LDR -hez szeretnénk menni, mivel az ellenállás a fényintenzitással arányosan változik, akkor az ellenállás tényleges változása van néhány
Arduino vezérelt DIY kávéfőző: 13 lépés (képekkel)
Arduino vezérlésű DIY kávéfőző: Ebben az utasításban megvizsgáljuk a forrólevegős pattogatott kukorica-gép módosítását, hogy teljesen automatikus és hőmérséklet-szabályozott otthoni kávéfőzővé váljon. A kávé pörkölése otthon meglepően egyszerű, és még olyan egyszerű is, mint a sütés
IoT -képes kávéfőző: 9 lépés (képekkel)
IoT -képes kávéfőző: Ez az utasítás bekerült az IoT versenybe - Ha tetszik, kérjük, szavazzon rá! hogy valahogy automatizáljam
IOT kávéfőző (UFEE): 7 lépés (képekkel)
IOT kávéfőző (UFEE): A tudás bizonyítékaként létre kellett hoznunk egy IOT eszközt, amelyet saját készítésű webes felületen keresztül lehet vezérelni. Mivel szeretem a kávét, és sokat fogyasztok belőle naponta, úgy döntöttem, hogy saját IOT kávéfőzőt készítek. Az UFEE kávéfőző: " a co