sábado, 6 de noviembre de 2021

DISEÑO DEL UTIL "ELECTROIMAN 24V"


 6-11-2021


Avances:

En este caso voy a mostrar el diseño del útil que nos servirá para integrar en nuestro robot DELTA un electroimán que nos va a permitir desplazar piezas metálicas sobre la zona de trabajo. Este electroimán se alimenta a 24v y tiene un consumo de 0'2A, lo que lo hace perfecto para su integración con los módulos de alimentación del robot delta.

Aquí podemos ver un video del funcionamiento previo del electroimán en cuestión.




Para esto he utilizado el software de diseño CAD/CAM autodesk Inventor. En primer lugar he hecho un boceto para tener una idea clara que cuales iban a ser las necesidades del diseño. El boceto es el siguiente:


En base a esto he tomado todas las medias necesarias para diseñar la pieza que envolvería el electroimán. Seguidamente he trasladado estas medidas al software de diseño y el resultado ha sido el siguiente.

pieza B
pieza A
















Una vez verificados las medidas de las piezas A y B pasamos a su fabricación. Para ello voy a utilizar mi impresora 3D, una Prusa i3 printhatshit  que puedes ver en la siguiente imagen. 

Prusa i3 printhatshit

Desde Autodesk inventor exportamos el archivo del diseño en formato *.STL para su posterior laminado mediante simplfy3D. Con este ultimo generamos el archivo GCODE con el que nos va a permitir crear capa a capa las dos piezas necesarias para el montaje del útil que integrara nuestra herramienta, el electroimán.
Después de unas 3h de impresión podemos decir que ya tenemos listo todo lo necesario para el montaje de la herramienta en nuestro robot DELTA.





La tornilleria necesaria para el montaje son los siguientes:
4ud tornillo M3x20
4ud tuerca M3
4ud tornillo M4x20
4ud tuerca M4

El resultado una vez instalado en el robot DELTA lo podemos observar en la siguiente imagen.



instalación del útil en robot DELTA 
vista frontal
instalación del útil en robot DELTA
vista inferior


La siguiente fase será el conexionado del electroimán mediante un relé al modulo de salidas digitales del PLC. Esto será en la siguiente entrada ;-)

OBJETIVOS:

 6-11-2021


Los objetivos marcados en este proyecto son los siguientes:


Diseño del cerramiento para corte laser en metacrilato o similar como medida de protección pasiva del autómata para evitar manipulaciones indebidas que puedan generar riesgo para el usuario

Diseño del útil de trabajo que tendrá la finalidad de integrar un electroimán de 24V

Diseño de los elementos que desplazara el robot, como cubos, discos etc...

Diseño de un programa que simule el juego "3 en raya" Human Vs Machine

Diseño de un programa que simule el juego "trilero" Human vs Machine

Documentación técnica del proyecto


sábado, 25 de septiembre de 2021

PRESENTACIÓN DEL PROYECTO

PRESENTACIÓN PROYECTO ROBOT DELTA


En las siguientes entradas del blog documentare mi  proyecto final del Grado Superior de Automatización y Robótica Industrial cursado en el IES Anna Gironella de Mundet en Barcelona.

En la siguiente imagen podemos ver el robot delta sobre el cual voy a trabajar durante este curso 2021/2022.



Robot DELTA imagen 1
Robot DELTA imagen 2




Como podemos observar se trata de un robot delta de 3 ejes que cuenta con una pantalla tipo HMI para su control y gestión.

La estructura esta fabricada mediante perfil slot de 45x45 con sus diferentes accesorios.

La electrónica de control esta ubicada dentro de un armario eléctrico 


sábado, 3 de abril de 2021

Monitorizar temperatura con sensor DS18B20 + NODE-RED

 Nuevo proyecto: Sensor de temperatura DS18B20 y Node-Red


En esta nueva entrada (después de mucho tiempo ;-) voy a comentar un proyecto que se me ha ocurrido para poner en práctica los conocimientos adquiridos en una asignatura del grado superior de robótica industrial . 

La idea es conectar un sensor de temperatura a una Raspberry Pi y que mediante NODE-RED podamos ver gráficamente los datos adquiridos a la vez que los almacenamos en una base de datos con firebase. Esto ultimo lo veremos en la próxima entrada.


En la siguiente imagen podemos ver el diseño de la interface una vez finalizado el proyecto.



Imagen 1


