Mündəricat:
- Addım 1: Giriş
- Addım 2: Doğru Maşını seçin
- Addım 3: Avadanlıq dəyişiklikləri
- Addım 4: Əsas Əlaqələr və Nəzarət Kartı
- Addım 5: Su axınına nəzarət və yenidən doldurma mexanizmi
- Addım 6: Daşqın aşkarlanması
- Addım 7: Test və Son Montaj
- Addım 8: Qəhvə Nəzarət Kodu
- Addım 9: Dizayn mülahizələri və yekun düşüncələr
Video: JavaStation (Özünü Dolduran Tam Avtomatik IoT Qəhvə Makinası): 9 Addım (Şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bu layihənin məqsədi özünü avtomatik olaraq su ilə dolduran tam avtomatik səslə idarə olunan qəhvə hazırlayıcısı etmək idi və həqiqətən etməniz lazım olan hər şeyi müştəriləri əvəz etmək və qəhvənizi içməkdir;)
Addım 1: Giriş
Bu, mənim ikinci qəhvə modum olduğu üçün bu müddət ərzində çox şey öyrəndim, xüsusən də nə qədər mürəkkəb bir maşını dəyişdirsəniz, gündəlik əməliyyat zamanı qarşılaşacağınız daha çox problem/səhv. Əvvəlki maşın, röle modu olan sadə, köhnə 1 keçidli qəhvə maşını idi.
Circolo (tam avtomatik versiya), Dolce Gusto -nun ən yüksək keyfiyyətli maşındır. Uyğun maşını axtarmaq üçün saatlar sərf etməli oldum, çünki bu seriyadakı bütün digər maşınlar, yuxarıdakı mexaniki qolu istifadə edərək, soyuq və isti su axınlarını şəkildə göstərildiyi kimi dəyişir.
Addım 2: Doğru Maşını seçin
Mənim əsas maşınım yalnız tam avtomatik deyil, 5 dəqiqədən sonra avtomatik olaraq söndürülməsi və son qəhvə miqdarını xatırlamaq kimi əlamətdar xüsusiyyətlərə malikdir (bu, modinqdə daha sonra işləri çox asanlaşdıracaq). Maşının əsas işi:
1, Güc düyməsinə basıldı
2, Soyuq su düyməsinə basıldı (suyu dərhal kuboka dağıdır)
3, İsti su düyməsinə basıldı (qazanı ~ 20-60 saniyə qızdıracaq və fincana isti su buraxmağa başlayacaq) Güc işığı gözləmə dövründə qırmızı yanıb-sönəcək, sonra qazan hazır olduqda daimi olaraq yaşıl olur.
Bu maşın aşağıdakı səhvləri də aşkar edə bilər:
Su çəni boşdur
Kubok sahibi yerində deyil
Hər iki halda da güc işığı qırmızı/yaşıl arasında yanıb -sönəcək.
Addım 3: Avadanlıq dəyişiklikləri
Bu yazıda korpusun sökülməsi və yenidən yığılması barədə ətraflı məlumat verməyəcəyəm, çünki bu barədə YouTube -da videolar var. Əsas mikroprosessor, 2 açarın olduğu baş panelin altında gizlidir. Qazan işin sağ tərəfində, hər şeydən ayrıdır, nasos və enerji təchizatı paneli sol tərəfdədir.
Qəhvə maşını elektronika üçün ağır bir iş mühitidir, tərəflərin heç biri dövrə birləşdirmək üçün mükəmməl uyğun deyil. Qazanın sağ tərəfində daha çox yer var, ancaq istiliklə məşğul olacaqsınız, aydındır ki, dövrə qazan lövhəsinə toxuna bilmədi və ya hətta ona yaxın ola bilmədi. Mən enerji təchizatı / nasos tərəfini seçmişəm, amma burada nəzarət dövrəsini poza bilən / zaman keçdikcə telləri bağlayıcılarından çıxara bilən membran nasosunun işindən yaranan ağır rezonansla məşğul olmalısan.
Enerji təchizatı panelində faydalı bir şey yoxdur, ancaq Arduino -nun VIN pininə birbaşa qoşula bilən sabit +5V (bu maşın üçün başqa bir barmaq ucu) sızması üçün istifadə edilə bilər.
Sürətli hardware siyahısı (tam BOM deyil, əsaslar daxil deyil):
- Dolce Gusto Circulo tam avtomatik versiyası
- PIC AVR DSP üçün optocoupler ilə 5V 4 Kanal Relay Modulu (4x SIP-1A05 Reed Switch Relay istifadə etməyi təklif edirəm)
- Arduino Micro (gələcəkdə SparkFun Pro Micro və ya daha yenisini istifadə etməyi təklif edirəm)
- 2PCS 4n35 FSC Optocouplers Fototransistor
- 1/2 "Elektrikli Solenoid Vana Su Havası N/C Normal Bağlı DC 12V
- Ultrasonik Modul HC-SR04 Məsafə Ölçmə Sensoru (bəzi əlavələr alın, bunun səbəbini daha sonra görəcəksiniz)
- Arduino üçün 2 ədəd Yağış Damlası Nəmlik Algılama Sensoru Modulu Yağış Algılama
- 1 Xbee
- Su blokları üçün boru armaturları (evdən asılı olaraq dəyişə bilər, ən yaxşısını hardware mağazasında almaq və satın almadan əvvəl hamısını bir yerə yığmaq olar)
Addım 4: Əsas Əlaqələr və Nəzarət Kartı
Aşağıdakı dövrə nöqtələrini birləşdirmək lazımdır:
1, isti düymə
2, Soyuq düymə
3, Qırmızı led
4, Yaşıl led
5, Əsas güc düyməsi
6, Paylaşılan GND
Təəssüf ki, bunları lövhədə harada lehimləmə ilə bağlı qeydlərimi/şəkillərimi itirdim, amma hamısını bir multimetrlə asanlıqla izləmək olar (telləri geri izləmək üçün sadəcə diod test rejimindən istifadə edin). Lehim çox çətin deyildi, SMD ayaqları ilə nöqtələr seçin və oradakı telləri lehimləyin.
Qırmızı/Yaşıl LEDlər hər ikisi güc açarında bir -birinin yanında yerləşir. Maşın vəziyyətlərini təyin etmək üçün lazımdır (işlək vəziyyətdədir, qəhvə hazırlamağa hazırdır (qazan qızdırılır), səhv). Onları birbaşa ana lövhədən çıxartdım, çünki güc açarının ətrafındakı kiçik dövrə ilə fırlanmaq çətindir.
Arduino ilə etibarlı bir şəkildə əlaqə qurmaq və LED -in vəziyyətini oxumaq üçün 4N35 optocouplers istifadə edirdim. Orijinal fikir, onlardan 5 -dən istifadə etmək və həm oxunuşları, həm də keçid idarəetmələrini etmək idi (tamamilə səssiz bir dövrə etmək). Təəssüf ki, bu çip bir düyməni basmaq üçün kifayət qədər aşağı müqavimət göstərə bilmədi, buna görə də rölelərdən istifadə etmək məcburiyyətində qaldım. Əlimdə olan ümumi 4 kanallı röle modulunu istifadə etdim, amma bu layihəni yenidən etmək lazım olsaydı, Arduinonun çıxışına birbaşa qoşula bilən kiçik Reed rölelərindən (SIP-1A05 Reed Switch Relay, daxili flyback diodlu) istifadə edərdim. pinlər (~ 7mA yük), belə ki, hər şey 2 səviyyəli bir lövhə quruluşuna qoyula bilər.
5 kiçik kabel asanlıqla lövhənin altındakı elektrik kabellərinin yanına endirilə bilər.
Maşında yerdən daha səmərəli istifadə etmək üçün elektronikanı 2 əsas panelə bölmək qərarına gəldim:
Sol əsas idarəetmə lövhəsidir, sağda (kommunikasiya lövhəsi adlandırdığım) Xbee tutulur və şəkildə göstərilməsə də arxasında sıxılmış 2 su sensoru (daşqın aşkarlanması üçün). Üst tərəfdə real vaxt saatı (iş vaxtı üçün isteğe bağlı:)) və süngərə bükülmüş altdakı nasosun yanındakı yerini alan 4 kanallı röle lövhəsi də rezonasiyadan qorunmaq üçün bir az yapışdırılmışdır.
Ünsiyyət lövhəsi üçün, PCB -ni adi bir çörək taxtası istifadə etməklə narahat etmədim, çünki orada çox şey yoxdur. Ana lövhəyə 6 əlaqəsi var:
Vcc (5V), GND, Xbee (TX), Xbee (RX), Su sensoru1 (Məlumat), Su sensoru2 (Məlumat)
Addım 5: Su axınına nəzarət və yenidən doldurma mexanizmi
Bu maşını təhlükəsizliyi nəzərə alaraq hazırladım və təcavüzkarların/nasazlıqların evə ciddi su ziyanı vurmasını qeyri -mümkün etdi, çünki maşın həm krana, həm də İnternetə 24/7 bağlanacaqdı. Aşağıdakı 555 qoruma sxeminin solenoidin üstündə etdiyi budur.
Ayrıca, solenoidin 12V enerji təchizatı ilə işlədiyini və hələ də nasos və rölə lövhəsinin yanındakı qəhvə maşınının altına sıxmağı bacardığımı unutmayın. Güc itirməmək üçün 4 kanallı röle lövhəsi 230V şəbəkəsini birbaşa adapterə keçir, sonra solenoid açılacaq. Əlbəttə ki, fişini çəkərkən həm solenoiddə + həm də maqnit sahəsinin çökməsi üçün hesablamalı olduğunuz bir neçə mikrosaniyənin bağlanması gecikir.
Qəhvə aparatına gedən blokdan çıxan kiçik 3 mm uzunluğunda bir tel və kiçik diametrli bir PVC boru ilə xarici su blokunu birləşdirmək üçün standart 3,5 mm jak istifadə edirəm.
Su borusunun yuxarı hissəsi bu borunun yerləşdirilməsi üçün qazılır və sonra tankın altına enir. Qeyd edim ki, borunu ortadan keçmədən yan tərəfdən aşağıya doğru qidalandırmaq və ultrasəs sensorlarına müdaxilə etmək çox vacibdir.
Solenoidin işə salınmasından sonra dövrə ~ 4 saniyədən sonra avtomatik olaraq sönəcək (bu, tankı doldurmaq üçün kifayət qədər vaxt olmalıdır) və növbəti AÇMA dövrəsinə qədər bu vəziyyətdə qalacaq. Bu dövrə, arızalara qarşı son müdafiə xəttidir və qəhvə maşınından tamamilə ayrı işləyir. Maşında olan röle uğursuz olarsa və qapalı qalsa, su evə su basa bilər, bu qoruma ilə heç vaxt baş verə bilməz.
Əgər bu hələ də sizin üçün yetərli deyilsə və ya suyu bağlamaq mümkün deyilsə və ya su blokları ilə dalğalanmaq istəmirsinizsə, qəhvə maşınının kiçik su çənini uzatmaq üçün məhz bunun üçün tikilmiş WasserStation layihəmi nəzərdən keçirin.
Addım 6: Daşqın aşkarlanması
Qorumaq üçün 2 əlavə su sensoru var:
- Sensor1: tankın arxasında tankdan daşma aşkarlanması üçün
- Sensor2: qəhvə maşınının altındakı fincan daşmasını aşkar etmək üçün
Bu sensörlərin hər ikisi, bir milyon qəhvə hazırlamaq və evi su basması kimi bir hücumun qarşısını almaq üçün suyu dərhal bağlayan, səhv işığını yandıran və proqramın icrasını dayandıran bir fasilə verəcəkdir. Proqramdan çıxdıqdan sonra maşın artıq heç bir şeyə cavab verməyəcək və əl ilə dövrəyə alınmalıdır.
Ultrasonik sensoru su bassa nə olacağını düşünürsünüzsə (bir dəfə belə oldu:))
Su səviyyəsini bir neçə gün belə geri verirdi, amma quruduqdan sonra da bir daha dəqiq olmadı və əvəz etməli oldum. Maşın soyuq sudan axmaq üçün hazırlanmışdır, buna görə də istidən buxarlanma sensora zərər verməyəcəkdir. Bu sensor suyun səviyyəsi ondan 2-3 sm aralıda olana qədər dəqiqdir.
Tankın elliptik forması suyun səviyyəsini hesablamağı çətinləşdirdi, buna görə də faizlərə uyğun olaraq ölçülüb proqrama kodlaşdırıldı.
Addım 7: Test və Son Montaj
Maşın son vəziyyətindədir, demək olar ki, hər hansı bir hack izlərini gizlədir və 3 vəziyyət göstəricisi LEDləri və USB ayıklama portu orada olmasaydı, Wifi -yə qoşulmuş olsa da içəridə başqa bir şeyin baş verdiyini söyləyə bilməzsiniz. Zəlzələ serveri:)
Cihazları dəyişdirdiyim zaman həmişə əllə istifadəni ən yüksək prioritet hesab edirəm. Hack edildikdən sonra, maşın olduğu kimi hər kəs tərəfindən tamamilə istifadə edilə bilər, ancaq su anbarı asanlıqla çıxarıla bilməz. Dizaynın tam su avtomatlaşdırma hissəsini bitirmədiyiniz təqdirdə, maşın yalnız kiçik bir boru + huni birləşməsi ilə doldurula bilər.
Addım 8: Qəhvə Nəzarət Kodu
Aşağıda əlavə edilmiş tam Arduino mənbə kodunu tapın.
Kodun qısa izahı:
Əsas döngə, əmrlərin işlənməsi, qəhvə hazırlanması, maşının açılması/söndürülməsindən məsul olan xcomm () funksiyasını çağırır.
Aşağıdakı kod yalnız əl ilə idarə edildikdə əldə edilir. Neçə qəhvə hazırlandığını izləmək üçün stat sayacını artırır və su anbarını avtomatik doldurur.
Əmrlər Xbee və ya USB portu üzərindən göndərilə bilər (Debugun əvvəlində aktivləşdirilməlidir). Ünsiyyət ya portağaldan gəldikdə şəbəkə fəaliyyətini göstərmək üçün bir saniyə ərzində yanıb -sönür. Aşağıdakı əmrlər tətbiq olunur:
1, CMSTAT - maşından statistika sorğusu
Maşın, neçə isti/soyuq/əl qəhvəsi hazırlandığı ilə bağlı statistikanı saxlayır və eyni zamanda 3 gündən sonra daşmayan RTC -dən işləmə müddətini alır və buna görə illərlə gedə bilər: P
2, CMWSTART - isti su ilə qəhvə və isti içkilər hazırlamağa başlayır
3, CMCSTART - soyuq su ilə buzlu çay və soyuq içkilər hazırlamağa başlayır
İsti və soyuq proseslər, sonrakı yoxlamaları yerinə yetirən gözləmə () funksiyasını çağırmaqla başlayır və sonra güc düyməsinə basmağa səbəb olur. Bundan sonra proqram yaşıl işığı gözləyir (qazan qızdırıldıqda), sonra isti/soyuq düyməni basaraq emulyasiya edir. Bundan sonra 50 saniyə gözləyir (bu, hətta ən böyük fincan qəhvə üçün kifayət qədərdir), sonra gücü söndürür. Qəhvə hazırlandıqdan 5 dəqiqə sonra bu əla maşın avtomatik olaraq sönəcək, amma niyə güc itirməli? Yeri gəlmişkən, modifikasiyadan sonra da maşının gözləmə gücü istehlakı 2 vattdan azdır.
Su doldurma və təhlükəsizlik
Bu maşın təhlükəsizlik nəzərə alınmaqla hazırlanmışdır, buna görə də nəzarəti ələ keçirən bir təcavüzkarın bütün evi su ilə doldurması mümkün olmazdı. Bir hardware çatışmazlığı da ciddi ziyanla nəticələnməyəcək. Avadanlıq sensörlərinin yanında, doldurma koduna daxil edilmiş qorunmalar var. Maşın x saniyədə doldurulmasa ISR rejimini işə salan sayğac (məsələn, ultrasəs sensoru nasaz olarsa və doldurmağa başladıqdan sonra x saniyədən sonra 20% verərsə) baş verə bilər).
Doğrulama yoxdur, əmrləri bilən radio diapazonundakı hər kəs maşından istifadə edə bilər, buna görə standart Xbee piconet ID -ni başqa bir şeyə dəyişdirdim, ERR_INVALIDCMD də şərh edilə bilər və maşın naməlum əmrləri görməyəcək.
Səhvlər
İkiqat qəhvə böcəyi: Bu böcəyin ən əsəbiləşən tərəfi, eyni kodla maşını istifadə etdikdən bir neçə ay sonra baş verməsidir. Qəhvə əmri verildikdən sonra qəhvəni hazırladı, söndürdü və yenidən yandırdı və eyni patronla daha 1 qəhvə hazırlamağa davam etdi.
Android səviyyəsindən əmrlərin təkrarlanmasını düzəltməyə başlamalı oldum, çünki paket itkisi halında kodu yenidən göndərməyi həyata keçirdim. Məlum oldu ki, nə Android, nə C nəzarət proqramı, nə də raspi2 üzərindəki Linux nüvəsi bunun əvəzinə Xbee -dən məsuldur.
Nəzarət qovşağında "CMCSTART">/dev/ttyACM0 əks -sədası verildikdən sonra digər ucuna iki dəfə çıxır. Evdəki 2.4Ghz spektrimin bu diapazonda olan bir çox radio cihazından doymağa başladığını və nəticədə bir Xbee -nin radio qatında bir növ yenidən göndərməyə səbəb olduğunu və məlumatların iki dəfə göndərildiyini (həmişə deyil) nəticəyə gəldim. İlk əmr maşınlara gəldikdən sonra xcomm () funksiyası onu emal etməyə başladı, lakin ikinci bir əmr dərhal sonra Xbees tamponunda gözlədi və döngə bitdikdə ikinci əmri emal etməyə başladı. Bu problemi həll etmək üçün kodda 2 dəqiqə ərzində 1 -dən çox qəhvə hazırlamağı qeyri -mümkün etmək üçün 3 eşik təyin etdim. CMSTAT -da bir məhdudiyyət var, ancaq C/Android nəzarət koduna müdaxilə etməmək üçün cavabları 2 saniyə ərzində sıxışdıracaq.
Qəhvə sayğacına son hədd qoyuldu, çünki maşın hazır vəziyyətə çatdıqda (qazan qızdırılır, yaşıl işıq), yaşıl hadisəni qəhvə sayını yüz dəfə dəfələrlə qeyd etdi.
Addım 9: Dizayn mülahizələri və yekun düşüncələr
Xbee ünsiyyətində bir çox problemdən sonra Xbee -ni bu layihə üçün tövsiyə etməzdim. İstər sabitlik üçün standart ucuz 433Mhz radio istifadə etsəniz, istərsə də Wifi bağlantısı olan bir Moruq PI Zero qəhvə maşınının içinə qoyun.
Tarixin köhnə bir layihə olduğunu göstərdiyinə görə, nəzarət sxemindən anakartdakı dəqiq pin ayaqlarına olan əlaqə kimi çatışmayan kiçik detallar üçün üzr istəyirəm. Bu layihənin müstəqil olaraq həyata keçirilməsi üçün müəyyən səviyyədə texniki bilik tələb olunur. Hər hansı bir səhv/problem tapsanız və ya bu dərsliyə kömək etmək istəyirsinizsə, mənə bildirin.
Nəzarət proqramı, səsli idarəetmə üsulları, yatağınızdan qalxmadan əvvəl qəhvənizi yalnız səsli əmrlə hazırlamağı mümkün edəcək başqa bir hissəyə aiddir.
İndi su saxlama sistemimin (WasserStation) sənədlərini tamamladım və CoffeeControlCode -u avtomatik doldurma da daxil olmaqla son versiyaya yenilədim. Tikinti üçün eyni maşından istifadə etsəniz, su səviyyəsi Circolo su çənində kalibr edildiyindən dolum qüsursuz işləyəcək (kodda heç bir dəyişiklik edilmədən).
Tövsiyə:
Telefonunuzu dolduran şalvar: 6 addım (şəkillərlə birlikdə)
Telefonunuzu Şarj edən Şalvar: Beləliklə, fiziki fəaliyyətlərimi hesablamadan gündə 1000 -ə yaxın addım atırıq və əgər mənim kimi müntəzəm bir velosipedçi olsanız da çox əhəmiyyətlidir. Elə isə elektrik enerjisindən bir şeylər doldurmaq üçün istifadə edə bilsək nə olar. Beləliklə, bu bir təlimatdır
WiFi Qəhvə Makinası: 9 addım
WiFi Qəhvə Hazırlayıcısı: Wifi Qəhvə hazırlayıcısı bir fincan qəhvəni təhlükəsiz və uzaqdan dəmləmək üçün Arduino, NODE MCU və geri çevrilmiş hissələrdən istifadə edir
Avtomatik Ağıllı Bitki Potu - (DIY, 3D Çaplı, Arduino, Özünü Suvarma, Layihə): 23 Addım (Şəkillərlə)
Avtomatik Ağıllı Bitki Potu - (DIY, 3D Çaplı, Arduino, Özünü Suvarma, Layihə): Salam, Bəzən bir neçə gün evdən uzaqlaşanda və ya həqiqətən məşğul olanda ev bitkiləri (haqsız olaraq) suvarılmadıqları üçün əziyyət çəkirlər. ehtiyac var. Bu mənim həllimdir: Daxili su anbarı olan bir Ağıllı Bitki Potu. Sənso
Avtomatik Qəhvə Bildirim Sistemi: 7 Adım (Şəkillərlə birlikdə)
Avtomatik Qəhvə Bildirim Sistemi: Bu layihədə birisi təzə bir qəhvə dəmləyəndə Slack bildirişləri göndərən bir qəhvə xəbərdarlıq sistemi quraraq bir ofis qəhvə maşınını ağıllı edirəm. Kod bir e -poçt və ya mətn mesajı göndərmək üçün dəyişdirilə bilər. Bu layihə R üzərində qurulub
Bluetooth Dinamikləri və Cib Telefonlarını Dolduran Möhtəşəm Şarj Edilə bilən Fənər İşığı: 4 Addım (Şəkillərlə birlikdə)
Bluetooth Dinamikləri və Cib Telefonlarını Dolduran Möhtəşəm Şarj Edilə bilən Fənər İşığı: Salam dostlar, bu təlimatda, Bluetooth dinamikləri ilə təchiz edilmiş və cib telefonunu şarj etmək üçün USB dişi şarj edən fənər işığı haqqında məlumat verirəm, buna görə də çox yönlü bir cihazdır. parkda və ya dağda düşərgə və gəzinti üçün