Paso 7: Control de Servomotor
Si tienes suerte suficiente para tener acceso a un servo de grado industrial (o pasos) y luego conducir este paso mostrará cómo controlar que el Raspberry Pi PLC.
He conseguido tener en mis manos en un Technosoft EtherCat kit de inicio de obra que contiene un motor y la unidad (ver imagen).
Los detalles pueden encontrarse aquí: http://www.technosoftmotion.com/en/starter-kits-an...
Con este tutorial podría utilizar cualquier combinación de coche y motor de EtherCat como tienes el file(XML) de descripción de dispositivo del fabricante para importar en Codesys. (También puede usar la frambuesa pi con otros protocolos de comunicación para controlar diversos motores y IO pero las configuraciones y los pasos para hacer esto será ligeramente diferentes a todo lo que he descrito en este instructivo). Puede que necesite utilizar algunos software privativo para configurar las unidades.
NOTA DE SEGURIDAD:
** Al usar motores tenga cuidado como mover piezas pueden ser peligrosas. También tenga cuidado siga las instrucciones del fabricante del motor y comprobar que todo el cableado está correcto, especialmente con alto voltaje drives.* *
-El primer paso es conectar tu motor y la unidad según los fabricantes las instrucciones, en mi caso esto fue simple, todo lo que tenía que hacer era añadir 24V a la lógica y el poder en los puertos (ver cables más gruesos rojos y azules en la imagen), el resto vino todo cableado. A continuación, usted tiene que conectar un cable ethernet entre el puerto de EtherCat de la impulsión del motor y el puerto ethernet del Raspberry Pi. Este es el mismo proceso que enlazan a la Pi a la Industrial IO en el paso 5.
Si desea utilizar la IO y el motor, dejar la IO como lo fue y conecte el cable ethernet desde el puerto de EtherCat de la impulsión del motor para EtherCat a Puerto de la IO Industrial. Si haces esto sin embargo, tienes que asegúrese de que ambos dispositivos se agregan a su árbol de dispositivo en Codesys. EtherCat es un protocolo de comunicación de bus de campo brillante le permite comunicaciones 'daisy chain' a través de cargas de dispositivos utilizando sólo simples cables de ethernet.
Para este Instructable sin embargo sólo utilizaremos el motor por sí solo.
-Cuando el cableado es completado, podemos mover a la programación.
-Siguiendo el mismo proceso como paso 5 abrir un nuevo proyecto en Codesys y agregar un dispositivo y el amo de EtherCat de este tiempo sin embargo elegir el archivo XML que corresponde a la de la impulsión del motor para el dispositivo (ver foto de mi árbol de dispositivo después de Agregar esto)
-Ahora necesitamos añadir un eje a este dispositivo. Esencialmente esto significa que vamos a Codesys que este dispositivo de EtherCat es controlar un motor. Y dentro de que lo que los parámetros del motor.
-Haga clic derecho sobre el dispositivo que acaba de agregar y haga clic en "Añadir SoftMotionLight CiA402 eje".
Esto es donde la idea de frambuesa Pi PLC cae la cantidad más pequeña, más pequeña. Ya que el Pi no tiene un núcleo de tiempo real y por lo tanto no hay capacidades de tiempo real (aunque estos pueden ser añadido si te atreves a jugar con el núcleo de la Pi) no puede manejar todas las funciones de la comunicación en una unidad por lo tanto tenemos que usar la versión 'Light'. En real habla, esto significa que la sincronía del motor a su programa no será tan buena como si fuese una adecuada > dispositivo de £500. Pero que se preocupa por cuando lo hace todo tan bien!
Click-derecho sobre el nuevo elemento árbol de dispositivos, vaya a "Refactoring" luego "cambiar nombre". Cambie el nombre del eje "Axis1". CoDeSys entonces se abrirá una nueva pantalla que te pide para comprobar si su encontrar la carpeta correcta, haga clic en "Aceptar".
-Haga doble clic en "Axis1" en el árbol de dispositivos y esto va a abrir una nueva pestaña en la ventana principal. Esto es donde usted necesita calibrar el eje de su sistema, eligiendo cuántos medios de revoluciones qué, tan por ejemplo el motor que tengo tiene un codificador con 2000 incrementos por vuelta del motor. No tengo ninguna caja de engranajes y quiero trabajar en los giros, no mm (si tenía un eje linear del motor). Así que mi pantalla se ve como la imagen adjunta.
-Codesys se encarga de la mayoría de las cosas para usted con EtherCat para hacer ahora el motor mueve todo lo que tenemos que hacer es escribir un programa y utilizar algunas funciones Codesys integradas.
-Para hacer esto fácil, he subido un programa de muestra de este instructable escrito en CFC (una lengua de Codesys), fácilmente puede copiar y pegar los POUs (se encuentra en "solicitud" en el árbol del dispositivo") a su programa. He utilizado algunos simples construido en funciones que son parte de la "MC_Open" Codesys biblioteca que mueve el motor, tiene que decir que las funciones qué motor quiero mover, cuánto y cuán rápido.
-Cuando tengas descargado el programa y entró en modo de ejecución como se describe en el paso 5. Para mover el motor, necesitará abrir la "Motor_Control" POU, ahora necesitas hacer clic en las variables "Distancia", "Velocidad" y "Aceleración" (ver foto) a su vez y entrar en números, por ejemplo, 60, 60, 100. No 60 vueltas y 60revs/min con una aceleración de 100revs/s/s. Ahora haga clic en la variable "Power_Enable" hasta que aparezca "True" junto a la variable en azul, ahora deberás escribir este valor en el PLC pulsando "Ctrl + F7". Esto también escribirá los valores a las otras variables que hemos cambiado.
-El motor debe ahora activarse, lo que significa que está encendido y espera.
-Para mover el motor con "MC_MoveRelative_SML" (un movimiento relativo de la posición de los motores en comparación con un absoluto) es necesario establecer la variable "Move_Motor_Pos" en "True" (de la misma manera como arriba). Que tenga que hacer este paso dos veces para ver el movimiento del motor, esto es un error que no entiendo muy bien. El motor debe girar, yay!
Ahora tienes control de motores, intentar escribir un programa que gira el motor hacia adelante y hacia atrás. Se pueden usar las funciones MC_Open en lenguaje ST.