Foro MetalAficion

CAD - CAM - CNC => CNC (Control Numérico por Ordenador) - Hardware => Mensaje iniciado por: Valen en 28 Noviembre 2017, 13:02

Título: Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen 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.

(http://imagizer.imageshack.us/v2/1024x768q90/922/BixL8g.jpg) (https://imageshack.com/i/pmBixL8gj)

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.

(http://imagizer.imageshack.us/v2/1024x768q90/923/5CG76d.jpg) (https://imageshack.com/i/pn5CG76dj)

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.

(http://imagizer.imageshack.us/v2/1024x768q90/922/z9JuHI.jpg) (https://imageshack.com/i/pmz9JuHIj)


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...

(http://imagizer.imageshack.us/v2/1024x768q90/537/o3Mhql.png) (https://imageshack.com/i/exo3Mhqlp)

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).

(http://imagizer.imageshack.us/v2/1024x768q90/923/HXbIUZ.jpg) (https://imageshack.com/i/pnHXbIUZj)

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.

(http://imagizer.imageshack.us/v2/1024x768q90/922/8k1jF3.jpg) (https://imageshack.com/i/pm8k1jF3j)

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
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Tomy73 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.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: kankarrio 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
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: becario10 en 28 Noviembre 2017, 14:14
Felicitaciones por este proyecto.   .palmas .palmas .palmas .palmas .palmas .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: dansanc en 28 Noviembre 2017, 15:33
Felicitaciones Valen,

este aporte eleva considerablemente el
nivel de este foro....
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: frajagal en 28 Noviembre 2017, 16:38
Simplemente BESTIAL, enhorabuena por el proyecto.

Un saludo
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Anderl en 28 Noviembre 2017, 18:46
Qué barbaridad. Menudo nivelazo está alcanzando este sitio.

Felicidades y gracias por compartirlo con nosotros.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen 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.

(http://imagizer.imageshack.us/v2/1024x768q90/923/1ogk2r.png) (https://imageshack.com/i/pn1ogk2rp)

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

(http://imagizer.imageshack.us/v2/1024x768q90/924/Zat5R7.png) (https://imageshack.com/i/poZat5R7p)

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.

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: abu 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
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen 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.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pacomb en 28 Noviembre 2017, 19:48
Valen, una vez más vuelves a poner el listón muy alto!

Enhorabuena!
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: wels 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"
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Visitante 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
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: jubilado en 28 Noviembre 2017, 20:35
Me voy a un rincón a llorar, esto me sobrepasa.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: abu 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.  ;)

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 28 Noviembre 2017, 21:15
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.  ;)
Sí, el ARM cortex M7, en modo de funcionamiento CNC con Mach3 (u otro planificador de movimientos), se dedica a supervisar el estado general del sistema, informando de eventos, alertas o alarmas. El trabajo CNC se delega al planificador de movimientos Mach3, que debe tener absoluta libertad de trabajo.

La función del ARM cortex M7 es substituir a Mach3 cuando operas desde el móvil  o el tablet.
En este proyecto, el objetivo principal es ofrecer una forma de trabajar desde dispositivos móviles, considerándose Mach3 un método secundario, al ser demasiado complejo para muchas personas que solo necesitan hacer tareas sencillas. Este es el el público-objetivo de este proyecto.
Al fin y al cabo, para usar Mach3 hay miles de soluciones.....
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 28 Noviembre 2017, 21:17
seguro que el camino a resultado largo y de muchisimas horas pero seguro ahora te sientes muy orgulloso de lo que lograste conseguir
Este proyecto es el resultado de varios años de trabajo. De muuuuuucho trabajo..... Estoy encantado con el resultado.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pritt en 28 Noviembre 2017, 21:25
Enhorabuena Valen.

Un placer verte nuevamente por aquí.

La verdad es que hacía días que no vistaba tu página, bonita sorpresa.

Una cosilla: El bluetooth, ¿no lo ves muy flojo como para que dependa de él un CNC?

Te lo digo porque cada vez más se emite en 2.4 Ghz y la verdad es que las interferencias son insoportables. En su día ya tuve problemas de un ratón bluetooth con el Router y precisamente acabo de cambiar unos buenos auriculares por el mismo problema, esta vez con un "escucha bebés".

Un saludo.

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 28 Noviembre 2017, 21:41
Una cosilla: El bluetooth, ¿no lo ves muy flojo como para que dependa de él un CNC?
Gracias Pritt,
no, ningún problema:
1) He usado un módulo Bluetooth profesional, del fabricante norteamericano MicroChip, no uno chino. Estos módulos hacen verificación de paquetes.
2) El móvil envía todos los parámetros de fabricación al sistema, en una única estructura TLV que se verifica al llegar. Si algo no está bien, no se comienza a trabajar. Si algún parámetro rebasa los límites admitidos o es incoherente, se rechaza el comando.

El resto de comunicaciones son datos de avance de las barras de avance, etc. que se envían desde la placa, al móvil. También se verifican al llegar, y si aún así pasan el control, lo más que puede ocurrir es que una barra de avance dé un salto.
De todas formas, nunca, en ninguna prueba, he tenido problemas de integridad en las comunicaciones.

Bueno, una cosa que sí que hay que controlar, es que las dos máquinas conectadas tienen diferentes velocidades y capacidades de proceso, por lo que se han de sincronizar con respuestas "Ack" a cada envío, para permitir el siguiente envío de datos. Mientras tanto, la UART ha de ir encolando los paquetes. Para esto están los threads, los semáforos, etc. de los sistemas embebidos.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: madmondi en 29 Noviembre 2017, 01:23
Mi mas sincera enhorabuena Valen por un proyecto tan complejo como el que estas llevando a cabo, te aseguro que me he quedado a cuadros con la fiabilidad que le has implementado con el sistema "Ack" del modulo Bluetooth y demás , muchísimas  gracias por compartirlo. .bien
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 29 Noviembre 2017, 08:19
fiabilidad que le has implementado con el sistema "Ack" del modulo Bluetooth
gracias,
Este sistema basado en esperar respuestas a cada envío, es muy usado en la industria. No llega a ser un Bus CAN (sector del automóvil), pero es suficiente para muchas aplicaciones industriales.
Eso sí, ambos extremos han de ser capaces de tratar un error de transmisión, porque... ¿qué ocurre si no llega el "Ack" de respuesta a nuestro envío?
En esta situación, quien ha enviado el paquete, ha de esperar un tiempo prudencial (timeout) para que al receptor le dé tiempo a tratar el error. Es suficiente unas decenas o cientos de mili segundos.
Si salta el timeout, el receptor ya habrá detectado el error y habrá reiniciado la comunicación vaciando el buffer de recepción. El emisor, en el momento de producirse el timeout, ya puede reiniciar el envío de paquetes.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pumukyo en 29 Noviembre 2017, 09:33
Simplemente alucinante.... Un currazo espectacular.

Cual es el coste de montarse uno de estos?

Manejaria tanbien Motores de lazo cerrado?
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 01 Diciembre 2017, 07:21
1) Manejaria tanbien Motores de lazo cerrado?
2) Cual es el coste de montarse uno de estos?

gracias,

1) Este sistema no está pensado para utilizar encoders. La modificación no sería muy complicada, porque simplemente hay que substitur el contador interno de pasos, por lo que diga el encoder. Pero complica el hardware, añadiendo más entradas. El proyecto está destinado a personas que quieren un CNC amigable y sencillo, por lo que el modelo de encoders no encaja en su filosofía.

El coste de montarse un sistema como este, depende mucho de lo bien que lo quieras hacer. Por ejemplo, yo he utilizado una caja VERO:
https://es.rs-online.com/web/p/consolas-y-cajas-de-escritorio/0504748/
que cuesta unos 100€, pero hay cajas mucho más baratas.
También he empleado dos fuentes de alimentación de 24 voltios, de la firma TracoPower, una para alimentar las placas de potencia, y otra para alimentar la zona de mando. El sistema admite usar una sola fuente de alimentación, incluyendo el filtrado del ruido que genera la zona de potencia, pero siempre es mejor separar ambas zonas, para que la Potencia no pueda afectar al Mando.

2) Una persona que sabe mucho de mecanizado tiene ahora uno de estos sistemas en su taller, y lo está probando. La idea es que saque pegas o posibles mejoras.
Después, tengo intención de fabricar algún módulo para amigos y conocidos, pero sin prisa, porque montar las 6 placas es pesado.
A partir de ahí, cada uno se monta la caja que quiera. Eso si que es un trabajo que no estoy dispuesto a hacerle a nadie......
En cualquier caso, el manual de usuario que se puede descargar al principio de este hilo, da todas las indicación sobre qué necesitas para ponerlo en marcha.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pumukyo en 01 Diciembre 2017, 10:04
Gracias a ti por ilustrarnos..

Me referia al coste de placas y componentes.

Al final fuentes siempre necesitas y cajas tambien pongas lo que pongas.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Santiago en 01 Diciembre 2017, 13:05
Jolin que bien Valen, muchas gracias por compartirlo y ponerlo tan bien explicado
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 01 Diciembre 2017, 22:58
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 ;)

La idea es la siguiente:
1) Sobre un sistema operativo específico para sistemas embebidos, se construye un API de mecanizado.
 (un API es un conjunto de funciones básicas, en este caso, para mecanizado).
Las funciones tienen que ser sencillas, de forma que cada de ellas resuelva una sola cosa. Por ejemplo: Configurar un eje para llevar a cabo un determinado desplazamiento, Arrancar dicho movimiento, Resetear la posición actual, Cambiar la velocidad del motor, Restaurar los valores de configuración por defecto, etc, etc.

2) Utilizando estas funciones básicas de mecanizado, se construyen los "movimientos complejos" como cajear un rectángulo, que conlleva el movimiento de varios ejes, cada uno con sus diferentes desplazamientos, velocidades, etc. y siguiendo una secuencia determinada.

Con esta arquitectura del software, estructurada en capas especializadas, es mucho más fácil construir un "movimiento complejo" nuevo, reduciéndose drásticamente el tiempo de implementación.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: abu en 01 Diciembre 2017, 23:46
Por supuesto, Valen.........creo saber como va la cosa.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 02 Diciembre 2017, 05:08
gracias
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Ulisesferr1980 en 02 Diciembre 2017, 09:39
Exelente proyecyo..una pregunta siento la ignorancia.. que controladora es esa o donde se puede conseguir?
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 02 Diciembre 2017, 10:43
Exelente proyecyo..una pregunta siento la ignorancia.. que controladora es esa o donde se puede conseguir?
Hola, la controladora es un diseño totalmente propio. Tanto el hardware, como el software embebido o la aplicación Android. A la fecha, no está disponible. Quizás en el futuro fabrique alguna, poco a poco.

El principal objetivo de este proyecto, que me ha llevado varios años, era crear un sistema CNC que ofreciera lo que yo pienso que no se ofrece. Fue una especie de "reto profesional", aunque en mi tiempo libre.

Con este desarrollo, he finalizado el Diseño e Implementación de los cuatro sistemas electrónicos que, según mi criterio, no estaban bien solucionados para en un entorno de máquinas-herramienta pequeñas:

1) Un tacómetro de precisión y amplio rango de medida, con una pantalla de calidad (utilicé una OLED), dejando a un lado los displays rojos de siete segmentos.

2) Una placa de alimentación de potencia, que incorporase las más novedosas técnicas de regulación de par y velocidad, para los motores de corriente continua de las máquinas Optimum/Quantum. Además, era requisito imprescindible que ofreciera una alimentación muy limpia, evitando que el motor meta ruido debido a la vibración del hierro, producida por un campo eléctrico irregular en los bobinados.

3) Una placa de control para una mesa giratoria o un indexador, con una interfaz de uso amigable (usé una pantalla táctil y una app para máquinas Android conectadas por Bluetooth).

4) Un Sistema CNC completo, controlable desde máquinas Android, que dé servicio a aquellas personas que no necesitan fabricar piezas complejas, liberándolas de CAD, de CAM, de Mach3, etc.

Todos los desarrollos se explican, con detalle, en mi página web:
https://sites.google.com/site/controlofmachines/home
En esta página se cuenta lo bueno y lo malo que fue surgiendo en las fases de Diseño, Implementación y Pruebas de los proyectos, como una ayuda a quien quiera empezar a hacer sus propios desarrollos en este mundo del control de máquinas. Así no se sentirá tan solo, ni se frustrará tanto cuando vea que tiene que re-enfocar diseños, cambiar algunos objetivos, etc.
Llevo unos veinte años al frente de un equipo de desarrollo de hardware y principalmente software, en un ámbito tecnológico diferente al CNC, pero que utiliza los mismas herramientas de desarollo, etc. y creí que sería útil contar mis experiencias llevando a cabo estos proyectos en el ámbito personal.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: becario10 en 02 Diciembre 2017, 11:21
Gracias valen por tu aportación y experiencia compartiendo este proyecto.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Tomy73 en 02 Diciembre 2017, 11:57
Un pequeño apunte Vale.
¿Porque en el vídeo del circulo lo hace a saltos con pequeñas paradas?
¿No puede hacer un circulo continuo para que el acabado sea bueno.?

Un saludo.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 02 Diciembre 2017, 12:26
Un pequeño apunte Vale.
¿Porque en el vídeo del circulo lo hace a saltos con pequeñas paradas?
¿No puede hacer un circulo continuo para que el acabado sea bueno.?
Un saludo.
Efectivamente, es sí.
En el "modo de control desde una máquina Android", los cuatro micro-procesadores especializados en control de los motores pap utilizan su propia lógica de control interna, y solo llevan a cabo movimientos de un número de pasos prefijados, con una curva de aceleración, luego el movimiento a velocidad constante, y una curva de decelaración. (En mi sistema las aceleraciones usan valores por defecto, y no es necesario preocuparse por estos valores).

Para llevar fabricar el círculo de una manera continua, como hace cualquier planificador de movimientos como Mach3, es necesario desactivar este modo de funcionamiento de los chips, y que un sistema central se encargue de modular los pulsos en frecuencia, y coordinando el eje X e Y.

Pero si haces eso, y conectas el micro principal ARM a las entradas de pulsos de los micro-procesadores especializados en control de los motores pap, entonces ya te encargas tú de todo, y desaprovechas la lógica de control que te ofrece integrada el fabricante, a la vez que complicas enormemente tu desarrollo software. En realidad, estarías constryendo un Mach3 completo en tu ARM.

Digamos que no me pareció que compensase desaprovechar esta característica de los chips, solo por la fabricación de los círculos. Al fin y al cabo, los resultados obtenidos con incrementos de 1 grado o incluso 5 grados, son suficientes para la mayoría de las aplicaciones.

Los chips de control de motores son muy buenos, y pertenecen a la serie "automotive" del fabricante. Se comunican con el micro-principal mediante un bus SPI, recibiendo sus órdenes, y devolviendo respuestas. Forman, con el micro principal, una arquitectura de micro-controladores jerarquizada, muy efectiva.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: abu en 02 Diciembre 2017, 14:04
Me cachisssss.......va a parecer que no hago mas que poner palos en las ruedas; nada mas lejos de mi intencion.  .bien
Dicho esto, me planteo lo siguiente; Ni Mach (que no es otra cosa que el antiguo EMC2 "guarreado para windows" segun las malas lenguas :P) ni linuxcnc "saben" absolutamente nada de dinamica. La estrategia que emplean para movimientos en mas de un eje (un arco lo es, obviamente) es mantener un estricto control sobre el porcentaje de movimiento realizado por cada eje sobre el movimiento total. Se deshacen de un plumazo de rampas, aceleraciones, inercias......en fin, de toda la dinamica.
No lo digo yo. Lo dice la documentacion y el codigo fuente.

Y dicho esto.......¿los controladores de motores que usas deben, obligatoriamente, tener definidas rampas?

Insisto........desde la mejor de las intenciones  .brinda
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 02 Diciembre 2017, 14:30
Y dicho esto.......¿los controladores de motores que usas deben, obligatoriamente, tener definidas rampas?
En Mach3 las rampas se aplican de manera transparente al usuario. En el menú "Config/Motor tunning" se puede ver el valor de la aceleración. Todos los motores necesitan rampas de acelarión y deceleración, no solo los motores paso a paso. Pero eso se sale del ámbito de este hilo.

Insisto, en este proyecto Mach3 es algo secundario. No es el objeto de este proyecto. La única razón por la que en este sistema de control he incluido la compatibilidad con Mach3, es para evitar tener que usar una caja de control para el móvil Android, y otra diferente para Mach3.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 08:15
Componentes electrónicos con terminales tradicionales axiales o componentes para montaje superficial SMD.
A veces me preguntan qué ventajas tiene usar componentes SMD, como en este proyecto, respecto a los componentes tradicionales con patillas axiales.

Bueno, lo primero que hay que decir es que los componentes tradicionales, como resistencias y condensadores con patillas que se introducen en los agujeros de la placa PCB y luego se sueldan, tienen sus ventajas:

- No se necesita ningún equipamiento especial para soldarlos o desoldarlos. Con un estañador y unas tijeras corta-alambres, es suficiente.
- Las patillas pueden usarse para unir las pistas de la cara inferior con los de la cara superior, lo que es muy útil cuando hemos fabricado nosotros la placa PCB y no queremos construir vías que conecten ambas caras.
- Son más grandes, por lo que disipan muy bien el calor.

Sin embargo, los componentes SMD, usados en este proyecto, a pesar de necesitar un equipamiento mayor, tienen muchas más ventajas:

- Son muy baratos.
- Se pueden comprar en muchos más sitios, ya que su uso está más generalizado.
- Utilizando plantillas "stencil" para los pad de soldadura y pasta de soldar especial, es posible fabricar las placas electrónicas en pequeñas series, con poco esfuerzo.
- Son componentes mucho más pequeños, lo que permite placas electrónicas más pequeñas.

La pregunta siguiente, es:
¿Cómo se fabrican las plantillas "stencil" para los pad de soldadura, donde aplicar la pasta de soldar?
Lo normal es encargarla a quien te fabrique la placa PCB. El coste de la versión básica de un "stencil" de acero es de unos 10$ (8€), así que no merece la pena fabricarlo. Pero si aún así estamos interesados en hacerlo, aquí explico algunas pautas:
https://sites.google.com/site/controlofmachines/fabricacion-de-stencil-para-componentes-smd

¿Y cómo se sueldan los componentes SMD de montaje superficial?
Es necesario algún equipamiento extra. Explico el proceso en este hilo:
https://sites.google.com/site/controlofmachines/soldar-componentes-smd




Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: kilimon en 03 Diciembre 2017, 09:18
Considerándome medio aficionado a la electrónica la verdad es que me quito el sombrero sobretodo por ofrecer tus años de trabajo personal a la comunidad y además desarrollando detalles para máquinas como bien describes arriba.

Yo estoy dispuesto a crear una réplica si me garantizado tu apoyo ante posibles dudas, sobretodo el en software o programación. Eso sí, de antemano debo sacar el coste de los materiales.

Gracias por tu aportación. .brinda .brinda
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Newlathe en 03 Diciembre 2017, 10:35
Es un proyecto increible, gracias por compartirlo en el foro. Pero no entiendo muy bien a que tipo de usuario seria enfocado esta sistema. Dices que esta pensado para poder hacer uso de una maquina cnc sin demasiados conocimientos del tema, de una manera sencilla y evitando complicaciones que conlleva el cnc tradicional. Pero montarse un sistema asi es algo muy complejo al alcance de muy pocos, incluso con las indicaciones de como hacerlo. De hecho creo que cualquiera que sea capaz de construir algo asi podria manejar una maquina cnc convencional sin demasiados problemas. O la idea es comercializar este sistema y que el usuario lo compre ya montado?

Un saludo! .brinda
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 11:41
no entiendo muy bien a que tipo de usuario seria enfocado esta sistema. Dices que esta pensado para poder hacer uso de una maquina cnc sin demasiados conocimientos del tema, de una manera sencilla y evitando complicaciones que conlleva el cnc tradicional. Pero montarse un sistema asi es algo muy complejo al alcance de muy pocos, incluso con las indicaciones de como hacerlo.
Gracias.
Sí, esto hay que explicarlo. Yo me planteo los proyectos como los plantearía un equipo de ingenieros, en una fábrica industrial: El proyecto tiene que resolver un (supuesto) problema, en este caso creando un sistema CNC que, una vez en manos de usuarios sencillos, les evite tener que aprender CAD, CAM, Planificadores de movimientos como Mach3, etc.

El resultado del proyecto tiene que (poder) ser un producto final, que resuelva el problema planteado. Otra cosa es que algún día llegue a ser realmente un producto fabricado industrialmente. Pero ese, en realidad, no es mi objetivo.

Para mi, es suficiente con montar uno o unos pocos sistemas de control, sin prisas, y demostrar que la solución es técnicamente correcta y viable, dando en ese momento el proyecto por finalizado.

Por ejemplo, si revisas el "Manual de Instalación, Configuración y Operación" que he elaborado para este sistema de control, verás que está completamente ilustrado con dibujos 3D. Crearlos me han llevado meses. En un hobby no son necesarios tantos miramientos, pero en este planteamiento, tiene que ser un manual totalmente profesional, igual que la solución técnica presentada.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 11:45
Yo estoy dispuesto a crear una réplica si me garantizado tu apoyo ante posibles dudas, sobretodo el en software o programación.
Gracias por tus palabras y tu interés. Desarrollar un proyecto de este tipo requiere muchos medios, e invertir mucho tiempo y dinero. Se sale del ámbito del hobby, y entra de lleno en las soluciones profesionales. De hecho, no creo que vuelva a abordar un proyecto de semejante envergadura.

Estimo que, en una empresa, este proyecto se implementaría por, al menos, tres personas. Si lo aborda uno solo, en su tiempo libre, resulta realmente difícil tenerlo todo a la vez en la cabeza, y en algunos momentos, cuando las cosas no funcionan, incluso te planteas dejarlo a medias. En ese sentido, quizás fue un error de cálculo meterme en algo tan grande, yo solo.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 19:53
Aplicación Android.
Esta app es el centro del funcionamiento del sistema CNC que estamos presentando en este hilo.

Un punto en el que ha sido necesario trabajar bastante, es en el menú de opciones que ha de configurar el usuario. Resulta difícil lograr que un sistema tan complejo, no solicite parámetros de configuración complicados de entender para los usuarios. La verdad es que hay decenas de ellos.
Finalmente, este es el resultado.

La imagen muestra la pantalla de opciones para el motor número 1. Se pasa de un motor a otro, pulsando las flechas de la parte superior de la pantalla.
Para cambiar un valor, se pulsa sobre la cifra, y entonces se edita el valor. Para almacenarlo, basta con pulsar una flecha para pasar al siguiente motor, o pulsar el botón "Guardar".

(http://imagizer.imageshack.us/v2/1024x768q90/923/CsMzAS.png)


Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 19:53
Aplicación Android.
Esta app es no estaría terminada, sin un "Modo Manual" que nos permitiera controlar los ejes, a nuestro antojo.

(http://imagizer.imageshack.us/v2/1024x768q90/924/KoNg1G.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 19:54
Aplicación Android.
Esta app ofrece el control completo para un indexador o mesa giratoria, conectado en el eje número cuatro. He incluido todos los posibles controles que se me han ocurrido.

(http://imagizer.imageshack.us/v2/1024x768q90/922/naQJsY.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 03 Diciembre 2017, 20:04
Control desde Pantalla Táctil.
El sistema de control admite hasta cuatro pantallas táctiles a la vez, una por cada eje.
Se ha procurado que el usuario esté siempre en la misma pantalla, de forma que el trabajo sea menos pesado, al evitarse tener que ir saltando de una a otra, pulsando botones y rellenando valores.

Vemos que en los ejes números 1, 2 y 3 se muestra una interfaz para eje lineal. Sin embargo, si en el menú de opciones se selecciona el eje 4, entonces la interfaz cambia al control de un indxador o mesa giratoria.

Vemos que es posible llevar a cabo movimientos de distancia fijada, o movimientos continuos mientras esté pulsado el botón correspondiente. También se admite movimientos repetitivos.

(http://imagizer.imageshack.us/v2/1024x768q90/923/5BJ2xs.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 05 Diciembre 2017, 21:41
Comparativa entre mi caja CNC convencional y mi nueva caja CNC.

Lo primero que hay que decir es que las dos funcionan muy bien, en el ámbito para el que fueron diseñadas.

- La caja CNC convencional la monté con componentes comerciales, usando una caja de instrumentación tipo VERO.
- La nueva caja CNC la monté con placas CNC diseñadas por mi, usando una caja de instrumentación tipo VERO.

a) La caja CNC convencional es más silenciosa, ya que los módulos de potencia utilizan un mayor número de micro-pulsos para construir cada pulso de movimiento.
Su incoveniente principal es que solo se puede utilizar desde un planificador de movimientos como Mach3, por lo que se requiere un aprendizaje largo y dificultoso.

b) La nueva caja CNC es más pequeña, ya que el sistema de control, al haber sido diseñado como un bloque, es mucho más compacto que comprar e interconectar productos comerciales. Además, admite el control desde el móvil, desde Mach3 o desde las pantallas táctiles.

(http://imagizer.imageshack.us/v2/1024x768q90/924/8ZnYAC.jpg)(http://imagizer.imageshack.us/v2/1024x768q90/923/NRO8Tv.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 16 Diciembre 2017, 16:09
Ya he creado las etiquetas para el frontal de la caja. Ahora tengo que buscar un comercio que me las imprima en forma de adhesivos transparentes. Con esto, se dará por finalizado el proyecto, y comenzará su fase de explotación.....  ;)

(http://imagizer.imageshack.com/v2/1024x768q90/923/ppO1iy.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 28 Diciembre 2017, 21:54
Ya he impreso las etiquetas en un A4 de poliéster mate adhesivo, con fondo blanco. No utilicé fondo transparente porque me parece que los textos no se ven bien sobre un fondo de color aluminio, al no haber suficiente contraste. Pero bueno, habrá que probarlas...
En las imágenes se muestra cómo queda el frontal y la parte posterior.

También he enviado a imprimir unas etiquetas "tags" de tecnología NFC, con el texto con el que rotulo todos mis proyectos "Control Of Machines". En una de las imágenes se puede ver la que he pegado en mi caja CNC, y en la otra fotografía se puede ver la parte posterior de estas etiquetas. Se aprecia una sombra ciircular, que es la antena NFc conectada a un chip que está en el centro del círculo.

(https://imagizer.imageshack.com/v2/1024x768q90/923/yQcknK.jpg)

(https://imagizer.imageshack.com/v2/1024x768q90/922/gRpEnz.jpg)
]



(https://imagizer.imageshack.com/v2/1024x768q90/923/LSQp8N.jpg)(https://imagizer.imageshack.com/v2/1024x768q90/923/822Q27.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pumukyo en 17 Enero 2018, 17:41
Valen donde te imprimen esas etiquetas? necesitaria una para traducir un aparato chino que lleva los botones debajo... Valdria para eso?
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 17 Enero 2018, 17:46
En un "WorkCenter". Están impresas en poliéster, y pueden ser transparantes o blancas. cuesta poco, unos 3€ por un tamaño A4.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: turin en 17 Enero 2018, 18:47
Impresionante, no se puede decir mas.
Felicidades .ereselmejor .palmas .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 24 Marzo 2018, 23:16
En los meses pasados desde mi ultimo "post", he trabajado en:

Placa de control:
- Simplificar y reorganizar el código fuente del micro-controlador.
- Documentar el desarrollo.

App para Android:
- He reorganizado el código fuente de la app para simplificarlo al máximo.
- He creado una interfaz de usuario mucho más intuitiva y de aspecto más profesional.

La interfaz principal, y el menú que nos da acceso a las diferentes posibilidades de fabricación, son:

(https://imagizer.imageshack.com/v2/640x480q90/924/7F2fHp.png)(https://imagizer.imageshack.com/v2/640x480q90/922/Sc8vYT.png)

En concreto, alguna pantallas de fabricación, son:

(https://imagizer.imageshack.com/v2/640x480q90/924/uWEAuZ.png)(https://imagizer.imageshack.com/v2/640x480q90/924/9qP6Bs.png)


Y alguna pantallas del "Control del Cuarto Eje", para Mesa Giratoria, o Indexador, son:

(https://imagizer.imageshack.com/v2/640x480q90/923/a0bSnN.png)(https://imagizer.imageshack.com/v2/640x480q90/923/Rb6n67.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: kankarrio en 24 Marzo 2018, 23:28
jodo valen , hasta le das a la programacion en android... yo abandono me voy a cultivar anacardos  :-[, es broma me quedo jejeje
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Constructor en 25 Marzo 2018, 00:12
Mis felicitaciones, como conocedor de alguna de la disciplinas que has empleado, te felicito por el trabajo realizado.

José.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 25 Marzo 2018, 09:21
Gracias a los dos,

la caja ya está casi terminada. He ido añadiendo puntas, faston, horquillas, etc a los extremos de todos los cables, y he cambiado las etiquetas por otras de fondo transparente. Me falta fabricar un par de rectángulos de plástico traslúcido, para cubrir los LED de señalización.

(https://imagizer.imageshack.com/v2/640x480q90/923/YX5sLQ.jpg)


En la foto inferior se aprecia la construcción de la caja. He empleado tres fuentes de alimentación, para separar Potencia, sistema de Control y Placa conexión USB al PC.
Aunque no es imprescindible, y podría usarse una sola fuente, siempre es una buena práctica separalas, ya que mantiene un mejor aislamiento entre partes, evitando sobre todo que la polución de la alimentación que se produce en la zona de potencia, debido a la conmutación de los Mosfet, pueda llegar al circuito de Control, o a cualquier otra placa que trabaje con +5v.

Al fondo de la imagen se aprecia otro conjunto, ya montado, y preparado para su inminente paso a producción.  ;)


(https://imagizer.imageshack.com/v2/640x480q90/924/2558xh.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 27 Marzo 2018, 01:36
He mejorado la pantalla de "Modo Manual".
En función de si selecionamos el checkbox "Modo Continuo", se mostrará una interfaz diferente:

a) Checkbox desactivado --> Desplazamiento según valores tecleados por el operador de la máquina, y que puden ser repetitivos o no.
b) Checkbox activado --> Movimiento Continuo. Los ejes giran mientras se pulse el botón en pantalla.

Además, existe un botón de "Reset Posición" que pone los contadores de posición de los ejes a cero. Esto es útil para poner nuestro punto de referencia a un valor conocido, que permita, por ejemplo, regresar al cero de referencia con un solo comando "Go Home".

Botones "Go Home". Pulsando uno de estos botones, el eje asociado se desplaza hasta llegar al cero de referencia.

(https://imagizer.imageshack.com/v2/640x480q90/923/fvehDg.png)(https://imagizer.imageshack.com/v2/640x480q90/922/4uwTsu.png)


Para la configuración de los parámetros de los motores, se ha llevado a cabo un trabajo de simplificación sobre los datos que inicialmente necesitan los chips que controlan los pulsos enviados a cada motor. La idea es que solo sea necesario introducir datos de fácil comprensión para cualquier aficionado.

(https://imagizer.imageshack.com/v2/640x480q90/922/0hkz37.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: pritt en 27 Marzo 2018, 12:57
Enhorabuena.

Simplemente, un trabajo profesional.

Un saludo.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 27 Marzo 2018, 19:20
Gracias Pritt,

también he dedicado horas a facilitarme el trabajo. Una de las cosas que he hecho es simplificar el entorno de desarrollo.

Para ello, he sacado una extensión del conector JTAG de la placa de control, por el lateral de la caja. Este conector es donde se conecta el ordenador para cargar el programa y para ejecutar el software en depuración. Además he instalado un botón de reset de la placa, en ex exterior de la caja, encima de este conector.

Esto me permite mantener cerrada la caja de instrumentación, y manejarla como un conjunto compacto. En las fotos se aprecia como ahora dispongo de un entorno de trabajo limpio y ordenado, fácilmente desmontable y transportable.

En las imágenes se muestra: Caja CNC, depurador JTAG del fabricante Segger, un ordenador, un teléfono móvil Android.

En la pantalla del ordenador se ven dos compiladores: Android Studio (gratuito) para desarrollar y depurar la app, y el compilador TrueStudio (Licencia completa gratuita desde enero 2018), para desarrollar y depurar el software del micro-controlador ARM Cortex-M4 de la placa de control.

Como vemos, en realidad, no hace falta una gran inversión....

(https://imagizer.imageshack.com/v2/640x480q90/922/MAVqcY.jpg)

(https://imagizer.imageshack.com/v2/640x480q90/924/692ktb.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: ManArt CNC en 28 Marzo 2018, 22:22
Simplemente impresionante.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 06 Abril 2018, 20:32
Estas semanas estoy:

Testeando el conjunto, con las siguientes pruebas:

1) 24h de fabricación continua: 
Modifiqué ligeramente la app para que llevara a cabo tareas de fabricación, en bucle, durante 24h seguidas.
Resultado: OK
Comentarios: Se implementó un bucle de control de errores, y el resultado es que no se produjeron fallos.

2) Fabricación en condiciones adversas:
Reproduje un entorno en el que el móvil era extremadamente lento, o incluso el Bluetooth se desconectaba del sistema de control.
Resultado: OK
El sistema de control terminó los trabajos correctamente, incuso cuando el timeout de cada operación se activaba sistemáticamente, por falta de respuesta del dispositivo Android.

Además:

a) Estoy cambiando los tipos de letra usados en los textos mostrados en la app, etc.
El objetivo es que la app tenga el aspecto más profesional posible.

b) Estoy traduciendo los textos que muestra la app, de forma que soporte 4 idiomas: Español, Inglés, Francés y Alemán.
En el compilador Andorid Studio ofrecen el servicio de traducción profesional de los textos de las app, a un precio muy razonable.
Ahora tengo que ajustar las longitudes de los textos, y verificar que las palabras más complicadas, están correctamente traducidas.

(https://imagizer.imageshack.com/v2/640x480q90/922/WprgKM.png)(https://imagizer.imageshack.com/v2/640x480q90/923/5TC48O.png)

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Visitante en 06 Abril 2018, 21:23
Si me permites una opinion personal.

el sistema me parece una pasada y el trabajo que estas realizando es de nivel top master..

dicho esto..

creo que ese control deberia interpolar perfecto y rapido..por lo que como corta ahora esos circulos creo que no esta al nivel del resto del proyecto..y te aseguro que son muchos los que piensan lo mismo.

es mi opinion..si yo fuese a usar uno de esos controles tuyos..solo por el problema de los circulos ya lo desecharia..quizas mi defecto es ser fresador..

alomejor es demasiado complicado hacer que interpole bien..eso ya lo desconozco ya que se escapa totalmente a mis conocimientos.

un saludo

michel
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 06 Abril 2018, 23:20
creo que ese control deberia interpolar perfecto y rapido..por lo que como corta ahora esos circulos creo que no esta al nivel del resto del proyecto..y te aseguro que son muchos los que piensan lo mismo.

Ya expliqué por que no lo puedo modificar:
Los chips que controlan los motores, cuando emplean su propio sistema interno de control del motor, siempre realizan movimientos con este esquema:
a) Reciben comandos con los datos del movimiento a realizar.
b) Ejecutan el movimiento: Aceleración - deplazamiento a velocidad constante - deceleración y paro.

Sin embargo:
Para fresar un círculo de manera continua es necesario poder modificar la velocidad progresivamente, a medida que nos desplazamos. Ambas velocidades (ejes X e Y) siguen una curva senoidal desfasada 90 grados. (ese es el motivo por el que se oye un silbido tan característico cuando fresamos una circunferencia con Mach3).

¿Qué podría haber hecho?
No aprovechar el sistema de control de motores que viene incluido en los chips, y generar yo mis propios micro-pasos. Y entonces hacerlo para todos los movimientos, claro.

Esto tiene varios inconvenientes:
- Tienes que implementarte un "Planificador de Movimientos" tipo Mach3 en el micro-controlador principal ARM Cortex M4. Esto queda fuera del alcance del diseño, y sería un producto de naturaleza diferente. Si a la empresa  Artsoft USA le ha llevado años y muchos ingenieros migrar a Mach4, yo no voy a empeñarme en hacer una versión ridícula de este paquete software.

- Desaprovechas la electrónica de control que incorporan los chips de control de motores, que es super-avanzada (configuración y control vía bus SPI, gestión total de Alertas y Alarmas, etc.). Son chips de calidad "Automotive", destinados al sector del automóvil, más exigente que la calidad "standard" de uso industrial.

Es decir, significaría cambiar la esencia misma del diseño del hardware del proyecto, que se ha basado en aprovechar chips de última generación, para crear un sistema totalmente modular, escalable, y fácilmente actualizable a nuevas versiones de los componentes empleados en su desarrollo.
El diseño tiene muchas ventajas... y, sí, tiene esta limitación, qué le vamos a hacer....  ;)

De todas formas, pulsando un botón, el sistema pasa a funcionar como un sistema CNC convencional, conectable a Mach3 o cualquier otro planificador de movimientos, por lo que siempre puedes fabricar el círculo por el método tradicional. De hecho, mi caja CNC, construida con esta placa, permite conmutar entre ambos modos de funcionamiento, simplemente pulsando el botón verde que se aprecia en las imágenes.

El objetivo de este proyecto es ofrecer el máximo posible de funcionalidades sin llegar a requerir de Mach3. Hasta donde es razonablemente posible. Pero no pretende ser un Mach3 metido en una placa. Esa no es su finalidad.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Picamanetes en 07 Abril 2018, 09:15
No sé si es mejor el proyecto o las explicaciones que das!!!

Sea como sea espectacular todo ello.

Enhorabuena y gracias por compartirlo.

Un saludo
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Visitante en 07 Abril 2018, 09:22
Gracias por la aclaracion tecnica.. yo lo veia desde otro punto de vista, al tomar tu sistema como un sustituto al mach3 u otros controladores cnc.. pensaba que todas las funciones tipicas las podria hacer correctamente..entre ellas el interpolar perfecto, lo cual yo personalmente lo considero esencial...por eso zapatero a tus zapatos..yo se lo que quiero de un control de una maquina..pero no se la dificultad tecnica que ello conlleva.

gracias por compartir tu proyecto con nosotros, que seguro tendra una gran aceptacion .bien

un saludo

michel
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 07 Abril 2018, 23:35
Comparando el uso de la app desde un tablet o desde un móvil:
En las app para dispositivos Android, se exige que desarrolles unas pantallas para el móvil, y otras para el tablet. Es decir, ambos dispositivos no comparten las imágenes mostradas en pantalla.

Sin embargo, el contenido suele ser muy similar (aunque con diferentes proporciones), ya que existen muchas limitaciones a la hora de mostrar contenidos diferentes, en pantallas equivalentes.

En la imagen mostrada, se aprecian la misma pantalla de fabricación de engranajes. En el caso del tablet se incluyen subtítulos en color azul marino, que permiten mantener la información mejor estructurada. Sin embargo, en el dispsitivo móvil no hay tanto espacio, y esos subtítulos han tenido que ser suprimidos.

(https://imagizer.imageshack.com/v2/640x480q90/924/3ISLod.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 11 Abril 2018, 12:11
He grabado un pequeño vídeo, en el que se muestra como funciona la app.

En él se ve como arranca la app, y a continuación nos conectamos por Bluetooth con el hardware de control CNC.
Seguidamente entramos en el menú visual "Fabricación", que nos permite seleccionar un modo de operación, en este caso, la fabricación de un engranaje sencillo, con una herramienta en punta.

Al pulsar el botón de comenzar a operar, las barras de avance comienzan a actualizarse, a medida que los ejes X,Y,Z se desplazan.

En la parte superior izquierda se va actualizando el nº de diente que estamos fabricando, y la pasada de fresado en la que estamos (normalmente no querremos mecanizar cada valle, con una sola pasada, sobre todo, si mecanizamos metal).

Se muestra como el proceso se puede pausar, y reanudar, o bien parar definitivamente.

Con este ejemplo de modo de trabajo, se muestra la filosofía que siguen todos los procesos de la app.

El vídeo incluye subtítulos explicativos. (es necesario activarlos en su menú inferior)
https://youtu.be/a7mH3Id3vwQ (https://youtu.be/a7mH3Id3vwQ)

Espero que os guste.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: tornero novato en 11 Abril 2018, 12:39
Impresionante, como siempre.
Gracias Valen
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 19 Abril 2018, 18:25
Hoy he publicado la primera versión "release" de la app Android, en Google Play. Es gratuita, aunque está diseñada para trabajar específicamente con el hardware que he diseñado.

La he compilado en los siguientes idiomas:
Éste es el enlace:
https://play.google.com/store/apps/details?id=common.axiscontrol.bthnfc (https://play.google.com/store/apps/details?id=common.axiscontrol.bthnfc)

También la he optimizado para tabletas de 7 pulgadas. Próximamente estará optimizada para tablets de 10 pulgadas (aunque ya se puede usar en tablets grandes, no queda tan bonita la presentación de los botones, etc.)

Todas estas cosas se dan por hechas cuando accedes a descargarte una app en el repositorio de Google Play, pero la realidad es que detrás hay muchas horas de preparación y organización, antes de poder subir al archivo apk con la aplicación, al repositorio.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 20 Abril 2018, 20:22
En el enlace que indico a continuación:
https://youtu.be/LQCvugYSlak (https://youtu.be/LQCvugYSlak)

Se muestra cómo se pone en marcha este sistema CNC.

Cuando se diseña un sistema con tecnologías avanzadas, como Android, NFC, Bluetooth, etc. se puede transmitir la impresión de que su puesta en marcha ha de ser un proceso complejo, que requerirá estudiarse un grueso manual.
Sin embargo, se ha hecho un gran esfuerzo para que el usuario no tenga que saber nada. Ni siquiera leerse un sencillo manual de instrucciones, o una guía de iniciación rápida.  ;)

A lo largo del vídeo, vemos como partiendo de un móvil Android limpio, sin nada instalado, el proceso de puesta en marcha dura tan solo unos segundos.  Espero que os guste.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: kankarrio en 20 Abril 2018, 21:22
como te lo vean los chinos te lo copian fijo, has logrado que todo parezca superfacil ,  .bien
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: bertx en 21 Abril 2018, 08:18
Impresionante!  .palmas .palmas .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Pathfinder en 21 Abril 2018, 10:15
Me parece un resultado que, aunque lo técnico sea lo más trabajoso, en las formas ha quedado muy estético.

 .bien
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 21 Agosto 2018, 17:53
Estos meses he estado muy ocupado en el desarollo de la placa de control para motor de corriente continua, en su versión renovada:
http://foro.metalaficion.com/index.php?topic=30963.new;topicseen#new (http://foro.metalaficion.com/index.php?topic=30963.new;topicseen#new)

Sin embargo, también he llevado a cabo algunas mejoras en este proyecto que, espero, me permitan darlo por cerrado. Han sido las siguientes:

1- Acceso al puerto serie, usando el DMA (acceso directo a memoria (DMA, del inglés direct memory access ).
2- Sustitución del reloj del sistema operativo que se usa por defecto (systick), por un temporizador.
3- Control exacto de tiempos entre dos envíos de comandos a través del bus SPI.

Como todo esto suena demasiado técnico >:(, vamos a explicarlo un poco:

1- Acceso al puerto serie, usando el DMA (acceso directo a memoria (DMA, del inglés direct memory access ).
Normalmente, la CPU del micro-controlador es quien gestiona los envíos a través del puerto serie. Este trabajo conlleva una importante sobrecarga para la CPU, que tiene que cargar registros y controlar "flags" durante el envío de cada uno de los byte. Y mientras hace esto, no puede hacer otras cosas...!
La solución es utilizar un periférico que libera de trabajo a la CPU. De esta forma, la CPU entregará el dato a enviar al DMA, y se olvidará del asunto. Así se libera tiempo para atender a otras tareas, y la gestión del sistema será más eficiente.

2- Sustitución del reloj del sistema operativo que se usa por defecto (systick), por un temporizador.
Estos micro-controladores tan potentes, se utilizan con un sistema operativo específico, para sistemas embebidos, llamados RTOS (Real Time Operating Systems) de forma general.
El sistema operativo necesita un reloj para funcionar, y se suele usar el temporizador systick que viene incluido en todos los ARM. Sin embargo, se puede ir más allá, y emplear un temporizaor de uso dedicado exclusivamente a esta tarea, para obtener tiempos más precisos. Esta es la mejora que he incluido, y que el fabricante del chip recomienda hacer.

3- Control exacto de tiempos entre dos envíos de comandos a través del bus SPI.
En este proyecto, un micro-controlador ARM Cortex M4 se comunica a través de un bus SPI con otros cuatro micro-controladores especializados en controlar motores paso a paso.
Y aquí surge un posible problema, ya que el ARM Corex M4 es mucho más rápido que los otros micrro-procesadores. Por ello, puede ocurrir que les envíe los comandos demasiado seguidos, sin un cierto tiempo de decalaje, que permita a los micro-controladores más lentos, procesar los comandos que le van llegando.
El fabricante de estos micro-controladores nos dice en su hoja de datos, que es necesario un decalaje de 625 nano-segundos para poder procesar los comandos entrantes.
Con esta modificación en mi código, he asegurado que siempre se va a cumplir un decalaje suficiente, que yo he fijado en 1 mili-segundo.


Pruebas de validación:
Es necesario validar cualquier cambio, antes de considerar la nueva versión del software, como una versión estable.
Para ello, he ejecutado varios bucles de comunicaciones Móvil Android--Placa PCB de control CNC.

En estos bucles, que llegan a ser de muchas horas, se intercambian hasta un millón 1.000.000 de mensajes entre ambos dispositivos, sin pausas. Una forma habitual de llevarlos a cabo es dejar el sistema trabajando toda la noche, o incluso todo el día.

Documentación del proyecto:
He revisado el formato de las cabeceras de archivos de programa y de las funciones, para que el paquete software especializado:
www.doxygen.org
pueda generar una documentación completa en formato HTML que nos permita navegar de un enlace a otro, por toda la documentación del proyecto.

(https://imageshack.com/a/img924/3663/D7jjVY.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 16 Septiembre 2018, 11:15
Widget para sistema CNC.
Un widget es una pequeña extensión que se puede incluir en cada aplicación (app) Android que desarrollemos, y se instalarán a la vez, sin tener que hacer nada especial. La diferencia estriba en que el widget crea su interfaz de trabajo directamente en el escritorio del móvil.

El widget que presentamos, actúa como un pequeño mando a distancia para nuestra máquina CNC, para su manejo manual. Como puede intuirse al ver las imágenes, sus funcionalidades son limitadas, y la razón es que Google quiere que los widgets solo se usen para mostrar cosas en el escritorio (el tiempo, la temperatura de tu ciudad...), o para tener un botón que arranque una acción, pero para nada más. Por ello, el mayor problema que me he encontrado al implementar este software, ha sido las propias limitaciones que impone Android.


Además, he grabado un vídeo donde se puede ver cómo se instala el Widget, y cómo se usa. Espero que os guste tanto como a mi...  :P
https://www.youtube.com/watch?v=EwhLEDbV33s&feature=youtu.be

En él se muestra todo el ciclo de vida, que aclarará estos conceptos para quienes no conozcan estas aplicaciones tan particulares.

(https://imageshack.com/a/img922/4960/MUkgXL.jpg)(https://imageshack.com/a/img924/152/5YPB6Z.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: josemanuel-gar en 16 Septiembre 2018, 12:07
Buenas, Valen, esta todo perfecto como siempre da gusto ver tus creaciones, pero ahora mirando la caja me parece un poco saturada de equipos, has pensado en la ventilación y la temperatura a que llega cada uno de ellos.?

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 16 Septiembre 2018, 13:21
¿has pensado en la ventilación y la temperatura a que llega cada uno de ellos?
Bueno, sobre esto, hay que decir varias cosas:
Efectivamente, un sistema de ventilación sería una muy buena forma de completar el equipo.

¿Por qué no lo he puesto?
Yo quería una caja lo más pequeña posible, que me cupiera sin problemas en un cajón debajo de la fresadora CNC, y esta caja era el tamaño máximo que quería utilizar.

A favor de que no pasará nada, estaba lo siguiente:
- Los transistores Mosfet de potencia son SMD, y su encapsulado (Drenador) va soldado directamente a la masa de cobre de la placa PCB, que actúa de radiador gigante, lo que impide que se calienten.
- Aunque podría haber construido la caja con una sola fuente de alimentación de 24v, he utilizado tres fuentes de alimentación. He preferido separar en:
así obtengo un sistema con muy bajo ruido en la circuitería que opera a +3,3v. Además, cada fuente queda sobredimensionada para sus funciones, y se calientan poco.

También quería un sistema totalmente silencioso, porque se va a utilizar en una vivienda, y contra menos ruido, mejor.

Pero, efectivamente, a un equipo de esta naturaleza, sería mejor ponerle un ventilador.  ;)

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 29 Septiembre 2018, 12:19
Hoy, los muchachos de Google me han dado una alegría: Han modernizado "Google Sites" que es donde tengo alojada mi página web, ya que es totalmente gratuito.
En esa modernización, te permiten reconvertir tu página, a un formato más moderno, mediante un sencillo proceso.

Al final, ha quedado muy bien, y estos días ajustaré las pocas cosas que se han descolocado.
https://sites.google.com/site/controlofmachines/home (https://sites.google.com/site/controlofmachines/home)

También aprovecharé para generar algunas imágenes nuevas de las placas electrónicas que ido desarrollando para máquinas herramienta medianas y pequeñas. Es muy trabajoso, todo a base de SketchUp y renderizados, así que me llevará unos días. Esta es la última imagen que he generado, hoy mismo.

(https://imagizer.imageshack.com/v2/1024x768q90/924/V8DLRR.png)

En ella vemos que se incluye el control para un eje de un indexador o mesa giratoria, actuando como posicionador: 
https://sites.google.com/site/controlofmachines/proyectos-completos/rotarytableindexer?authuser=0 (https://sites.google.com/site/controlofmachines/proyectos-completos/rotarytableindexer?authuser=0)

Estos días he modernizado su app:
https://play.google.com/store/apps/details?id=common.Module.Bluetooth

para que ofrezca una interfaz semejante a la del proyecto explicado en este hilo. También he unificado los cuadros de diálogo, los avisos, los colores empleados... y he revisado el código fuente, para implementar algunas mejoras y añadir alguna funcionalidad. Con todo ello, pretendo que mis proyectos resulten lo más profesionales posible.

En ambas aplicaciones Android he estado haciendo un gran esfuerzo para eliminar cualquier aviso mostrado por el compilador Android Studio, como una forma de garantizarme que la aplicación funcionará correctamente durante las próximas versiones de Android, sin necesidad de cambiar nada.

(https://imagizer.imageshack.com/v2/1024x768q90/923/nEKvfN.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 15 Octubre 2018, 11:32
Manual de usuario.
Ningún producto es nada, si no va acompañado de un buen manual de usuario. En este enlace:

https://1drv.ms/b/s!AhT-j3GeVZzjgapeCxh0A4SLQYO5JQ (https://1drv.ms/b/s!AhT-j3GeVZzjgapeCxh0A4SLQYO5JQ)

se puede descargar una primera versión -actualizada- del manual de uso de este equipo.

Es la versión en español, aunque espero tener la versión en inglés antes de fin de año. Ya vermos, porque últimamente estoy muy ocupado.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 21 Marzo 2019, 11:46
Revisión para garantizar un diseño estable en el tiempo.
Durante los meses pasados he estado terriblemente ocupado, pero eso no quiere decir que no haya avanzado en este proyecto.
Realmente, es un producto que está terminado al 100% pero he querido llevar a cabo algunas tareas más, para que no surjan modificaciones al cabo de uno o dos años, debido a la obsolescencia de los componentes electrónicos.

Para lograr que sea un producto estable, he seleccionado componentes críticos cuya producción está garantizada durante, al menos, quince años:
https://www.st.com/content/st_com/en/support/resources/product-longevity.html

También he llevado a cabo la migración del micro-controlador principal, un STM32F765 de ST Microelectronics (13€ + IVA):
https://www.mouser.es/ProductDetail/STMicroelectronics/STM32F756VGT6?qs=sGAEpiMZZMvdy8WAlGWLcM2JFV36CFTPB9%252B2EyGkDWE%3D

al modelo de micro-controlador que acaba de salir al mercado (año 2019), un STM32H746 (19€ + IVA):
https://www.mouser.es/ProductDetail/STMicroelectronics/STM32H743VIT6?qs=FNcb6ahWXRw0Me5k2ZHgWw==

Como se ve en los precios de los productos, el nuevo micro-controlador es sensiblemente más caro (6€) por lo que. a la fecha, su uso no está justificado. Sin embargo, será el que a la larga sustituya al modelo que utilizo actualmente, por lo que he preferido adelantarme y dejar hecha la migración de todo software.

Además:
He traducido el manual a Inglés, así que ya se puede desacargar en dos idiomas: Español y en Inglés:
https://sites.google.com/site/controlofmachines/descargas?authuser=0

También he seguido probando el desarrollo. En la imagen, se ve un test con un motor de 4 Amperios, y otro de 2 Amperios.

(https://imagizer.imageshack.com/v2/640x480q90/922/RAqvvB.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 24 Marzo 2019, 21:19
Proceso de migración a otro chip.
De cara a garantizar la duración de este diseño, lo acabo de migar al nuevo producto de ST Microelectronics. ¿Cómo se hace este proceso?
En primer lugar, hay que construir una placa de control, que monte el nuevo chip (del STM32 F756 al STM32 H473):

(https://imagizer.imageshack.com/v2/640x480q90/923/NvTxiG.png)

En la imagen compuesta:
Una vez aplicada la pasta de soldar, y colocados los componentes SMD en sus posiciones, pasamos a soldarlos en el horno de infrarrojos. En las imágenes se ve:
- Placa de control, sobre la bandeja del horno.
- Interior del horno, durante el incremento máximo de temperatura.
- Horno, con la imagen de la curva de calentamiento que se está siguiendo. Para ello, el sistema de control utiliza un chip ARM Cortex, que implementa un algoritmo PID.
- Detalle de la gráfica de calentamiento que almacené hace tiempo, y que es acorde a la pasta de soldar que utilizo en estos proyectos. Los puntos gruesos son los puntos que realmente alcanza el sistema.

En la siguiente foto vemos todos los aparatos empleados:
- Arriba, un conjunto completo, con el chip que actualmente utilizo en estas placas (STM32 F765 ó el SMT32 F767).
- A la izquierda, una placa gris de desarrollo que vende el fabricante para que puedas hacer los primeros test sin necesidad de montar el circuito completo.
- A la derecha, la placa de control con el chip ya migrado (STM32 H473).

(https://imagizer.imageshack.com/v2/640x480q90/923/VXI667.jpg)

Todos los cambios han de ser testeados en profundidad....  :D

(https://imagizer.imageshack.com/v2/640x480q90/922/8n9rqu.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 12 Abril 2019, 07:57
Finaliza el test de integración del mico-controlador STM32 H743, a 400MHz
Ayer, por fin, he podido terminar de validar el funcionamiento de este sistema CNC con el futuro micro-controlador STM32 H743, analizando su comportamiento al más bajo nivel. Todo OK.

La imagen que se presenta a continuación, se ve el trozo de código fuente que verifica cuántas placas de potencia están instaladas (el sistema admite 4 ejes, pero puede funcionar con cualquier número de ejes menor que esa cantidad).
También se de la pantalla del analizador de señales digitales que he conectado al bus de comunicaciones entre el micro-controlador principal STM32 H743 y los micro-controladores especializados de las cuatro placas de control de motores.

Para verificar si la placa está instalada, se envía a cada una de ellas, un comendo de "get status" para que nos digan que OK, que allí están dispuestas a lo que haga falta!   ;D

Ese comando ocupa tres bytes 0xD0, 0x00, 0x00 y el micro de la placa de potencia responde 0xE0, 0x03 para decir OK.

En la imagen se muestra cómo funciona el bus:

1) El micro principal pone a cero la patita "enable" conectada al micro de la placa de potencia, para indicarle que ha sido seleccionada, y que le va a enviar comandos. (El paso de "1" a "0" ha quedado fuera de la pantalla).
2) Entonces se activa el reloj, enviando ocho pulsos para enviar cada byte (8 bits). Cada bit se envía en un flanco de subida del reloj.
3) Después de recibir el primer byte (0x0D), el micro de la placa de potencia comienza a responder, y envía su primer byte de respuesta 0xE0.
4) A continuación, el micro principal envía otros dos bytes 0x00 y termina de recibir la respuesta del del micro de la placa de potencia 0x03
5) Para finalizar, el micro principal pone a "1" la patita "enable" conectada al micro de la placa de potencia, para indicarle que ha sido des-seleccionada, y que ya no atienda a comandos por el bus SPI.

(https://imagizer.imageshack.com/v2/1280x1024q90/923/BwYtN7.png)


Para los especialistas y aficionados a desarrollos de placas electrónicas destinados a máquinas herramienta:
En detalle, esta es la comunicación a través del bus SPI, cuando se envía un comando "get staus" de tres bytes 0x0D, 0x00, 0x00 y se obtiene una respuesta "OK" del micro de la placa de potencia 0xE0, 0x03
Vemos que en canal "MOSI"  (Master Output, Slave Input) se evía el byte 0xD0 que en binario es 11010000 Si nos fijamos en los flancos ascendentes de los pulsos del reloj, esos son los estados de la línea MOSI: Los dos primeros pulsos coinciden con un nivel alto de la línea, lo que indica "11". El siguiente flanco de subida del reloj coincide con un valor bajo en la línea MOSI, que indica "0". El cuarto pulso coincide con un nivel alto, que indica "1" y los cuatro últimos pulsos coinciden con nivel bajo en la línea MOSI, que indican"0000". Todo ello forma un valor 11010000 que es el  0xD0 que queríamos transmitir.


(https://imagizer.imageshack.com/v2/1280x1024q90/924/P9SM6I.png)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 21 Abril 2019, 12:25
Uso del sistema de cuatro ejes para controlar un indexador.
El cuarto eje de un sistema CNC suele ser un eje giratorio, ya sea una mesa giratoria o un indexador.

En las imágenes presentadas a continuación, se muestra la preparación de una pieza de resina, sobre la que se va a trabajar. Se está centrando en un plato de cuatro garras, usando para ello un calibrador de altura, y haciendo girar el indexador con el sistema CNC de cuatro ejes explicado en este hilo.

(https://imagizer.imageshack.com/v2/640x480q90/923/mVdkYs.jpg)(https://imagizer.imageshack.com/v2/640x480q90/924/Ef8WuX.jpg)

En el siguiente vídeo se aprecia la forma de trabajar, desde un teléfono móvil convencional Android.

 https://youtu.be/_rqZ0l9jSno (https://youtu.be/_rqZ0l9jSno)

En el vídeo se ve como el indexador gira 180 grados, para verificar la altura en cada garra. A continuación se incluye una vista de detalle de un giro completo de 360 grados, a derechas y a izquierdas, para mostrar que no hay error en el giro, más allá del típico backslash.


Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 29 Abril 2019, 14:23
Fabricación de engranajes rectos, con fresa de perfil de involuta.
En este apartado vamos a mostrar cómo se fabrica un engranaje recto, a partir de una probeta de resina de poliuretano y mi sistema CNC, controlado deste un teléfono móvil Android. El uso de piezas de resina de poliuretano me permite mecanizar en mi domicilio sin provocar demasiado ruido.
La probeta tiene diámetro 29,5mm y espesor 9mm

Para poder llevar a cabo este trabajo, he necesitado fabricar un soporte en barra de latón. La probeta se atornilla a este soporte, lo que me permite cambiarla con facilidad.

En el eje giratorio se coloca el soporte de latón, y en él se atornilla la probeta. Esta forma de sujección no aporta precisión en el centrado, por lo que el plato de sujección ha de ser de garras independientes. Como sabemos, este tipo de plato permite centrar cualquier pieza por muy descentrada que esté.

(https://imagizer.imageshack.com/v2/640x480q90/924/glKWnT.jpg)


Equipo CNC empleado.
En cuanto al equipo CNC, vamos a utilizar dos de los desarrollos que se muestran en mi página web:

- Placa de potencia. Se encaga de alimentar el motor de la fresadora.
https://sites.google.com/site/controlofmachines/proyectos-completos/unidad-v-desarrollo-de-proyectos

- Sistema CNC. Se encarga de controlar los 4 motores paso a paso de la fresadora CNC.
https://sites.google.com/site/controlofmachines/proyectos-completos/control-maquina-4-ejes

En esta imagen se muestra el engranaje ya terminado, junto al equipamiento empleado. Se ve también el teléfono móvil Samsung Galaxy utilizado para ejecutar la app de fabricación que desarrollé para mi sistema CNC.

(https://imagizer.imageshack.com/v2/640x480q90/924/oWH3HR.jpg)


Vídeo del proceso, paso a paso.
En este enlace se puede ver un vídeo detallado del proceso. Consta de tres partes, con diferentes perspectivas y grados de zoom, para mostrar una visión completa del proceso.
https://youtu.be/5GML-i-LKCE (https://youtu.be/5GML-i-LKCE)



Fotos de detalle de la fabricación.
El proceso de fabricación, mostrado en estas seis imágenes ha ido perfecto. En la imagen final se ve el resultado. A pesar de estar trabajando con resina, en vez de metal, el perfil de los dientes y su distribución a lo largo de la cirfunferencia, es correcto.


(https://imagizer.imageshack.com/v2/640x480q90/924/puDOmy.jpg)(https://imagizer.imageshack.com/v2/640x480q90/923/nj1jD4.jpg)

(https://imagizer.imageshack.com/v2/640x480q90/924/41mRFQ.jpg)(https://imagizer.imageshack.com/v2/640x480q90/923/LVkuRp.jpg)

(https://imagizer.imageshack.com/v2/640x480q90/923/XpjvDs.jpg)(https://imagizer.imageshack.com/v2/640x480q90/921/IbD3Bj.jpg)


Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 01 Mayo 2019, 17:52
Fabricación de engranjes helicoidales y rectos, con fresa en V

En este apartado vamos a fabricar un engranaje utilizando una fresa recta, terminada en punta. Idealmente, esta punta ha de tener el perfil de los dientes de engranaje, a ambos lados. Esto es difícil de conseguir, por lo que el método no es muy preciso, y se emplea generalmente como una solución sencilla cuando no disponemos de fresas con perfil de involuta, y no nos merece la pena hacer esa inversión. Sería el caso de la reparación de un juguete, etc.

El objetivo de este trabajo es fabricar un engranaje helicoidal, con 15 grados de inclinación.

(https://imagizer.imageshack.com/v2/640x480q90/921/hbDKzm.jpg)

Ajuste de la pieza en el eje giratorio.
El primer paso es ajustar la probeta de resina, hasta lograr que esté perfectamente centrada con el eje. En la imagen mostrada a continuación, se ha empleado un micrómetro Mitutoyo montado sobre un soporte articulado Starrett y el accionamiento se ha llevado a cabo mediante la app Android de control de mi sistema CNC, que incluye una funcionalidad para gestionar un indexador.

(https://imagizer.imageshack.com/v2/640x480q90/923/yz5J48.jpg)

Posicionamiento inicial.
El siguiente paso es posicionar la fresa en las coordenadas X-Y-Z del punto de partida para la fabricación del engranaje.

(https://imagizer.imageshack.com/v2/640x480q90/924/wzdW2m.jpg)

Proceso de fabricación.
En este enlace se puede ver un vídeo del proceso.
https://youtu.be/QNSCSCmZ2p4 (https://youtu.be/QNSCSCmZ2p4)


Resultado obtenido.
Finalmente se han mecanizado los 47 dientes del engranaje helicoidal, con 15 grados de inclinación.

(https://imagizer.imageshack.com/v2/640x480q90/923/fT4tw3.jpg)(https://imagizer.imageshack.com/v2/640x480q90/924/TwWUw8.jpg)
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: ManArt CNC en 01 Mayo 2019, 20:23
Un trabajo excelente. .palmas .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Borsalino en 01 Mayo 2019, 20:49
¡Buenas Noches!¡Impresionante Trabajo!En tu linea .ereselmejor .ereselmejor .ereselmejor .ereselmejor .ereselmejor .ereselmejor
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Tecleador en 01 Mayo 2019, 21:30
Gracias por todas las explicaciones. Da gusto leerte y aprender algunas nociones para un ignorante en estos temas.  .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: kankarrio en 01 Mayo 2019, 22:11
solo de pensar las horas y todo lo que se necesita saber para llevar a cabo semejante proyecto de electronica me colapsa .palmas
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 05 Mayo 2019, 20:02
Gracias a todos.

Este proyecto me ha llevado varios años. En ese periodo tuve que solucionar algunos puntos de bloqueo que estuvieron a punto de arruinarlo.

Para comenzar, el diseño de las placas electrónicas (placa base, placa de control y placas de potencia) no fue una tarea sencilla, y tuve que ir fabricando y puliendo varios prototipos sucesivos. Al hardware le pasa como al software: Lo diseñas lo mejor que puedes, con toda tu atención, lo revisas todo... y aún así -increíblemente- siempre salen pequeños fallos a corregir en el siguiente prototipo. Además, a veces, las hojas de datos de los componentes electrónicos no incluyen toda la información que necesitas, o a veces contienen errores que te hacen perder mucho tiempo. Yo tuve que consultar varias cosas al fabricante ST Microelectronics.

Respecto del software, el mayor problema fue que el chip inicialmente seleccionado no disponía de la memoria y velocidad necesaria para ejecutar un código tan complejo, con varias capas de software, por lo que se bloqueaba al cabo de un rato, o durante la ejecución de las funcionalidades más complejas.
También me costó depurarlo a fondo, porque cuando se usan muchos recursos hardware, es relativamente fácil que se te escape alguna cosa...

Afortunadamente, en la actualidad el equipo pasa tests de días enteros de funcionamiento ininterrumpido, sin problemas.

Conclusiones:
Estos proyectos me han permitido crear un "ecosistema" de placas electrónicas que yo considero básicas para poder sacar el mayor partido a los máquinas herramienta destinadas a aficionados y pequeños negocios.

En general, el desarrollo exitoso de los proyectos explicados en mi página web:
https://sites.google.com/site/controlofmachines/home
me ha permitido introducir nuevas tecnologías en el mundo de las pequeñas máquinas herramienta. Un trabajo de varios años que, como ingeniero industrial, me ha resultado muy satisfactorio.

Con ellos, creo que he contribuido a que las fresadoras y tornos de hasta 900 vatios pasen a ser mejores máquinas, haciéndolas más fiables, fáciles de usar, a la vez que las he añadido características propias de máquinas profesionales más grandes.

Ha sido un viaje muy interesante. Sin embargo, ya no tengo intención de abordar nuevos proyectos, y me limitaré a introducir mejoras, a mantener al día los actuales desarrollos, o a implementar versiones que solucionen problemas particulares.

Tambiés es posible que cree una web específica para vender mis placas electrónicas por Internet, aunque tengo que reflexionar sobre ello, porque sospecho que consumiría buena parte de mi tiempo libre, y no sé si estoy dispuesto. En fin, ya veremos, el tiempo lo dirá.....

De momento, espero seguir publicando casos de uso y demostraciones de lo bien que funcionan mis placas electrónicas.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 15 Junio 2019, 17:25
Serigrafía en hoja de policarbonato brillante.

He ido a un comercio "WorkCenter" y he impreso una hoja A4 con los textos y gráficos que necesitaba para dar un acabado más profesional a mi sistema CNC.
Ahora sí que tiene la apariencia que yo quería, porque los diseños propios necesitan un esfuerzo extra en el acabado, para que su aspecto no desmerezca de los productos comprados en una tienda.


(https://imagizer.imageshack.com/v2/1024x768q90/924/EUIo69.jpg)


(https://imagizer.imageshack.com/v2/1024x768q90/922/jU4ir7.jpg)



También he aprovechado para actualizar la caja CNC que monté con componentes de primera calidad, pero que ya no uso, al haber terminado mi propio diseño:


(https://imagizer.imageshack.com/v2/1024x768q90/924/TT7RfC.jpg)

(https://imagizer.imageshack.com/v2/1024x768q90/923/8BdJfA.jpg)

Por si alguien está interesado en construirse una, este es el desglose aproximado del coste de construir un Sistema CNC completo para tres ejes, como el de las fotos:

Fuente Traco Power, Tensión 24V dc, Corriente 6.3A:   100€
https://es.rs-online.com/web/p/products/4342803/

Fuente Traco Power 15W, Tensión 5V dc, Corriente 3A:    34€
https://es.rs-online.com/web/p/fuentes-de-alimentacion-de-modo-conmutado-smps-integradas/7066246/

Conexión a Mach3 ó Mach4 mediante cable USB al PC, marca Smooth Stepper: 190€
https://cnc-robotica.com/es/interfaces/135-smooth-stepper-ethernet.html?search_query=smooth+stepper&results=3

Tres etapas de potencia para los motores paso a paso: 75*3€ * 3 = 225€
Modelo usado: DMD522, cada módulo es capaz de proporcionar hasta 4,2 Amperios.
https://www.cncshop.at/Schrittmotor-Endstufe-MSD542
Descarga del manual:
https://1drv.ms/b/s!AhT-j3GeVZzjgpx9qjWYrVsgCsdhSg?e=VX77Ul

Placa breakout completa UNIPORT V2:  45€
https://diycnc.ecwid.com/UNIPORT-V3-p125423658

Caja de instrumentación, calidad profesional, en ABS, 250 x 275 x 100mm:  135€
https://es.rs-online.com/web/p/cajas-para-electronica/0504754/

Utillaje, conectores, portes del acopio de material: 150€
Seta de emergencia, conector USB interno, cable Ribbon, tres Conectores DIN empotrados, conectores cableados,
portafusibles, conector de red, pilotos señalización, empalmes desmontables, macarrón termorretráctil,
cables de señalización y de potencia, etiquetas adhesivas, ventilador, interruptor general con LED,
portes por los envíos desde España y Reino Unido, etc

En total, sale por unos: 850€

He utilizado marcas de calidad reconocida, porque no quería problemas ocasionados por hardware barato, como el que se ofrece en muchas webs chinas, a precios irrisorios.

Por ejemplo, un componente fundamental de una caja CNC es la fuente de alimentación de corriente continua, que alimenta a todo el sistema. Si no es de buena calidad, estará mal filtrada, y se producirán infinidad de interferencias en los circuitos de control, llegando incluso a "colgar" el sistema.
Además, ante demandas fuertes de energía, las fuentes de alimentación baratas (como las diseñadas para alimentar luces leds) no serán capaces de suministrar la potencia suficiente, y caerá la tensión de salida, llegando a interferir en el funcionamiento de los motores paso a paso.

Por ello, siempre utilizo fuentes de la firma suiza "Traco Power". Son lo mejor de lo mejor, aunque eso se paga, claro.

Además, he utilizado dos fuentes "Traco Power" independientes, una para los circuitos de control, y otra para los drivers de potencia de los motores paso a paso. Esta forma de trabajar minimiza la posibilidad de que llegue ruido eléctrico de la zona de potencia, a la zona de control, manteniendo ésta un funcionamiento estable y seguro.

Para la conexión del sistema CNC al ordenador, uso siempre la placa "Smooth Stepper", un producto USA que ya se vende en todo el mundo, por su excelente calidad, y que permite una configuración sencilla en Mach3 y Mach4.

La placa "breakout" que aisla el sistema CNC del ordenador, la compré en Reino Unido, y el diseñador es una persona muy atenta. Incluye relés para activar sistemas como la bomba de líquido de corte, etc.

Finalmente, preferí gastarme una buena cantidad de dinero en una caja de instrumentación de calidad profesional. No creo que la calidad de un producto industrial tenga que estar reñida con la estética, y en mi caso, que utilizo estos sistemas en mi domicilio particular, la partida de gasto quedaba aún más justificada.

Eso sí, montar una caja CNC, de forma que sus conexiones sean fiables, todo quede bien asegurado, y funcione como debe, es un trabajo de muchas horas, durante semanas. Yo acabé harto....
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 01 Julio 2019, 20:26
SISTEMA CNC COMPLETO PARA TRES EJES, en venta.

hoy he decidido poner en venta la caja CNC de tres ejes, en el apartado de "venta entre particulares":

https://foro.metalaficion.com/index.php?topic=33085.0

La razón es que no lo uso, y está guardado en un cajón del salón. Seguro que alguien le puede dar un buen uso.

Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 05 Julio 2019, 12:56
He actualizado la información de los drivers de los motores paso a paso de la caja que he puesto en venta:

Tres etapas de potencia para los motores paso a paso: 75*3€ * 3 = 225€
Modelo usado: DMD522, cada módulo es capaz de proporcionar hasta 4,2 Amperios.
https://www.cncshop.at/Schrittmotor-Endstufe-MSD542
Descarga del manual:
https://1drv.ms/b/s!AhT-j3GeVZzjgpx9qjWYrVsgCsdhSg?e=VX77Ul

He incluido todos los detalles, porque, a la hora de determinar si el equipo es válido para una determinada máquina CNC, esta información es fundamental, ya que los drivers de los motores han de ser capaces de entregar corriente suficiente para mover los motores paso a paso seleccionados.

Por ejemplo, si usamos motores de 3 Amperios, estos drivers han de ser capaces de entregar esa corriente.

En concreto, compré estos drivers porque exceden los requisitos normales para una máquina tipo BF20, etc. y por las buenas referencias que me dieron.
Título: Re:Mi propio diseño de sistema CNC (hardware y software)
Publicado por: Valen en 24 Julio 2019, 18:49
¿Qué es la placa Smoothstepper que incluye esta controladora CNC?
Smoothstepper es una placa electrónica para control de movimiento que se conecta al puerto USB del ordenador. La placa acepta los comandos del conocido planificador de movimientos Mach3 y produce trenes de pulsos de alta calidad para la dirección y los micro-pulsos de avance.

Funcionamiento:
Mach3 enviará todos los pulsos de dirección y avance de los motores paso a paso a la placa Smoothstepper, a través de la conexión USB.
Entonces esta placa decodifica la señal recibida por el USB y genera para cada eje, los trenes de pulsos correspondientes a la dirección y el avance.

Para cada motor, la placa ofrece un pin de conexión para la dirección y otro para los micro-pulsos de avance. Estos pines de conexión deberán cablearse a las entradas de los módulos de potencia (drivers de potencia) que accionan los motores paso a paso.

Se usa porque elimina la necesidad de disponer de un ordenador con un puerto paralelo.