Si te gusta lo que ves a continuación te explico como lo he realizado. Cabe destacar que estoy aprendiendo con lo que si ves que algún apartado se puede mejorar i o rectificar házmelo saber dejando un comentario mas abajo.

Bueno empezamos!!


PASO 1 CONOCER EL SENSOR DS18B20


El sensor utilizado para esta practica tiene el siguiente aspecto, encapsulado TO-92, integrado en una pequeña placa pcb con la resistencia de pull up incluida y los pines de conexionado, aunque también lo podemos encontrar con de tipo sonda para medición de líquidos y gases o incluso el sensor sin la pcb para que lo puedas integrar en la tuya propia.


Como podemos observar en el datasheet , mas info aqui https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf , vemos que es un sensor con rango de temperatura que va desde -55ºC a +125ºC. 

La desviación de error respecto a la medida real varia en funcion de la temperatura que estamos midiendo. Podemos tomar como referencia la siguiente tabla:

-10ºC a +85ºC      -----> precisión de +-0.5ºC
-30ºC a +100ºC    -----> precisión de +-1ºC    
-55ºC a +125ºC    -----> precisión de +-2ºC

La resolución en la medida de temperatura viene relacionada con la configuración del núm. de bits que utiliza. Por defecto viene configurado a la máxima resolución , 12 bits equivalente a una resolución de 0.0625ºC.

El voltaje de alimentación del sensor estará entre min +3v y Max 5.5v. Tenemos la posibilidad de alimentarlo desde la patilla de VCC o desde la de señal. Si lo hacemos desde esta VCC tiene que estar conectado a potencial o (Ground) con lo que solo nos harían falta dos cables para alimentarlo y recibir la medición de los datos.

Para nuestra practica lo conectaremos por VCC (pin del centro) al pin 2 de la raspberry , ground a la izquierda(marcado con el símbolo -) hasta el pin 6 de la raspberry y señal a la derecha marcado con una S de "signal" al pin 7 (GPIO 4) de la raspberry.



El bus de comunicación que utiliza este sensor se denomina One-Wire. Este esta diseñado para el conexionado de varios sensores conectados en el mismo bus y como característica a tener en cuenta tiene la capacidad de extender el cableado a una distancia considerable sin que para ello se vea comprometida la recepción de los datos por la caida de tensión de la linea.



PASO 2 " ACTIVAR EL BUS ONE WIRE EN NUESTRA RASPBERRY PI"


Según el pinout de nuestra raspberry pi 3B el pin que viene configurado por defecto para la comunicación con protocolo onewire es el GPIO4 .




 A destacar que si es necesario este pin se puede cambiar editando el archivo /boot/config.txt . Para mas info consultar la siguiente dirección web https://pinout.xyz/pinout/1_wire

Es muy posible que este protocolo de comunicaciones este desactivado por defecto con lo que si vamos a la consola y tecleamos el siguiente comando sudo raspi-config entraremos en el menú grafico de configuración de nuestra raspberry y lo activaremos siguiendo los pasos descritos en las siguientes 3 capturas de pantalla.



interface options 

enable one wire
confirmar 

PASO 3 " TESTEAR NUESTRO SENSOR"


Aunque no es estrictamente necesario si que considero recomendable hacer este test de funcionamiento del sensor en nuestra raspberry. Con ello confirmaremos que la raspberry y el sensor se están comunicando por el protocolo one wire.

Ejecutamos los siguientes comandos desde la consola:

sudo modprobe w1-gpio
sudo modprobe w1-therm

Navegamos hasta el siguiente directorio:

/sys/bus/w1/devices

Dentro de devices si todo a ido bien veremos una carpeta con una numeración que empieza por 28-xxxxxx (las x pertenecerán a la identificación de tu sensor, cada uno con una diferente). Si tuviéramos mas de un sensor en nuestro sistema aparecerían tantas carpetas como sensores tengamos.

Entramos dentro y ejecutamos la siguiente instrucción: cat w1_slave

Nos encontramos algo como esto :
fb 00 ff ff 7f ff ff ff 03:crc=03 YES
fb 00 ff ff 7f ff ff ff 03 t=15687 

la t es la temperatura que registra el sensor, que tenemos que dividirla entre 1000 con lo que sabemos que ahora mismo el sensor detecta 15'687ºC

Tenemos la certeza de que nuestro sensor funciona correctamente.


PASO 4 "MONITORIZAMOS EL SENSOR CON NODE -RED"


No entraremos en detalles de como funciona node red e iremos al grano en este apartado ya que si no la entrada podría eternizarse y no es la idea.

Partimos de la base de que ya tenemos instalado Node-Red en nuestro dispositivo, con lo que inicializamos el servidor con la instrucción node-red-start.
Accedemos por IP a Node-Red mediante el puerto 1880 desde el navegador de cualquier pc que este en nuestra red con el siguiente formato. IP de la raspberryPi:1880

Nos encontraremos algo como lo que puedes ver en la siguiente imagen:



 
Para poder monitorizar nuestro sensor tenemos que descargarnos el nodo correspondiente con lo que  nos vamos al icono de las tres líneas horizontales (arriba a la derecha) y entramos en "manage palette".

Nos vamos a la pestaña Install y aquí buscamos el siguiente nodo "node-red-contrib-ds18b20 sensor"

Lo instalamos y una vez finalizado el proceso de descarga lo podremos ubicar dentro del grupo de nodos de la izquierda que engloban los destinados a la raspberry pi.

Ahora vamos a hacer el "programa" que nos permita monitorizar los valores del sensor en un grafico y en un indicador grafico .

Arrastramos en nodo timestamp que nos va a permitir establecer la regla de repetición de tiempo de medida del sensor hacia la grafica y el indicador grafico. Hacemos doble click y incluimos la siguiente configuración según la imagen.




Pulsamos DONE . Ahora arrastramos el Nodo descargado que hace referencia al sensor. Unimos el nodo timestamp con el rpi ds18b20 . Dentro de este ultimo no hacemos nada.

Verificamos que tenemos los nodos relacionados con el dashboard , tendrás un apartado a la izquierda que se llama así. Si no, tendrás que hacer los mismos pasos que cuando descargaste el nodo del sensor pero esta vez tienes que buscar "node-red-dashboard"

Una vez que lo tengas instalado arrastras el nodo denominado GAUGE, que tendrá la función de indicador de temperatura en este caso.

Hacemos doble click y lo configuramos tal y como ves en la imagen siguiente:





Muy importante crear un grupo ya que todo lo que quieras ver en la misma pagina del dashboard tiene que estar dentro del mismo grupo.

No hace falta que te diga que puedes probar según tus necesidades, el rango min y max , como quieres que se identifiques las unidades de medición, el tipo de indicador grafico etc... También puedes configurarlo para que te indique en varios colores por rangos de medición, veras que tiene muchas posibilidades.

Acuérdate de pulsar DONE siempre que hagas una modificación. 

Si has llegado hasta aquí, enhorabuena, estas a punto de ver tu creación. Pulsa el botón DEPLOY, de arriba a la derecha siempre que quieras que los cambios se ejecuten.

Ahora viene lo chulo de todo esto. Introduce la dirección ip de tu raspberry como hemos hecho antes para entrar a node-red pero esta vez añadiendo /ui al final.

Quedaría tal que así 

XXX.XXX.XXX.XXX:1880/ui

Sustituye las X por la ip de tu raspberry pi.

Asi visualizaremos el entorno grafico de node red y si todo a ido bien podrás visualizar la medición de temperatura del sensor gráficamente desde el indicador tal cual puedes ver en la siguiente imagen.



Ahora solo nos quedara integrar una grafica que nos permita monitorizar los datos medidos para una visualización y comparación mas cómoda.

Para esto nos vamos al apartado dashboard y arrastramos el nodo llamado Chart. 

Lo configuramos como en la siguiente imagen a modo de ejemplo. Lo mas importante es que en grupo estemos dentro de pruebas.




Pulsamos DONE y seguidamente unimos la salida del nodo del sensor con la entrada del nodo grafico.
Pulsamos DEPLOY y nos vamos al navegador donde tenemos abierto el dashboard . 

Refrescamos si fuese necesario y podremos ver nuestra grafica monitorizando los datos del sensor tal cual lo hemos configurado.




Con esto hemos terminado la primera parte del proyecto, en la siguiente entrada veremos como enviar los datos obtenidos a una base de datos utilizando firebase para ello.

Has podido ver que las posibilidades que nos brinda Node-Red son casi infinitas ;-) , 

Te atreves a introducir los nodos necesarios para que te diga la Máxima y la Mínima registrada durante un núm. determinado de registros? Seguro que si jeje 

Espero que te haya gustado y hayas logrado llegar al final. 

Un saludo y hasta la próxima entrada!!