Obsah:

JavaStation (plně automatický kávovar IoT s automatickým doplňováním): 9 kroků (s obrázky)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním): 9 kroků (s obrázky)

Video: JavaStation (plně automatický kávovar IoT s automatickým doplňováním): 9 kroků (s obrázky)

Video: JavaStation (plně automatický kávovar IoT s automatickým doplňováním): 9 kroků (s obrázky)
Video: The computer designed to only run Java Applets - Sun JavaStation 2024, Červenec
Anonim
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)
JavaStation (plně automatický kávovar IoT s automatickým doplňováním)

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

Úvod
Ú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

Vyberte správný stroj
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

Úpravy hardwaru
Ú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):

  1. Plně automatická verze Dolce Gusto Circulo
  2. 5V 4kanálový reléový modul s optočlenem pro PIC AVR DSP (doporučuji použít 4x reléové relé SIP-1A05)
  3. Arduino Micro (doporučuji v budoucnu použít SparkFun Pro Micro nebo novější)
  4. 2PCS 4n35 FSC optočleny fototranzistor
  5. Elektromagnetický ventil 1/2 "pro vodní vzduch vzduch/vzduch normálně uzavřený DC 12V
  6. 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č)
  7. 2ks Modul senzoru detekce vlhkosti Raindrop Detekce deště pro Arduino
  8. 1 Xbee
  9. 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

Hlavní připojení a řídicí deska
Hlavní připojení a řídicí deska
Hlavní připojení a řídicí deska
Hlavní připojení a řídicí deska
Hlavní připojení a řídicí deska
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í

Kontrola toku vody a mechanismus doplňování
Kontrola toku vody a mechanismus doplňování
Kontrola toku vody a mechanismus doplňování
Kontrola toku vody a mechanismus doplňování
Kontrola toku vody a mechanismus doplňování
Kontrola 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

Detekce záplav
Detekce záplav
Detekce záplav
Detekce záplav
Detekce záplav
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áž

Testování a finální montáž
Testování a finální montáž
Testování a finální montáž
Testování a finální montáž
Testování a finální montáž
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

Kontrolní kód kávy
Kontrolní kód 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: