Autor Tema: Mi propio diseño de sistema CNC (hardware y software)  (Leído 22543 veces)

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Mi propio diseño de sistema CNC (hardware y software)
« en: 28 Noviembre 2017, 13:02 »
Resumen del proyecto 4 axis control.

El proyecto completo, con todos sus detalles, está descrito en mi página web:
https://sites.google.com/site/controlofmachines/control-maquina-4-ejes.

El proyecto está finalizado.

En esta imagen se puede ver la caja de instrumentación que finalmente he fabricado, para alojar el sistema desarrollado en este proyecto. A la izquierda de la imagen, la app Android que permite fabricar mediante una conexión Bluetooth. Encima de la caja de instrumentación se ve un ordenador ejecutando el conocido planificador de movimientos Mach3. Para conmutar entre la atención al computador o el móvil, en el frontal de la caja se ha instalado el pulsador iluminado en verde.

La caja de instrumentación está finalizada, a falta de colocar unos trozos de plástico transparente encima de los leds, y de rotular el frontal.



El sistema, fuera de la caja de instrumentación, tiene el aspecto mostado en la siguiente figura. Se ve el módulo Bluetooth conectado a la placa de control.



El sistema soporta la tecnología NFC, de manera que es posible conectar una antena NFC que publique un mensaje NDEF para la descarga automatizada de la app de control, desde el repositorio de aplicaciones "Play Store".
Además, tocando con el móvil la antena NFC, se lanza la aplicación Android automáticamente, y se lleva a cabo la conexión Bluetooth al dispositivo que le indique el mensaje NDEF. Finalmente, he copiado el mensaje NDEF en una etiqueta adhesiva con un chip NFC y su antena, y la he pegado en la parte superior de la caja de control, para evitar montar permanentemente la antena hardware.

En esta foto se muestra una antena NFC hardware, del fabricante Texas Instruments, y un "tag" adhesivo NFC, usados en el proyecto.




Origen del proyecto.
Llevaba tiempo observando que en el mundo de CNC no existía una proporción entre el esfuerzo de aprendizaje necesario, y las tareas que normalmente se llevan a cabo.
Muchas personas se inician en el mundo de la fabricación por control numérico, para resolver tareas sencillas, como fresar un círculo, cajear un rectángulo, o refrentar una superficie plana.
Mi impresión es que debería existir una forma sencilla –y amigable- de llevar a cabo estas tareas sencillas, con un esfuerzo mínimo de aprendizaje. Y si más adelante necesitabas llevar a cabo tareas complejas, ya irías estudiando progresivamente lo que necesitases.
Pero consideraba necesario crear una forma de poder empezar a trabajar con una máquina CNC, desde el primer día.

Especificación de requisitos.
El proyecto de un el nuevo sistema CNC, debería cumplir los siguientes requisitos mínimos:
Desarrollar una app para Android, que mediante una conexión Bluetooth con la placa de control, permita llevar a cabo las operaciones básicas de fabricación:
•   Movimiento manual de todos los ejes (modo continuo, desplazamiento fijado o repetitivo)
•   Contorneado.
•   Ranurado.
•   Cajeado.
•   Cajeado con vaciado.
•   Corte de circunferencia.
•   Círculo (circunferencia con vaciado).
•   Taladrado múltiple.
•   Fabricación básica de engranajes.
•   Gestión de un cuarto eje, como indexador o mesa giratoria.
Por si ocasionalmente no se dispone de un dispositivo Android, es necesario disponer de un método alternativo para el control manual completo de cualquier eje, desde una pantalla táctil.
Conmutación, mediante pulsador, a modo CNC tradicional, basado en planificadores de movimiento como Mach3, Mach4, etc.

Además, debe ser capaz de trabajar con planificadores de movimientos que se ejecuten desde un computador (Mach 3, etc).

El desarrollo debe basarse en los más modernos estándares industriales, de forma que se facilitara al máximo el mantenimiento del producto, su migración a otras plataformas, y su evolución futura. Esto conlleva el uso de:
Un micro-controlador con arquitectura ARM Cortex M, de última generación.
Capas estandarizadas de software, como un sistema operativo para sistemas embebidos con interfaz CMSIS-RTOS, librerías con interfaz HAL, generador de configuración STM32 CubeMX, etc.

En esta imagen se ve la estuctura en capas y threads (hilos) en el que se basa el diseño. Es una vista simplificada de la realidad, claro...



En esta imagen se muestran dos pantallas táctiles de diferente tamaño conectadas al sistema de control, y ejecutando un software desarrollado específicamente para este proyecto.
El sistema admite hasta 4 pantallas táctiles a la vez, una para cada eje. Cualquier pantalla se puede conectar a cualquier conector. Si se seleciona el cuarto eje en el menú de "Opciones" mostrado en pantalla, automáticamente se mostrará una interfaz adaptada al control de un indexador o mesa giratoria (en lugar de un eje lineal, como X, Y, Z).



Diseño del proyecto.
Al ser éste un proyecto de “Innovación tecnológica”, que hace uso de micro-controladores de última generación, el diseño se ha llevado a cabo a partir de la construcción de un prototipo, el cual ha ido evolucionando, hasta obtenerse el producto final.

Los primeros prototipos se llevaron a cabo con los chips STM32-F2 y STM32-F4 del fabricante ST Microelectronics. Ambos tienen una arquitectura ARM Cortex M4. Lamentablemente, enseguida se comprobó que el uso de múltiples threads (hilos) de control, ejecutándose simultáneamente, colapsaba la memoria RAM disponible, llegando a colgar el sistema.
Fue necesario reducir al máximo el consumo de memoria, y esperar a la aparición de la gama STM32-F7 para poder finalizar el proyecto. Éste tiene una arquitectura ARM Cortex M7.



El diseño y desarrollo de este proyecto sigue un planteamiento modular, con las siguientes partes:
Placa base. Encargada de las conexiones de alimentación, de las conversión de niveles de tensión, y de interconectar todas las placas.
Placa de control. Monta el micro-controlador ARM Cortex M7 que es el corazón del sistema. Recibe las conexiones de equipamientos auxiliares y cableado de mando.
Placas de potencia. Hasta un máximo de cuatro. Cada placa controla un motor paso a paso, que puede llegar a consumir 5 Amperios de corriente, aunque la fase de pruebas se han llevado a cabo con motores pap de hasta 4 amperios.

En este vídeo se explica el funcionamiento desde un móvil Android.
http://youtu.be/bMLCDhbbZ58

En estos vídeos, se puede ver cómo se mecaniza, desde el móvil.

Corte de un círculo:
https://www.youtube.com/watch?v=hoZFwlKyhtg

Corte de un rectángulo:
https://www.youtube.com/watch?v=vFriWhOGmog

El manual de instrucciones detallado, se puede consultar aquí.
https://sites.google.com/site/controlofmachines/descarga-del-manual-de-usuario
« última modificación: 02 Diciembre 2017, 10:59 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Tomy73

  • Aprendiz
  • *
  • Join Date: Jul 2012
  • Mensajes: 431
  • Ubicación: BIZKAIA
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #1 en: 28 Noviembre 2017, 13:09 »
Espectacular trabajo Valen. .ereselmejor  .bien .bien
Todo tiene un aspecto de 10.  .palmas
Se ve donde hay unas buenas manos y un gran conocimiento.

Un saludo.

Desconectado kankarrio

  • Oficial 2ª
  • ***
  • Join Date: Sep 2011
  • Mensajes: 5519
  • Ubicación: leon
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #2 en: 28 Noviembre 2017, 13:35 »
La leche valen, entre pacol madmondi y tú le estáis dando un nivel a esto del CNC casero del copón

Ahora estoy de viaje pero esto promete , lo leeré muy a fondo .yupi
proyecto en construcción cumbre 022--fresadora einhell MBF 550-- 2 mini tornos einhell BT ML 300-- 2 taladros columna chinos-- soldadora inverter 80A --- soldadora AC 140A-- soporte para amoladora de 230mm -- UN CARRO DE TELARES MAS

Desconectado becario10

  • Aprendiz
  • *
  • Join Date: Ago 2015
  • Mensajes: 1571
  • Ubicación: Barcelona
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #3 en: 28 Noviembre 2017, 14:14 »
Felicitaciones por este proyecto.   .palmas .palmas .palmas .palmas .palmas .palmas
Cumbre  022,  fresa CEA, taladro sobremesa, sierra cinta Quantum, Soldadura aguila

Desconectado dansanc

  • Aprendiz
  • *
  • Join Date: Oct 2011
  • Mensajes: 970
  • Ubicación: Atlántida, Uruguay
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #4 en: 28 Noviembre 2017, 15:33 »
Felicitaciones Valen,

este aporte eleva considerablemente el
nivel de este foro....
Torno Liebert & Gürtler con visualizador Mitutoyo y variador WEG, taladro Alzmetall, sierra sin fin Femi, soldador eléctrico Ersa, div. máquinas de carpintería

Desconectado frajagal

  • Aprendiz
  • *
  • Join Date: Oct 2010
  • Mensajes: 504
  • Ubicación: Córdoba-España
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #5 en: 28 Noviembre 2017, 16:38 »
Simplemente BESTIAL, enhorabuena por el proyecto.

Un saludo

Anderl

  • Visitante
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #6 en: 28 Noviembre 2017, 18:46 »
Qué barbaridad. Menudo nivelazo está alcanzando este sitio.

Felicidades y gracias por compartirlo con nosotros.

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #7 en: 28 Noviembre 2017, 18:54 »
Gracias a todos,

Aplicación Android.
La aplicación Android se conecta al sistema CNC mediante una conexión Bluetooth. La conexión es constantemente monitorizada, por si se produce una desconexión. Si esto ocurre, muestra un mensaje de aviso, y se deja todo preparado para reconectar. La reconexión no se hace automáticamente, por seguridad.

Si en la caja de control se pulsa el conmutador que selecciona a quien atiende (computador o dispositivo móvil Android), en la pantalla del dispositivo Android se muestra un aviso de lo sucedido.
Si intentamos trabajar desde el móvil, cuando está seleccionado el control desde el computador, se muestra un aviso en pantalla, y no ejecuta ninguna acción.

El sistema de control basado en un dispositivo móvil se configura desde la app, pero los datos se almacenan en la memoria flash de la placa de control. De esta forma, cualquier móvil puede conectarse a la placa, y recibe los datos de configuración particularizados a nuestro equipo.

Se han desarrollado pantallas específicas para móviles y para tablets, de manera que la distribución de los elementos en la pantalla sea óptima en cada tipo de dispositivo.

Los servicios ofrecidos por la app, acordes a la Especificación de Requisitos, son:
•   Movimiento manual de todos los ejes (modo continuo, desplazamiento fijado o repetitivo)
•   Contorneado. (Con proceso de desbastado, normal y afinado)
•   Ranurado.
•   Cajeado.
•   Cajeado con vaciado.
•   Corte de circunferencia.
•   Círculo (circunferencia con vaciado).
•   Taladrado múltiple.
•   Fabricación básica de engranajes (rectos con fresa de perfil de involuta, o helicoidales, con fresa en V).
•   Gestión de un cuarto eje, como indexador o mesa giratoria. Movimiento por grados y minutos, o por divisiones. Admite movimientos repetitivos.



Si, por ejemplo, nos fijamos en una imagen de detalle de una pantalla de fabricación, como la de la siguiente figura:



Se trata de la pantalla de fabricación de engranajes utilizando una fresa con perfil de involuta.
Vemos que existe una barra de avance para cada eje, así como otros datos que se actualizan en tiempo real, durante la fabricación. En el caso mostrado, se actualizará el avance de los ejes en las barras de avance, así como el diente del engranaje en el que estamos trabajando, y la pasada que estamos dando (si el mecanizado de cada surco no se lleva a cabo de una sola pasada, a profundidad completa).

Para lograrlo, los micro-controladores especializados en el control de cada motor (hay cuatro, uno por cada motor), actualizan a través del bus SPI su grado de avance, informando al micro-controlador principal, un ARM Cortex M7 de ST Microelectronics. Este micro-controlador empaqueta los mensajes en una estructura TLV y envía los paquetes al dispositivo móvil, a través de la conexión Bluetooth. El sistema operativo Android es el encargado de que la app reciba los datos, y esta los envía a su vez a la pantalla que esté activa en ese momento, para mantener la pantalla actualizada.

En el caso que estamos viendo, dedicado a la fabricación de engranajes, sabemos que los parámetros Módulo del engranaje -- nº de Dientes -- Diámetro del engranaje, están relacionados entre sí. La aplicación recalcula los otros dos, cada vez que modificamos uno cualquiera de ellos.

La fabricación siempre se puede pausar y también cancelar.

Esta aplicación Android es multilenguaje, y en la versión actual se muestran automáticamente los textos en Español o Inglés, dependiendo del idioma del sistema operativo Android del dispositivo móvil, sin necesidad de configurar nada.

« última modificación: 29 Noviembre 2017, 09:19 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

abu

  • Visitante
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #8 en: 28 Noviembre 2017, 19:16 »
Un currazo, si señor.......... .palmas .palmas .palmas .palmas .palmas .palmas .palmas

Lo que mas me gusta de esa "arquitectura" es, aprovechando la "infraestructura", la posibilidad de ampliacion del interface de "procesos preparados" ( y sus correspondientes modulos en el ARM.....juer.....es que casi son ciclos enlatados  ;D),  cosa que sospecho que debe ser relativamente "facil"......no para el usuario, obviamente ;)
Una preguntilla......en modo CNC..............el ST no hara practicamente nada, y todo el montaje se comporta como una "enorme" breakout, mas los drivers de motores ¿no?

de nuevo, mas  .palmas .palmas .palmas .palmas
« última modificación: 28 Noviembre 2017, 19:21 por abu »

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #9 en: 28 Noviembre 2017, 19:30 »
Una preguntilla......en modo CNC..............el ST no hara practicamente nada, y todo el montaje se comporta como una "enorme" breakout, mas los drivers de motores ¿no?

El sistema es completo, es decir, incluye los cuatro módulos de potencia que alimentan a los motores paso a paso.

Cuando trabajas con un planificador de movimientos como Mach3, el sistema delega el envío de los micro-pulsos, a Mach3. Los pulsos los reciben directamente los micro-controladores especializados en control de motores. Estos micros manejan los puentes Mosfet de potencia que alimentan cada motor paso a paso, y son los encargados de llevar a cabo la regulación del par, de forma que la velocidad de mecanizado permanezca constante.
Toda la placa, además, está optoacoplada, para evitar la propagación de sobretensiones o ruido eléctrico hacia el ordenador, y así protegerle.

El control de potencia ha sido desarollado empleando componentes electrónicos de calidad "Automotive", que está bastante por encima de la calidad "Estándar". De hecho, soporta sobretensiones de unos 100 voltios y corrientes transitorias bastante elevadas, de hasta 60 Amperios.
« última modificación: 28 Noviembre 2017, 19:33 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado pacomb

  • Aprendiz
  • *
  • Join Date: Abr 2013
  • Mensajes: 732
  • Ubicación: Madrid
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #10 en: 28 Noviembre 2017, 19:48 »
Valen, una vez más vuelves a poner el listón muy alto!

Enhorabuena!
Torno CQ6120 210x320, Fresadora Weiss 20V, Sierra de cinta clon de la Femi
¡pocos conocimientos y muchas ganas de aprender!

Desconectado wels

  • Aprendiz
  • *
  • Join Date: Abr 2012
  • Mensajes: 1327
  • Ubicación: Guadalajara
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #11 en: 28 Noviembre 2017, 20:19 »
Prácticamente imposible no decir nada
Y la verdad...tampoco se que decir, esto del CNC es para mi un mundo algo complejo, pero aun así....
Esto es de revista científica de las buenas
Esperemos que algún fabricante lo vea, se ponga las pilas y saque "algo" que justifique lo que cobran por sistemas de más de 10 años
Esto es "otra historia"
tornos Optimum D240 500G Emco Compact 5  Fresadora BF20 Sierra de cinta Femi 780P y cacharros varios

Desconectado Tr Precision Machining

  • Guru
  • *****
  • Join Date: Ene 2017
  • Mensajes: 15175
  • Ubicación: Territorio Rural ASTURIAS
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #12 en: 28 Noviembre 2017, 20:25 »
Gracias por compartir con nosotros un proyecto de esta calidad y este nivel

seguro que el camino a resultado largo y de muchisimas horas pero seguro ahora te sientes muy orgulloso de lo que lograste conseguir

muy muy bien .bien .brinda

Desconectado jubilado

  • Oficial 1ª
  • **
  • Join Date: Ago 2015
  • Mensajes: 2056
  • Ubicación: Sevilla
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #13 en: 28 Noviembre 2017, 20:35 »
Me voy a un rincón a llorar, esto me sobrepasa.
Inmaquinado, herramientas de todas clases, formas y tamaños.

abu

  • Visitante
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #14 en: 28 Noviembre 2017, 20:49 »
Los pulsos los reciben directamente los micro-controladores especializados en control de motores.

OK. Osea que si, que el ARM queda "liberado". Acabo de verlo en tu sitio.  ;)