Taula de continguts:
- Pas 1: idees o solucions potencials
- Pas 2: fer l'assemblea
- Pas 3: dissenyar el Blind Gear
- Pas 4: Codificació dels cecs
- Pas 5: Acabat de tocs
- Pas 6: Avaluació del projecte
Vídeo: Obridor de persianes automàtic amb EV3: 6 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Tinc un joc de persianes enrotllables al meu dormitori que sovint m’oblido d’obrir o tancar al matí o al vespre. Vull automatitzar l’obertura i el tancament, però amb una substitució quan per quan canviï.
Pas 1: idees o solucions potencials
Després de buscar diversos llocs com YouTube, Instructables i Thingiverse, vaig trobar que la solució més habitual era motoritzar la bobina que enrotllava i desenrotllava les persianes mitjançant un motor pas a pas o un servo. He trobat 2 opcions principals amb diversos avantatges i desavantatges.
Idea 1: mètode de la bobina on el motor i l’engranatge s’allotgen a l’interior de la bobina. Això té els avantatges que és un mètode elegant i elegant, però té els inconvenients que requereix una modificació important de la persiana, el cable ja no es pot utilitzar i el muntatge seria molt difícil d’accedir per mantenir-lo quan s’implementés.
Idea 2: mètode del cable on el motor i l’engranatge s’allotgen al cable. Això té l'avantatge que és més senzill i que es pot accedir fàcilment al muntatge. Tanmateix, té l’inconvenient que podria ser lleig i voluminós, així com el fet que s’ha d’adherir al llindar quan s’implementa.
Prefereixo el mètode del cable, ja que és una solució molt més senzilla que no inhibeix l’ús manual del cable, i la persiana no requerirà cap modificació important. Tinc previst fer-lo el més encobert i compacte possible quan faig la versió final amb un ESP8266.
Pas 2: fer l'assemblea
Vaig fer aquest projecte amb el meu Lego mindstorms EV3, que té la funcionalitat que necessito per demostrar que el projecte podria funcionar i estic familiaritzat amb el programari que definitivament va ajudar molt. Com que la persiana utilitza una cadena de boles per conduir la bobina, amb la qual els engranatges Lego són incompatibles, vaig decidir que la millor solució era dissenyar un engranatge amb l’espaiat correcte de la bola a l’exterior, amb el forat estàndard “en forma de creu” centre, on després imprimiria el disseny en 3D. En aquest punt també he fet un botó de calibratge i he connectat un sensor de llum a la finestra, així com un botó per actuar com a substitució.
Pas 3: dissenyar el Blind Gear
Vaig desmuntar la persiana per veure com es veia amb més detall la manovella. Durant el desmuntatge vaig trobar un petit engranatge de 16 dents que estava subjectat per una bobina tensada, aquesta era la part que buscava. Després de dissenyar una rèplica de l’engranatge, vaig afegir els forats necessaris compatibles amb Lego, vaig imprimir les 3 parts separades i finalment les vaig unir amb superglue. Inicialment vaig tenir problemes per fer compatible la peça Lego, en el sentit que la meva impressora 3D no tenia la resolució necessària per fer el forat "x" suficient, però no tenia problemes amb els forats circulars a banda i banda. Així que vaig substituir la "x" per un forat circular i es va imprimir bé. Després, després d’una petita quantitat de proves, vaig poder comprovar que podia suportar el parell i el pes de la persiana. Enllaçaré els meus dissenys per a l’engranatge següent o el podreu trobar a Thingiverse a:
Pas 4: Codificació dels cecs
Volia un codi que s’obrís i tancés automàticament la persiana quan arribés a un nivell de llum específic, però que també tingués un botó d’anul·lació per poder obrir o tancar la persiana quan ho desitgessin. He enllaçat el meu GitHub amb la versió final del codi aquí:
El codi del projecte vaig trigar uns quants dies a completar-se, tenia la lògica bàsica del programa que funcionava correctament amb el sensor de llum, però el botó d’anul·lació momentània no funcionava correctament. Va alterar l'estat de les persianes en ser pressionat, però no tenia la funció de "bloqueig" que significaria que la persiana es quedaria en la seva posició, és a dir, que la persiana la tornaria immediatament al que era abans. Vaig solucionar-ho mitjançant un bloc "espera fins", vinculat a una porta lògica O que llegia els valors del sensor de llum i del sensor tàctil, que explicaré a continuació.
El codi comença calibrant els motors i la persiana, començant amb la persiana completament oberta i baixant-la fins que toca el sensor tàctil a la part inferior, comptant quants quarts de volta triga per arribar al fons, que es guarda com a "Rotacions necessàries" variable. A continuació, escriu "fals" a la variable "BlindOpen" que s'utilitza per rastrejar la posició del cec. En aquest moment, el codi es divideix en 4 bucles.
Un d'aquests bucles és el bucle "Buttonstate" que publica contínuament l'estat del botó a una variable anomenada "ButtonPressed". Això elimina la necessitat de col·locar diversos blocs de botons a l'script.
El segon bucle és el "Clar o fosc" que compara contínuament el nivell de llum fora de la meva finestra, amb una constant definida anteriorment al codi. Si el resultat és inferior a aquesta constant, el bucle escriurà "false" a la variable "ItIsLight", mentre que si està per sobre del valor escriurà "true".
El tercer bucle conté una llista numèrica de 3 opcions que bàsicament indica als cecs què fer, 0 = cec cap avall, 1 = cec cap amunt, 2 = no fer res perquè el cec està al lloc correcte. El bucle comença llegint la variable "BlindShould" que especifica la tasca correcta que hauria de fer el cec, després realitza aquesta tasca, modifica la variable "BlindOpen" a l'opció correcta i després es queda inactiva fins que es canvia la variable "BlindShould" on es repeteix. Utilitza el valor "RotationsNeeded", així com una potència de +/- 100% per moure la persiana completament oberta o tancada.
El quart i últim bucle és el més complex, és el bucle "Decider" que gestiona totes les dades i decideix què fer amb cada permutació. Per fer-ho, utilitza "forquilles a la carretera" basades en la lògica on es prem "botó", "nivell de llum", "obert a cegues" són les preguntes vertaderes o falses. Totes les permutacions tenen una resposta codificada, que és 0 = cegat cap avall, 1 = cegat cap amunt o 2 = no fer res; aquest valor s'escriu a la variable "BlindShould" que després es gestiona mitjançant un bucle anterior. Algunes respostes esperaran que la variable “ItIsLight” i / o “ButtonPressed” canviï abans d’acabar l’escriptura, aquest és només el cas de les permutacions activades amb el botó, ja que en cas contrari s’intentaria immediatament corregir la seva posició, cosa que significa que tornaria la persiana. al seu estat original. Aquest procés es fa en bucle per crear un sistema automàtic robust i relativament senzill, que es pot afegir i depurar fàcilment. Uf.
Pas 5: Acabat de tocs
Després vaig decidir connectar una font d'alimentació de 9V al meu EV3 fent servir alguns cargols i tacs de fusta com a "bateries", cosa que va fer que el producte no depengués de les bateries i em va impedir haver de canviar-les cada dos dies.
Pas 6: Avaluació del projecte
Crec que el projecte ha anat bé en general, he acabat amb un prototip de treball per al muntatge de persianes automàtiques, que puc agafar tota la informació rellevant que he trobat durant el projecte i implementar-la a la versió final. He codificat correctament el dispositiu i, fins ara, no he trobat cap problema important amb el codi. M’hauria agradat fer que el dispositiu fos més atractiu visualment, però una vegada més és una prova de concepte i faré un esforç perquè quedi bé quan faci la versió final amb un ESP8266. Quan torni a fer el projecte, dissenyaré el motor per asseure’s a la persiana, ja que seria més fàcil d’amagar. La lliçó més gran que he après és depurar lògicament i pensar, documentar i provar el meu codi abans d’implementar-lo.
Recomanat:
Automatitzar un hivernacle amb LoRa! (Part 2) -- Obridor de finestres motoritzat: 6 passos (amb imatges)
Automatitzar un hivernacle amb LoRa! (Part 2) || Obridor de finestres motoritzades: en aquest projecte us mostraré com he creat un obridor de finestres motoritzat per al meu hivernacle. Això vol dir que us mostraré quin motor he utilitzat, com he dissenyat el sistema mecànic real, com condueixo el motor i, finalment, com he utilitzat un Arduino LoRa
Control de persianes amb ESP8266, integració de Google Home i Openhab i control web: 5 passos (amb imatges)
Control de persianes amb ESP8266, integració de Google Home i Openhab i control web: en aquest instructiu us mostro com he afegit automatització a les meves persianes. Volia poder afegir i eliminar l’automatització, de manera que tota la instal·lació és fixa. Les parts principals són: Motor pas a pas Controlador pas a pas controlat per ESP-01 Engranatge i muntatge
Arduino Home Automation, obridor automàtic de portes: 6 passos
Automatització domèstica Arduino, obridor automàtic de portes: inscriviu-vos al meu curs "Electrònica en poques paraules" aquí: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Consulteu també el meu canal de YouTube aquí per obtenir més informació projectes i tutorials d'electrònica: https://www.youtube.com/channel/UCelOOR
Obridor automàtic de portes de pollastre: 6 passos
Obridor automàtic de portes de pollastre: obridor automàtic de portes de pollastre Les peces i eines utilitzades són
Obridor de persiana automàtic: 11 passos
Obridor automàtic de persianes: http: //contraptionmaker.info Vivim en una masia de 150 anys amb les finestres originals. Tot i l’aïllament i el revestiment nou, és com viure a un colador a l’hivern. Per combatre aquest problema, instal·lem plàstic a les finestres per intentar