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

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #60 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.
« última modificación: 17 Abril 2018, 19:10 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Picamanetes

  • Aprendiz
  • *
  • Join Date: Mar 2016
  • Mensajes: 108
  • Ubicación: Tarragona
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #61 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

Desconectado Tr Precision Machining

  • Guru
  • *****
  • Join Date: Ene 2017
  • Mensajes: 15175
  • Ubicación: Territorio Rural ASTURIAS
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #62 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

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #63 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.

« última modificación: 07 Abril 2018, 23:44 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #64 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

Espero que os guste.
« última modificación: 14 Abril 2018, 19:35 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado tornero novato

  • Aprendiz
  • *
  • Join Date: Nov 2011
  • Mensajes: 177
  • Ubicación: zaragoza
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #65 en: 11 Abril 2018, 12:39 »
Impresionante, como siempre.
Gracias Valen
torno cnc quantum 250 x 550, taladro elewer, lavadora ultrasonidos 30L, router cnc 4030 (chino), soldadura propano.

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #66 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:
  • Español
  • Inglés
  • Alemán
  • Francés
Éste es el enlace:
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.
« última modificación: 19 Abril 2018, 23:01 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #67 en: 20 Abril 2018, 20:22 »
En el enlace que indico a continuación:
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.
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado kankarrio

  • Oficial 2ª
  • ***
  • Join Date: Sep 2011
  • Mensajes: 5519
  • Ubicación: leon
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #68 en: 20 Abril 2018, 21:22 »
como te lo vean los chinos te lo copian fijo, has logrado que todo parezca superfacil ,  .bien
proyecto en construcción cumbre 022--fresadora einhell MBF 550-- 2 mini tornos einhell BT ML 300-- 2 taladros columna chinos-- soldadora inverter 80A --- soldadora AC 140A-- soporte para amoladora de 230mm -- UN CARRO DE TELARES MAS

Desconectado bertx

  • Aprendiz
  • *
  • Join Date: Oct 2014
  • Mensajes: 402
  • Ubicación: valencia
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #69 en: 21 Abril 2018, 08:18 »
Impresionante!  .palmas .palmas .palmas

Desconectado Pathfinder

  • Aprendiz
  • *
  • Join Date: Mar 2018
  • Mensajes: 375
  • Ubicación: Barcelona
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #70 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

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #71 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

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.


« última modificación: 22 Agosto 2018, 08:26 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #72 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.

« última modificación: 15 Octubre 2018, 11:15 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

josemanuel-gar

  • Visitante
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #73 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.?


Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Mi propio diseño de sistema CNC (hardware y software)
« Respuesta #74 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:
  • Alimentación de potencia.
  • Alimentación de zona de control.
  • Alimentación de conversor USB y optoacoplamientos.
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.  ;)

« última modificación: 16 Septiembre 2018, 23:02 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC