Talaan ng mga Nilalaman:

JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker): 9 Mga Hakbang (na may Mga Larawan)
JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker): 9 Mga Hakbang (na may Mga Larawan)

Video: JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker): 9 Mga Hakbang (na may Mga Larawan)

Video: JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker): 9 Mga Hakbang (na may Mga Larawan)
Video: 3-часовой марафон паранормальных и необъяснимых историй 2024, Hulyo
Anonim
JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker)
JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker)
JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker)
JavaStation (Self-Refilling Ganap na Awtomatikong IoT Coffee Maker)
JavaStation (Pag-refill sa Sarili Ganap na Awtomatikong IoT Coffee Maker)
JavaStation (Pag-refill sa Sarili Ganap na Awtomatikong IoT Coffee Maker)

Ang layunin ng proyektong ito ay upang makagawa ng isang ganap na awtomatikong boses na kinokontrol ng boses na gumagawa ng awtomatikong pinunan ang sarili nito ng tubig at ang talagang kailangan mong gawin ay palitan ang mga parokyano at uminom ng iyong kape;)

Hakbang 1: Panimula

Panimula
Panimula

Dahil ito ang aking pangalawang mod ng kape maraming natutunan ako sa proseso, partikular na ang mas kumplikadong makina na binago mo ang mas maraming mga problema / bug na makakaharap mo sa araw-araw na operasyon. Ang nakaraang makina ay isang simpleng old 1 switch coffee maker na may relay mod lamang.

Ang Circolo (buong awtomatikong bersyon) ay ang tuktok ng linya ng premium machine ng Dolce Gusto. Kailangan kong gumastos ng maraming oras sa paghahanap para sa tamang makina dahil ang lahat ng iba pang mga machine mula sa seryeng ito na gumagamit ng tuktok na mekanikal na pingga upang lumipat sa pagitan ng malamig at mainit na tubig na dumadaloy tulad ng ipinakita sa larawan.

Hakbang 2: Piliin ang Tamang Makina

Piliin ang Tamang Makina
Piliin ang Tamang Makina

Ang aking base machine ay hindi lamang ganap na awtomatiko ngunit mayroon itong mga kapansin-pansin na tampok tulad ng awtomatikong pag-patay pagkatapos ng 5 minuto at pag-alala sa huling halaga ng kape (na magpapadali sa mga bagay sa paglaon sa modding). Pangunahing operasyon ng makina:

1, pinindot ang pindutan ng kuryente

2, tinulak ang malamig na pindutan ng tubig (agad nitong ikakalat ang tubig sa tasa)

3, Itinulak ang pindutan ng mainit na tubig (magpapainit ito ng boiler ~ 20-60 sec at magsisimulang ilabas ang mainit na tubig sa tasa) Ang ilaw ng kuryente ay magiging blinking pula sa panahon ng standby at pagkatapos ay magiging berde nang permanente kapag handa na ang boiler.

Ang makina na ito ay mayroon ding kakayahang makita ang mga sumusunod na error:

Walang laman ang tangke ng tubig

Wala sa lugar ang may hawak ng tasa

Sa parehong mga kaso ang ilaw ng kuryente ay magkikislap sa pagitan ng pula / berde.

Hakbang 3: Mga Pagbabago sa Hardware

Mga Pagbabago sa Hardware
Mga Pagbabago sa Hardware

Sa pagsusulat na ito ay hindi ko idetalye ang pag-disassemble at muling pagtataguyod ng kaso dahil may mga video tungkol dito sa YouTube. Ang pangunahing microprocessor ay nakatago sa ilalim mismo ng head panel kung saan naroon ang 2 switch. Ang boiler ay nasa kanang bahagi ng kaso na pinaghiwalay mula sa lahat, ang pump at power supply panel ay nasa kaliwang bahagi.

Ang kape machine ay isang mabibigat na kapaligiran sa tungkulin para sa electronics, wala sa gilid ay perpektong angkop upang isama ang isang circuit sa. Ang kanan sa boiler ay may mas maraming espasyo ngunit haharapin mo ang init, malinaw na ang circuit ay hindi maaaring hawakan ang boiler plate o maging malapit dito. Napili ko ang power supply / pump side ngunit narito kailangan mong harapin ang mabibigat na taginting na nagmumula sa pagpapatakbo ng membrane pump na maaaring masira ang control circuit / gumawa ng mga wire na mawala sa kanilang mga konektor sa paglipas ng panahon.

Ang power supply panel ay hindi naglalaman ng anumang kapaki-pakinabang ngunit maaaring magamit upang lech off ang isang matatag + 5V (isa pang hinlalaki para sa machine na ito) na maaaring direktang konektado sa VIN pin ng Arduino na bypassing ang sa board regulator ng boltahe.

Mabilis na listahan ng hardware (hindi buong BOM, hindi kasama ang mga pangunahing kaalaman):

  1. Dolce Gusto Circulo buong awtomatikong bersyon
  2. 5V 4 Channel Relay Module Sa optocoupler Para sa PIC AVR DSP (Iminumungkahi ko ang paggamit ng 4x SIP-1A05 Reed Switch Relay)
  3. Arduino Micro (Iminumungkahi ko ang paggamit ng SparkFun Pro Micro o mas bago sa hinaharap)
  4. 2PCS 4n35 FSC Optocouplers Phototransistor
  5. 1/2 "Electric Solenoid Valve Para sa Air Air N / C Karaniwang Sarado DC 12V
  6. Ultrasonic Module HC-SR04 Distansya sa Pagsukat ng Transducer Sensor (bumili ng ilang mga extra, makikita mo sa paglaon kung bakit)
  7. 2 pcs Raindrop Humidity Detection Sensor Module Pagtuklas ng Ulan para sa Arduino
  8. 1 Xbee
  9. Ang mga fittings ng tubo para sa mga bloke ng tubig (maaaring mag-iba depende sa isang bahay, pinakamahusay na bilhin ito sa tindahan ng hardware at isama ang lahat doon bago bumili)

Hakbang 4: Pangunahing Mga Koneksyon at ang Board ng Controller

Pangunahing Mga Koneksyon at ang Lupon ng Controller
Pangunahing Mga Koneksyon at ang Lupon ng Controller
Pangunahing Mga Koneksyon at ang Lupon ng Controller
Pangunahing Mga Koneksyon at ang Lupon ng Controller
Pangunahing Mga Koneksyon at ang Lupon ng Controller
Pangunahing Mga Koneksyon at ang Lupon ng Controller

Ang mga sumusunod na puntos ng circuit ay kailangang konektado:

1, Mainit na pindutan

2, Cold button

3, namumuno si Red

4, namuno si Green

5, Pangunahing kapangyarihan sa pindutan

6, Ibinahagi GND

Sa kasamaang palad nawala ang aking mga tala / larawan kung saan i-solder ang mga ito sa board ngunit ang lahat ay madaling masusundan pabalik sa isang multimeter (gamitin lamang ang diode test mode upang subaybayan ang mga wire). Ang paghihinang ay hindi masyadong mahirap, pumili ng mga puntos na may mga binti ng SMD at maghinang ang mga wire doon.

Ang Red / Green LEDs ay parehong matatagpuan sa tabi ng bawat isa sa switch ng kuryente. Kinakailangan ang mga ito upang matukoy ang mga estado ng makina (pinapagana, handa nang gumawa ng kape (pinainit ang boiler), error). Inalis ko sila nang direkta mula sa pangunahing board, sapagkat mahirap makalikot sa maliit na circuit sa paligid ng power switch.

Gumagamit ako ng mga optocoupler ng 4N35 upang ligtas na makaugnay sa Arduino at basahin ang mga estado ng LED. Ang orihinal na ideya ay ang gumamit ng 5 sa kanila at gawin ang parehong mga pagbabasa at mga kontrol ng switch din (gumawa ng isang ganap na circuit ng circuit). Sa kasamaang palad ang chip na ito ay hindi maaaring makabuo ng mababang sapat na paglaban upang tularan ang isang pindutan ng push kaya napilitan akong gumamit ng mga relay. Ginamit ko ang generic na 4 channel relay module kung ano ang mayroon ako ngunit kung nais kong gawing muli ang proyektong ito gagamitin ko lang ang maliit na Reed relay (SIP-1A05 Reed Switch Relay na may panloob na mga flyback diode) na maaaring direktang konektado sa output ng Arduino mga pin (~ 7mA load) kaya't ang lahat ay maaaring mailagay sa isang 2 antas ng istraktura ng board.

Ang 5 maliliit na kable ay madaling ibababa sa tabi ng mga power cords sa ilalim ng supply board.

Upang magamit nang mas mahusay ang espasyo sa makina ay nagpasya akong hatiin ang electronics sa 2 pangunahing mga panel:

Ang kaliwa ay ang pangunahing control board, ang kanan (kung ano ang tawag sa akin ng board ng komunikasyon) ay humahawak sa Xbee at kahit na hindi ito ipinakita sa larawan ang 2 mga sensor ng tubig (para sa pagkakita ng overflow) na pinisil sa likuran nito. Sa tuktok ang real time na orasan (opsyonal para sa uptime:)) at ang 4 na channel ng relay board na nagaganap sa tabi ng bomba sa ibabang balot sa espongha, dinikit din ng kaunti upang maprotektahan mula sa resonasyon.

Para sa board ng komunikasyon, hindi ako nag-abala sa paggawa ng PCB na gumamit lamang ng isang regular na breadboard dahil walang gaanong nangyayari doon. Mayroon itong 6 na koneksyon sa pangunahing board:

Vcc (5V), GND, Xbee (TX), Xbee (RX), Water sensor1 (Data), Water sensor2 (Data)

Hakbang 5: Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill

Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill
Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill
Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill
Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill
Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill
Pagkontrol sa Daloy ng Tubig at ang Mekanismo ng Muling Pag-refill

Dinisenyo ko ang makina na ito na may seguridad na nasa isip, na ginagawang imposible para sa mga umaatake / malfunction na maging sanhi ng malubhang pinsala sa tubig sa bahay dahil ang makina ay mai-hook sa parehong gripo at sa Internet 24/7. Ito ang ginagawa ng sumusunod na 555 na circuit ng proteksyon sa tuktok ng solenoid.

Tandaan din na ang solenoid ay nagpapatakbo mula sa isang 12V power supply kung ano ang nagawa ko pa ring pigain sa ilalim ng machine ng kape sa tabi ng pump at relay board. Hindi sayangin ang kapangyarihan ng 4channel relay board na switch ang 230V pangunahing direkta sa adapter na pagkatapos ay i-on ang solenoid. Mayroong kurso ng ilang mga microseconds turnoff na pagkaantala kung ano ang kailangan mong kalkulahin para sa pagbagsak ng magnetic field kapwa sa solenoid + sa adapter sa paghila ng plug.

Gumagamit ako ng isang karaniwang 3.5mm jack upang ikonekta ang panlabas na bloke ng tubig na may isang mahabang 3m wire at isang maliit na diameter na tubo ng PVC na lalabas mula sa bloke na papunta sa gumagawa ng kape.

Ang tuktok ng tangke ng tubig ay drilled out upang mapaunlakan ang tubo na pagkatapos ay ibababa sa ilalim ng tank. Mapapansin ko na napakahalaga na pakainin ang tubo pababa sa ilalim ng gilid nang hindi dumaan sa gitna at makagambala sa mga ultrasonikong sensor.

Matapos ang solenoid na pinapatakbo sa circuit ay awtomatikong isasara ito pagkatapos ~ 4 segundo (na dapat ay higit sa sapat na oras upang punan ang tangke hanggang sa puno) at mananatili ito sa estado na ito hanggang sa susunod na power ON cycle. Ang circuit na ito ay ang huling linya ng pagtatanggol laban sa madepektong paggawa at nagpapatakbo ito ng ganap na nakapag-iisa mula sa gumagawa ng kape. Kung ang relay sa makina ay mabibigo at manatiling sarado ang tubig ay maaaring baha sa bahay, sa proteksyon na ito hindi ito maaaring mangyari.

Kung ito ay hindi pa rin sapat na mabuti para sa iyo o imposibleng isara ang tubig o hindi mo nais na gumala gamit ang mga bloke ng tubig tingnan ang aking proyekto sa WasserStation na binuo nang eksakto para sa ito upang mapalawak ang maliit na tangke ng tubig ng coffee machine.

Hakbang 6: Pagtuklas sa Baha

Pagtuklas ng Baha
Pagtuklas ng Baha
Pagtuklas ng Baha
Pagtuklas ng Baha
Pagtuklas ng Baha
Pagtuklas ng Baha

Mayroong 2 karagdagang mga sensor ng tubig para sa proteksyon:

  • Sensor1: sa likod ng tangke para sa labis na pagtuklas mula sa tanke
  • Sensor2: sa ilalim ng machine ng kape para sa pagtuklas ng cup overflow

Ang parehong mga sensor na ito ay mag-uudyok ng isang makagambala kung saan pinapatay ang tubig kaagad, binuksan ang ilaw ng error at pinalaglag ang pagpapatupad ng programa upang maiwasan ang pag-atake tulad ng paggawa ng isang milyong kape at pagbaha sa bahay sa ganoong paraan. Matapos ang programa ay umalis sa makina ay hindi na tumutugon sa anumang bagay at dapat na manu-manong na-powercycled.

Kung sakaling magtaka ka kung ano ang mangyayari kung magbaha ang ultrasonic sensor (nangyari ito nang isang beses:))

Nagbabalik ito ng antas ng tubig na tulad nito sa loob ng ilang araw ngunit kahit na matuyo ito ay hindi na ito magiging tumpak ulit at kailangan kong palitan ito. Ang makina ay idinisenyo upang patakbuhin mula sa malamig na gripo ng tubig kaya't walang steaming mula sa mainit ang makakasira sa sensor. Ang sensor na ito ay tumpak lamang hanggang sa ang antas ng tubig ay 2-3 cms mula rito.

Ang elliptic na hugis ng tanke ay nagpahirap sa mga kalkulasyon sa antas ng tubig kaya't sinusukat at hardcoded ito sa programa upang sumunod sa mga porsyento.

Hakbang 7: Pagsubok at Pangwakas na Assembly

Pagsubok at Pangwakas na Assembly
Pagsubok at Pangwakas na Assembly
Pagsubok at Pangwakas na Assembly
Pagsubok at Pangwakas na Assembly
Pagsubok at Pangwakas na Assembly
Pagsubok at Pangwakas na Assembly

Ang makina sa pangwakas na estado, halos buong pagtatago ng mga bakas ng anumang pag-hack at kung ang mga tagapagpahiwatig ng 3 status LEDs at USB debug port ay hindi doon hindi mo masasabi na may anumang nangyayari pa sa loob habang maaari pa nitong ilagay ang isang koneksyon sa Wifi. Quake server:)

Kapag binago ko ang mga aparato palagi kong pinapanatili ang pangunahing paggamit ng manu-manong paggamit. Matapos ang pag-hack ang makina ay ganap na magagamit ng sinuman tulad nito, maliban sa tangke ng tubig ay hindi madaling matanggal. Maliban kung natapos mo ang kumpletong bahagi ng automation ng tubig ng disenyo, ang machine ay maaari lamang mapunan sa puntong ito na may isang maliit na pagsasama ng tubo + funnel.

Hakbang 8: Code ng Pagkontrol sa Kape

Code sa Pagkontrol sa Kape
Code sa Pagkontrol sa Kape

Hanapin ang kumpletong Arduino source code na nakakabit sa ibaba.

Maikling paliwanag ng code:

Tinatawag ng pangunahing loop ang pagpapaandar ng xcomm (), responsable para sa pagproseso ng utos, paggawa ng kape, pag-on / off ng makina.

Ang code sa ilalim ay naabot lamang sa kaso ng manu-manong kontrol. Dagdagan nito ang isang stat counter upang subaybayan kung gaano karaming mga kape ang ginawa at awtomatikong pinunan ang tangke ng tubig.

Ang mga utos ay maaaring maipadala sa pamamagitan ng Xbee o sa USB port (ang Debug ay dapat na paganahin sa simula). Kapag ang komunikasyon ay nagmula sa alinman sa orange na humantong blinks para sa isang segundo upang ipakita ang aktibidad ng network. Ang mga sumusunod na utos ay ipinatupad:

1, CMSTAT - mga istatistika ng query mula sa makina

Nag-iimbak ang makina ng mga istatistika tungkol sa kung gaano karaming mga mainit / malamig / manu-manong mga kape ang ginawa at nakakuha rin ng uptime mula sa RTC na hindi umaapaw pagkalipas ng 3x araw kaya maaaring umabot ng maraming taon: P

2, CMWSTART - nagsisimulang gumawa ng kape at maiinit na inumin na may mainit na tubig

3, CMCSTART - nagsisimulang gumawa ng ice tea at malamig na inumin na may malamig na tubig

Ang mga maiinit at malamig na proseso ay nagsisimula sa pagtawag sa function ng standby () na kung saan ay karagdagang pagsusuri pagkatapos ay nagpapalitaw ng isang pindutan ng power button. Pagkatapos nito naghihintay ang programa para sa berdeng ilaw (kapag ang boiler ay pinainit) pagkatapos ay tularan ang mainit / malamig na pindutan ng pindutan. Pagkatapos nito naghihintay ito ng 50 segundo (na higit pa sa sapat para sa kahit na pinakamalaking tasa ng kape) pagkatapos ay patayin ang kuryente. Hindi rin ito kinakailangan dahil ang mahusay na makina na ito ay awtomatikong papatayin 5 minuto pagkatapos gawin ang kape ngunit bakit nasayang ang lakas? Sa pamamagitan ng paraan ang standby na pagkonsumo ng kuryente ng makina kahit na pagkatapos ng pagbabago ay mas mababa sa 2 Watts.

Pag-refill ng tubig at seguridad

Ang makina na ito ay dinisenyo na nasa isip ng seguridad, kaya imposible para sa isang umaatake na nakakakuha ng kontrol na bahain ang buong bahay ng tubig. Ang isang pagkabigo sa hardware ay hindi magreresulta sa mga seryosong pinsala. Sa tabi ng mga sensor ng hardware may mga proteksyon na naka-built sa code para sa refill. Ang isang counter na nagpapalitaw ng gawain ng ISR kung ang makina ay hindi pinunan nang muli sa x segundo (halimbawa ito ay maaaring mangyari kung ang ultrasonic sensor ay hindi gumana at magbigay ng 20% pagkatapos ng x segundo kapag pinasimulan ang refill).

Walang pagpapatotoo, ang sinuman ay maaaring gumamit ng makina sa loob ng saklaw ng radyo na nakakaalam ng mga utos kaya't binago ko ang default na Xbee piconet ID sa iba pa, maaari ring magkomento ang ERR_INVALIDCMD at hindi papansinin ng makina ang anumang hindi kilalang mga utos.

Mga bug

Double coffee bug: ang pinaka nakakainis na bagay tungkol sa bug na ito ay nagsimula itong maganap ilang buwan pagkatapos magamit ang makina na may parehong code. Matapos maibigay ang utos ng kape ay gumawa ito ng kape, naka-on at muling buksan at magpatuloy sa paggawa ng 1 pang kape na may parehong patroon.

Kailangan kong simulang i-debug ang pagkopya ng utos mula sa antas ng Android dahil naipatupad ko ang muling pagpapadala sa code kung sakaling mawala ang packet. Ito ay naka-out na alinman sa android, C control software o ang Linux kernel sa raspi2 ay responsable para sa halip na ang Xbee.

Matapos ang pag-isyu ng echo "CMCSTART"> / dev / ttyACM0 sa control node lumabas ito dalawang beses sa kabilang dulo. Napagpasyahan ko na ang aking 2.4Ghz spectrum sa aking tahanan ay nagsimulang mabusog mula sa maraming mga aparato sa radyo sa saklaw na ito na naging sanhi ng isang Xbee na magpatawag ng isang uri ng pagpapadala muli sa layer ng radyo at ang data ay naipadala nang dalawang beses (hindi palaging). Sa sandaling ang unang utos ay dumating sa machine xcomm () function na nagsimulang iproseso ito, subalit ang pangalawang isa ay pumasok kaagad pagkatapos ay naghihintay sa Xbees buffer at nang matapos ang loop ay nagsimula itong iproseso ang pangalawang utos. Upang maiwasang ang problemang ito ay nagpakilala ako ng 3 mga threshold sa code upang maging imposible na gumawa ng higit sa 1 kape sa loob ng 2 minuto. Gayundin mayroong isang limitasyon sa CMSTAT ngunit upang hindi makagambala sa C / Android control code ay papalitan lamang nito ang mga tugon sa loob ng 2 segundo.

Ang huling threshold ay inilagay para sa manu-manong counter ng kape, dahil kapag naabot na ng makina ang handa na estado (pinainit ang boiler, berdeng ilaw) na-log ang berdeng kaganapan daan-daang beses na bumubulusok sa bilang ng kape.

Hakbang 9: Mga Pagsasaalang-alang sa Disenyo at Huling Mga Saloobin

Matapos ang maraming problema mula sa komunikasyon sa Xbee hindi ko inirerekumenda ang Xbee para sa proyektong ito. Alinman gamitin ang karaniwang murang radio na 433Mhz gamit ang VirtualWire at binabaan ang Bps para sa katatagan o i-embed ang isang Raspberry PI Zero na may koneksyon sa Wifi nang direkta sa coffee machine.

Tulad ng ipinapakita sa petsa ito ay isang lumang proyekto kaya humihingi ako ng paumanhin para sa mga maliliit na detalye na nawawala tulad ng koneksyon mula sa control circuit hanggang sa tumpak na mga binti ng pin sa motherboard. Ang proyektong ito ay nangangailangan ng isang tiyak na antas ng kaalamang panteknikal upang gawin ito sa iyong sarili. Kung nakakita ka ng anumang mga bug / isyu o nais na mag-ambag sa tutorial na ito mangyaring ipaalam sa akin.

Ang control software, mga pamamaraan para sa control ng boses ay para sa isa pang bahagi na gagawing posible na ihanda ang iyong kape sa pamamagitan lamang ng isang utos ng boses bago pa lumabas ng kama.

Nakumpleto ko na ngayon ang dokumentasyon ng aking sistema ng imbakan ng tubig (WasserStation) at na-update ang CoffeeControlCode sa pinakabagong bersyon, na kasama rin ang awtomatikong pagpuno. Kung gumagamit ka ng parehong makina para sa pagbuo ng refill ay gagana nang walang kamali-mali (nang walang anumang pagbabago sa code) dahil ang mga antas ng tubig ay na-calibrate sa tangke ng tubig ng Circolo.

Inirerekumendang: