Obsah:
- Krok 1: Úvod
- Krok 2: Vyberte správný stroj
- Krok 3: Úpravy hardwaru
- Krok 4: Hlavní připojení a řídicí deska
- Krok 5: Řízení toku vody a mechanismus doplňování
- Krok 6: Detekce záplav
- Krok 7: Testování a finální montáž
- Krok 8: Kód pro kontrolu kávy
- Krok 9: Úvahy o návrhu a závěrečné myšlenky
Video: JavaStation (plně automatický kávovar IoT s automatickým doplňováním): 9 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Cílem tohoto projektu bylo vytvořit plně automatický hlasem ovládaný kávovar, který se automaticky doplní vodou a vše, co musíte udělat, je vyměnit patrony a vypít kávu;)
Krok 1: Úvod
Jelikož to byl můj druhý způsob přípravy kávy, naučil jsem se toho hodně, zejména to, že čím složitější stroj upravíte, tím více problémů/chyb se vám během každodenního provozu bude stávat. Předchozí stroj byl jen jednoduchý starý 1spínací kávovar s reléovým režimem.
Circolo (plně automatická verze) je vrcholem prémiového stroje Dolce Gusto. Musel jsem strávit hodiny hledáním správného stroje, protože všechny ostatní stroje z této řady používaly horní mechanickou páku k přepínání mezi proudy studené a horké vody, jak je znázorněno na obrázku.
Krok 2: Vyberte správný stroj
Můj základní stroj není jen plně automatický, ale má pozoruhodné funkce, jako je automatické vypnutí po 5 minutách a zapamatování si posledního množství kávy (což později v úpravách značně usnadní věci). Základní operace stroje:
1, Tlačítko napájení stisknuto
2, Tlačítko studené vody stisknuto (okamžitě rozptýlí vodu do šálku)
3, Tlačítko horké vody stisknuto (ohřívá kotel ~ 20-60 sekund a začne vypouštět horkou vodu do šálku) Kontrolka napájení bude v pohotovostním režimu blikat červeně, poté, co je kotel připraven, trvale svítí zeleně.
Tento stroj má také schopnost detekovat následující chyby:
Nádrž na vodu je prázdná
Držák poháru není na svém místě
V obou případech bude kontrolka napájení blikat mezi červenou/zelenou.
Krok 3: Úpravy hardwaru
V tomto psaní nebudu podrobně rozebírat a znovu sestavovat pouzdro, protože na YouTube jsou o tom videa. Hlavní mikroprocesor je skrytý přímo pod hlavním panelem, kde jsou 2 přepínače. Kotel je na pravé straně skříně oddělený od všeho ostatního, panel čerpadla a napájecího zdroje je na levé straně.
Kávovar je náročné prostředí pro elektroniku, žádná ze stran není dokonale vhodná pro integraci obvodu. Napravo u kotle má více prostoru, ale vy se budete potýkat s teplem, evidentně se obvod nemohl dotknout desky kotle nebo být dokonce blízko ní. Vybral jsem si stranu napájecího zdroje / čerpadla, ale zde se musíte vypořádat s těžkou rezonancí pocházející z provozu membránového čerpadla, které může zničit řídicí obvod / způsobit, že dráty časem vyklouznou z konektorů.
Panel napájecího zdroje neobsahuje nic užitečného, ale lze jej použít k vyprázdnění stabilních +5 V (ještě jeden palec nahoru pro tento stroj), které lze přímo připojit k VIN kolíku Arduina obcházejícímu regulátor napětí na desce.
Rychlý seznam hardwaru (ne úplný kusovník, neobsahuje základy):
- Plně automatická verze Dolce Gusto Circulo
- 5V 4kanálový reléový modul s optočlenem pro PIC AVR DSP (doporučuji použít 4x reléové relé SIP-1A05)
- Arduino Micro (doporučuji v budoucnu použít SparkFun Pro Micro nebo novější)
- 2PCS 4n35 FSC optočleny fototranzistor
- Elektromagnetický ventil 1/2 "pro vodní vzduch vzduch/vzduch normálně uzavřený DC 12V
- Ultrazvukový modul Snímač převodníku pro měření vzdálenosti HC-SR04 (kupte si nějaké doplňky, později uvidíte proč)
- 2ks Modul senzoru detekce vlhkosti Raindrop Detekce deště pro Arduino
- 1 Xbee
- Potrubní armatury pro vodní bloky (může se lišit v závislosti na domě, nejlépe koupit v železářství a dát dohromady tam před nákupem)
Krok 4: Hlavní připojení a řídicí deska
Je třeba připojit následující body obvodu:
1, tlačítko Hot
2, studené tlačítko
3, červená LED
4, zelená LED
5, Hlavní vypínač
6, sdílený GND
Bohužel jsem ztratil své poznámky/obrázky o tom, kam je pájet na desku, ale vše lze snadno dohledat zpět pomocí multimetru (stačí použít režim testu diod pro trasování vodičů zpět). Pájení nebylo příliš tvrdé, vyberte body SMD nožičkami a pájejte tam dráty.
Červená/zelená LED dioda jsou umístěny vedle sebe na vypínači. Jsou potřebné k určení stavu stroje (zapnuto, připraveno k přípravě kávy (ohřátý kotel), chyba). Sundal jsem je přímo z hlavní desky, protože je obtížné pohrávat si s malým obvodem kolem vypínače.
K bezpečnému propojení s Arduinem a čtení stavů LED jsem používal optočleny 4N35. Původní myšlenka byla použít 5 z nich a provést také čtení a ovládání přepínačů (vytvořit zcela tichý obvod). Bohužel tento čip nemohl generovat dostatečně nízký odpor k emulaci stisknutí tlačítka, takže jsem byl nucen použít relé. Použil jsem obecný 4kanálový reléový modul, který jsem měl v ruce, ale pokud bych musel tento projekt předělat, použil bych pouze malá reléová relé (reléové relé SIP-1A05 s interními diodami flyback), která lze přímo připojit k výstupu Arduina piny (zatížení ~ 7mA), takže vše lze umístit na 2úrovňovou deskovou strukturu.
Těchto 5 malých kabelů lze snadno zavést vedle napájecích kabelů pod napájecí deskou.
Pro efektivnější využití prostoru ve stroji jsem se rozhodl rozdělit elektroniku na 2 hlavní panely:
Vlevo je hlavní řídicí deska, vpravo (to, čemu říkám komunikační deska) drží Xbee, a přestože to není na obrázku znázorněno, 2 vodní senzory (pro detekci přetečení) se stlačily za ním. Nahoře hodiny reálného času (volitelně pro provozuschopnost:)) a 4kanálová reléová deska zaujímající své místo vedle čerpadla ve spodní části zabalená do houby, také trochu lepená na ochranu před rezonancí.
Pro komunikační desku jsem se neobtěžoval vyrábět PCB jen pomocí běžného prkénka, protože se tam toho moc neděje. Má 6 připojení k základní desce:
Vcc (5V), GND, Xbee (TX), Xbee (RX), Water sensor1 (Data), Water sensor2 (Data)
Krok 5: Řízení toku vody a mechanismus doplňování
Navrhl jsem tento stroj s ohledem na zabezpečení, takže je nemožné, aby útočníci/poruchy způsobily vážné poškození vodou vodou, protože stroj by byl připojen jak k vodovodu, tak k internetu 24/7. To dělá následující ochranný obvod 555 na solenoidu.
Všimněte si také, že solenoid pracuje z napájecího zdroje 12V, který se mi ještě podařilo vtěsnat do spodní části kávovaru vedle desky čerpadla a relé. Aby nedošlo k plýtvání energií, 4kanálová reléová deska přepíná síť 230 V přímo na adaptér, který pak zapne solenoid. Samozřejmě existuje několik mikrosekundových prodlev, které musíte vypočítat pro kolaps magnetického pole jak na solenoidu + na adaptéru při vytažení zástrčky.
K připojení vnějšího vodního bloku používám standardní 3,5 mm konektor dlouhým 3 m drátem a PVC trubkou o malém průměru vycházející z bloku vedoucího do kávovaru.
Horní část nádrže na vodu je vyvrtána, aby se do ní vešlo toto potrubí, které se poté dostalo dolů na dno nádrže. Chtěl bych poznamenat, že je velmi důležité přivádět trubku dolů na stranu, aniž by procházela středem a zasahovala do ultrazvukových senzorů.
Poté, co se solenoid zapne, obvod se automaticky vypne po ~ 4 sekundách (což by mělo být více než dost času na plné naplnění nádrže) a zůstane v tomto stavu až do dalšího cyklu zapnutí. Tento obvod je poslední obrannou linií proti poruše a funguje zcela samostatně od kávovaru. Pokud by relé ve stroji selhalo a zůstalo sepnuto, voda by mohla zaplavit dům, s touto ochranou se to nikdy nemůže stát.
Pokud to pro vás stále není dost dobré nebo není možné zavřít vodu nebo si nechcete pohrávat s vodními bloky, podívejte se na můj projekt WasserStation, který byl postaven přesně za tímto účelem k rozšíření malé vodní nádrže kávovaru.
Krok 6: Detekce záplav
K ochraně jsou k dispozici 2 další vodní senzory:
- Senzor 1: na zadní straně nádrže pro detekci přetečení z nádrže
- Senzor 2: ve spodní části kávovaru pro detekci přetečení šálku
Oba tyto senzory spustí přerušení, které okamžitě vypne vodu, rozsvítí chybové světlo a přeruší provádění programu, aby se zabránilo útoku, jako je příprava milionu káv a zaplavení domu. Po ukončení programu stroj již nebude na nic reagovat a musí být ručně vypnut.
Pokud vás zajímá, co by se stalo, kdyby se zaplavil ultrazvukový senzor (stalo se to jednou:))
Několik dní to takto vracelo hladinu vody, ale i když to zaschlo, nikdy to nebylo přesné a musel jsem to vyměnit. Stroj byl navržen tak, aby běžel ze studené vody z vodovodu, takže žádné napařování z horkého nepoškodí senzor. Tento senzor je přesný pouze do doby, než je hladina vody 2-3 cm od něj.
Eliptický tvar nádrže ztěžoval výpočty hladiny vody, takže byly měřeny a pevně zakódovány do programu, aby odpovídaly procentům.
Krok 7: Testování a finální montáž
Stroj je v konečném stavu, téměř úplně skrývá stopy po jakémkoli hackování, a pokud by tam nebyly 3 indikátory stavu a port pro ladění USB, nemohli byste říci, že se uvnitř děje něco jiného, a dokonce by mohl být připojen i Wifi Zemětřesení server:)
Když upravuji zařízení, vždy považuji ruční použití za nejvyšší prioritu. Po hacku je stroj zcela použitelný kýmkoli, jenže nádrž na vodu nelze snadno vyjmout. Dokud nedokončíte kompletní část konstrukce vodní automatizace, lze stroj v tuto chvíli naplnit pouze kombinací malého potrubí a trychtýře.
Krok 8: Kód pro kontrolu kávy
Níže naleznete kompletní zdrojový kód Arduina.
Stručné vysvětlení kódu:
Hlavní smyčka volá funkci xcomm (), zodpovědnou za zpracování příkazů, přípravu kávy, zapnutí/vypnutí stroje.
Kód pod ním je dosažen pouze v případě ručního ovládání. Zvyšuje počitadlo statistik, aby sledovalo, kolik káv bylo vyrobeno, a automaticky naplní nádrž na vodu.
Příkazy lze odesílat přes Xbee nebo přes USB port (na začátku musí být povoleno ladění). Když přichází komunikace, buď oranžová LED bliká na sekundu, aby se zobrazila síťová aktivita. Jsou implementovány následující příkazy:
1, CMSTAT - statistika dotazů ze stroje
Stroj ukládá statistiky o tom, kolik bylo vyrobeno horké/studené/ruční kávy, a také získává provozuschopnost z RTC, který po 3 dnech nepřeteče, takže může trvat až roky: P
2, CMWSTART - začíná vařit kávu a horké nápoje horkou vodou
3, CMCSTART - začíná vařit ledový čaj a studené nápoje se studenou vodou
Teplé a studené procesy začínají voláním funkce standby (), která provádí další kontroly, a poté spustí stisknutí tlačítka napájení. Poté program čeká na zelené světlo (když je kotel zahřátý) a poté emuluje stisknutí tlačítka horký/studený. Poté počká 50 sekund (což je více než dost i na ten největší šálek kávy) a poté vypne napájení. To by ani nebylo nutné, protože tento vynikající stroj se automaticky vypne 5 minut po přípravě kávy, ale proč plýtvat energií? Mimochodem, spotřeba energie v pohotovostním režimu stroje i po úpravě je menší než 2 watty.
Doplňování vody a zabezpečení
Tento stroj byl navržen s ohledem na bezpečnost, takže by bylo nemožné, aby útočník, který získá kontrolu, zaplavil celý dům vodou. Selhání hardwaru by také nemělo za následek vážné škody. Vedle hardwarových senzorů jsou v kódu pro náplň integrovány ochrany. Počitadlo, které spouští rutinu ISR, pokud není stroj znovu naplněn za x sekund (k tomu může například dojít, pokud by ultrazvukový senzor selhal a po x sekundách by se vydal 20% po zahájení doplňování).
Neexistuje žádné ověřování, stroj může používat kdokoli v rádiovém dosahu, kdo zná příkazy, takže jsem změnil výchozí ID piconetu Xbee na něco jiného, také ERR_INVALIDCMD lze okomentovat a stroj bude ignorovat všechny neznámé příkazy.
Hmyz
Dvojitá chyba kávy: Nejotravnější na této chybě je, že se to začalo dít několik měsíců po použití stroje se stejným kódem. Poté, co byl vydán příkaz káva, káva uvařila, vypnula a znovu zapla a pokračovala ve vaření 1 další kávy se stejným patroonem.
Musel jsem začít ladit duplikaci příkazů z úrovně Android, protože jsem implementoval opětovné odeslání kódu v případě ztráty paketů. Ukázalo se, že za to nemůže Xbee, ani android, řídicí software C ani linuxové jádro na raspi2.
Po vydání echa „CMCSTART“>/dev/ttyACM0 na řídicí uzel vyjde dvakrát na druhý konec. Došel jsem k závěru, že moje 2,4GHz spektrum v mém domě začalo být nasyceno z mnoha rádiových zařízení v tomto rozsahu, což způsobilo, že Xbee vyvolal nějaký druh opětovného odeslání v rádiové vrstvě a data byla odeslána dvakrát (ne vždy). Jakmile přijde první příkaz do strojů, funkce xcomm () ji začne zpracovávat, ale druhý přijde hned poté, co čekalo ve vyrovnávací paměti Xbees a když smyčka skončila, začala zpracovávat druhý příkaz. Abych se tomuto problému vyhnul, zavedl jsem do kódu 3 prahové hodnoty, aby bylo nemožné vyrobit více než 1 kávu za 2 minuty. Také existuje limit pro CMSTAT, ale aby nezasahoval do řídicího kódu C/Android, jednoduše odezní reakce na 2 sekundy.
Poslední prahová hodnota byla zadána pro ruční počítadlo kávy, protože jakmile kávovar dosáhl stavu připravenosti (kotel se zahřál, zelené světlo) stokrát zaznamenal zelenou událost a zvýšil počet káv.
Krok 9: Úvahy o návrhu a závěrečné myšlenky
Po mnoha problémech s komunikací Xbee bych Xbee pro tento projekt nedoporučil. Buď použijte standardní levné rádio 433 MHz s VirtualWire a sníženými Bps pro stabilitu, nebo vložte přímo do kávovaru Raspberry PI Zero s Wifi připojením.
Jak ukazuje datum, je to starý projekt, omlouvám se za chybějící malé detaily, jako je připojení z řídicího obvodu k přesným pinovým nohám na základní desce. Tento projekt vyžaduje určitou úroveň technických znalostí, abyste jej zvládli sami. Pokud najdete nějaké chyby/problémy nebo byste chtěli přispět do tohoto tutoriálu, dejte mi prosím vědět.
Ovládací software, metody hlasového ovládání, je pro další část, která vám umožní připravit si kávu pouhým hlasovým příkazem, než se vůbec dostanete z postele.
Nyní jsem dokončil dokumentaci svého systému skladování vody (WasserStation) a aktualizoval CoffeeControlCode na nejnovější verzi, která také obsahuje automatické doplňování. Pokud pro stavbu použijete stejný stroj, bude náplň fungovat bezchybně (bez jakékoli úpravy kódu), protože hladiny vody byly kalibrovány do vodní nádrže Circolo.
Doporučuje:
Kancelář na baterie. Sluneční soustava s automatickým přepínáním solárních panelů východ/západ a větrnou turbínou: 11 kroků (s obrázky)
Kancelář na baterie. Sluneční soustava s automatickým přepínáním solárních panelů východ/západ a větrnou turbínou: Projekt: Kancelář o rozloze 200 čtverečních stop musí být napájena bateriemi. Kancelář musí také obsahovat všechny ovladače, baterie a součásti potřebné pro tento systém. Solární a větrná energie bude nabíjet baterie. Existuje malý problém pouze
Úžasný skleník s automatickým zavlažováním, připojením k internetu a mnohem více: 7 kroků (s obrázky)
Úžasný skleník s automatickým zavlažováním, připojením k internetu a mnohem více: Vítejte v tomto návodu. Na začátku března jsem byl v zahradním obchodě a viděl jsem nějaké skleníky. A protože jsem už delší dobu chtěl dělat projekt s rostlinami a elektronikou, šel jsem do toho a koupil si: https://www.instagram.com/p
Rozložení modelové železnice s automatickým projížděním vlečky (V2.0): 13 kroků (s obrázky)
Rozložení modelové železnice s automatickým projížděním vlečky (V2.0): Tento projekt je aktualizací jednoho z předchozích projektů modelové železniční automatizace, Rozložení modelové železnice s automatickým vlečením. Tato verze přidává funkci spojování a rozpojování lokomotivy s kolejovými vozidly. Provoz
Kávovar s podporou IoT: 9 kroků (s obrázky)
Kávovar s povolenou IoT: Tento instruktáž je zařazen do soutěže IoT - Pokud se vám líbí, hlasujte pro ni! AKTUALIZOVÁNO: Nyní podporuje obousměrné komunikace a aktualizace OTA Již nějakou dobu mám kávovar Jura a vždy jsem chtěl abych to nějak zautomatizoval
IOT kávovar (UFEE): 7 kroků (s obrázky)
IOT Coffeemaker (UFEE): Jako důkaz znalostí jsme museli vytvořit zařízení IOT, které by bylo možné ovládat prostřednictvím vlastního webového rozhraní. Protože miluji kávu a denně ji hodně konzumuji, rozhodl jsem se vyrobit si vlastní IOT kávovar. Kávovar UFEE: " co