Autor Tema: Re:Placa de potencia adaptada a CNC, para maquinas de C.C. Optimum/Quantum‏‏‏‏  (Leído 117658 veces)

brutto

  • Visitante
no era por ofender, solo daba mi opinión sobre facilitar el trabajo ya que comentas que tienes problemas de tiempos.

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Capacidades gráficas de la pantalla OLED.
En los proyectos, a veces es bueno diversificarse un poco, para no acabar en el aburrimiento. Por ello, me he entretenido en explorar las posibilidades gráficas de la pantalla OLED que se muestra en todos los vídeos.

Es un producto caro, más e 60€, así que ha de ser capaz de hacer muchas cosas..... La propia pantalla lleva un potente procesador, que junto con un lector de tarjetas micro-SD, la cual actúa como sistema de almacenamiento masivo, la posibilidades son enormes.

El procesador de la pantalla y el lector de tarjetas micro-SD se comunican entre sí mediante un bus SPI (al igual que nuestros micro-controladores), por lo que el control es muy sencillo: Nuestro micro le dice a la pantalla que reproduzca una imagen situada en un determinado sector de la memoria de la tarjeta, y te desentiendes, ya que aquellos dispositivos lo hablan entre ellos a partir de ese momento.

PosibilidadesGraficas.wmv
« última modificación: 09 Octubre 2011, 09:06 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado jstony2000

  • Aprendiz
  • *
  • Join Date: Sep 2010
  • Mensajes: 623
  • Ubicación: vigo
en mi torno al mecanizar un diametro de 120mm con una pequeña pasada cilindrando , termina saltando el fusible, y despues de cargarme algunos le puse uno un poco mayor ahora me salta el magneto-termico del taller cada vez que doy una pasada,
eso debe de ser por la  calidad de la placa china, no?
has pensado comercializar tus placas Valen? aunq fuese con una pantalla  que no guese oled? :D
Torno Damato Macchine 280gv x610 con cabeza fresadora Bf20 incorporada.
Minicompresor Casero.
Soldadura Mma inverter Fmini 160a.

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Los fusibles y el magnetotérmico saltan por la misma razón: Una subida de corriente por encima de lo previsto. Esto ocurre, por ej. cuando el motor se traba, ya que se comporta como un cortocircuito. También ante grandes esfuerzos, claro, que hacen que el motor se parezca cada vez más a un cortocircuito (desde la perspectiva de la placa).

Una de las diferencias de mi diseño con respecto a los productos chinos (que emplean una tecnología bastante anterior, basada exclusivamente en amplificadores operacionales...... y eso si tienes suerte) es que el software de los micro-controladores supervisa y detecta cuándo la corriente excede de un valor, de forma que si al cabo de unos instantes no se ha corregido, cortan la corriente, o la bajan, disminuyendo la tensión.

Esto ayuda a evitar que quememos los devanados del rotor del motor, aunque en esta vida no hay nada seguro, y mucho menos cuando hablamos de 300v, varios amperios, y variaciones bruscas de las condiciones de trabajo, que provocan grandes picos de tensión y corriente...... Con esto quiero decir que no hay forma de asegurarte 100% la supervivencia del motor chino. Bueno, sí, cambiándolo por uno alemán, jajaja

La idea es encargar unas cuantas placas, y montarlas, pero todavía me falta por desarrollar código. Yo creo que terminaré el proyecto en Navidades, o incluso un poco después. también depende de lo liado que esté, etc, claro...

La pantalla OLED es un lujo innecesario, pero que hace que el proyecto me resulte más interesante, y que mi desarrollo se distancie aún más de los productos chinos. Pero lo que tengo previsto es que sea solo una opción, totalmente prescindible. Mi objetivo principal sigue siendo poder substituir las placas de las máquinas chinas, sin tocar nada más, es decir, dejando el tacómetro que venga montado, etc.
« última modificación: 12 Octubre 2011, 10:19 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado jstony2000

  • Aprendiz
  • *
  • Join Date: Sep 2010
  • Mensajes: 623
  • Ubicación: vigo
Muchas gracias Valen , eres un maestro.
Cuando tengas la placa lista , yo seré el primero en pedirte una, que estoy cansado de que me salte cada dos por tres al dar una pasada en el torno.hoy me ha saltado con una broca de 24mm , y cada vez que quiero trabajar con pocas revoluciones, y como es bajar intensidad al minimo esfuerzo, plassss salta.
Estaré atento a que empieces a preparar las placas para sustituirla... saludos
Torno Damato Macchine 280gv x610 con cabeza fresadora Bf20 incorporada.
Minicompresor Casero.
Soldadura Mma inverter Fmini 160a.

fausto

  • Visitante
Valen, yo me pongo a la cola  .yupi

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
El caso de las máquinas de Fausto es sencillo, porque son como las mías, así que la placa le vale. En el caso de jstony2000, habría que ver de qué potencia es su motor.... no sea que queme la placa...
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado jstony2000

  • Aprendiz
  • *
  • Join Date: Sep 2010
  • Mensajes: 623
  • Ubicación: vigo
en las caracteristicas pone que el motor es de 1100W
Torno Damato Macchine 280gv x610 con cabeza fresadora Bf20 incorporada.
Minicompresor Casero.
Soldadura Mma inverter Fmini 160a.

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Conexión de nuestra placa, al PC.
Esta es casi la última funcionalidad importante que me queda por implementar (digo "casi", porque me falta verificar el funcionamiento de la entrada CNC, conectada a Mach3). Hasta ahora hemos visto fotos de la placa conectada al ordenador, pero todas ellas eran para cargar programas en los micro-controladores. Ahora el objetivo es muy distinto:

Se trata de emplear el PC como pantalla de visualización de datos, los cuales serán generados en tiempo real por la placa.

Para acceder a esta funcionalidad, la placa definitiva dispondrá de un conector de tres pines (masa, Tx y Rx), que proporcionarán el acceso al puerto serie del micro-controlador que genera la onde PWM. También se podrá conectar o desconectar este servicio, mediante uno de los micro-interruptores de configuración.


Visualización del funcionamiento del conjunto placa-motor, mediante Processing.
Por fin, hemos conectado la placa al ordenador, mediante la configuración e implementación de un puerto serie. De esta forma, uno de nuestros micro-controladores prepara paquetes de datos, que envía al PC mediante el puerto serie, y este los visualiza mediante un programita específico.




Preparación de la funcionalidad:
En el PC: He implementado una pantalla de visualización de datos, utilizando para ello el entorno de desarrollo llamado "Processing", http://processing.org/, y que fue creado por los muchachos del MIT (Massachusetts Institute of Technology)  http://web.mit.edu/ , en EEUU, para este tipo de cosas.



Es un entorno pensado para programar en Java, en el que todo es muy sencillo y gratuito. Dispone de muchas clases ya implementadas, que facilitan enormemente el trabajo, ya sea para comunicaciones, como para visualización, o generación de gráficos. En concreto, el código fuente de la aplicación que he desarrollado para este proyecto, no ocupa más de dos folios (una vez compactado y revisado).





En el micro-controlador de la placa: He añadido un gestor completo de la USART (puerto serie), cuya implementación me ha llevado bastantes días, ya que los ejemplos que encontré en Internet no funcionaban correctamente. Al final he tenido que desmontar el código fuente que proporciona el entorno Arduino (el único que encontré que funcionaba), para ver cómo lo hacen ellos, y trasladarlo al compilador AVR.


Cable de conexión:
El micro-controlador de la placa exporta los datos mediante un puerto serie, pero el ordenador solo tiene puertos USB. Por ello es necesario utilizar un cable que los adapte.
Yo tenía este adaptador,
http://www.bricogeek.com/shop/conversores-serie-usb/53-interfaz-microusb-mb5.html
así que me hice a mano el resto del cable.



pero venden el cable ya montado, una opción mucho mejor:
http://www.bricogeek.com/shop/391-cable-ftdi-5v.html





Vídeos de las pantallas Processing en ejecución.
A continuación muestro dos vídeos, donde se ve cómo se comporta el motor ante:
  • El arranque y las variaciones de velocidad indicadas por el potenciómetro de mando.
  • El trabado del eje.

Arranque del motor y seguimiento de la velocidad de consigna, indicada por el potenciómetro.
La placa de potencia está conectada, vía puerto serie, al portátil.
Al arrancar la placa, el motor se pone a girar, en función de lo que marque el potenciómetro de mando.
Los valores de la velocidad de giro del motor (estimada a partir de su modelización matemática), de la medida de corriente consumida, y de la velocidad que dice el potenciómetro que hemos de alcanzar, se envían desde el micro de la placa, al ordenador, y este los pinta en la pantalla, en esos ejes coordenados.
Vamos, que es una pantalla de visualización de datos del motor......

Processing_Arranque_01.wmv

Trabado del eje del motor.
Al trabar el motor, el doble bucle PI entra en acción, para intentar re-establecer la velocidad de la máquina. En el vídeo se aprecia cómo sube la corriente consumida (gráfica en rojo), mientras que la velocidad de la máquina (en azul) sigue perfectamente a la velocidad deseada que nos marca el potenciómetro de mando (en verde).

Processing Trabado 001
« última modificación: 15 Octubre 2011, 18:55 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

fausto

  • Visitante
Fantástico!!!  .ereselmejor  .palmas

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Y aprovechando que tengo unos días libres, he compatibilizado la aplicación Processing, a Windows 7 (que es más quejica que Windows XP, donde desarrollé la aplicación inicial).
Como se ve en la foto, la pantalla de datos es ahora la de un pequeño netbook de 8,9", mucho más manejable...



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

Desconectado TecnoWorld

  • Aprendiz
  • *
  • Join Date: Mar 2010
  • Mensajes: 1739
  • Ubicación: 11130 Chiclana de la Frontera
a Windows 7[/b] (que es más quejica que Windows XP, donde desarrollé la aplicación inicial).

Mmh. No es Windows en general así? jejeje

Kitamura Super Mini 300, Torno CNC con Speed-Cube y Beamicon2, Fresadora CNC con Beamicon2, Laser YAG, Laser CO2 con Triple Beast y Beamicon2, Prensa 100t, cabina chorro de arena, máquina de soldar SMT a vapor

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Ejemplos funcionales Arduino-Processing.

Para finalizar este tema relativo a Processing, adjunto dos ejemplos muy básicos, pero funcionales.
Un archivo hay que cargarlo en el chip ATmega328P, en una placa Ardunio (u otra parecida que disponga de salida serie).
El otro archivo que hay que compilarlo en Processing.

El ejemplo envía 3 datos de cuatro bytes cada uno, desde la placa Ardunio, al PC, a través del cable serie/usb llamado FTDI, que ya expliqué en un post anterior (este cable es imprescindible...)

Si ejecutamos el ejemplo de Processing sin más, NO funcionará:
En el código de Processing hay que indicar en qué puerto COM está instalado el cable FTDI. En el código fuente del archivo para Processing se explica dónde hacerlo. Para saber en qué COM está instalado el dichoso cable, basta con mirarlo en "sistema" del sistema operativo, o viendo qué puertos COM indica el compilador de Processing que están accesibles (en la ventana inferior, de color negro), y probar los posibles valores , tipo COM1, COM4, COM7, etc.

Incluir todo el código para seleccionar el puerto adecuado, habría convertido el ejemplo en algo muy complicado....

(24-10-11: he añadido algún comentario más en el archivo Proccesing...)
« última modificación: 24 Octubre 2011, 08:42 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....)
Pantalla de datos para nuestra placa, en LabVIEW.
LabVIEW es el estándar de facto, para el procesamiento de datos, en laboratorios y centros de investigación. Proporciona unas funcionalidades muy especializadas y avanzadas, específicamente diseñadas para este tipo de tareas.

He empezado a elaborar una pantalla de gráficos en este entorno, que proporciona además unos acabados muy elaborados.



Su enorme aceptación se debe a que es un entono de programación visual, mediante gráficos conectados, etc. que evita tener que escribir líneas de código en C, o en Java.

Como crítica, se puede decir que el entorno de desarrollo necesita una urgente puesta al día, en cuanto a funcionalidades (versión 2010) y concepción del mismo (permitir zoom en el entorno de desarrollo, girar componentes, ampliarlos, etiquetas en los conectores al posicionarse sobre ellos, bloques más compactos, etc). También creo que el acceso a los puertos es demasiado complicado, cuando en realidad es un periférico muy básico.




Y este es un vídeo de cómo funciona este panel de gráficos. Ya he adelantado que todavía es muy básico, pero muestra lo principal.
(ummm..... a partir de un determinado momento, la voz lleva algo de retraso con respecto a la imagen...)

Video_LabView_000.wmv
« última modificación: 24 Octubre 2011, 21:10 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....)
Control CNC de la velocidad de la máquina.

¡La última funcionalidad que nos faltaba por implementar...!

Este control ha sido mucho más sencillo de poner en marcha: En una tarde, estaba todo funcionado.

El sistema actúa de la siguiente manera:
El software Mach3 genera una señal PWM, de baja potencia, que llega a la placa "breakout"  de la caja de control CNC. Esta placa  "breakout" está destinada a hacer de aislamiento entre el ordenador y la placa de potencia.

La señal es enviada desde la placa "breakout" a nuestra placa de potencia. Aquí necesitamos transformar la señal, en una continua de valor variable entre 0v y 5v. Para ello aplicamos un filtro de primer orden RC, que elimina las componentes variables de la señal, dejando la componente continua (teorema de superposición de señales y descomposición en series de Fourier).

CNC_Placa_01_0001.wmv

Esta continua es leída en una entrada analógica, y a partir de esta lectura, el micro-controlador de mando envía la velocidad que ha de alcanzar el motor, al otro micro-controlador, el cual genera la alimentación PWM de potencia, acorde a las necesidades, y la aplica al motor de fresado.

CNC Placa 02 0001


¿Qué falta ahora?
El que todos los sistemas funcionen, no quiere decir que ya hayamos terminado. Lo que hemos hecho es poner en funcionamiento "módulos independientes", pero todavía falta conjuntarlo todo bien, revisar la exactitud de los cálculos que se llevan a cabo en los estimadores, etc.

Por ejemplo, hay que ajustar más los bucles PI, ya que ahora les hago evolucionar con mayor suavidad de la necesaria, con el único objetivo de que el motor que empleo en la puesta a punto, no bote por la mesa, cada vez que varío su velocidad.

También tengo que revisar el modelo que estima la velocidad del motor, por si pudiera ajustarse más. Y está el tema de las pantallas que se muestran.................. y probarlo todo con el motor del torno, a 300V....!

« última modificación: 30 Octubre 2011, 16:39 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC