Mundarija:

JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi): 9 qadam (rasmlar bilan)
JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi): 9 qadam (rasmlar bilan)

Video: JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi): 9 qadam (rasmlar bilan)

Video: JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi): 9 qadam (rasmlar bilan)
Video: Сизга Сехр Қилинганми Йӯқми Бу Видеони Кӯриб Билиб Олинг! 2024, Iyul
Anonim
JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi)
JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi)
JavaStation (to'liq avtomatik IoT qahva qaynatgichi)
JavaStation (to'liq avtomatik IoT qahva qaynatgichi)
JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi)
JavaStation (O'z-o'zidan to'ldiriladigan to'liq avtomatik IoT qahva mashinasi)

Loyihaning maqsadi avtomatik avtomatik suv bilan to'ldiriladigan, avtomatik boshqariladigan, ovoz bilan boshqariladigan qahva qaynatgichni ishlab chiqarish edi, va siz faqat mijozlaringizni almashtirib, qahvangizni ichishingiz kerak edi.)

1 -qadam: kirish

Kirish
Kirish

Bu mening ikkinchi kofe rejimim bo'lgani uchun, men bu jarayonda ko'p narsalarni o'rgandim, xususan, siz qanchalik murakkab mashinani o'zgartirsangiz, kundalik ish paytida sizda shunchalik ko'p muammolar/xatolar bo'ladi. Oldingi mashina oddiy rölesi bo'lgan 1 ta eski 1 ta kofe qaynatgich edi.

Circolo (to'liq avtomatik versiya) - Dolce Gusto premium -klass mashinasining eng yuqori qismi. Men to'g'ri mashinani qidirishga bir necha soat sarflashga majbur bo'ldim, chunki bu seriyadagi boshqa barcha mashinalar yuqori mexanik dastak yordamida rasmda ko'rsatilgandek sovuq va issiq suv oqimlari o'rtasida almashadi.

2 -qadam: to'g'ri mashinani tanlang

To'g'ri mashinani tanlang
To'g'ri mashinani tanlang

Mening asosiy mashinam to'liq avtomatik emas, lekin u 5 daqiqadan so'ng avtomatik o'chirish va oxirgi qahva miqdorini eslab qolish kabi ajoyib xususiyatlarga ega (bu keyinchalik moddingda ishni ancha osonlashtiradi). Mashinaning asosiy ishlashi:

1, Quvvat tugmasi bosildi

2, sovuq suv tugmasi bosildi (u darhol idishga suv tarqatadi)

3, Issiq suv tugmasi bosildi (u qozonni ~ 20-60 sekundgacha qizdiradi va stakanga issiq suv bera boshlaydi) Kutish vaqtida quvvat chiroqchasi qizil rangda yonadi, keyin qozon tayyor bo'lganda doimiy yashil bo'ladi.

Shuningdek, ushbu qurilma quyidagi xatolarni aniqlash imkoniyatiga ega:

Suv ombori bo'sh

Kubok ushlagichi joyida emas

Ikkala holatda ham yorug'lik nuri qizil/yashil o'rtasida miltillaydi.

3 -qadam: Uskuna modifikatsiyalari

Uskuna modifikatsiyalari
Uskuna modifikatsiyalari

Bu yozuvda men korpusni demontaj qilish va qayta yig'ish haqida batafsil ma'lumot bermayman, chunki bu haqda YouTube -da videolar bor. Asosiy mikroprotsessor 2 ta kalit joylashgan bosh panel ostida yashiringan. Qozon korpusning o'ng tomonida, hamma narsadan ajratilgan, nasos va quvvat manbai paneli chap tomonda.

Qahva mashinasi elektronika uchun og'ir muhitdir, yon tomonlarning hech biri kontaktlarning zanglashiga mos kelmaydi. Qozonning o'ng tomonida ko'proq joy bor, lekin siz issiqlik bilan shug'ullanasiz, aniqki, qozon qozon plastinkasiga tegib keta olmasdi yoki hatto uning yonida ham bo'lishi mumkin. Men quvvat manbai / nasos tomonini tanladim, lekin bu erda siz membranali nasosning ishlashidan kelib chiqadigan og'ir rezonans bilan shug'ullanishingiz kerak, bu vaqt o'tishi bilan konnektorlardan simlarning chiqib ketishiga olib kelishi mumkin.

Quvvat manbai panelida hech qanday foydali narsa yo'q, lekin uni Arduino VIN piniga bortdagi voltaj regulyatorini chetlab o'tib, barqaror +5V (bu mashina uchun yana bitta bosh barmog'ini) o'chirish uchun ishlatish mumkin.

Uskuna tez ro'yxati (to'liq BOM emas, asosiylarini o'z ichiga olmaydi):

  1. Dolce Gusto Circulo to'liq avtomatik versiyasi
  2. PIC AVR DSP uchun optokuplli 5V 4 kanalli o'rni moduli (men 4x SIP-1A05 qamish kalitli o'rni foydalanishni taklif qilaman)
  3. Arduino Micro (kelajakda SparkFun Pro Micro yoki undan yangisini ishlatishni tavsiya qilaman)
  4. 2PCS 4n35 FSC optokupllari fototransistori
  5. 1/2 dyuymli elektr solenoidli vana suv havosi uchun normal ishlamaydi DC 12V
  6. Ultrasonik modul HC-SR04 masofani o'lchash sensori (ba'zi qo'shimcha narsalarni sotib oling, buning sababini keyinroq ko'rasiz)
  7. 2 dona yomg'ir tomchilarining namligini aniqlash sensori moduli Arduino uchun yomg'irni aniqlash
  8. 1 Xbee
  9. Suv bloklari uchun quvur armaturalari (uyiga qarab farq qilishi mumkin, uni apparat do'konida sotib olish va sotib olishdan oldin hammasini bir joyga to'plash).

4 -qadam: Asosiy ulanishlar va boshqaruv paneli

Asosiy ulanishlar va boshqaruv paneli
Asosiy ulanishlar va boshqaruv paneli
Asosiy ulanishlar va boshqaruv paneli
Asosiy ulanishlar va boshqaruv paneli
Asosiy ulanishlar va boshqaruv paneli
Asosiy ulanishlar va boshqaruv paneli

Quyidagi o'chirish nuqtalarini ulash kerak:

1, issiq tugma

2, sovuq tugma

3, qizil chiroq

4, Yashil boshchiligida

5, Asosiy quvvat tugmasi

6, umumiy GND

Afsuski, men ularni qayerda lehim qilish kerakligi haqidagi eslatmalarimni/rasmlarimni yo'qotib qo'ydim, lekin ularning hammasini multimetr yordamida osongina aniqlash mumkin (simlarni orqaga qaytarish uchun faqat diodli sinov rejimidan foydalaning). Lehimlash juda qiyin emas edi, SMD oyoqli nuqtalarni tanlang va u erdagi simlarni lehimlang.

Qizil/Yashil LEDlarning ikkalasi ham quvvat tugmachasida yonma -yon joylashgan. Ular mashinaning holatini aniqlash uchun kerak (yoqilgan, qahva tayyorlashga tayyor (qozon isitiladi), xato). Men ularni to'g'ridan -to'g'ri asosiy taxtadan olib tashladim, chunki quvvat tugmachasining atrofidagi kichik zanjir bilan aylanib o'tish qiyin.

Men 4N35 optokupllarini Arduino bilan xavfsiz bog'lanish va LED holatlarini o'qish uchun ishlatardim. Asl g'oya ulardan 5 tasidan foydalanish va o'qishni ham, kalitni boshqarish elementlarini ham bajarish edi (to'liq o'chirilgan sxemani tuzish). Afsuski, bu chip tugmachani taqlid qilish uchun etarli darajada past qarshilikka ega bo'la olmadi, shuning uchun men o'z o'rni ishlatishga majbur bo'ldim. Men qo'limda bo'lgan umumiy 4 kanalli o'rni modulidan foydalandim, lekin agar men bu loyihani qaytadan bajarishga majbur bo'lsam, Arduino chiqishiga to'g'ridan-to'g'ri ulanishi mumkin bo'lgan kichik qamish o'rni (SIP-1A05 Reed Switch Relay) ishlatiladi. pinlar (~ 7mA yuk), shuning uchun hamma narsani 2 darajali taxta tuzilishiga qo'yish mumkin.

5 ta kichik kabelni elektr ta'minoti paneli ostidagi quvvat simlari yoniga osongina tushirish mumkin.

Mashinada bo'sh joydan yanada samarali foydalanish uchun men elektronikani ikkita asosiy panelga bo'lishga qaror qildim:

Chapda - asosiy boshqaruv paneli, o'ngda (men uni aloqa paneli deb atayman) Xbee -ni ushlab turadi va rasmda ko'rsatilmagan bo'lsa -da, uning orqasida 2 ta suv sensori (toshib ketishni aniqlash uchun) siqilgan. Haqiqiy vaqt soati (ish vaqti ixtiyoriy:)) va shimgichga o'ralgan pastdagi nasos yonidagi 4 kanalli o'rni taxtasi, rezonansdan himoyalanish uchun biroz yopishtirilgan.

Aloqa taxtasi uchun men PCBni oddiy non paneli yordamida yasashdan bezovta qilmadim, chunki u erda ko'p narsa yo'q. Asosiy kartaga 6 ta ulanish mavjud:

Vcc (5V), GND, Xbee (TX), Xbee (RX), Suv sensori1 (Ma'lumotlar), Suv sensori2 (Ma'lumotlar)

5 -qadam: Suv oqimini nazorat qilish va to'ldirish mexanizmi

Suv oqimini nazorat qilish va to'ldirish mexanizmi
Suv oqimini nazorat qilish va to'ldirish mexanizmi
Suv oqimini nazorat qilish va to'ldirish mexanizmi
Suv oqimini nazorat qilish va to'ldirish mexanizmi
Suv oqimini nazorat qilish va to'ldirish mexanizmi
Suv oqimini nazorat qilish va to'ldirish mexanizmi

Men bu mashinani xavfsizlikni inobatga olgan holda ishlab chiqdim, bu esa tajovuzkorlar/nosozliklar uyga jiddiy suv zarar etkazishiga yo'l qo'ymaydi, chunki mashina kranga ham, Internetga ham 24/7 ulanadi. Solenoid ustidagi quyidagi 555 himoya sxemasi shunday qiladi.

Shuni ham unutmangki, elektromagnit 12V quvvat manbaidan ishlaydi, men uni hali ham nasos va o'rni taxtasi yonidagi qahva mashinasining pastki qismiga siqib qo'ydim. Quvvatni behuda sarf qilmaslik uchun 4 kanalli o'rni taxtasi 230V elektr tarmog'ini to'g'ridan -to'g'ri adapterga o'tkazadi, keyin u elektromagnitni yoqadi. Albatta, bir nechta mikrosaniyalarni o'chirish magnit maydonining qulashi uchun adapterni solenoidda ham, vilkasini tortganda hisoblashingiz kerak bo'lgan narsani kechiktiradi.

Men tashqi suv blokini 3 m uzunlikdagi sim bilan ulashim va kofe qaynatgichga ketadigan kichik diametrli PVX quvur bilan ulash uchun standart 3,5 mm raz'emdan foydalanayapman.

Quvurni joylashtirish uchun suv idishining yuqori qismi burg'ulashadi, so'ngra tank tubiga tushadi. Shuni ta'kidlashni istardimki, quvurni o'rtasidan o'tmasdan yon tomoniga pastga tushirish va ultrasonik datchiklarga xalaqit berish juda muhim.

Solenoid yoqilgandan so'ng, kontakt zanjiri ~ 4 soniyadan so'ng avtomatik ravishda o'chadi (bu tankni to'liq to'ldirish uchun etarli vaqtdan ko'p bo'lishi kerak) va u keyingi yoqish davriga qadar shu holatda qoladi. Bu elektron nosozlikdan himoyalanishning oxirgi chizig'i bo'lib, u qahva qaynatgichdan butunlay mustaqil ishlaydi. Agar mashinadagi o'rni ishlamay qolsa va yopiq qolsa, suv uyni suv bosishi mumkin edi, bunday himoya bilan bunday bo'lmaydi.

Agar bu hali ham sizga mos kelmasa yoki suvni yopish imkonsiz bo'lsa yoki suv bloklari bilan aylanishni xohlamasangiz, qahva mashinasining kichik suv idishini uzaytirish uchun aynan shu uchun qurilgan WasserStation loyiham bilan tanishing.

6 -qadam: Suv toshqinlarini aniqlash

Suv toshqinlarini aniqlash
Suv toshqinlarini aniqlash
Suv toshqinlarini aniqlash
Suv toshqinlarini aniqlash
Suv toshqinlarini aniqlash
Suv toshqinlarini aniqlash

Himoya qilish uchun ikkita qo'shimcha suv sensori mavjud:

  • Sensor1: tankning orqasida, tankdan toshib ketishni aniqlash uchun
  • Sensor2: chashka toshib ketishini aniqlash uchun qahva mashinasining pastki qismida

Bu ikkala sensor ham suvni darhol o'chiradigan, xato chiroqini yoqadigan va millionlab qahva tayyorlash va uyni shu tarzda suv bosish kabi hujumlarning oldini olish uchun dasturni to'xtatishni to'xtatadi. Dastur yopilgandan so'ng, mashina hech narsaga javob bermaydi va uni qo'lda qayta ishlash kerak.

Agar ultratovush sensori suv bossa nima bo'ladi deb o'ylaysiz (bu bir marta sodir bo'lgan:))

U bir necha kun davomida suv sathini shunday qaytargan edi, lekin hatto quriganidan keyin ham u aniq bo'lmaydi va men uni almashtirishga majbur bo'ldim. Mashina sovuq suvdan ishlay oladigan qilib qurilgan, shuning uchun issiqdan bug'lanish sensori shikastlamaydi. Sensor suv sathi undan 2-3 sm masofada bo'lmaguncha aniq bo'ladi.

Tankning elliptik shakli suv sathini hisoblashni qiyinlashtirdi, shuning uchun ularni foizlarga mos keladigan tarzda o'lchash va qattiq kodlash amalga oshirildi.

7 -qadam: Test va yakuniy yig'ilish

Sinov va yakuniy yig'ilish
Sinov va yakuniy yig'ilish
Sinov va yakuniy yig'ilish
Sinov va yakuniy yig'ilish
Sinov va yakuniy yig'ilish
Sinov va yakuniy yig'ilish

Mashina oxirgi holatda, xakerlik izlarini deyarli to'liq yashiradi va agar 3 holat ko'rsatkichli LED va USB disk raskadrovka porti bo'lmaganida, siz Wi -Fi ulangan bo'lsa ham, ichkarida nima bo'layotganini ayta olmaysiz. Zilzila serveri:)

Qurilmalarni o'zgartirganda, men har doim qo'lda ishlatishni birinchi o'ringa qo'yaman. Hackdan so'ng, mashinani hech kim ishlata olmaydi, faqat suv idishini olib tashlash mumkin emas. Agar siz dizaynni suvni avtomatlashtirishning to'liq qismini tugatmasangiz, mashinani faqat shu vaqtda kichik quvur + huni kombinatsiyasi bilan to'ldirish mumkin.

8 -qadam: Kofe nazorati kodi

Kofe nazorat kodi
Kofe nazorat kodi

To'liq Arduino manba kodini quyida toping.

Kodni qisqacha tushuntirish:

Asosiy tsikl xcomm () funktsiyasini chaqiradi, u buyruqlarni qayta ishlash, qahva tayyorlash, mashinani yoqish/o'chirish uchun javobgardir.

Pastdagi kodga faqat qo'lda boshqarish orqali erishiladi. Qancha qahva tayyorlanishini kuzatish uchun statik hisoblagichni oshiradi va suv idishini avtomatik ravishda to'ldiradi.

Buyruqlar Xbee orqali yoki USB port orqali yuborilishi mumkin (Debugni boshida yoqish kerak). Aloqa ikkala tomondan kelganida, tarmoq faolligini ko'rsatish uchun bir soniya davomida to'q sariq rangli chiroq yonadi. Quyidagi buyruqlar bajariladi:

1, CMSTAT - mashinadan olingan statistik ma'lumotlar

Mashina qancha issiq/sovuq/qo'lda qahva tayyorlanganligi haqidagi statistikani saqlaydi, shuningdek, uch kundan keyin to'lmagan RTC ish vaqtini oladi, shuning uchun yillar davom etishi mumkin: P

2, CMWSTART - issiq suv bilan qahva va issiq ichimliklar tayyorlashni boshlaydi

3, CMCSTART - muzli choy va sovuq suv bilan sovuq ichimliklar tayyorlashni boshlaydi

Issiq va sovuq jarayonlar kutish () funktsiyasini chaqirish bilan boshlanadi, bu qo'shimcha tekshiruvlarni amalga oshiradi va keyin quvvat tugmasini bosishni boshlaydi. Shundan so'ng, dastur yashil chiroqni kutadi (qozon qizdirilganda), keyin issiq/sovuq tugmachasini taqlid qiladi. Shundan so'ng, u 50 soniya kutadi (bu hatto eng katta qahva uchun ham etarli) va keyin quvvatni o'chirib qo'yadi. Bu hatto kerak emas edi, chunki bu ajoyib mashina qahva tayyorlangandan 5 minut o'tgach avtomatik ravishda o'chadi, lekin nima uchun kuch sarflash kerak? Aytgancha, modifikatsiyadan keyin ham mashinaning kutish quvvati 2 vattdan kam.

Suvni to'ldirish va xavfsizlik

Bu mashina xavfsizlik nuqtai nazaridan yaratilgan, shuning uchun nazoratni qo'lga olgan tajovuzkor butun uyni suv bilan to'kib yuborishi mumkin emas edi. Uskunaning ishlamay qolishi ham jiddiy shikastlanishga olib kelmaydi. Uskuna sensorlari yonida to'ldirish kodiga o'rnatilgan himoyalar mavjud. Agar mashina x soniya ichida to'ldirilmasa, ISR rejimini ishga tushiradigan hisoblagich (masalan, ultratovush sensori ishlamay qolganda va qayta to'ldirish boshlangandan keyin x soniyadan keyin 20% berilsa) sodir bo'lishi mumkin.

Autentifikatsiya yo'q, buyruqlarni biladigan har bir kishi radio diapazonidagi mashinadan foydalanishi mumkin, shuning uchun men standart Xbee piconet identifikatorini boshqa narsaga o'zgartirdim, shuningdek ERR_INVALIDCMDga izoh berilishi mumkin va mashina noma'lum buyruqlarni e'tiborsiz qoldiradi.

Xatolar

Er -xotin qahva xatosi: bu xatoning eng zerikarli tomoni shundaki, u mashinani bir xil kod bilan ishlatganidan bir necha oy o'tgach sodir bo'la boshladi. Qahva buyrug'i berilgach, u qahva tayyorladi, o'chirdi va qaytadan yoqdi va yana o'sha patronli yana 1 ta qahva tayyorlashni davom ettirdi.

Men Android darajasidan buyruqlar takrorlanishini tuzatishni boshlashim kerak edi, chunki paket yo'qolganda kodni qayta yuborishni amalga oshirdim. Ma'lum bo'lishicha, na raspi2 -dagi android, C boshqaruv dasturi yoki Linux yadrosi Xbee uchun javobgar emas.

Boshqaruv tugunida "CMCSTART">/dev/ttyACM0 echo chiqarilgandan so'ng, u boshqa uchiga ikki marta chiqadi. Men xulosa qildimki, mening uyimdagi 2,4 GGts spektrim shu diapazonda joylashgan ko'plab radiotexnik qurilmalardan to'yingan bo'lib ketdi, bu esa Xbee -ni radio sathida qandaydir qayta yuborishni chaqirgan va ma'lumotlar ikki marta yuborilgan (har doim ham emas). Birinchi buyruq kelgandan so'ng, xcomm () mashinasi uni qayta ishlay boshladi, lekin ikkinchisi Xbees tamponida kutganidan keyin keladi va tsikl tugagach ikkinchi buyruqni qayta ishlay boshladi. Ushbu muammoni hal qilish uchun men kodga 3 ta chegarani kiritdim, shunda 2 daqiqada 1dan ortiq qahva tayyorlash mumkin emas. Bundan tashqari, CMSTATda cheklov mavjud, lekin C/Android boshqaruv kodiga aralashmaslik uchun u javoblarni 2 soniya davomida siqib chiqaradi.

Qo'lda ishlaydigan qahva hisoblagichi uchun oxirgi chegara qo'yildi, chunki mashina tayyor holatga kelgandan so'ng (qozon qiziydi, yashil chiroq yonadi) yashil hodisani yuzlab marta kofe sonini ko'paytirdi.

9 -qadam: Dizayn mulohazalari va yakuniy fikrlar

Xbee muloqotidan ko'p muammolardan so'ng, men Xbee -ni ushbu loyihaga tavsiya qilmayman. Barqarorlik uchun VirtualWire va tushirilgan Bps standart standart 433 MGts radiosidan foydalaning yoki to'g'ridan -to'g'ri qahva mashinasiga Wi -Fi ulangan Raspberry PI Zero joylashtiring.

Sanadan ko'rinib turibdiki, bu eski loyiha, shuning uchun boshqaruv pallasidan anakartdagi aniq pinli oyoqlarga ulanish kabi yo'qolgan kichik detallar uchun uzr so'rayman. Bu loyihani mustaqil bajarish uchun ma'lum darajadagi texnik bilim talab qilinadi. Agar siz xatolar/muammolar topsangiz yoki ushbu darslikka o'z hissangizni qo'shmoqchi bo'lsangiz, iltimos, menga xabar bering.

Boshqaruv dasturlari, ovozni boshqarish usullari - bu boshqa qismdir, bu sizning yotog'ingizdan chiqishdan oldin qahvani faqat ovozli buyruq bilan tayyorlab qo'yishga imkon beradi.

Men hozir suv saqlash tizimining (WasserStation) hujjatlarini to'ldirdim va CoffeeControlCode -ni avtomatik to'ldirishni o'z ichiga olgan eng so'nggi versiyasiga yangiladim. Agar siz xuddi shu mashinani qurishda ishlatsangiz, to'ldirish muammosiz ishlaydi (kodni o'zgartirmasdan), chunki suv sathi Circolo suv idishida kalibrlangan.

Tavsiya: