06 octubre 2024

Programa de Arduino para puerta de garaje


 

 En esta entrada voy a tratar de sistematizar una forma de hacer los programas de Arduino basada en la teoría de autómatas finitos. Lo haré aplicándolo a la puerta de garaje y en concreto para la siguiente secuencia:

La puerta está cerrada, tocamos el pulsador y se va abriendo cuando toca el final de carrera de puerta abierta, la puerta se detiene.

Con la puerta abierta, tocamos el pulsador y se va cerrando, cuando toca el final de carrera de puerta cerrada, la puerta se detiene.

Para esa secuencia tenemos las siguientes entradas, salidas y estados:

Entradas: Pulsador, final de carrera de puerta cerrada (FCC) y final de carrera de puerta abierta(FCA).

Salidas: Motor parado, motor abriendo, motor cerrando.

Estados: Puerta cerrada, puerta abriéndose, puerta abierta, puerta cerrándose.

DIAGRAMA DE TRANSICIÓN DE ESTADOS.

Los estados los represento con círculos y junto a las flechas de las transiciones he dibujado un rectángulo dividido en dos celdas. En la superior he escrito la entrada que produce ese cambio de estado y en la inferior la salida correspondiente





PROGRAMA DE ARDUINO.

A partir del diagrama de transición se pasa al programa de Arduino con el selector SWITCH. Los CASE son los estados. Las transiciones se hacen con el selector IF en el que la condición es la entrada y en el bloque se incluye la salida y el cambio de estado/CASE.

Con la sentencia ENUM, se pone nombre a los estados. Para las salidas he usado funciones.

//Pines del motor

#define PinAv 9

#define PinRe 6

#define FCA 4 //Final de carrera puerta abierta

#define Pulsador 11 //Para iniciar las maniobras

#define FCC 2 //Final de carrera puerta cerrada

int antirrebotes = 200;


void setup()

{

pinMode(PinAv, OUTPUT);

pinMode(PinRe, OUTPUT);

pinMode(FCA, INPUT_PULLUP);

pinMode(Pulsador, INPUT_PULLUP);

pinMode(FCC, INPUT_PULLUP);

}


//MANIOBRAS DEL MOTOR

void motor_abriendo(){

digitalWrite(PinAv, HIGH);

digitalWrite(PinRe, LOW);}


void motor_cerrando(){

digitalWrite(PinAv, LOW);

digitalWrite(PinRe, HIGH);}


void motor_parado(){

digitalWrite(PinAv, LOW);

digitalWrite(PinRe, LOW);}


enum {puertaCerrada, puertaAbriendose, puertaAbierta, puertaCerrandose};


int estado = puertaCerrada;  //El programa empieza con la puerta                              //cerrada


void loop(){

switch (estado){


case puertaCerrada:

    if (digitalRead(Pulsador) == 0 ){

        delay(antirrebotes);

        motor_abriendo();

        estado= puertaAbriendose;}

    break;


case puertaAbriendose:

    if (digitalRead(FCA) == 0){

        delay(antirrebotes);

        motor_parado();

        estado= puertaAbierta;}

    break;


case puertaAbierta:

    if (digitalRead(Pulsador) == 0)

        {delay(antirrebotes);

        motor_cerrando();

        estado= puertaCerrandose;}

     break;


case puertaCerrandose:

    if (digitalRead(FCC)==0){

         motor_parado();

         delay(antirrebotes);

        estado= puertaCerrada;}

    break;

}}

 

DETALLE DE LAS CONEXIONES ELÉCTRICAS


 Conexiones eléctricas

Hay algún ligero cambio entre los cableados de la foto y del plano.

 

MÁS DIAGRAMAS DE ESTADOS QUE CORRESPONDEN A OTRAS FUNCIONALIDADES DE LA PUERTA.

 

 


 OBSERVACIONES

El motor que aparece en la foto y el video es distinto al de la entrada anterior. Lo he tenido que sustituir porque con el otro se producía un fenómeno denominado ruido eléctrico que afectaba al Arduino evitando que funcionara correctamente.



30 julio 2024

Mecanismo para puerta de garaje


La puerta de garaje es la base de muchos proyectos. En esta entrada describo un mecanismo que he diseñado con la principal objetivo de hacerlo sencillo. Es un desarrollo de este otro , aplicado a una puerta de garaje.

Para transformar el movimiento circular de un motor en el lineal de la puerta se emplea una varilla roscada y tuercas, en este caso de métrica 6. Para reducir el rozamiento en los soportes de la varilla se utilizan arandelas, también se cubre de cita adhesiva o con tubo de plástico, la parte de la varilla que está en contacto con las arandelas.



Las tuercas se pegan a la puerta con cola termofusible. Es preciso introducirlas previamente en la varilla y sujetarlo todo con cinta adhesiva como se muestra en las fotos.

 

 

 

 

    

La polea se puede unir a la varilla como se explica en la entrada que se indica arriba y que se puede ver en el mosaico de fotos. también se puede hacer arrollando tiras de papel.







Se le ha añadido un palito a la puerta para conseguir que la posición de uno de los finales de carrera limitara lo mínimo posible el recorrido de la puerta. 

 

 

MÁS FOTOS

Los topes laterales se unen a la base con un tornillo, he utilizado tornillos de 4 x 40 mm. Se emplean una púas para evitar el movimiento horizontal de la varilla. Para sujetar los finales de carrera y para mantener la puerta vertical se emplean palillos de dientes redondos, se introducen en taladros de 2 mm de diámetro. 

 PLANOS

Las dimensiones del mecanismo que aparece en las fotos y los videos difieren ligeramente de las indicadas en los planos.

Planta . Alzado y perfil. Despiece.

VIDEO

En este primer video la puerta se mueve como dando saltitos, debido a la la varilla está un poco torcida.

 


  En este otro video se ha subsanado es defecto.

En el caso de que se presenten problemas por el rozamiento de la varilla con las tuercas o arandela es necesario lubricar con un poco de aceite.



03 septiembre 2023

Examen de Processing

Processing es un lenguaje interesante para iniciarse a la programación.

He encontrado un examen que preparé en el curso 2017/18 para alumnos de segundo de bacillerato.

Archivo del examen en formato PDF

El primero de los dos ejercicios 10 debe quedar así


 

 

18 agosto 2023

Taburete de madera

DISEÑO

El diseño de este taburete se basa en el cuadrado. Está compuesto de tres piezas principales: una central y dos laterales, que son cuadrados. Una cuarta pieza, el travesaño, sirve para darle rigidez.

Diseño basado en cuadrados

La unión de las piezas es mediante tornillos. Se ha intentado utilizar el mínimo. Se necesitan siete tornillos.

Otra de las características de este diseño es que se pueden acoplar por parejas ocupando poco espacio. Para facilitar este acoplamiento hay que modificar ligeramente el diseño alargando unos milímetros en una dimensión los cuadrados. 3 mm pueden ser suficientes.

Dos taburetes acoplados

Modelado del interior
 

 

Diseño modificado para facilitar el acoplamiento

MATERIAL

En los almacenes de construcción venden unas tablas de 20 cm de ancho y 2,5 cm de espesor que pueden ser la ideales para este proyecto. También se puede usar madera de palé, aunque no es fácil encontrar tablas de 20 cm de ancho. En este caso el espesor de la tabla es más próximo a los 2 cm.

Como la madera empleada no es de mucha calidad, las dimensiones no suelen ser muy precisas. En las medidas del taburete se debe primar que las piezas sean cuadrados a que se ajusten a las dimensiones de los planos. Es decir, si nuestra tabla mide 19,6 cm las dimensiones de los cuadrados tendrán ese lado, o 19,6 x 19,9, en el caso que queramos que los taburetes se puedan acoplar por parejas sin dificultad.

Los tornillos pueden ser de 40 x 4 mm o un poco más largos, dependiendo del espesor de la tabla. Para preparar el taladro donde se introduce el tonillo usaremos una broca de 3,5 mm.

Una vez terminado he utilizado aceite de linaza para proteger la madera.

EJECUCIÓN

Además de alargar en una dirección, el cuadrado 3 mm para facilitar el acoplamiento de los taburetes por parejas, conviene, con ayuda de un sargento montar el taburete antes de hacer los taladros longitudinales en las maderas. Así podremos hacer las correcciones que sean necesarias para que el taburete asiente bien en el suelo y no 'cojee'.



   

 

 

28 julio 2023

Puerta de garaje con semáforo


 

Esta entrada está relacionada con esta otra. La novedad es que incluye un semáforo que indica cuando se puede pasar. El control del semáforo se resuelve sin añadir un final de carrera adicional. El semáforo actúa así: 

  • Verde: La puerta está totalmente abierta.      
  • Rojo: En las demás situaciones, es decir, puerta cerrada, cerrándose o abriéndose.

MATERIAL ELÉCTRICO NECESARIO 

  • Motor.
  • 2 finales de carrera.
  • Conmutador doble.
  • 2 LEDs, rojo y verde.
  • Resistencia de 180 ohmios o aproximada.
  • Fuente de alimentación de 5 V o pila de 4,5 V

La fuente de alimentación se puede obtener de un cargador de teléfono móvil que ya no se utilice.

Conmutador doble
 MECÁNICA

Para este tipo de proyectos es básico que el mecanismo funcione bien, por lo que antes de pasar al circuito eléctrico debemos asegurarnos del correcto funcionamiento del mecanismo.

Para facilitar esta parte del proyecto es útil aprovechar, como he hecho en esta ocasión, dispositivos que podríamos llamar de desguace. Para este proyecto he utilizado un lector de CD. Para adaptarlo al proyecto solo es necesario estudiar donde colocar los finales de carrera y añadir lo que necesite la puerta para activarlos. 

   

Los tornillos que he utilizado

  • 2,5 x 16 para los finales de carrera.
  • 4 x 30 para los soportes.
  • 3,5 x 16 para sujetar la puerta a la base de madera.
  • 3 x 20 o 25 para sujetar el semáforo a su soporte
CIRCUITO ELÉCTRICO
 

Esquema eléctrico en PDF

En el esquema eléctrico he detallado las cuatro fases en las que puede estar. En cada una cambia el conmutador doble o alguno de los finales de carrera.

FOTOS Y VIDEO

Vídeo por la parte posterior en el que se aprecia como interactúan los finales de carrera con la puerta.




Fotos antes de poner los cables


Foto con cables.

PLANOS

Planta, plata sin cotas, soporte del semáforo.





 

 

22 agosto 2022

Polux. Un bootcamp para arduino.

Polux es un robot estático, que cuenta con algunos componentes básicos para practicar con arduino. Estos componentes son 

  • Un motor de corriente continua, con su reductora.
  • Un sensor de posición. Final de carrera.
  • Un dispositivo de entrada. Pulsador.
  • Un LED.

Es una variedad de los componentes que se pueden usar con ardiuno, pero solo uno de cada, para que el montaje del robot sea sencillo.

Se utiliza un motor con reductora lo que ahorra el tener que construirla. El eje de salida del modelo utilizado es muy corto. Se consigue alargarlo utilizando un rotulador usado que se ajusta al eje de salida del reductor con un trozo de bolsa de plástico para que entre a presión.

Para controlar el motor será necesario el puente en H utilizado en otra entradas de este blog, el L9110S.

La polea se ha hecho con una rodaja de tubo de cartón. El eje sobre el que gira es un cuadradillo de madera de 6 mm. También se pueden utilizar brochetas u otros cilindros de madera o metal.

La dimensiones de los elementos de madera pueden variar respecto de las que se representan en los planos. La base sobre la que se ha montado mide 270 x 130 mm². Se adjuntan planos a escala natural.

VIDEO

En el video se ve una de aplicación avanzada que se puede hacer con Polux. Pero se debe empezar por cosas más sencillas para ir cogiendo confianza. 


FOTOS





 

PLANOS

Planta, alzado, soportes, polea, plantilla con números.

UTILIZACIÓN DIDÁCTICA.

Una de las ventajas de Polux es que funciona alimentado por el USB del ordenador, no necesita baterías adicionales. Esto permite probar los programas nada más transferirlos del ordenador a arduino y en función de los resultados hacer las correcciones que pudiesen ser necesarias. 

PROGRAMAS

Los programas se pueden ser de dificultad creciente.

PROGRAMAS SOLO CON SALIDAS

Intermitencias con el LED

Control del sentido de giro del motor. Gira un tiempo en un sentido, en otro sentido, se detiene.

 

PROGRAMAS CON ENTRADAS Y SALIDAS

El LED responde a toques del pulsador: Se enciende mientras está pulsado. Se queda encendido al pulsarlo y se apaga cuando se vuelve a pulsar.

El motor responde a toques del pulsador: Gira en un sentido y en otro, se detiene.

El motor responde a toques del pulsador y al final de carrera. Lo que permite controlar que se detenga frente a determinados números de la polea.

EJEMPLO DE PROGRAMA

//MOVIMIENTO DEL MOTOR SIN ENTRADAS

#define IN1 3

#define IN2 5

#define VELOCIDAD 150

#define TIEMPO 4000

void avanza(){

analogWrite(IN1,0);

analogWrite(IN2,VELOCIDAD);

}

void retrocede(){

analogWrite(IN1,VELOCIDAD);

analogWrite(IN2,0);

}

void para(){

analogWrite(IN1,0);

analogWrite(IN2,0);

}

void setup() {

pinMode(IN1,OUTPUT);

pinMode(IN2,OUTPUT);

//pinMode(IN3,OUTPUT);

//pinMode(IN4,OUTPUT);

para();

}

void loop() {

avanza();

delay(TIEMPO);

para();

delay(TIEMPO/2);

retrocede();

delay(TIEMPO);

para();

delay(TIEMPO/2);

}

 


 

   

08 julio 2022

Poleas y reductor de velocidad

POLEAS

Se trata de poleas para utilizar en transmisiones de polea correa. Los apoyos del eje de la polea en el soporte son de plástico, para reducir el rozamiento y por su flexibilidad para facilitar la colocación y el cambio de las correas.

La polea se hace con una rodaja de tubo de cartón y con tapas también de cartón. el eje es un palillo de dientes o una brocheta. En el caso de un tren de poleas, si la polea es de las más alejadas del motor es necesario regruesar el eje con una tira de papel, para evitar que la correa resbale.

El eje de de la polea debe entrar con holgura en el soporte para que pueda girar bien. El tamaño de las gomas que hacen de correa es crucial ya que si son muy pequeñas ejercerán mucha tensión y dificultarán el movimiento.

El soporte de la polea se fija con un solo tornillo para facilitar su alineación.

Los taladros para el eje de la polea se pueden hacer con una troqueladora de las que se usan para encuadernar con gusanillo de alambre.

Las dimensiones pueden variar, dependiendo principalmente del diámetro de la rodaja de cartón. 

Los trocitos de madera que sujetan el plástico, pueden ser más altos, para limitar el movimiento lateral del plástico. 

Los tornillos de 2,5 mm de diámetro resultan muy prácticos, ya que al ser tan finos no hacen necesario que se taladre previamente los listones para que no se agrieten. 

Planos de la polea en PDF.

FOTOS




REDUCTOR DE VELOCIDAD

Como se ve en la foto de arriba, con varias poleas se puede hacer un tren de engranaje. La construcción de poleas sueltas facilita la división del trabajo en trabajos en equipo, y la alineación de cada polea en el montaje. 

Para reducir el tamaño del conjunto se pude hacer un tren de poleas o reductor de velocidad como en que se muestra. Los materiales utilizados son los mismos que en la polea. La dimensiones como siempre, vendrán determinadas por el tamaño de las rodajas del tubo de cartón que utilicemos.


Planos del reductor en PDF

FOTOS DEL REDUCTOR




VIDEO





05 julio 2022

Ecuación del hiperboloide

 En esta entrada se obtiene la ecuación del hiperboloide que se presenta en esta otra entrada del blog.

Obtenemos la ecuación más sencilla, que corresponde al hiperboloide que hay del aro de hierro más grande hacia arriba. Como eje Z se elige el eje del hiperboloide y como origen de coordenadas el que está a la altura de la parte más estrecha del hiperboloide.

La ecuación del hiperboloide en este caso viene dada por:

Como las secciones horizontales son circunferencias, en este caso a=b.

El valor de a viene dado por la mínima distancia entre la recta eje del hiperboloide y cualquiera de las generatrices del mismo. En el siguiente dibujo están acotados todas las distancia necesarias para realizar los cálculos y el resultado de los mismos.

El valor de a es 1180. Esta hoja de cálculo ha servido para hacer las operaciones.
    La altura a la que está esa mínima distancia sería a la que se encuentra el origen de coordenadas, que desde la circunferencia, de referencia, la más grande, es de 4454 mm. De este modo quedan hasta la parte superior 2196 mm.

Con estos datos el siguiente punto pertenece al hiperboloide:

  x= 2400;     y= 0;    z=2196

Introduciéndolo en la ecuación del hiperboloide, en la que ya conocemos a=b=1180 se obtiene c que es 1240. 

Y la ecuación del hiperboloide queda:  

 

CÁLCULOS MÁS DETALLADOS

Figura 1

 En la figura 1 se representan la circunferencia superior, la más grande y el eje del hiperboloide en azul.

El triángulo naranja son los datos de que disponemos: Los lados más pequeños son los radios de las circunferencias, que además sabemos que forman un ángulo de 135º. El lado mayor sería la proyección horizontal de la generatriz del hiperboloide. En el siguiente dibujo se utilizan letras mayúsculas para los vértices del triángulo y las minúsculas correspondiente para el lado opuesto a cada vértice

Con los datos del dibujo de la izquierda, se pueden obtener g y a. Analíticamente con los teoremas del coseno y del seno y con trigonometría o gráficamente con un programa de dibujo.

En el triángulo amarillo el cateto horizontal sería d y el vertical la distancia entre las circunferencias, es decir 6650. Mediante semejanza de triángulos, una vez que hemos calculado g, obtenemos la altura a la que se encuentra el origen de coordenadas.


La altura a la que se encuentra el origen de coordenadas queda definida por el rectángulo verde de la figura 1, es su lado mayor. El lado menor es la distancia entre las recta eje y generatriz del hiperboloide, es decir a.

Valores calculados:

a=1180;  d=6329;  g=4239;  Altura de origen de coordenadas =4454.

Todas las longitudes en mm

OBSERVACIONES

La hipotenusa del triángulo amarillo en la figura 1 define la inclinación de las asíntotas de la hipérbola que genera al hiperboloide por rotación al rededor de su eje. Para que esta hipérbola sea equilátera la inclinación de las asíntotas tiene que ser de 45º.

Cuando se diseñó el hiperboloide no se tenían estos conocimientos, pero casi se obtuvo una hipérbola equilátera, ya que el ángulo es de 46º.  

Un hiperboloide similar al construido pero equilátero sería por ejemplo éste

 

25 junio 2022

Estructura para convertir el movimieto circular en lineal

 


Esta estructura es la base para varios proyectos, más concretamente un ascensor o una puerta corredera.

Está diseñada siguiendo los objetivos de que sea sencilla, de reducir el rozamiento y de facilitar la colocación de los sensores de posición, es decir de los finales de carrera.

La dimensión principal de este proyecto, su largo, se deriva de la que resulta al dividir una varilla roscada comercial, que mide 1 m, en seis partes.

MECANISMO TUERCA TORNILLO.

El mecanismo principal es el de tuerca tornillo que se materializa con varilla roscada de métrica 6. Para reducir el rozamiento en los puntos de apoyo de la varilla se han utilizado arandelas de ala estrecha que tienen, las utilizadas, un diámetro exterior de 12 mm. También se reduce el rozamiento colocando unas púas para evitar el desplazamiento longitudinal de la varilla.

Es necesario rodear con cinta adhesiva la parte de la rosca que está en contacto con la arandela.

MECANISMO POLEA CORREA


La transmisión del movimiento de giro del motor a la varilla se hace con un mecanismo de polea correa. La polea está hecha con una rodaja de tubo de cartón. En el interior y centrada la polea lleva una rodaja de tapón de corcho. Una vez pegada y seca la polea, se taladra por el eje con una broca de diámetro 5. En ese taladro se rosca la varilla y no hace falta pegarla. El rozamiento entre el corcho y la varilla es suficiente para que no se mueva cuando está funcionando y al no ir pegada se pueden hacer ajustes y desmontarla si fuese necesario.

SOPORTE DEL MOTOR

El soporte es un trozo de madera con un taladro un poco más grande que el diámetro del motor. Se coge a la estructura principal con un solo tornillo. De este modo permite darle una pequeña inclinación que evita que la goma se salga del eje del motor,

TUERCA

La tuerca va encajada en un taco que también tiene un taladro de diámetro 8 mm, perpendicular a la varilla. En este taladro se inserta un listoncillo cuadrado de madera de 6 mm.

Este mecanismo impide el giro de la tuerca. El listoncillo por un extremo toca los finales de carrera. Por el otro extremo se le pueden acoplar los accesorios que requiera el proyecto, por ejemplo, la cabina de un ascensor.

ESTRUCTURA PRINCIPAL



La estructura principal está formada por un pilar y dos tacos en los que se apoyan los extremos de la varilla, además de un listón que materializa junto con el pilar el raíl por el que se desplaza el listoncillo cuadrado del apartado anterior.

El taco inferior se puede pegar al pilar y el superior se coge con un solo tornillo, así se pude girar, facilitando en desmontaje de la varilla.

PLANOS

Despiece

Sección