INHOUDSOPGAWE:

JavaStation (self-hervul volledig outomatiese IoT-koffiemaker): 9 stappe (met foto's)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker): 9 stappe (met foto's)

Video: JavaStation (self-hervul volledig outomatiese IoT-koffiemaker): 9 stappe (met foto's)

Video: JavaStation (self-hervul volledig outomatiese IoT-koffiemaker): 9 stappe (met foto's)
Video: 30 COOLEST Tech Gadgets you’ll NEED in 2024 – MUST HAVE 2024, Julie
Anonim
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)
JavaStation (self-hervul volledig outomatiese IoT-koffiemaker)

Die doel van hierdie projek was om 'n volledig outomatiese stembeheerde koffiemasjien te maak wat homself outomaties met water hervul, en al wat u regtig hoef te doen is om die klante te vervang en u koffie te drink;)

Stap 1: Inleiding

Inleiding
Inleiding

Aangesien dit my tweede koffiemodus was, het ek baie geleer in die proses, veral dat hoe meer komplekse masjien u verander, hoe meer probleme/foute sal u teëkom tydens die daaglikse werking. Die vorige masjien was net 'n eenvoudige ou 1 skakelaar koffiemasjien met 'n aflosmodus.

Die Circolo (vol outomatiese weergawe) is die beste masjien van Dolce Gusto. Ek moes ure lank spandeer om na die regte masjien te soek, want al die ander masjiene uit hierdie reeks gebruik die boonste meganiese hefboom om te wissel tussen koue en warm water, soos op die foto.

Stap 2: Kies die regte masjien

Kies die regte masjien
Kies die regte masjien

My basismasjien is nie net volledig outomaties nie, maar dit het ook merkwaardige funksies, soos om outomaties na 5 minute uit te skakel en tot die laaste hoeveelheid koffie te onthou (wat dit later baie makliker sal maak). Die basiese werking van die masjien:

1, aan / uit -knoppie gedruk

2, knoppie koue water gedruk (dit sal water onmiddellik in die beker versprei)

3, knoppie warm water gedruk (dit verhit die ketel ~ 20-60 sek. En begin warm water in die beker vrylaat) Die kraglig knipper rooi tydens die bystandperiode en word dan permanent groen wanneer die ketel gereed is.

Hierdie masjien kan ook die volgende foute opspoor:

Watertenk is leeg

Bekerhouer is nie in plek nie

In beide gevalle flikker die kraglig tussen rooi/groen.

Stap 3: Hardeware -aanpassings

Hardeware -wysigings
Hardeware -wysigings

In hierdie skrywe sal ek nie die demontage en herassemblering van die saak uiteensit nie, want daar is video's daaroor op YouTube. Die hoof mikroverwerker is versteek onder die koppaneel waar die 2 skakelaars is. Die ketel is aan die regterkant van die omhulsel geskei van alles; die pomp en die kragtoevoerpaneel is aan die linkerkant.

Koffiemasjien is 'n sterk omgewing vir elektronika, nie een van die kante is perfek geskik om 'n stroombaan in te sluit nie. Regs aan die ketel het meer ruimte, maar u sal hitte hanteer, dit is duidelik dat die stroombaan nie aan die ketelplaat kan raak nie, of selfs naby dit kan wees. Ek het die kant van die kragtoevoer / pomp gekies, maar hier moet u te make kry met 'n groot resonansie as gevolg van die werking van die membraanpomp, wat die beheerkring kan verwoes / drade mettertyd uit hul verbindings kan laat glip.

Die kragtoevoerpaneel bevat niks nuttigs nie, maar kan gebruik word om 'n stabiele +5V (nog 'n duim omhoog vir hierdie masjien) af te skakel, wat direk aan die VIN -pen van die Arduino gekoppel kan word deur die ingeboude spanningsreguleerder te omseil.

Vinnige hardewarelys (nie volledige stempel nie, bevat nie basiese beginsels nie):

  1. Vol outomatiese weergawe van Dolce Gusto Circulo
  2. 5V 4-kanaals relaismodule met optokoppelaar vir PIC AVR DSP (ek stel voor dat u 4x SIP-1A05 Reed Switch Relay gebruik)
  3. Arduino Micro (ek stel voor dat u in die toekoms SparkFun Pro Micro of nuwer gebruik)
  4. 2 STUKS 4n35 FSC Optokoppelaars Fototransistor
  5. 1/2 "elektriese magneetklep vir waterlug N/C Normaal gesluit DC 12V
  6. Ultrasoniese module HC-SR04 Afstandmetersensor sensor (koop 'n paar ekstras, u sal later sien hoekom)
  7. 2 stuks Raindrop Humidity Detection Sensor Module Reënopsporing vir Arduino
  8. 1 Xbee
  9. Pypbeslag vir waterblokke (kan wissel na gelang van die huis, dit is die beste om dit in die hardewarewinkel te koop en dit alles bymekaar te sit voordat u dit koop)

Stap 4: Hoofverbindings en die beheerraad

Hoofverbindings en die beheerraad
Hoofverbindings en die beheerraad
Hoofverbindings en die beheerraad
Hoofverbindings en die beheerraad
Hoofverbindings en die beheerraad
Hoofverbindings en die beheerraad

Die volgende kringpunte moet gekoppel word:

1, warm knoppie

2, koue knoppie

3, rooi gelei

4, groen gelei

5, hoofknoppie

6, gedeelde GND

Ongelukkig het ek my aantekeninge/foto's verloor oor waar ek dit op die bord moet soldeer, maar alles kan maklik met 'n multimeter opgespoor word (gebruik die diode -toetsmodus om die drade terug te spoor). Die soldering was nie te moeilik nie, kies punte met SMD -bene en soldeer die drade daar.

Die rooi/groen LED's is albei langs mekaar by die aan/uit -skakelaar. Dit is nodig om die toestand van die masjien te bepaal (aangeskakel, gereed om koffie te maak (ketel verhit), fout). Ek het hulle direk van die hoofbord afgehaal, want dit is moeilik om met die klein kring om die aan / uit -skakelaar te sit.

Ek gebruik die optokoppelaars van 4N35 om veilig met die Arduino te skakel en die toestande van die LED te lees. Die oorspronklike idee was om 5 daarvan te gebruik en sowel die lesings as die skakelaarkontroles te doen (maak 'n heeltemal stil kring). Ongelukkig kon hierdie chip nie genoeg weerstand genereer om 'n knoppie te druk nie, so ek moes noodgedwonge relais gebruik. Ek het die generiese 4-kanaals relaismodule gebruik wat ek in die hand gehad het, maar as ek hierdie projek sou moes oordoen, sou ek net klein Reed-relais (SIP-1A05 Reed Switch Relay met interne flyback-diodes) gebruik wat direk aan die Arduino se uitset gekoppel kan word penne (~ 7mA laai) sodat alles op 'n 2 -vlak bordstruktuur geplaas kan word.

Die 5 klein kabels kan maklik langs die kragdrade onder die toevoerbord afgebring word.

Om die ruimte doeltreffender in die masjien te gebruik, het ek besluit om die elektronika in twee groot panele te verdeel:

Links is die hoofbeheerbord, regs (wat ek die kommunikasiebord noem) hou die Xbee en alhoewel dit nie op die foto getoon word nie, druk die 2 watersensors (vir oorloopopsporing) agter dit. Aan die bokant is die real -time horlosie (opsioneel vir uptime:)) en die 4 -kanaals relaisbord wat langs die pomp onder in die spons toegedraai is, ook 'n bietjie vasgeplak om te beskerm teen resonansie.

Vir die kommunikasiebord het ek nie die moeite gedoen om PCB te maak nie; ek het net 'n gewone broodbord gebruik, want daar is nie veel aan die gang nie. Dit het 6 verbindings met die hoofbord:

Vcc (5V), GND, Xbee (TX), Xbee (RX), watersensor1 (data), watersensor2 (data)

Stap 5: Waterstroombeheer en die hervulingsmeganisme

Watervloeibeheer en die hervulingsmeganisme
Watervloeibeheer en die hervulingsmeganisme
Watervloeibeheer en die hervulingsmeganisme
Watervloeibeheer en die hervulingsmeganisme
Watervloeibeheer en die hervulingsmeganisme
Watervloeibeheer en die hervulingsmeganisme

Ek het hierdie masjien ontwerp met die oog op sekuriteit, wat dit vir aanvallers/wanfunksies onmoontlik maak om ernstige waterskade aan die huis te veroorsaak, aangesien die masjien 24/7 gekoppel is aan die kraan en die internet. Dit is wat die volgende 555 -beskermingskring bo -op die solenoïde doen.

Let ook daarop dat die solenoïde met 'n 12V -kragtoevoer werk, wat ek nog in die onderkant van die koffiemasjien langs die pomp en relaisbord kon druk. Om nie krag te mors nie, skakel die 4 -kanaal -relaisbord die 230V -hoofleiding direk na die adapter, wat dan die solenoïde aanskakel. Daar is natuurlik 'n paar mikrosekondes se afsetvertraging wat u moet bereken vir die ineenstorting van die magnetiese veld, beide op die solenoïde + op die adapter wanneer u die prop trek.

Ek gebruik 'n standaard 3,5 mm -aansluiting om die eksterne waterblok aan te sluit met 'n lang draad van 3 m en 'n PVC -pyp met 'n klein deursnee wat uit die blok na die koffiemaker kom.

Die bokant van die watertenk word geboor om hierdie pyp te akkommodeer, wat dan na die onderkant van die tenk gebring word. Ek sou daarop let dat dit baie belangrik is om die pyp aan die onderkant aan die onderkant te voer sonder om deur die middel te gaan en met die ultrasoniese sensors in te meng.

Nadat die solenoïde aangeskakel is, skakel die stroombaan dit outomaties uit na ~ 4 sekondes (wat meer as genoeg tyd behoort te neem om die tenk vol te maak) en dit bly in hierdie toestand tot die volgende aan -siklus. Hierdie kring is die laaste verdedigingslinie teen wanfunksionering en werk heeltemal op sy eie van die koffiemaker. As die aflos in die masjien sou misluk en gesluit bly, kan die water die huis oorstroom, met hierdie beskerming kan dit nooit gebeur nie.

As dit nog steeds nie goed genoeg is vir u nie, of as dit onmoontlik is om die water toe te maak, of as u nie met waterblokke wil rondkrap nie, kyk gerus na my WasserStation -projek wat presies hiervoor gebou is om die klein watertenk van die koffiemasjien uit te brei.

Stap 6: Vloedopsporing

Oorstromingsopsporing
Oorstromingsopsporing
Oorstromingsopsporing
Oorstromingsopsporing
Oorstromingsopsporing
Oorstromingsopsporing

Daar is 2 ekstra watersensors vir beskerming:

  • Sensor1: aan die agterkant van die tenk vir oorloopopsporing uit die tenk
  • Sensor2: aan die onderkant van die koffiemasjien vir die opsporing van koppies

Beide hierdie sensors sal 'n onderbreking veroorsaak wat die water onmiddellik afskakel, die foutlig aanskakel en die uitvoering van die program afskakel om 'n aanval te voorkom, soos om 'n miljoen koffie te maak en die huis so oorstroom. Nadat die program gestaak is, reageer die masjien nie meer op enigiets nie en moet dit met die hand met die fiets gery word.

As u wonder wat sou gebeur as die ultrasoniese sensor oorstroom sou word (dit het een keer gebeur:))

Dit gee die watervlak so paar dae terug, maar selfs nadat dit uitgedroog het, was dit nooit weer akkuraat nie en ek moes dit vervang. Die masjien is ontwerp om uit die koue kraanwater te loop sodat die stoom nie die sensor beskadig nie. Hierdie sensor is slegs akkuraat totdat die watervlak 2-3 cm daarvandaan is.

Die elliptiese vorm van die tenk het die watervlakberekeninge bemoeilik, sodat hulle gemeet en in die program vasgemaak is om aan te pas by persentasies.

Stap 7: Toetsing en finale vergadering

Toets en finale vergadering
Toets en finale vergadering
Toets en finale vergadering
Toets en finale vergadering
Toets en finale vergadering
Toets en finale vergadering

Die masjien in sy finale toestand, wat die spore van enige inbraak byna heeltemal verberg, en as die 3 status -aanwyser -LED's en USB -ontfoutingpoort nie daar sou wees nie, kon u nie weet dat daar iets anders aan die gang is nie, terwyl dit selfs 'n Wifi -verbinding kon huisves Quake server:)

As ek toestelle verander, hou ek altyd handmatige gebruik hoog in die vaandel. Na die hack is die masjien heeltemal bruikbaar vir almal net soos dit was, behalwe dat die watertenk nie maklik verwyder kan word nie. Tensy u die volledige waterautomatiseringsgedeelte van die ontwerp voltooi het, kan die masjien slegs op hierdie punt gevul word met 'n klein pyp + tregterkombinasie.

Stap 8: Koffiekontrolekode

Koffiebeheer kode
Koffiebeheer kode

Vind die volledige Arduino -bronkode hieronder.

Kort verduideliking van die kode:

Die hooflus noem die funksie xcomm (), wat verantwoordelik is vir die opdragverwerking, die maak van koffie, die aan-/afskakel van die masjien.

Die onderstaande kode word slegs bereik in die geval van handmatige beheer. Dit verhoog 'n stat -toonbank om by te hou hoeveel koffie gemaak is en vul die watertenk outomaties.

Opdragte kan via die Xbee of via die USB -poort gestuur word (Ontfout moet aan die begin geaktiveer word). As die kommunikasie van die oranje LED af kom, knip dit 'n sekonde om netwerkaktiwiteit aan te toon. Die volgende opdragte word geïmplementeer:

1, CMSTAT - navraagstatistieke van die masjien

Die masjien stoor statistieke oor hoeveel warm/koue/handgemaakte koffie gemaak is, en kry ook die uptyd van die RTC, wat nie na 3x dae oorloop nie, sodat dit tot jare kan styg: P

2, CMWSTART - begin koffie en warm drankies met warm water maak

3, CMCSTART - begin ystee en koue drankies met koue water maak

Die warm en koue prosesse begin met die oproep na die standby () -funksie, wat verdere kontrole uitvoer en dan 'n aan / uit -knoppie druk. Daarna wag die program op die groen lig (as die ketel verhit word), druk dan 'n warm/koue knoppie na. Daarna wag dit 50 sekondes (wat meer as genoeg is vir selfs die grootste koppie koffie) en skakel dan die krag uit. Dit sou nie eens nodig wees nie, aangesien hierdie uitstekende masjien outomaties 5 minute na die koffie afgeskakel sou word, maar waarom moet u krag mors? Terloops, die standby -verbruik van die masjien, selfs na die wysiging, is minder as 2 Watt.

Water hervulling en sekuriteit

Hierdie masjien is ontwerp met die oog op veiligheid, so dit sou onmoontlik wees vir 'n aanvaller wat beheer kry om die hele huis met water te oorstroom. 'N Hardeware -onderbreking lei ook nie tot ernstige skade nie. Langs die hardeware sensors is daar beskerming in die kode vir die hervulling. 'N Teller wat die ISR -roetine aanskakel as die masjien nie binne x sekondes hervul word nie (dit kan byvoorbeeld gebeur as die ultrasoniese sensor sou funksioneer en 20% gee na x sekondes sodra die hervulling begin is).

Daar is geen verifikasie nie, enigiemand kan die masjien binne die radioafstand gebruik wat die opdragte ken, so ek het die standaard Xbee piconet -ID na iets anders verander; ook die ERR_INVALIDCMD kan kommentaar lewer en die masjien sal enige onbekende opdragte ignoreer.

Goggas

Dubbele koffiegoggie: die irriterendste aan hierdie gogga is dat dit 'n paar maande na die gebruik van die masjien met dieselfde kode begin het. Nadat die koffie -opdrag uitgereik is, het dit die koffie gemaak, afgeskakel en weer aangeskakel en voortgegaan met nog 1 koffie met dieselfde patroon.

Ek moes die opdrag-duplisering vanaf Android-vlak ontfout, omdat ek her-stuur na die kode geïmplementeer het in geval van pakkieverlies. Dit blyk dat nie die Android, C -beheersagteware of die Linux -kern op die raspi2 daarvoor verantwoordelik was nie, eerder die Xbee.

Nadat eko "CMCSTART">/dev/ttyACM0 op die kontroleknoop uitgereik is, kom dit twee keer na die ander kant. Ek het tot die gevolgtrekking gekom dat my 2,4 GHz -spektrum in my huis versadig geraak het van die vele radiotoestelle in hierdie reeks, wat daartoe gelei het dat 'n Xbee 'n soort herhaling in die radiolaag oproep en dat die data twee keer gestuur is (nie altyd nie). Sodra die eerste opdrag in die masjiene begin, het xcomm () die funksie begin verwerk, maar 'n tweede een het onmiddellik ingekom, waarna dit in die Xbees -buffer gewag het en toe die lus klaar was, het die tweede opdrag begin verwerk. Om hierdie probleem te omseil, het ek drie drempels in die kode ingevoer om dit onmoontlik te maak om meer as 1 koffie in 2 minute te maak. Daar is ook 'n beperking op die CMSTAT, maar as u nie die C/Android -beheerkode inmeng nie, sal dit die reaksies vir 2 sekondes eenvoudig afskrik.

Die laaste drempel is vir die handmatige koffietoonbank ingedien, want sodra die masjien in die gereed -toestand (ketel verhit, groen lig) gekom het, het dit die groen gebeurtenis honderde kere aangeteken en die koffietelling verhoog.

Stap 9: Ontwerpoorwegings en finale gedagtes

Na baie probleme met die Xbee -kommunikasie, sal ek Xbee nie aanbeveel vir hierdie projek nie. Gebruik óf die standaard goedkoop 433Mhz -radio met VirtualWire en verlaagde Bps vir stabiliteit, of steek 'n Raspberry PI Zero met Wifi -verbinding direk in die koffiemasjien in.

Soos die datum toon, is dit 'n ou projek, so ek vra om verskoning vir die klein besonderhede wat ontbreek, soos die verbinding van die stuurkring tot die presiese penbene op die moederbord. Hierdie projek vereis 'n sekere vlak van tegniese kennis om dit alleen te doen. Laat weet my as u foute/probleme ondervind of u wil bydra tot hierdie tutoriaal.

Die beheersagteware, metodes vir stembeheer, is vir 'n ander deel, wat dit moontlik maak om u koffie deur 'n spraakopdrag gereed te hê voordat u eers uit die bed klim.

Ek het nou die dokumentasie van my wateropbergstelsel (WasserStation) voltooi en die CoffeeControlCode opgedateer na die nuutste weergawe, wat ook die outomatiese hervulling insluit. As u dieselfde masjien gebruik vir die bouwerk, werk die hervulling foutloos (sonder enige wysiging van die kode), aangesien die watervlakke gekalibreer is in die watertenk van die Circolo.

Aanbeveel: