Autor Tema: Placa control motor continua, con micro-controlador ARM Cortex Mx  (Leído 10407 veces)

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Introducción:
Durante varios años he mantenido el desarrollo de una exitosa placa de control para el motor de continua de las máquinas herramienta, ya que me resultaba realmente difícil mejorarla.
La placa tiene como fin la alimentación del motor de continua de máquinas herramienta, como el torno 180x300 vario, o las fresadoras BF16 y BF20. Su gran ventaja reside en que lleva a cabo un control total del par y de la velocidad del motor, ajustándolo miles de veces por segundo, para que se mantengan estos valores cuando la máquina comienza a eliminar viruta, o manteniendo un elevado par cuando gira a velocidades muy bajas.



Sin embargo, y a pesar de ello, he decidido desarrollar una nueva versión de esta placa de control de motor de continua.

Las razones son las siguientes:
• Cada placa me lleva demasiadas horas de montaje, al emplear componentes discretos, en vez de tecnología SMD.
• Ofrece muchas funcionalidades que realmente luego no suelen utilizarse, lo que complica el diseño y montaje de la placa.
• Estos excesos encarecen la placa innecesariamente.

Además, quiero aprovechar para incluir alguna ventaja:
1.   Incluir un único filtro EMC de diseño propio, dentro de la placa, en vez de usar filtros externos. De esta forma, no habrá que fabricar cables para interconectar las cosas.
2.   Sustituir los dos micro-controladores de 8 bits conectados en bus, por un solo ARM Cortex Mx de 32 bits. De esta forma estandarizaré la plataforma de desarrollo en mis placas más grandes, lo que me facilitará su mantenimiento.
3.   Desarrollo de nuevas pantallas display para mostrar los datos, con un tamaño mayor de textos y cifras, que faciliten la legibilidad. Estas pantallas se podrán emplear también en las placas de diseño previo, con una actualización de software.
4.   Un profundo estudio de la distribución de los componentes SMD, junto con un menor número de componentes, ha permitido situarlos de forma que sean muy accesibles, para facilitar su montaje, mantenimiento y reparación.
5.   Posibilidad de preconfigurar la placa para motores de unos 500-600 vatios o para 800-900 vatios, con solo cambiar un jumper.


Diseño conceptual y matemático del nuevo sistema de control de par y de velocidad:
He actualizado el ensayo de diferentes máquinas herramienta, para determinar sus parámetros característicos.

En la imagen se ve el ensayo para determinar la inductancia del motor original del torno 180x300 vario.
También se llevan a cabo ensayos de vacío y de cortocircuito para determinar el resto de parámetros del circuito equivalente.

Con los valores obtenidos, podremos progarmar en el micro-controlador ARM Cortex Mx, un estimador matemático de la velocidad del motor, que me permita regular par y velocidad sin necesidad de gestionar un tacómetro.



He rediseñado el sistema de control que ejecutará en software, el micro-controlador ARM Cortex Mx, que consiste en dos reguladores Proporcional-Integral (PI) funcionando anidados.
En la imagen se muestra su diseño conceptual, el cual se traducirá a software mediante transformadas en S (Transformada de Laplace) y posteriores Transformadas en Z (Transformada  de Laurent).




Diseño del hardware:
Este es el boceto del prototipo de la nueva placa, dibujado en 3D por un software específico para el diseño de placas electrónicas:


Desarollo del software de control.
Ya he migrado el software de control, desde los dos micro-controladores de 8 bits, al ARM Cortex Mx de 32 bts.
El sistema regulará el par y la velocidad, unas 10.000 (diez mil) veces por segundo. Mucho más de lo que puede necesitar una máquina herramienta de este tamaño.

He llevado a cabo los primeros ajustes de los reguladores PI de par y velocidad.
Como puede verse en la imagen, en rojo se muestra el valor del potenciómetro de velocidad de la máquina-herramienta. En verde, se muestra cómo evoluciona la velocidad estimada por el software, a la que está girando el eje del motor. Se ve que hay una ligera sobreoscilación, que es necesaria para que la respuesta sea rápida. El sistema está casi ajustado en su totalidad.




Pantallas LCD de gran tamaño.
También he empezado a desarrollar la nueva aplicación para los displays LCD, que muestren imágenes más grandes, y por tanto más claras.


« última modificación: 19 Julio 2018, 12:40 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:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #1 en: 18 Julio 2018, 08:10 »
Y esta es la placa prototipo, sobre la que terminaré de desarrollar el proyecto:



A medida que vaya probando partes del software, iré dicidiendo si incorporo alguna nueva funcionalidad, como un tacómetro destinado a mostrar en pantalla la velocidad del cabezal de la máquina.
Esto es útil, ya que el Estimador Matemático que hemos modelizado en el software del micro-controlador, nos da la velocidad estimada de giro del eje del motor, pero desconce si hay poleas o engranajes, por lo que su valor solo es útil para llevar a cabo la regulación interna de par y de velocidad.

Por si acaso, he dejado alguna opción de configuración que se puede activar/desactivar mediante un simple "jumper".

Como puede verse en la imagen, la placa incluye una inductancia (en la imagen, la bobina de cable grueso barnizado) que junto con tres condensadores de polipropileno, constituyen un potente filtro EMC, diseñado específicamente para este proyecto, y que evitará que la polución eléctrica generada por la conmutación de los semiconductores de potencia (puente de diodos e IGBT) afecten al circuito de control, alimentado por la fuente conmutada negra (en la imagen, en la esquina inferior derecha). Otra función que tiene es evitar que esta polución eléctrica llegue a la red general, afectando a otros aparatos conectados cerca.

Se ha tenido especial cuidado en mantener la placa como dos circuitos eléctricamente independientes:
  • Sistema de Potencia.
  • Sistema de Control.

Estas dos zonas solo se relacionan mediante dos dispositivos de fuerte aislamiento: Un sensor de efecto Hall para medir la corriente que enviamos al motor, y un driver octoacoplado para disparar el IGBT a la frecuencia deseada, con los tramos de conducción y corte que se necesiten en cada momento.
« última modificación: 18 Julio 2018, 20:23 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado jlogin2002

  • Aprendiz
  • *
  • Join Date: May 2010
  • Mensajes: 202
  • Ubicación: Majadahonda ( Madrid)
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #2 en: 18 Julio 2018, 19:26 »
Como siempre... Me parece una pasada tus proyectos

Desconectado kankarrio

  • Oficial 2ª
  • ***
  • Join Date: Sep 2011
  • Mensajes: 5519
  • Ubicación: leon
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #3 en: 18 Julio 2018, 21:25 »
Como siempre es pa quedar con la boca abierta  .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 Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #4 en: 19 Julio 2018, 13:26 »
gracias, la fase más difícil, es la modelización completa del sistema,

Modelización del sistema (Motor + Reguladores de par y velocidad realimentados, PI).
Una modelización correcta permite obtener un modelo matemático fiable, a partir del cual obtener el código en C, de control.
Para trabajar en este asunto, es muy útil llevar a cabo simulaciones del funcionamiento del conjunto, aunque no es estrictamente imprescindible, ya que todo se puede hacer con papel y bolígrafo.... con muchos folios y mucho tiempo.



Pasos a seguir:

1) MODELIZAR. Para poder estudiar un sistema de control es necesario disponer de un modelo de su funcionamiento. Normalmente un sistema se describe a través de ecuaciones diferenciales.

2) Si estas ecuaciones diferenciales son lineales, se les puede aplicar una transformada en s (transformada de Laplace) lo que permitirá convertir estas ecuaciones en otras donde la variable tiempo se sustituye por la variable s que representa un número complejo. Esta transformación permite estudiar el sistema de manera más sencilla.

3) Se obtiene la Función de Transferencia, definida como la relación entre la transformada de Laplace de la salida partido por la transformada de Laplace de la entrada.

4) Discretización del resultado obtenido, mediante una transformada en z (transformada de Laurent), que nos permita obtener unos polinomios programables en lenguaje C, cuyos coeficientes determinarán la estabilidad del sistema, etc.


Por medio de la función de transferencia podemos conocer:
•   Cómo va a comportarse el sistema en cada situación. A partir de la entrada aplicada al sistema, sabremos cuál será su respuesta o salida.
•   La estabilidad del mismo: es importante saber si la respuesta del sistema se va a mantener siempre dentro de unos límites controlados.
•   Qué valores se pueden aplicar a determinados parámetros del sistema de manera que éste sea estable.


Estudio de la estabilidad del sistema a partir de su función de transferencia.
Para que un sistema de regulación sea estable, las raíces de su ecuación característica (polos), han de estar situadas en la parte negativa del plano complejo de Laplace.
Aplicando una entrada en escalón, las siguientes gráficas nos representan la respuesta en sistemas con distinta función de transferencia:



En el caso que nos ocupa, en este proyecto, la respuesta ante un escalón en la entrada de control (Giramos bruscamente el potenciómetro de mando, desde cero hasta la velocidad máxima), el resultado es el siguiente:



Vemos que al incrementar la velocidad, girando el potenciómetro (línea granate), el sistema reacciona incrementando la velocidad del motor de continua (línea verde), superando ligeramente el valor marcado por el potenciómetro, para posteriormente converger de manera suave al valor marcado por el potenciómetro.
Es lo que se conoce como un sistema con ligera sobre-oscilación, que es imprescindible si queremos que la respuesta sea muy rápida.

« última modificación: 19 Julio 2018, 15:12 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:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #5 en: 20 Julio 2018, 21:18 »
Entorno de ajuste.

Para ajustar los coeficientes de los reguladores PI anidados, es necesario disponer de un elaborado sistema de acceso en tiempo real, que permia leer las variables principales del sistema según se van modificando al ejecutarse el programa. Es decir, tenemos que ser capaces de ver cómo evolucionan las variables principales (velocidad de la máquina y par motor) al accionar el potenciómetro de mando, cuando la máquina está trabajando.

Se trata de lograr que:
1) Ante cualquier actuación en el potenciómetro, la velocidad de la máquina le siga fielmente y de manera rápida.
2) En una fase posterior, será necesario poner en carga a la máquina herramienta, para verificar si los reguladores son capaces de mantener la velocidad y el par, cuando la máquina comienza a mecanizar la pieza.

En la imagen, vemos el entorno:
El ordenador está conectado al micro-controlador ARM Cortex M4 de la placa, mediante un hardware llamado "depurador". Esto le permite acceder al corazón del chip, incluso cuando está ejecutando un programa, y hacerlo en tiempo real.
También se ve una pantalla LCD que está conectada al puerto serie. Esta pantalla muestra lo mismo que el computador. Es otra forma de hacer lo mismo.
La placa está conectada al motor de mi torno Optimum 180x300 Vario, para que el funcionamiento sea totalmente real. Esta máquina herramienta ha quedado fuera de la imagen, y está situado a su derecha.



En este vídeo vemos cómo funciona la pantalla LCD.
https://www.youtube.com/watch?v=71EL2KEzBTM

En este vídeo vemos cómo funciona la aplicación del computador.
https://youtu.be/nIicntSoNt8

Los reguladores PI están formados por determinados polinomios cuyos coeficientes se pueden moificar, para lograr diferentes efectos: Mejorar la establidad, la velocidad de respuesta, variar la sobreoscilación, etc.
El proceso de ajuste es iterativo: Se modifican estos coeficientes y se arranca la máquina. Con las visualizaciones mostradas, se comprueba si se ha obtenido el efecto deseado. Así una y otra vez. Es un trabajo un tanto manual, y aunque hay reglas y directrices, siempre hay una componente de ensayo práctico.
« última modificación: 20 Julio 2018, 23:25 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:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #6 en: 21 Julio 2018, 18:13 »
Descripción del proceso de ajuste de los reguladores PI.
En el siguiente vídeo:

https://youtu.be/N0sYns2IU_4

se explica en qué consiste el proceso de ajuste de los reguladores PI, y más en concreto, de los coeficientes de los polinomios obtenidos mediante la transformada en z, al discretizar la solución que previamente habíamos obtenido mediante transformadas de Laplace.
Se ha intentado dar un enfoque menos técnico, y más intuitivo.

En la imagen mostrada a continuación se puede ver el entorno de trabajo empleado para grabar este vídeo.
« última modificación: 21 Julio 2018, 18:20 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Tr Precision Machining

  • Guru
  • *****
  • Join Date: Ene 2017
  • Mensajes: 15175
  • Ubicación: Territorio Rural ASTURIAS
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #7 en: 21 Julio 2018, 18:51 »
Una pregunta..

mo crees mucho mas eficiente poner un motor trifasico y un variador vectorial de marca conocida..

que mantener el motor original y una de tus placas???


Chapulino

  • Visitante
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #8 en: 21 Julio 2018, 19:32 »
Excelente evolución , por la mejora de procesado y ajuste de la respuesta, que ya era muy buena en la placa anterior , pero sobre todo por la incoporación del filtro.

Una cuestión , hay alguna pantalla económica que se pueda adaptar a la placa de la versión anterior,
he estado mirando y ninguna baja de los 50€

He realizado alguna prueba , pero aun no la he montado

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #9 en: 21 Julio 2018, 19:51 »
Hola Chapulino, gracias por tus palabras y el buen tono de tu post.
La placa actual es una maravilla, y no había una necesidad real de llevar a cabo este proyecto, pero la verdad es que me lleva muchísimas horas construirlas, y cada vez me apetece menos montarlas.

Respecto a la pregunta:
hay alguna pantalla económica que se pueda adaptar a la placa de la versión anterior,  he estado mirando y ninguna baja de los 50€
En estas placas solo se pueden utilizar pantallas que lleven dentro un software específico desarrollado por mi. Hay dos razones:
1) La imagen general mostrada en la pantalla es la que yo he programado.
2) Cada diseño empaqueta los datos de una forma determinada. Yo uso una estructura de datos TLV (Tag, Length, Value) muy común en la industria, en el que el campo Value contiene tres datos de dos bytes de longitud cada uno. Pero esto es así porque yo he querido hacerlo así.

Existe la posiblidad de emplear el sistema operativo propio del fabricante. Lo he probado, y funciona perfectamente. Pero te quita la posibilidad de hacer muchas cosas, y aún así no te libras de tener que cargar la estructura general de imagen que se muestra en pantalla.

Por lo tanto, la respuesta es que la pantalla más barata que se puede emplear en estas placas, sale por unos 40€ más o menos, según la tienda donde lo compres (yo nunca he pedido nada a nadie por prepararle la pantalla para que le funcione en su placa).

En la última versión, la pantalla más barata que voy a soportar, es esta:
https://www.4dsystems.com.au/product/gen4_uLCD_24PT/
que además se puede usar en las placas anteriores, cargando una actualización de software.
« última modificación: 21 Julio 2018, 20:14 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:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #10 en: 21 Julio 2018, 20:12 »
mo crees mucho mas eficiente poner un motor trifasico y un variador vectorial de marca conocida..que mantener el motor original y una de tus placas???
No me gustan este tipo de preguntas, que dan la impresión que solo buscan polemizar. Solo voy a responder una vez a este asunto.

En mi opinión, hay dos tipos de dueños de máquinas herramienta de uso semi-profesional o hobbies:
1) Los que quieren tener una máquina original, con el menor número de cambios posibles.
2) Los que prefieren experimentar otro tipo de soluciones, independientemente del impacto que tengan en la máquina.

Yo soy de los primeros, y mis proyectos están enfocados exclusivamente a usuarios con el mismo perfil que el mío. ¿Por qué es así? Pues porque yo proyecto soluciones que primero me han de satisfacer a mi mismo, y a partir de ahí, a quien se apunte a este estilo de gestión de sus máquinas.

Pienso que al segundo tipo de usuarios de máquinas, es inútil explicarles por qué yo nunca instalaré un motor asíncrono trifásico en mi máquina, y por qué nunca recomendaré llevar a cabo este tipo de modificaciones en máquinas pequeñas y/o destinadas a usuarios semi-profesionales o hobbies. Esto solo llevaría a respuestas, réplicas y contra-réplicas, desnaturalizando completamente el fin de este hilo. Además, ya sé lo que pasa en los foros, y no me gusta como evolucionan estas innecesarias polémicas.

El desarollo de esta placa tuvo como orígen la desilusión tan grande que me llevé al arrancar por primera vez mi torno y mi fresadora Optimum. Hacían un ruido infernal, y claramente la placa electrónica no estaba a la altura de mis expectativas. Para solucionarlo, desarrollé mi proyecto, y desde entonces, mis máquinas suenan como la turbina de un avíon, con gran suavidad, solo con el rumor de los rodamientos. Y todo ello, sin modificar externamente las máquinas originales, ya que incluso las dimensiones de la placa son compatibles con las que suelen venir incorporadas en estas máquinas.

A quien busca los mismos objetivos que yo, estás placas les proporcionan una gran satisfacción. El resto, buscará sus propias soluciones.
« última modificación: 22 Julio 2018, 08:21 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC

Desconectado Tr Precision Machining

  • Guru
  • *****
  • Join Date: Ene 2017
  • Mensajes: 15175
  • Ubicación: Territorio Rural ASTURIAS
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #11 en: 21 Julio 2018, 20:19 »
Mi unica intencion no era polemizar ni menospreciar tus placas..era simplemente que me contestaras a nivel tecnico si considerabas mas eficiente un motor trifasico y un variador o el motor original y una de tus placas..independientemente de que tu lo montases o no en tus maquinas.

tranquilo que a partir de ahora procurare en tus post no volver a preguntar nada..asi puedes explicar tus cosas sin que nadie interfiera.

michel.

Xanito

  • Visitante
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #12 en: 21 Julio 2018, 20:25 »
Sin ánimo de polemizar en absoluto, ¿por qué no vas directo a un sistema de lazo cerrado?

¿No sería mucho más fácil todo el sistema de control?

Desconectado Valen

  • Aprendiz
  • *
  • Join Date: Dic 2009
  • Mensajes: 1514
  • Ubicación: Madrid (y Palencia, cuando puedo....)
Re:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #13 en: 21 Julio 2018, 20:32 »
Sin ánimo de polemizar en absoluto, ¿por qué no vas directo a un sistema de lazo cerrado? ¿No sería mucho más fácil todo el sistema de control?
Hola Xanito,
este es un sistema de lazo cerrado, en el que la realimentación se obtiene a partir del sensor de corriente hall, y del estimador matemático de velocidad de la máquina, basado en los datos obtenidos por los ensayos de vacío, cortocircuito y de inductancia, llevados a cabo en los motores de máquinas herramienta a los que va destinado este proyecto.
Es decir, se realimenta Intensidad al PI que regula el par, y velocidad estimada al PI que regula velocidad.
« última modificación: 21 Julio 2018, 20:40 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:Placa control motor continua, con micro-controlador ARM Cortex Mx
« Respuesta #14 en: 21 Julio 2018, 20:36 »
hay alguna pantalla económica que se pueda adaptar a la placa de la versión anterior,

En principio, las pantallas que tengo previsto soportar, son:
Pantallas tecnología TFT:
gen4-uLCD-24PT
gen4-uLCD-28PT
gen4-uLCD-32PT
y pantallas OLED:
uOLED-160-G2
Todas ellas se pueden usar en las placas actuales, con una sencilla actualización de software que ye he implementado.
« última modificación: 21 Julio 2018, 20:40 por Valen »
Torno Optimum 180x300 Vario CNC, Fresadora Quantum BF16 CNC