Isi kandungan:

JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri): 9 Langkah (dengan Gambar)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri): 9 Langkah (dengan Gambar)

Video: JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri): 9 Langkah (dengan Gambar)

Video: JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri): 9 Langkah (dengan Gambar)
Video: The SUN JavaStation-NC "Krups" 2024, Julai
Anonim
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)
JavaStation (Pembuat Kopi IoT Sepenuhnya Mengisi Diri Sendiri)

Matlamat projek ini adalah untuk membuat alat pembuat kopi automatik yang dikendalikan suara yang mengisi dirinya sendiri dengan air dan yang perlu anda lakukan hanyalah mengganti pelanggan dan minum kopi anda;)

Langkah 1: Pengenalan

Pengenalan
Pengenalan

Oleh kerana ini adalah mod kopi kedua saya, saya telah belajar banyak dalam prosesnya, terutamanya bahawa mesin yang lebih kompleks yang anda ubah semakin banyak masalah / bug yang akan anda hadapi semasa operasi sehari-hari. Mesin sebelumnya hanya pembuat kopi 1 suis lama sederhana dengan mod relay.

Circolo (versi automatik penuh) adalah mesin premium teratas Dolce Gusto. Saya terpaksa menghabiskan berjam-jam untuk mencari mesin yang betul kerana semua mesin lain dari siri ini menggunakan tuas mekanikal atas untuk menukar antara aliran air sejuk dan panas seperti yang ditunjukkan pada gambar.

Langkah 2: Pilih Mesin yang Betul

Pilih Mesin yang Betul
Pilih Mesin yang Betul

Mesin asas saya tidak hanya automatik sepenuhnya tetapi ia mempunyai ciri-ciri luar biasa seperti mematikan secara automatik setelah 5 minit dan mengingat jumlah kopi terakhir (yang akan membuat perkara menjadi lebih mudah di kemudian hari). Operasi asas mesin:

1, butang Kuasa ditolak

2, butang air sejuk ditekan (ia akan segera menyebarkan air ke cawan)

3, butang air panas ditekan (ia akan memanaskan dandang ~ 20-60 saat dan mula melepaskan air panas ke cawan) Lampu kuasa akan berkelip merah dalam tempoh tunggu dan kemudian menjadi hijau secara kekal apabila dandang sudah siap.

Mesin ini juga mempunyai kemampuan untuk mengesan kesalahan berikut:

Tangki air kosong

Pemegang cawan tidak ada di tempatnya

Dalam kedua-dua keadaan, lampu kuasa akan berkelip di antara merah / hijau.

Langkah 3: Pengubahsuaian Perkakasan

Pengubahsuaian Perkakasan
Pengubahsuaian Perkakasan

Dalam penulisan ini saya tidak akan memperincikan pembongkaran dan pemasangan semula kes itu kerana terdapat video mengenainya di YouTube. Mikroprosesor utama tersembunyi tepat di bawah panel kepala di mana 2 suis berada. Dandang berada di sebelah kanan casing yang terpisah dari yang lain, panel pam dan bekalan kuasa berada di sebelah kiri.

Mesin kopi adalah persekitaran tugas berat untuk elektronik, tidak ada sisi yang sangat sesuai untuk mengintegrasikan litar ke. Bahagian kanan dandang mempunyai lebih banyak ruang tetapi anda akan menghadapi panas, jelas litar tidak dapat menyentuh plat dandang atau berada di dekatnya. Saya telah memilih bahagian bekalan kuasa / pam tetapi di sini anda harus menghadapi resonans berat yang berasal dari operasi pam membran yang boleh merosakkan litar kawalan / membuat wayar terlepas dari penyambungnya dari masa ke masa.

Panel bekalan kuasa tidak mengandungi apa-apa yang berguna tetapi dapat digunakan untuk melepaskan stabil + 5V (satu lagi jempol untuk mesin ini) yang boleh disambungkan terus ke pin VIN Arduino dengan melewati pengatur voltan onboard.

Senarai perkakasan pantas (tidak lengkap BOM, tidak termasuk asas):

  1. Dolce Gusto Circulo versi automatik penuh
  2. Modul Relay 5V 4 Channel Dengan optocoupler Untuk PIC AVR DSP (saya cadangkan menggunakan Relay Switch Reed 4x SIP-1A05)
  3. Arduino Micro (saya cadangkan menggunakan SparkFun Pro Micro atau yang lebih baru pada masa akan datang)
  4. Phototransistor 2PCS 4n35 FSC Optocouplers
  5. Injap Solenoid Elektrik 1/2 "Untuk Air Air N / C Biasanya Tertutup DC 12V
  6. Ultrasonik Modul HC-SR04 Sensor Transducer Mengukur Jarak (beli beberapa tambahan, anda akan melihat kemudian mengapa)
  7. Modul Sensor Pengesanan Kelembapan Hujan 2pcs Pengesanan Hujan untuk Arduino
  8. 1 Xbee
  9. Kelengkapan paip untuk blok air (boleh berbeza-beza bergantung pada rumah yang ada, yang terbaik untuk membelinya di kedai perkakasan dan meletakkannya di sana sebelum membeli)

Langkah 4: Sambungan Utama dan Papan Pengawal

Sambungan Utama dan Papan Pengawal
Sambungan Utama dan Papan Pengawal
Sambungan Utama dan Papan Pengawal
Sambungan Utama dan Papan Pengawal
Sambungan Utama dan Papan Pengawal
Sambungan Utama dan Papan Pengawal

Titik litar berikut perlu dihubungkan:

1, butang panas

2, butang Sejuk

3, dipimpin merah

4, hijau diketuai

5, butang kuasa utama

6, Dikongsi GND

Malangnya saya kehilangan nota / gambar saya di mana untuk menyoldernya di papan tulis tetapi semuanya dapat dikesan dengan mudah dengan multimeter (hanya gunakan mod ujian diod untuk mengesan wayar ke belakang). Pematerian tidak terlalu sukar, pilih titik dengan kaki SMD dan pasangkan wayar di sana.

LED Merah / Hijau kedua-duanya terletak bersebelahan pada suis kuasa. Mereka diperlukan untuk menentukan keadaan mesin (dihidupkan, siap membuat kopi (dandang dipanaskan), ralat). Saya telah melepaskannya terus dari papan utama, kerana sukar untuk bermain-main dengan litar kecil di sekitar suis kuasa.

Saya menggunakan optocoupler 4N35 untuk berinteraksi dengan Arduino dengan selamat dan membaca keadaan LED. Idea asal adalah menggunakan 5 daripadanya dan melakukan bacaan dan kawalan suis juga (buat litar senyap sepenuhnya). Sayangnya cip ini tidak dapat menghasilkan rintangan yang cukup rendah untuk meniru tekan butang sehingga saya terpaksa menggunakan geganti. Saya menggunakan modul relay 4 saluran generik yang saya ada tetapi jika saya perlu membuat semula projek ini, saya hanya akan menggunakan geganti Reed kecil (SIP-1A05 Reed Switch Relay dengan diod flyback dalaman) yang boleh dihubungkan terus ke output Arduino pin (~ 7mA load) sehingga semuanya dapat diletakkan pada struktur papan 2 tingkat.

5 kabel kecil boleh dibawa dengan mudah di sebelah kabel kuasa di bawah papan bekalan.

Untuk menggunakan ruang dengan lebih cekap dalam mesin, saya memutuskan untuk membahagikan elektronik kepada 2 panel utama:

Kiri adalah papan kawalan utama, sebelah kanan (apa yang saya panggil papan komunikasi) memegang Xbee dan walaupun tidak ditunjukkan pada gambar, 2 sensor air (untuk pengesanan limpahan) tersekat di belakangnya. Di bahagian atas jam masa nyata (pilihan untuk uptime:)) dan papan relay 4 saluran yang terletak di sebelah pam di bahagian bawah yang dibalut dengan span, juga dilekatkan sedikit untuk melindungi dari gema.

Untuk papan komunikasi, saya tidak peduli membuat PCB hanya menggunakan papan roti biasa kerana tidak banyak yang berlaku di sana. Ia mempunyai 6 sambungan ke papan utama:

Vcc (5V), GND, Xbee (TX), Xbee (RX), Sensor air1 (Data), Sensor air2 (Data)

Langkah 5: Kawalan Aliran Air dan Mekanisme Isi Ulang

Kawalan Aliran Air dan Mekanisme Isi Ulang
Kawalan Aliran Air dan Mekanisme Isi Ulang
Kawalan Aliran Air dan Mekanisme Isi Ulang
Kawalan Aliran Air dan Mekanisme Isi Ulang
Kawalan Aliran Air dan Mekanisme Isi Ulang
Kawalan Aliran Air dan Mekanisme Isi Ulang

Saya telah merancang mesin ini dengan mempertimbangkan keselamatan, sehingga tidak mungkin penyerang / kerosakan berfungsi menyebabkan kerosakan air yang serius ke rumah kerana mesin itu akan disambungkan ke paip dan Internet 24/7. Inilah yang dilakukan oleh litar perlindungan 555 berikut di atas solenoid.

Perhatikan juga bahawa solenoid beroperasi dari bekalan kuasa 12V yang masih dapat saya masukkan ke bahagian bawah mesin kopi di sebelah pam dan papan geganti. Untuk tidak membuang tenaga, papan relay 4 saluran menukar utama 230V terus ke penyesuai yang kemudian akan menghidupkan solenoid. Sudah tentu ada beberapa mikrodetik penundaan yang perlu anda hitung untuk kejatuhan medan magnet pada solenoid + pada penyesuai semasa menarik plag.

Saya menggunakan bicu 3.5mm standard untuk menyambungkan blok air luaran dengan wayar 3m panjang dan paip PVC berdiameter kecil yang keluar dari blok menuju ke alat pembuat kopi.

Bahagian atas tangki air digerudi keluar untuk menampung paip ini yang kemudian dibawa ke bahagian bawah tangki. Saya perhatikan bahawa sangat penting untuk memasukkan paip ke bahagian bawah di sisi tanpa melalui bahagian tengah dan mengganggu sensor ultrasonik.

Selepas solenoid yang dihidupkan pada litar secara automatik akan mematikannya selepas ~ 4 saat (yang sepatutnya lebih dari cukup masa untuk mengisi tangki hingga penuh) dan ia kekal dalam keadaan ini sehingga kitaran kuasa seterusnya. Litar ini adalah barisan pertahanan terakhir terhadap kerosakan dan beroperasi sepenuhnya dari pembuat kopi. Sekiranya geganti di mesin gagal dan tetap ditutup air boleh membanjiri rumah, dengan perlindungan ini tidak akan pernah berlaku.

Sekiranya ini masih belum cukup baik untuk anda atau mustahil untuk menutup air atau anda tidak mahu bermain-main dengan blok air, periksa projek WasserStation saya yang dibina betul-betul untuk memperbesar tangki air kecil mesin kopi.

Langkah 6: Pengesanan Banjir

Pengesanan Banjir
Pengesanan Banjir
Pengesanan Banjir
Pengesanan Banjir
Pengesanan Banjir
Pengesanan Banjir

Terdapat 2 sensor air tambahan untuk perlindungan:

  • Sensor1: di bahagian belakang tangki untuk pengesanan limpahan dari tangki
  • Sensor2: di bahagian bawah mesin kopi untuk pengesanan limpahan cawan

Kedua-dua sensor ini akan mencetuskan gangguan yang segera mematikan air, menyalakan lampu ralat dan membatalkan pelaksanaan program untuk mengelakkan serangan seperti membuat sejuta kopi dan membanjiri rumah dengan cara itu. Selepas program berhenti, mesin tidak akan lagi bertindak balas terhadap apa-apa dan mesti dikendalikan secara manual.

Sekiranya anda tertanya-tanya apa yang akan berlaku sekiranya sensor ultrasonik dibanjiri (ia berlaku sekali:))

Ini memberikan tahap air seperti ini selama beberapa hari tetapi walaupun ia kering ia tidak akan tepat lagi dan saya harus menggantinya. Mesin ini dirancang untuk berjalan dari air paip sejuk sehingga tidak mengukus dari panas akan merosakkan sensor. Sensor ini hanya tepat sehingga paras air 2-3 cm darinya.

Bentuk elips tangki membuat pengiraan permukaan air menjadi sukar sehingga mereka diukur dan dikodkan ke dalam program agar sesuai dengan peratusan.

Langkah 7: Ujian dan Perhimpunan Akhir

Ujian dan Perhimpunan Akhir
Ujian dan Perhimpunan Akhir
Ujian dan Perhimpunan Akhir
Ujian dan Perhimpunan Akhir
Ujian dan Perhimpunan Akhir
Ujian dan Perhimpunan Akhir

Mesin dalam keadaan akhir, hampir sepenuhnya menyembunyikan jejak penggodaman dan jika 3 LED penunjuk status dan port debug USB tidak akan berada di sana, anda tidak dapat memberitahu bahawa ada perkara lain yang berlaku di dalamnya walaupun boleh menempatkan Wifi yang disambungkan Pelayan Quake:)

Apabila saya mengubah suai peranti, saya selalu mengutamakan penggunaan manual. Setelah peretasan mesin tersebut dapat digunakan sepenuhnya oleh sesiapa sahaja seperti yang ada, kecuali tangki air tidak dapat dikeluarkan dengan mudah. Kecuali anda menyelesaikan bahagian automasi air yang lengkap dalam reka bentuk, mesin hanya dapat diisi pada tahap ini dengan kombinasi paip + corong kecil.

Langkah 8: Kod Kawalan Kopi

Kod Kawalan Kopi
Kod Kawalan Kopi

Cari kod sumber Arduino lengkap yang dilampirkan di bawah.

Penjelasan ringkas mengenai kod:

Gelung utama memanggil fungsi xcomm (), yang bertanggungjawab untuk memproses perintah, membuat kopi, menghidupkan / mematikan mesin.

Kod di bawahnya hanya dapat dicapai sekiranya terdapat kawalan manual. Ia meningkatkan penghitung statistik untuk mengawasi berapa banyak kopi yang dibuat dan mengisi tangki air secara automatik.

Perintah boleh dihantar melalui Xbee atau melalui port USB (Debug harus diaktifkan pada awalnya). Apabila komunikasi masuk dari kedua-dua lampu oren berkedip sekejap untuk menunjukkan aktiviti rangkaian. Perintah berikut dilaksanakan:

1, CMSTAT - statistik pertanyaan dari mesin

Mesin ini menyimpan statistik mengenai berapa banyak kopi panas / sejuk / manual yang dibuat dan juga mendapat masa tambahan dari RTC yang tidak meluap setelah 3x hari sehingga dapat bertahun-tahun: P

2, CMWSTART - mula membuat kopi dan minuman panas dengan air panas

3, CMCSTART - mula membuat teh ais dan minuman sejuk dengan air sejuk

Proses panas dan sejuk dimulakan dengan memanggil fungsi siap sedia () yang melakukan pemeriksaan lebih lanjut kemudian mencetuskan tekan butang kuasa. Selepas ini program menunggu lampu hijau (apabila dandang dipanaskan) kemudian meniru tekan butang panas / sejuk. Selepas ini menunggu 50 saat (yang lebih dari cukup untuk secawan kopi terbesar) kemudian mematikan kuasa. Ini tidak diperlukan kerana mesin yang sangat baik ini akan mati secara automatik 5 minit selepas membuat kopi tetapi mengapa perlu membuang tenaga? Dengan cara penggunaan kuasa siap sedia mesin walaupun selepas pengubahsuaiannya kurang dari 2 Watt.

Isi semula air dan keselamatan

Mesin ini dirancang dengan mempertimbangkan keselamatan, jadi mustahil penyerang yang dapat mengawal membanjiri seluruh rumah dengan air. Kegagalan perkakasan tidak akan mengakibatkan kerosakan serius. Di sebelah sensor perkakasan terdapat perlindungan yang terdapat dalam kod untuk pengisian semula. Penghitung yang memicu rutin ISR jika mesin tidak diisi ulang dalam x saat (ini misalnya boleh berlaku jika sensor ultrasonik tidak berfungsi dan mengeluarkan 20% selepas x saat setelah pengisian semula dimulakan).

Tidak ada pengesahan, ada yang boleh menggunakan mesin dalam jangkauan radio yang mengetahui perintahnya, jadi saya telah menukar ID piconet Xbee lalai menjadi yang lain, juga ERR_INVALIDCMD dapat dikomentari dan mesin akan mengabaikan arahan yang tidak diketahui.

Pepijat

Bug kopi berganda: perkara yang paling menjengkelkan mengenai pepijat ini ialah ia mula berlaku beberapa bulan setelah menggunakan mesin dengan kod yang sama. Setelah arahan kopi dikeluarkan, kopi dibuat, dimatikan dan dinyalakan semula dan terus membuat 1 kopi lagi dengan pelanggan yang sama.

Saya harus mula melakukan debug arahan pendua dari peringkat Android kerana saya telah melaksanakan penghantaran semula ke kod sekiranya kehilangan paket. Ternyata perisian android, C control atau kernel Linux pada raspi2 tidak bertanggung jawab atas Xbee ini.

Setelah mengeluarkan gema "CMCSTART"> / dev / ttyACM0 pada nod kawalan, ia keluar dua kali ke hujung yang lain. Saya membuat kesimpulan bahawa spektrum 2.4Ghz saya di rumah saya mula tepu dari banyak peranti radio dalam julat ini yang menyebabkan Xbee memanggil semacam menghantar semula di lapisan radio dan data dihantar dua kali (tidak selalu). Setelah perintah pertama masuk pada fungsi xcomm () mesin mulai memprosesnya, namun yang kedua masuk tepat setelah itu menunggu dalam penyangga Xbees dan ketika gelung selesai, ia mulai memproses perintah kedua. Untuk mengatasi masalah ini, saya telah memperkenalkan 3 ambang dalam kod untuk menjadikan mustahil untuk membuat lebih dari 1 kopi dalam 2 minit. Juga ada batasan CMSTAT tetapi untuk tidak mengganggu kod kawalan C / Android, ia hanya akan memadamkan respons selama 2 saat.

Ambang terakhir dimasukkan ke kaunter kopi manual, kerana setelah mesin mencapai keadaan siap (dandang dipanaskan, lampu hijau) ia telah menandakan peristiwa hijau beratus-ratus kali menaikkan jumlah kopi.

Langkah 9: Pertimbangan Reka Bentuk dan Pemikiran Akhir

Setelah banyak masalah dari komunikasi Xbee, saya tidak akan mengesyorkan Xbee untuk projek ini. Sama ada menggunakan radio 433Mhz standard standard dengan VirtualWire dan menurunkan Bps untuk kestabilan atau masukkan Raspberry PI Zero dengan sambungan Wifi terus ke mesin kopi.

Seperti tarikh menunjukkan ia adalah projek lama, jadi saya minta maaf kerana terdapat sedikit butiran seperti sambungan dari litar kawalan ke kaki pin yang tepat di papan induk. Projek ini memerlukan pengetahuan teknikal tahap tertentu untuk melakukannya sendiri. Sekiranya anda menemui bug / masalah atau ingin menyumbang kepada tutorial ini, sila beritahu saya.

Perisian kawalan, kaedah untuk kawalan suara adalah untuk bahagian lain yang memungkinkan untuk menyiapkan kopi anda hanya dengan arahan suara bahkan sebelum bangun dari tempat tidur.

Saya sekarang telah melengkapkan dokumentasi sistem penyimpanan air saya (WasserStation) dan mengemas kini CoffeeControlCode ke versi terbaru, yang juga termasuk pengisian semula automatik. Sekiranya anda menggunakan mesin yang sama untuk pembuatan, pengisian semula akan berfungsi dengan sempurna (tanpa pengubahsuaian pada kodnya) kerana paras air dikalibrasi ke tangki air Circolo.

Disyorkan: