Realimentacion de los resultados, en el Diseño

Avances, avances y avances......

Esta semana ha empezado el largo camino en la finalización del proyecto. Me explico:

  • Ya funcionan correctamente todos los sistemas software que compondrán el control de la placa (reguladores PI, control CNC, bus SPI, pantalla, etc).
  • He completado el trozo de software que gestiona la Máquina de Estados, incluyendo el control de sobrecargas de corriente, etc.
  • He incluido un checksum de control de errores en las transmisiones de datos a través del bus SPI, y un uso inteligente del mismo en el PWM, de forma que se garantice que solo se usan datos válidos, y nunca datos que hayan llegado erróneos. Esto se hace para evitar variaciones anormales de velocidad, debido a que los micros trabajan en un entorno hostil.
  • He incluido un filtro paso-bajo software, con una frecuencia de corte bastante baja, a la entrada de mando CNC, porque presenta cierta variabilidad, y así se obtiene un mando más estable.

Sin embargo, faltan muchas pequeñas cosas, antes de dar el proyecto por finalizado: Detalles de funcionamiento, posibles re-ordenaciones de rutinas, ajustes, etc.

Además, he decidido cambiar el optoacoplador que conecta el micro-controlador que actúa como Slave, con el IGBT.

Ahora empleo uno de lógica negativa, y lo voy a cambiar por uno de lógica positiva, ya que aporta más seguridad al usuario del torno.

(con lógica negativa, al apagar la placa, durante unos instantes, el igbt queda polarizado al 100% y el condensador de filtro se descarga de golpe en el motor, dando éste un pequeño pulso repentino de giro. Como lado positivo, la descarga instantánea del condensador me permite manipular la placa sin riesgo de electrocución, lo que es muy útil durante las pruebas....)

En este vídeo vemos cómo funciona la lógica que gestiona las sobrecargas de la máquina.

Los valores de corriente que hacen que actúe serán mucho más altos, claro, aquí he empleado valores que me permitan parar con la mano el plato de garras girando lentamente, y que enseguida actúe el control de sobrecargas (antes de que el regulador PI doble haga más fuerza que yo sobre el plato....)

En la parte superior de la pantalla se ve el estado de la máquina. Cuando se sobrecarga, pasa de estado "Running" a estado de "Overloaded".

si la sobrecarga dura más de un cierto tiempo, la máquina se desconecta, y es necesario apagarla y encenderla, para salir de ese estado.

Entrada de mando para CNC y filtro paso-bajo software.

Mach3 genera una onda PWM que es un tren de pulsos, de ancho variable, tal y como se muestra en esta imagen:




Onda que llega a la placa, procedente de Mach3:

Esta onda llega a nuestra placa, y pasa por un filtro RC (filtro de primer orden), que elimina las componentes variables, y deja solo la componente continua.

El valor de esta continua es proporcional al ancho de los pulsos que llegan, por lo que nos sirve para leerlo en una entrada analógica del micro-controlador. El valor en la entrada variará entre 0 -- 5V (bueno, realmente se queda en 4,5V), y con ello sabemos la velocidad que hemos de obtener en el motor de la máquina herramienta.

Todo esto está muy bien, pero el mundo no es perfecto, y la tensión continua que obtenemos a la salida del filtro RC no es totalmente continua, sino que oscila un poco (ver la imagen a continuación).




Onda a la entrada del micro-controlador 'Master' (después de pasar por nuestro filtro RC):

Esa variabilidad es muy pequeña, pero hace que la señal de mando varíe... por lo que el motor estará variando de velocidad, ligeramente, pero todo el tiempo.

Solución:

La lectura analógica de esa entrada es pasada a través de un filtro paso bajo software, con frecuencia de corte muy baja, de manera que se termine de eliminar la variabilidad residual que quedaba.

El principio del fin.......

Estoy preparando la placa que incluye todas las modificaciones que he ido apuntando a lo largo de los meses que llevamos de desarrollo. Algunas son mejoras, y otras son simplificaciones gracias a una programación que a medida que he ido conociendo en mayor profundidad estos micro-controladores, se ha ehcho más eficiente, y menos necesitada de recursos.

Dibujo de la placa.

He incluido el disipador que estoy empleando, y su anclaje a la placa. Aunque la verdad es que lo mejor es fabricarse en alumino, uno "a medida" de nuestras ncesidades particulares, de forma que, por ejemplo, se pueda anclar encima la placa pequeña que lleva el torno Optimum 180x300 vario.... Para eso tenemos la fresadora....! También he reordenado la posición de algunos componentes.

Técnicas de diseño.

Ya he aplicado muchas de las medidas anti-ruido/interferencias entre pistas, que es imprescindible observar en una placa que va a trabajar en entornos hostiles, y que además maneja tensiones muy dispares (mando 5v, potencia 315v):

Por ejemplo, evitando superponer las pistas más delicadas con cualquier otra, cruzándolas a 90º siempre que he podido, verificando la existencia de planos de masa por debajo del optoacoplador, acanalando debajo del sensor de corriente como recomienda el fabricante, incluyendo todos los C de desacoplo que han sido precisos, sin escatimarlos, incluyendo checksums en las comunicaciones por el bus, reduciendo la longitud de las pistas entre determinados componentes y sus C de desacoplo, creando grandes superficies de cobre que actúen como planos de masa de muy baja impedancia, etc.

Hardware:

Voy a probar otro optoacoplador. He añadido un diodo de libre circulación al bobinado del relé, y es posible que suba el valor óhmico de la R de potencia que va en paralelo con el C de filtro de potencia, para que se caliente algo menos (aunque la contrapartida es que al apagar la placa, el C tardará más tiempo en descargarse, y por tanto habrá 315v en sus bornes durante más tiempo). Esto no afectará a sus medidas físicas, así que no tiene impacto en el diseño de la placa.

Finalmente, montaré uno de los nuevos IGBT que mostré en un post anterior: De los dos tipos pre-seleccionados, hasta el momento solo he probado uno. La distancia entre patillas es la misma, así que tampoco impacta en el diseño de la placa.





Diseño cuasi-definitivo de la placa

Nueva placa, versión cuasi-definitiva.

Después de hora y media fresando la cara superior, y otra hora y cuarto fresando la cara inferior, ya tenemos la nueva placa PCB para seguir con nuestras pruebas.

Como ya estamos terminando el proyecto, me toca verificar que todos los diámetros de los taladros son los correctos, de cara a su posterior fabricación en China (con estos tiempos de fresado, ni me planteo fabricarlas en casa, para aquellos interesados en utilizarla....), y repasar una vez más la serigrafía que ha de ir impresa en blanco, con los componentes, textos, etc.

También he empezado a recopilar en una hoja Excel los costes de fabricar cada placa, encargando los componentes electrónicos en la conocida Web:

http://es.rs-online.com/web/

En fin, espero que con esta versión, ya funcione todo a la primera, nada más montarla..... o casi. En realidad, me conformo con que me permita cerrar el diseño hardware.....




Cara Superior.




Cara Inferior.

Nuevas Pantallas de Usuario.

A medida que avanzamos, tenemos que ir implementando las pantallas de usuario, que serán empleadas para informar al operario (nosotros!) sobre la velocidad de giro, o las condiciones de funcionamiento de la máquina.

La pantalla OLED cada vez es capaz de visualizar más datos de funcionamiento de la máquina.

Hay que observar que, a pesar de sus pequeñas dimensiones, tiene una resolución aceptable, por lo que caben muchas líneas de texto.

Más ajustes, ajustes y ajustes.....

Seguimos puliendo, ajustando y volviendo a ajustar....

Este vídeo es sobre el bucle PI doble, ajustado en tiempos de ejecución, sincronización de tareas, optmización de tiempos, etc.

En el ejemplo mostrado, la corriente máxima admisible la he definido a un valor bajo, inferior al que tendrá cuando esté en fase terminada. Este valor bajo me permite manipular el plato con la mano, sin temor a hacerme daño.

También vemos que a pesar de estar girando a una velocidad muy baja (90 rpm), el bucle en doble PI regula correctamente, y la velocidad del motor no se modifica.

En este vídeo el efecto visual es mejor que en uno que publiqué anteriormente, porque ayer estuve limpiando las poleas y correas, y reajustando las tensiones de las mismas.

Aún así, he dejado un cierto margen de holgura, para que en caso necesario, patinen, y la máquina no pueda hacerme daño, o llegar a quemarse el motor por una sobrecorriente que no corte a tiempo el fusible o el sistema de control.

Pruebas de Funcionamiento.

Hoy he tenido girando el motor del torno durante 3 horas seguidas, con mi placa. El objetivo era ver si había algún error oculto en el software, de esos que solo salen a la luz cuando la máquina lleva determinado tiempo funcionando (memoria desbordada, etc).

Todo ha ido perfecto, y antes de apagarlo le hice varias pruebas de cambio de velocidad, de par resistente, etc. sin problemas, todo bien...!