Taula de continguts:

JavaStation (cafetera IoT completament automàtica amb recanvi automàtic): 9 passos (amb imatges)
JavaStation (cafetera IoT completament automàtica amb recanvi automàtic): 9 passos (amb imatges)

Vídeo: JavaStation (cafetera IoT completament automàtica amb recanvi automàtic): 9 passos (amb imatges)

Vídeo: JavaStation (cafetera IoT completament automàtica amb recanvi automàtic): 9 passos (amb imatges)
Vídeo: Часть 1 — Аудиокнига «Бэббит» Синклера Льюиса (гл. 01–05) 2024, Juliol
Anonim
JavaStation (cafetera IoT totalment automàtica amb recanvi automàtic)
JavaStation (cafetera IoT totalment automàtica amb recanvi automàtic)
JavaStation (cafetera IoT totalment automàtica amb recanvi automàtic)
JavaStation (cafetera IoT totalment automàtica amb recanvi automàtic)
JavaStation (cafetera IoT completament automàtica amb recanvi automàtic)
JavaStation (cafetera IoT completament automàtica amb recanvi automàtic)

L'objectiu d'aquest projecte era fabricar una cafetera amb control de veu totalment automàtica que es reomplís automàticament amb aigua i tot el que realment heu de fer és substituir els clients i beure el vostre cafè;)

Pas 1: Introducció

Introducció
Introducció

Com que aquest era el meu segon mod de cafè, he après moltes coses en el procés, sobretot que com més complexa màquina modifiqueu, més problemes / errors trobareu durant el dia a dia. La màquina anterior era només una antiga cafetera de 1 interruptor amb un relé mod.

El Circolo (versió automàtica completa) és la màquina de primera línia Dolce Gusto. Vaig haver de passar hores buscant la màquina adequada perquè totes les altres màquines d’aquesta sèrie utilitzaven la palanca mecànica superior per canviar entre els fluxos d’aigua freda i calenta tal com es mostra a la imatge.

Pas 2: trieu la màquina adequada

Trieu la màquina adequada
Trieu la màquina adequada

La meva màquina base no només és completament automàtica, sinó que té funcions remarcables com apagar-me automàticament al cap de 5 minuts i recordar la quantitat de cafè que acabarà (que facilitarà les coses molt més endavant a la modificació). Funcionament bàsic de la màquina:

1, s'ha premut el botó d'encesa

2, premut el botó d'aigua freda (dispersarà immediatament l'aigua cap a la tassa)

3, es prem el botó d'aigua calenta (escalfarà la caldera ~ 20-60 segons i començarà a deixar anar aigua calenta a la tassa).

Aquesta màquina també té la capacitat de detectar els errors següents:

El dipòsit d’aigua està buit

El titular de la tassa no està al seu lloc

En ambdós casos, la llum de potència parpellejarà entre vermell / verd.

Pas 3: modificacions de maquinari

Modificacions de maquinari
Modificacions de maquinari

En aquest escrit no detallaré el desmuntatge i el muntatge del cas perquè hi ha vídeos sobre això a YouTube. El microprocessador principal està amagat just a sota del tauler principal on es troben els 2 commutadors. La caldera es troba a la part dreta de la caixa separada de tota la resta, la bomba i el panell d'alimentació es troben al costat esquerre.

La màquina de cafè és un entorn pesat per a l’electrònica, cap dels laterals no és perfectament adequat per integrar un circuit. La dreta de la caldera té més espai, però us ocupareu de la calor, evidentment el circuit no podria tocar la placa de la caldera ni tan sols estar-hi a prop. He triat el costat de la font d'alimentació / bomba, però aquí heu de fer front a una forta ressonància que prové del funcionament de la bomba de membrana, que pot enderrocar el circuit de control i fer que els cables es llisquin dels connectors amb el pas del temps.

El panell de la font d’alimentació no conté res útil, però es pot utilitzar per fer fora d’un + 5V estable (un polze més cap amunt per a aquesta màquina) que es pot connectar directament al pin VIN d’Arduino passant per alt el regulador de tensió de la placa.

Llista ràpida de maquinari (no és la llista completa de material, no inclou els conceptes bàsics):

  1. Dolce Gusto Circulo versió automàtica completa
  2. Mòdul de relé de 5 canals de 4 canals amb optoacoplador per a PIC AVR DSP
  3. Arduino Micro (us suggereixo utilitzar SparkFun Pro Micro o versions posteriors)
  4. Fototransistor 2PCS 4n35 optoacobladors FSC
  5. Vàlvula solenoide elèctrica de 1/2 "per a aigua Aire N / C DC normalment tancat 12V
  6. Mòdul d'ultrasons HC-SR04 Sensor de mesurament de distància de transductor (compreu alguns extres, veureu més endavant per què)
  7. Mòdul de sensor de detecció de humitat de gotes de pluja de 2 peces Detecció de pluja per Arduino
  8. 1 Xbee
  9. Accessoris de canonada per a blocs d’aigua (poden variar en funció de la casa), millor comprar-lo a la ferreteria i col·locar-lo tot abans de comprar-lo)

Pas 4: connexions principals i la placa del controlador

Connexions principals i la placa de control
Connexions principals i la placa de control
Connexions principals i la placa de control
Connexions principals i la placa de control
Connexions principals i la placa del controlador
Connexions principals i la placa del controlador

Cal connectar els punts de circuit següents:

1, botó d'actualització

2, botó fred

3, led vermell

4, led verd

5, botó d'engegada principal

6, GND compartit

Malauradament, he perdut les meves notes / imatges sobre on es poden soldar a la pissarra, però es poden rastrejar fàcilment amb un multímetre (només cal que utilitzeu el mode de prova de díodes per rastrejar els cables). La soldadura no era massa dura, escolliu punts amb potes SMD i soldeu els cables allà.

Els LED vermells / verds estan situats els uns al costat dels altres a l’interruptor d’alimentació. Són necessaris per determinar els estats de la màquina (encès, a punt per preparar cafè (caldera escalfada), error). Els he tret directament de la placa principal, perquè és difícil jugar amb el petit circuit al voltant de l’interruptor d’alimentació.

Estava fent servir els optoacopladors de 4N35 per connectar-me de manera segura amb l’Arduino i llegir els estats del LED. La idea original era utilitzar-ne 5 i fer tant les lectures com els controls de commutació (fer un circuit completament silenciós). Malauradament, aquest xip no va poder generar una resistència prou baixa per emular un botó, de manera que em vaig veure obligat a utilitzar relés. He utilitzat el mòdul de relé genèric de 4 canals que tenia a la mà, però si hagués de refer aquest projecte, només faria servir relés Reed petits (SIP-1A05 Reed Switch Relay amb díodes interns flyback) que es poden connectar directament a la sortida d’Arduino pins (~ 7 mA de càrrega) de manera que tot es podria posar en una estructura de tauler de 2 nivells.

Els 5 petits cables es poden baixar fàcilment al costat dels cables d’alimentació que hi ha sota la placa de subministrament.

Per utilitzar l'espai de manera més eficient a la màquina, vaig decidir dividir l'electrònica en dos panells principals:

L’esquerra és la placa principal de control, la dreta (el que anomeno placa de comunicació) sosté el Xbee i, tot i que no apareix a la imatge, hi ha els dos sensors d’aigua (per a la detecció de desbordament) que hi ha al darrere. A la part superior, el rellotge en temps real (opcional per al temps d'activitat:)) i la placa de relés de 4 canals que ocupa el lloc al costat de la bomba a la part inferior embolicada amb una esponja, també es va enganxar una mica per protegir-se de la ressonació.

Per a la placa de comunicació, no em vaig molestar a fer que el PCB només fes servir una placa normal perquè no hi passa molt. Té 6 connexions a la placa principal:

Vcc (5V), GND, Xbee (TX), Xbee (RX), sensor d'aigua1 (dades), sensor d'aigua2 (dades)

Pas 5: Control del cabal d’aigua i mecanisme de recàrrega

Control del cabal d’aigua i mecanisme de recàrrega
Control del cabal d’aigua i mecanisme de recàrrega
Control del cabal d’aigua i mecanisme de recàrrega
Control del cabal d’aigua i mecanisme de recàrrega
Control del cabal d’aigua i mecanisme de recàrrega
Control del cabal d’aigua i mecanisme de recàrrega

He dissenyat aquesta màquina pensant en la seguretat, cosa que fa impossible que els atacants / mal funcionaments puguin causar greus danys causats per l'aigua a la casa, ja que la màquina estaria connectada tant a l'aixeta com a Internet les 24 hores del dia, els 7 dies de la setmana. Això és el que fa el següent circuit de protecció 555 a la part superior del solenoide.

Tingueu en compte també que el solenoide funciona a partir d’una font d’alimentació de 12V, cosa que encara he aconseguit extreure a la part inferior de la màquina de cafè al costat de la placa de la bomba i del relé. Per no malgastar l'energia, la placa de relé de 4 canals commuta el corrent principal de 230 V directament a l'adaptador, que engegarà el solenoide. Per descomptat, hi ha un parell de retards de desactivació de microsegons en el que heu de calcular per a la caiguda del camp magnètic, tant al solenoide + de l'adaptador com a tirador de l'endoll.

Estic fent servir un jack estàndard de 3,5 mm per connectar el bloc d’aigua extern amb un cable llarg de 3 m i una canonada de PVC de petit diàmetre que surt del bloc que va a la cafetera.

La part superior del dipòsit d'aigua es perfora per acollir aquesta canonada que després va baixar fins al fons del dipòsit. Recordo que és molt important alimentar la canonada cap a la part inferior sense passar pel centre i interferir amb els sensors ultrasònics.

Després que el solenoide encès al circuit l’apagui automàticament al cap d’uns 4 segons (que hauria de ser un temps més que suficient per omplir el dipòsit fins a completar-lo) i es mantindrà en aquest estat fins al proper cicle d’encesa. Aquest circuit és l'última línia de defensa contra un mal funcionament i funciona completament independent de la cafetera. Si el relé de la màquina falla i es manté tancat l’aigua podria inundar la casa, amb aquesta protecció mai no es pot produir.

Si encara no us és prou bo o és impossible tancar l’aigua o no voleu jugar amb blocs d’aigua, consulteu el meu projecte WasserStation, que es va construir exactament per ampliar el petit dipòsit d’aigua de la màquina de cafè.

Pas 6: Detecció d'inundacions

Detecció d'inundacions
Detecció d'inundacions
Detecció d'inundacions
Detecció d'inundacions
Detecció d'inundacions
Detecció d'inundacions

Hi ha 2 sensors d’aigua addicionals per protegir-los:

  • Sensor1: a la part posterior del tanc per a la detecció de desbordament del tanc
  • Sensor2: a la part inferior de la màquina de cafè per detectar el desbordament de tassa

Aquests sensors activaran una interrupció que apaga l'aigua immediatament, encén el llum d'error i avortarà l'execució del programa per evitar un atac com fer un milió de cafès i inundar la casa d'aquesta manera. Un cop finalitzat el programa, la màquina ja no respondrà a res i s'ha de reciclar manualment.

En cas que us pregunteu què passaria si el sensor d'ultrasons s'inundés (va passar una vegada:))

Estava retornant el nivell de l’aigua així durant un parell de dies, però fins i tot després d’haver-se assecat no tornaria a ser precís i vaig haver de substituir-lo. La màquina va ser dissenyada per funcionar des de l’aigua freda de l’aixeta, de manera que el fet que no es vaporitzés per calor afectaria el sensor. Aquest sensor només és precís fins que el nivell de l'aigua es troba a 2-3 cm.

La forma el·líptica del dipòsit va dificultar els càlculs del nivell de l'aigua, de manera que es van mesurar i codificar en el programa per correspondre a percentatges.

Pas 7: proves i muntatge final

Proves i muntatge final
Proves i muntatge final
Proves i muntatge final
Proves i muntatge final
Proves i muntatge final
Proves i muntatge final

La màquina es troba en el seu estat final, ocultant gairebé completament les traces de qualsevol pirateig i, si els 3 indicadors d’estat dels LEDs i el port de depuració USB no estiguessin allà, no podríeu dir que hi hagués res més a l’interior, fins i tot es podria allotjar una connexió Wifi. Servidor de terratrèmols:)

Quan modifico dispositius, sempre mantinc l’ús manual com una prioritat. Després de la pirateria, la màquina és completament utilitzable per qualsevol persona tal com era, excepte que el dipòsit d'aigua no es pot treure fàcilment. Tret que finalitzeu la part completa del disseny d’automatització de l’aigua, la màquina només es pot omplir en aquest punt amb una petita combinació de canonada + embut.

Pas 8: Codi de control del cafè

Codi de control del cafè
Codi de control del cafè

Trobeu el codi font complet d'Arduino adjunt a continuació.

Breu explicació del codi:

El bucle principal crida a la funció xcomm (), responsable del processament d’ordres, de la fabricació del cafè, de l’encesa / apagada de la màquina.

El codi inferior només s’arriba en cas de control manual. Augmenta el comptador d’estadístiques per fer un seguiment de quants cafès es van fer i omple el dipòsit d’aigua automàticament.

Els comandaments es poden enviar a través del Xbee o a través del port USB (la depuració s'ha d'habilitar al principi). Quan la comunicació prové del LED taronja parpelleja durant un segon per mostrar l'activitat de la xarxa. S'implementen les ordres següents:

1, CMSTAT: consulta estadístiques de la màquina

La màquina emmagatzema estadístiques sobre quants cafès calents / freds / manuals es fabriquen i també obté el temps d'activitat del RTC, que no es desborda després de 3x dies, de manera que pot passar fins als anys: P

2, CMWSTART: comença a preparar cafè i begudes calentes amb aigua calenta

3, CMCSTART: comença a preparar te amb gel i begudes fredes amb aigua freda

Els processos de fred i calor comencen amb la trucada a la funció standby (), que fa més comprovacions i, a continuació, activa un botó d’encesa. Després d'això, el programa espera la llum verda (quan la caldera s'escalfa) i emula el botó fred / calent. Després d'això, espera 50 segons (que és més que suficient fins i tot per a la tassa de cafè més gran) i després apaga la xarxa. Això ni tan sols seria necessari, ja que aquesta excel·lent màquina s'apagaria automàticament 5 minuts després de prendre el cafè, però per què malgastar energia? Per cert, el consum d’energia en espera de la màquina fins i tot després de la modificació és inferior a 2 watts.

Recàrrega d’aigua i seguretat

Aquesta màquina va ser dissenyada tenint en compte la seguretat, de manera que seria impossible que un atacant que guanyés el control inundés tota la casa amb aigua. Una fallada de maquinari tampoc comportaria danys greus. Al costat dels sensors de maquinari hi ha proteccions integrades al codi per a la recàrrega. Un comptador que activa la rutina ISR si la màquina no es torna a omplir en x segons (això pot passar, per exemple, si el sensor ultrasònic funcionaria malament i donaria un 20% després de x segons un cop iniciada la recàrrega).

No hi ha autenticació, tothom pot utilitzar la màquina dins de la ràdio que conegui les ordres, de manera que he canviat l'identificador de piconet Xbee per defecte per una altra cosa, també es pot comentar ERR_INVALIDCMD i la màquina ignorarà qualsevol ordre desconeguda.

Errors

Doble error de cafè: el més molest d’aquest error és que va començar a passar un parell de mesos després d’utilitzar la màquina amb el mateix codi. Un cop emès l'ordre de cafè, va preparar el cafè, es va apagar i tornar a engegar-se i continuar fent un cafè més amb el mateix patró.

Vaig haver de començar a depurar la duplicació d'ordres des del nivell d'Android perquè he implementat el reenviament al codi en cas de pèrdua de paquets. Va resultar que ni l'Android, ni el programari de control C ni el nucli Linux del raspi2 eren responsables d'això, més aviat de Xbee.

Després d'emetre l'eco "CMCSTART"> / dev / ttyACM0 al node de control, surt dues vegades a l'altre extrem. Vaig concloure que el meu espectre de 2,4 Ghz a casa meva començava a saturar-se dels nombrosos dispositius de ràdio que hi havia en aquest rang, cosa que va provocar que un Xbee invocés algun tipus de reenviament a la capa de ràdio i les dades s’enviaven dues vegades (no sempre). Un cop va entrar la primera ordre a les màquines, la funció xcomm () va començar a processar-la, però en va entrar una segona just després de la qual estava esperant al buffer Xbees i quan el bucle va acabar va començar a processar la segona ordre. Per solucionar aquest problema, he introduït 3 llindars al codi perquè sigui impossible fer més d’un cafè en 2 minuts. També hi ha un límit al CMSTAT, però per no interferir amb el codi de control C / Android, simplement esborrarà les respostes durant 2 segons.

El darrer llindar es va posar al taulell de cafè manual, perquè un cop la màquina ha arribat a l’estat llest (caldera escalfada, llum verda), ha registrat l’esdeveniment verd centenars de vegades augmentant el recompte de cafè.

Pas 9: consideracions de disseny i reflexions finals

Després de molts problemes amb la comunicació Xbee, no recomanaria Xbee per a aquest projecte. Utilitzeu la ràdio estàndard de 433Mhz amb VirtualWire i Bps reduïda per obtenir estabilitat o incorporeu un Raspberry PI Zero amb connexió Wifi directament a la màquina de cafè.

Com mostra la data, és un projecte antic, així que demano disculpes per la manca de petits detalls, com ara la connexió del circuit de control a les potes exactes de la placa base. Aquest projecte requereix un cert nivell de coneixements tècnics per fer-ho tot sol. Si trobeu algun error / problema o voleu contribuir a aquest tutorial, feu-m'ho saber.

El programari de control, mètodes per al control de veu, és una altra part que permetrà tenir el cafè a punt només amb una ordre de veu abans de sortir del llit.

Ara he completat la documentació del meu sistema d’emmagatzematge d’aigua (WasserStation) i he actualitzat el CoffeeControlCode a la versió més recent, que també inclou la recàrrega automàtica. Si utilitzeu la mateixa màquina per a la construcció, la recàrrega funcionarà impecablement (sense cap modificació del codi) ja que els nivells d’aigua es van calibrar al dipòsit d’aigua del Circolo.

Recomanat: