ЈаваСтатион (потпуно самопопуњавање потпуно аутоматског ИоТ апарата за кафу): 9 корака (са сликама)

ЈаваСтатион (потпуно самопопуњавање потпуно аутоматског ИоТ апарата за кафу): 9 корака (са сликама)

Преглед садржаја:

Anonim

Циљ овог пројекта је био да се направи потпуно аутоматски апарат за кафу са аутоматским допуњавањем воде и све што треба да урадите је да замените патроне и попијете кафу;)

Залихе:

Корак 1: Увод

Пошто је ово био мој други мод за кафу, много сам научио у том процесу, посебно што је сложенија машина коју мењате више проблема / грешака на које ћете наићи током свакодневне операције. Претходна машина је била једноставна стара 1 апарат за кафу са релејем.

Цирцоло (потпуно аутоматска верзија) је врхунски производни модел Долце Густо. Морао сам да проверим сате у потрази за одговарајућом машином, јер све остале машине из ове серије користе горњу механичку полугу за пребацивање између токова хладне и топле воде, као што је приказано на слици.

Корак 2: Изаберите праву машину

Моја основна машина није само потпуно аутоматска, већ има изванредне карактеристике као што је аутоматско искључивање након 5 минута и памћење до последње количине кафе (што ће касније учинити много лакше у модингу). Основни рад машине:

1, дугме за напајање је притиснуто

2, дугме за хладну воду (одмах ће распршити воду до чаше)

3, дугме за топлу воду притиснуто (загрева котао ~ 20-60 секунди и почиње да ослобађа врућу воду до чаше) Светло напајања ће трептати црвено током периода мировања, а затим трајно зелено када је котао спреман.

Ова машина такође има могућност да открије следеће грешке:

Резервоар за воду је празан

Држач чаша није на свом месту

У оба случаја, лампица напајања ће треперити између црвене / зелене.

Корак 3: Измене хардвера

У овом тексту нећу детаљно описивати растављање и поновно састављање предмета јер на њему постоје видео снимци. Главни микропроцесор је скривен тачно испод панела где су два прекидача. Котао је на десној страни кућишта одвојен од свега осталог, пумпа и панел напајања су на лијевој страни.

Апарат за кафу је тешка радна средина за електронику, ниједна страна није савршено погодна за интеграцију кола. Десно на котлу има више простора, али ћете се бавити топлином, очигледно је да круг није могао да дотакне плочу котла или да буде близу ње. Имам изабрати напајање / пумпа стране, али овдје морате носити с тешким резонанције долазе из рада мембранске пумпе која може уништити управљачки круг / направити жице склизнути из њихових конектора тијеком времена.

Плоча за напајање не садржи ништа корисно, али се може користити за изостављање стабилног + 5В (још један палац за ову машину) који се може директно повезати с Ардуино ВИН пином заобилазећи регулатор напона на плочи.

Брза листа хардвера (не пуна БОМ, не садржи основе):

  1. Долце Густо Цирцуло аутоматска верзија
  2. 5В 4-канални релејни модул са оптокуплером за ПИЦ АВР ДСП (предлажем да користите 4к СИП-1А05 Реед Свитцх Релаи)
  3. Ардуино Мицро (предлажем да користите СпаркФун Про Мицро или новије у будућности)
  4. 2ПЦС 4н35 ФСЦ Оптоцоуплерс Пхототрансистор
  5. Електрични електромагнетни вентил 1/2 "за ваздух ваздуха Н / Ц Нормално затворен ДЦ 12В
  6. Ултразвучни модул ХЦ-СР04 сензор за мерење растојања (купите неке додатке, видећете касније зашто)
  7. 2пцс Раиндроп влажност детектора сензора за детекцију кише за Ардуино
  8. 1 Ксбее
  9. Цевни фитинзи за водене блокове (може варирати у зависности од куће, најбоље је купити у хардверској радњи и ставити их све заједно прије куповине)

Корак 4: Главне везе и Управљачки одбор

Потребно је повезати следеће тачке круга:

1, Хот дугме

2, Хладно дугме

3, Црвена је водила

4, Зелена

5, Главно дугме за укључивање

6, Схаред ГНД

Нажалост, изгубио сам своје белешке / слике о томе где да их лемим на плочу, али све се може лако пратити помоћу мултиметра (само користите тестни режим да бисте пратили жице назад). Лемљење није било претешко, сакупљати бодове са СМД ногама и лемити жице тамо.

Црвене / зелене ЛЕД диоде се налазе једна поред друге на прекидачу напајања. Они су потребни за одређивање стања уређаја (укључен, спреман за припрему каве (загрејан бојлер), грешка). Скинуо сам их директно са матичне плоче, јер је тешко заобићи мали круг око прекидача.

Користио сам оптичке спрежнике 4Н35 да безбедно повезујем са Ардуином и читам стања ЛЕД диода. Првобитна идеја је била да се користи 5 од њих и да се учине и очитавања и контроле прекидача (направите потпуно силентл круг). Нажалост, овај чип није могао генерисати довољно ниску отпорност да би емулирао притисак на дугме, па сам био приморан да користим релеје. Користио сам генерички 4-канални релејни модул што сам имао у руци, али ако бих морао поновити овај пројект, користио бих мале Реед релеје (СИП-1А05 Реед Свитцх Релаи с интерним флибацк диодама) који се могу изравно повезати с Ардуино излазом пинови (~ 7мА оптерећење) тако да се све може ставити на структуру даске на 2 нивоа.

5 малих каблова се лако могу спустити поред каблова за напајање испод плоче за напајање.

За ефикасније коришћење простора у машини одлучио сам да поделим електронику на 2 главна панела:

Лево је главна контролна табла, десно (оно што ја зовем комуникацијска плоча) држи Ксбее и иако није приказано на слици, два сензора воде (за детекцију преливања) стиснута су иза њега. На врху је сат реалног времена (опционално за вријеме непрекидног рада:)) и 4-канална релејна плоча која се налази поред пумпе на дну умотана у спужву, а такођер се мало залепила како би се заштитила од резонације.

За комуникацијску плочу, нисам се трудио да ПЦБ користи само обичну матичну плочу, јер се тамо не догађа много. Има 6 прикључака на главну плочу:

Вцц (5В), ГНД, Ксбее (ТКС), Ксбее (РКС), сензор воде1 (подаци), сензор воде2 (подаци)

Корак 5: Контрола протока воде и механизам за поновно пуњење

Дизајнирао сам ову машину са сигурношћу на уму, што је онемогућило нападачима / кваровима да проузрокују озбиљна оштећења воде у кући јер би машина била прикључена и на славину и на интернет 24/7. То је оно што следећи заштитни круг ради на врху соленоида.

Такође имајте на уму да соленоид ради са 12В напајања што ми је и даље успело да стиснем дно апарата за кафу поред пумпе и релејне плоче. Да не би трошили снагу, 4-канална релејна плоча пребацује 230В главну струју директно на адаптер који ће онда укључити соленоид. Ту је наравно неколико микросекунди одлагања одбијања онога што морате израчунати за колапс магнетског поља и на соленоиду + ​​на адаптеру повлачењем утикача.

Користим стандардни 3.5мм прикључак за спајање вањског воденог блока с дугом 3м жицом и ПВЦ цијеви малог промјера које излазе из блока и одлазе у апарат за каву.

Горњи део резервоара за воду се избуши да се прилагоди овој цеви која се затим спусти на дно резервоара. Приметио бих да је веома важно да се цев храни до дна на страни без проласка кроз средину и да омета ултразвучни сензор.

Након што се соленоид укључи у струјно коло аутоматски ће се искључити након ~ 4 секунде (што би требало да буде више него довољно времена да се напуни резервоар до пуног) и остане у овом стању до следећег циклуса укључивања. Овај круг је последња линија одбране од неисправности и ради потпуно самостално од апарата за кафу. Ако би релеј у машини био неуспешан и остао затворен, вода би могла поплавити кућу, јер се та заштита никада не може догодити.

Ако ово још није довољно добро за вас или је немогуће затворити воду или не желите да се зафркавате са воденим блоковима, провјерите мој ВассерСтатион пројект који је изграђен управо за то како би се проширио мали резервоар воде за кафу.

Корак 6: Откривање поплава

Постоје 2 додатна сензора воде за заштиту:

  • Сензор1: на задњој страни резервоара за детекцију преливања из резервоара
  • Сенсор2: на дну апарата за кафу за детекцију преливања шоље

Оба ова сензора ће активирати прекид који одмах искључује воду, укључује светло за грешке и прекида извршење програма да би се спречио напад као што је прављење милион кафа и поплава куће на тај начин. Након што програм престане да ради, машина више неће реаговати на било шта и мора бити ручно погоњена.

У случају да се питате шта би се десило ако би ултразвучни сензор био поплављен (десило се једном:))

Тако је неколико дана враћао ниво воде, али чак и након што је исушен, никада више није био прецизан и морао сам га замијенити. Машина је дизајнирана да се креће од хладне воде из славине тако да никакво кухање од врућине не би оштетило сензор. Овај сензор је тачан само док ниво воде не буде 2-3 цм од њега.

Елипсоидни облик резервоара отежавао је израчунавање нивоа воде тако да су мјерени и чврсто уклопљени у програм како би одговарали процентима.

Корак 7: Тестирање и завршна скупштина

Машина у свом коначном стању, скоро у потпуности скрива трагове било ког хаковања и ако 3 ЛЕД индикатора статуса и УСБ дебуг порта не би били тамо, не бисте могли да кажете да се било шта друго дешава унутра док може чак и да повеже ВиФи Куаке сервер:)

Када модификујем уређаје, увек држим да је ручно руковање главни приоритет. После хаковања, машина је потпуно употребљива од стране било кога као што је била, осим што се резервоар за воду не може лако уклонити. Уколико не завршите комплетан део пројекта аутоматизације воде, машина се на овом месту може напунити само комбинацијом мале цеви и левка.

Корак 8: Код контроле каве

Пронађите комплетан Ардуино изворни код који се налази доле.

Кратко објашњење кода:

Главна петља позива функцију кцомм (), која је одговорна за обраду наредби, прављење каве, укључивање / искључивање машине.

Код испод се достигне само у случају ручног управљања. Повећава бројач статиста да би пратио колико је кафа направљено и да аутоматски напуни резервоар за воду.

Наредбе се могу слати преко Ксбее или преко УСБ порта (Дебуг мора бити омогућен на почетку).Када комуникација дође са било које од наранџастих лампица трепће секунде да покаже мрежну активност. Следеће команде су имплементиране:

1, ЦМСТАТ - статистика упита са машине

Машина складишти статистичке податке о томе колико је врућих / хладних / ручних кава направљено и такође добијају време непрекидног рада од РТЦ-а које не прелазе након 3к дана, тако да може ићи до година: П

2, ЦМВСТАРТ - почиње да прави кафу и топле напитке са топлом водом

3, ЦМЦСТАРТ - почиње да прави ледени чај и хладне напитке са хладном водом

Врући и хладни процеси почињу позивом функције приправности () која врши даљње провјере, а затим активира притисак на дугме за напајање. Након тога програм чека зелено светло (када се котао загреје), а затим емулира притисак на тастер за топлу / хладну. Након тога чека 50 секунди (што је више него довољно за чак и највећу шољицу кафе), а затим искључује напајање. Ово не би било ни потребно јер би се ова одлична машина аутоматски искључила 5 минута након што је направила кафу, али зашто да троши енергију? Успут, потрошња струје у стању приправности чак и након модификације мање од 2 вата.

Допуна воде и сигурност

Ова машина је дизајнирана тако да има у виду безбедност, тако да би било немогуће за нападача који стиче контролу да поплави цијелу кућу водом. Грешка у хардверу не би довела ни до озбиљних штета. Поред хардверских сензора уграђени су и заштитни кодови за поновно пуњење. Бројач који покреће ИСР рутину ако машина није допуњена к секунди (то би се, на примјер, могло догодити ако би ултразвучни сензор покварио и дао 20% након к секунди након поновног пуњења).

Нема аутентификације, било ко може да користи машину у оквиру радио опсега који зна команде тако да сам променио подразумевани Ксбее пицонет ИД на нешто друго, такође се може коментарисати и ЕРР_ИНВАЛИДЦМД и машина ће игнорисати све непознате команде.

Бугс

Дупла кафица: најзабрињавајућа ствар у вези са овом грешком је што је почела да се дешава неколико месеци након коришћења машине са истим кодом. Након што му је издата наредба за каву, направила је каву, угасила се и поново укључила и наставила да прави још једну кафу са истом патроном.

Морао сам почети са дебаговањем копирања наредби са Андроид нивоа, јер сам имплементирао поновно слање на код у случају губитка пакета. Испоставило се да ни андроид, Ц контролни софтвер или Линук кернел на распи2 нису били одговорни за ово радије Ксбее.

Након издавања еха “ЦМЦСТАРТ”> / дев / ттиАЦМ0 на контролном чвору излази два пута на други крај. Закључио сам да је мој 2.4ГХз спектар у мојој кући почео да се засити од многих радио уређаја у овом опсегу који су изазвали Ксбее да призове неку врсту поновног слања у радио слоју и подаци су послани два пута (не увек). Када је прва наредба дошла у машини, функција кцомм () је почела да је обрађује, међутим, друга је дошла одмах после које је чекала у Ксбеес баферу и када је петља завршила, почела је да обрађује другу команду. Да бисте заобишли овај проблем, увео сам 3 прага у коду да би било немогуће направити више од 1 кафе за 2 минута. Такође постоји ограничење на ЦМСТАТ-у, али да не омета Ц / Андроид контролни код, једноставно ће смањити одговоре за 2 секунде.

Последњи праг је постављен за ручни бројач кафе, јер када машина достигне стање спремности (котао се загреје, зелено светло), стотине пута је забиљежио зелени догађај који је подигао број каве.

Корак 9: Разматрање дизајна и коначне мисли

Након много проблема са Ксбее комуникацијом, не бих препоручио Ксбее за овај пројекат. Или користите стандардни јефтин 433Мхз радио са ВиртуалВире и смањили Бпс за стабилност или уградите Распберри ПИ Зеро са Вифи везом директно у апарат за кафу.

Како датум показује да је то стари пројекат, тако да се извињавам за мале детаље који недостају као што је веза од контролног круга до прецизних ножица на матичној плочи. Овај пројекат захтева одређени ниво техничког знања да то урадите сами. Ако пронађете било које грешке / проблеме или желите да допринесете овом туториалу, јавите ми.

Контролни софтвер, методе за гласовну контролу је за други део који ће омогућити да ваша кафа буде спремна само гласовном командом пре него што се извуче из кревета.

Сада сам довршио документацију свог система за складиштење воде (ВассерСтатион) и ажурирао ЦоффееЦонтролЦоде до најновије верзије, која такође укључује и аутоматско допуњавање. Ако користите исту машину за изградњу, пуњење ће радити беспрекорно (без икаквих модификација кода) пошто су нивои воде калибрирани на резервоар воде Цирцоло.