Tag Archives: Perfil

mSlider – “SWIVEL”: Sistema de ejes modulares (X)

Esta semana han llegado las nuevas PCB’s con el nuevo diseño en SMD… lo primero que hicimos al recibirlas fue soldar los componentes y empezar a testearlas…

En la foto se puede ver el nuevo aspecto que tiene la PCB del Swivel una vez montado todos los componentes, y un pequeño detalle de lo que comenté en el anterior post donde explicaba las nuevas conexiones que queremos que tengan nuestros futuros equipos.

A lo largo de los tests que hemos estado realizando con estas primeras PCB’s nos hemos encontrado con algunos problemas:

- El Integrado que hace de puente entre el Driver y el USB (para cargar el firmware) nos ha dado bastantes quebraderos de cabeza, eso me pasa por jugarmela sin haberlo probado antes, se incluyo en el diseño a última hora y ha salido mal, pero ya hemos tomado nota y en la próxima revisión de las PCB’s se cambiará.

- También nos hemos dado cuenta una vez montadas que los reguladores fallaban, y tras revisar el diseño era un problema de nomenclatura en las huellas de dichos componentes, esto lo hemos solventado a posteriori realizando algún apaño.

A pesar de estos problemas, hemos podido montar y testear 3 o 4 PCB’s… y empezar a jugar con ellas.

Lo primero que hemos hecho ha sido programar la comunicación en BUS o “Daisy-Chain”, es decir: Conectar 3 o 4 equipos en cascada y poder “hablar” con ellos a través no solo del Mando, sino de la WebServer App e intentar moverlos.

Recordais el gráfico del concepto: Motion Control de mSlider?

Bien, pues esto que hemos hecho esta semana. Es un paso de gigante para que el sistema sea en una realidad, y aquí viene lo importante: mBUS

Sí,no solo es un logo, también es el protocolo de comunicación que hemos desarrollado para que los equipos puedan integrarse con facilidad dentro de la red o BUS de mSlider.

En que consiste?

A nivel de hardware es simplemente un cable estándar de RJ45 CAT5 pin a pin por el cual circula alimentación y datos de un equipo a otro. Esto nos ahorra mucho cableado a la hora de montar el equipos en cualquier sitio y además es un tipo de cable muy estándar.

A nivel software, nos permite conectar uno o varios equipos entre si y cada equipo se convierte en un esclavo de la red y puede interactuar con los demás equipos… de manera que se pueden controlar tanto individualmente como en conjunto, permitiendo acoplar hasta 30 ejes en un mismo sistema. Esto abre un mundo nuevo de posibilidades y configuraciones pudiendo solventar muchas de las faenas que hasta ahora solo podían hacer los equipos mas potentes y caros de la industria.

Pero como siempre pasito a pasito… así que de momento las comunicaciones ya están empezando a andar y con buen pie… el siguiente paso es realizar la sincronización de movimiento entre ellos, con dos tipos de estrategias:

- La primera ya la conocéis y es la que usa el mSlider actual: Pefil de velocidad o perfil Trapezoidal punto a punto, es decir, el motor se mueve de un punto Inicial a un punto Final pudiendo programar el tiempo de aceleracion y de desaceleración.

- La segunda estrategia es la que tiene mas posibilidades al combinarse con mas de un eje: Curvas de Bezier, es decir, se podrán programar keyframes a lo largo de nuestro plano y pudiendo definir las transiciones y velocidades entre un keyframe y otro… consiguiendo un efecto mas natural y quitando los limites a cualquier tipo de movimiento que se nos pase por la cabeza.

Y esto es todo de momento… aún nos queda mucho trabajo duro de programación y tests.

Control Motor del mSlider (I)

[one_half first]

Empezamos con el control del motor del mSlider.

Como nuestro motor DC dispone de un encoder podemos saber la posición exacta en la que se encuentra en todo momento. Pero no basta con eso para obtener un buen control.

Para ello existe toda una gran rama (en electrónica) que se dedica a la regulación de procesos. Sin irme por las ramas y para resumir, una de las estrategias de control más utilizadas y efectivas en el 70% de los sistemas es el conocido control PID.

Para el mSlider, hemos implementado el control PID para controlar la posición en todo momento, partiendo de una posición que queremos, le enviamos una señal y el motor se mueve a dicha posición (o al menos lo intenta), con el encoder tenemos ese “feedback” o realimentacion para verificar si realmente está en esa posición o no, en consecuencia si no esta en la posición el sistema le envia una señal diciendole lo que le falta hasta que realmente obtenemos la posición real que queríamos. (esto es a grandes rasgos lo que hace el PID).

Esta estrategia esta bién para sistemas transistorios en el tiempo o estaticos, esto es para sistemas que no varian en el tiempo muy rapidamente o continuamente. por lo tanto serviría para Timelapse en modo S-M-S pero no para vídeo.

[/one_half]

[one_half]

Como el mSlider ha de disponer de un control suave para movimiento (Vídeo y Timelapse en modo contínuo) necesitamos añadir otra estrategia de control que nos permita Aceleraciones, velocidades, etc…

El metodo más común en la mayoría de sistemas de control de movimiento es el llamado Perfil de velocidad. (esto se puede ver en la siguiente imagen.

Esta estrategia establece a traves de los parámetros que necesitamos (Aceleracion, Deceleracion, Distancia y Velocidad) un punto para cada intervalo de tiempo en todo el recorrido.

Para hacerse una idea, imaginemos que dividimos nuestra trayectoria en 100 intervalos, en cada uno de esos 100 intervalos hay que calcular a que velocidad estará y por consiguiente que posición deberá tener para ese instante.

Hemos implementado un pequeño ejemplo en el mSlider: mSlider- Test Perfil de velocidad (I)

Como conclusión, decir que es más que satisfactorio el resultado, y con este metodo de control + el PID es más que suficiente para poder controlar el mSlider en la totalidad de sus modos: Timelapse y Vídeo.

[/one_half]