UNIVERSIDAD NACIONAL DE QUILMES Laboratorio de Automatización I Tema : Control posición motor Docente: Ing Roberto Sacco Alumno: Pucci Martin A. Palmieri Diego. Cebrian Alejandro. Trabajo Final: Laboratorio 1 Control posición motor Descripción del trabajo El trabajo consiste en un control de posición (ángulo) de un motor de inducción, implementando un lazo de control con un PLC. El algoritmo de control utilizado es un lazo PID ajustado de manera que no oscile y su tiempo de establecimiento sea lo mas rápido posible. Introducción al control La lógica del control debe encender o apagar mediante los pulsadores START y STOP. Cuando se encienda debe actuar el PID para mantener la posición de referencia dada por el potenciómetro o una señal del programa. En el modo de referencia “programa”,la referencia debe seguir una curva programada en forma cíclica como muestra el grafico. Cada vez que se conmute a modo referencia “programa” comenzara el ciclo que se repite continuamente. Ang. H Ang. L Ti Tr Th Ti: Tiempo inicial. Tr: Tiempo de subida Th: Tiempo en nivel High Tf: Tiempo de bajada Los tiempos y los ángulos H y L serán variables del programa del PLC Tf Elementos utilizados Planta Motor de inducción (trifásico asincrónico) Variador de velocidad (DRIVE) Sensor de posición 1° de resolución (salida 10 bits BCD) Tablero Potenciómetro para salida de posición Señales START y STOP Llave para modo de referencia Controlador PLC momentum Modulo digital momentum (ADM-350-1X) Modulo analógico momentum (AMM-09000) Señales que maneja el PLC: Control de velocidad del motor (salida analógica 4-40 ma) Control de sentido de giro del motor (salida digital 24v) Angulo de giro (10 entradas digitales 24v codificadas en BCD) Potenciómetro de referencia de ángulo (entrada analógica 0-10v =0-3600 grados) Salida analógica de 0-10v calibrada con la posición del motor (0 a 3600 grados) Pulsadores Start/Stop (entrada digital 24v) Llave de modo de referencia: “potenciómetro”, “programa” (entrada digital 24v) Descripción del Programa El programa consiste de ocho etapas principales: Etapa de configuración del modulo analógico y reset del programa. Control de las señales de START y STOP. Contador de pulsos del encoder. Lazo de control PID con referencia analógica de entrada. Bloque de acondicionamiento de señal analógica de salida con la posición del motor. Bloque de escalamiento de la señal de control de la velocidad del motor. Configuración de la señal programada. Bloque de referencia “programada”. Diagrama en Bloques Configuracion Al PLC DRIVE ALLENBRADLEY Señal de comando Control de START y STOP Señal de control Referencia analogica PID Escalamiento Escalamiento Y seleccion M Salida analogica de posicion Contador de Pulsos Bloque de referencia programada Señal de modo de referencia Configuracion Encoder Descripción de los elementos usados en el programa A continuación se explicara brevemente la función que cumplen cada bloque utilizado en Concept para la realización del programa: Bloque SYSSTATE: Este bloque devuelve un pulso en el primer SCAN de un arranque en frió (al encender el PLC) o bien de un arranque en caliente (cuando se pasa de start a stop) dependiendo en que salida uno este conectado. Bloque RS: Bloque biestable el cual enciende la salida cuando recibe señal en la entrada S y la mantiene en ese estado hasta que una señal en R se presente. Es un bloque reset-dominante por lo que si existe señal en R la salida no enciende por mas que se pulse S. Bloque CTUD: Contador ascendente-descendente el cual cuenta hacia arriba cuando se le ingresan pulsos por la entrada CU. Así mismo si ingresamos pulsos por CD el contador contara en forma descendente. Cuenta con salidas que indican cuando el contador llego a su valor determinado en PV (QU), así como cuando pasa por cero (QD). Bloque SCALING: Bloque de escalamiento muy útil, el cual ajusta los limites mínimo y máximo de una señal de entrada a los limites mínimo y máximo deseados de la señal de salida. Es decir si mi entrada varia entre 0 y 100, y quiero que mi salida varié de 6400 a 32000, configurando el SCALING con estos limites mi señal de salida será la deseada. Bloque LIMIT: Este bloque limita la excursión de la señal de salida a los limites MAXIMOS y MINIMOS ingresados en las correspondientes entradas. Bloque SEL: Bloque que selecciona que señal estará a la salida según el valor de la señal de entrada G. Bloque PID: Controlador PID con la posibilidad de habilitar en forma independiente la parte proporcional, integradora y derivativa. Incluye un Anti-Windup reset el cual actúa sobre la parte integradora, dejando de integrar cuando el valor de la salida llega a su valor máximo. Contiene un saturador interno con limites configurables y otras características. Bloque SIGN: Devuelve un 1 o un 0 según el signo de la señal de entrada. Bloque MOVE: Asigna el valor de entrada a la variable o dirección de la salida. Bloque TIME_DIV_INT: Dividen variables de tipo Tiempo con dividendos enteros. Bloque TP: Este bloque envía un pulso de duración PT a la salida ante un pulso en IN. Bloques de conversión (INT_TO_REAL, REAL_TO_INT): Convierte el tipo de variable. Bloque NEG_REAL: Cambia el signo de la variable real de entrada. Bloque MUL_INT: Multiplica enteros. Funcionamiento del programa Lo primero que realiza el programa es configurar el modulo analógico remoto del PLC enviando a las palabras correspondientes los valores de configuracion para que la entrada analógica trabaje de –10v a 10v (referencia del potenciómetro) y que las salidas analógicas trabajen de 4 a 20mA (control de velocidad del motor) y –10v a 10v (posición del motor). Además en el mismo momento resetea el contador de posición. Luego tenemos el comando de START y STOP, donde dos pulsadores están conectados a dos entradas del modulo digital. La salida del biestable es mapeada luego a una salida digital del modulo analógico remoto la cual actúa, mediante un rele, sobre el control de encendido del drive. En el bloque “Contador de pulsos”, lo que hacemos es incrementar o decrementar un contador UP_DOWN con los pulsos que envía el encoder. El incremento o decremento esta dado por el control de sentido de giro del motor, es decir que cuando el motor gira hacia un lado el contador incrementa su valor, mientras que cuando el controlador invierte el sentido de giro, el contador decrementa su valor. Como el encoder envía 18 pulsos por vuelta lo que hacemos es multiplicar por dos su valor de manera que una vuelta corresponda a 36 de valor de salida del contador, enviando este valor a la variable posición. El potenciómetro de referencia esta conectado a una entrada analógica de 10v, pero solamente trabajamos en el rango de 0 a 10v. Este valor analógico de entrada corresponderá a un valor de 0 a 32000 del registro de entrada correspondiente el cual se convierte a REAL se escala a un valor de 0 a 360 correspondiente a 0 a 10 vueltas. Este valor pasa por un selector el cual elige entre referencia analógica o programada según el valor de la llave de selección e ingresa al controlador PID a la entrada SET POINT (SP). A la entrada PV (Process Value) le ingresa la variable posición como variable de realimentación. La señal de sentido de giro se genera a través del valor del error, es decir que cuando el error es negativo es porque se paso de la posición, entonces el motor debe girar en sentido contrario. Las señales de sentido de giro y la señal de comando son convertidas a WORD y mapeada a la palabra correspondiente a la de las salidas digitales. La variable posición es escalada para enviarla a la salida analógica de 0 a 10v, de manera que 0 a 360 ( 0 a 10 vueltas) corresponda a 0 a 10v. La salida del controlador PID es convertida a una señal siempre positiva y escalada de manera que los limites del controlador correspondan a una señal de salida de 4 a 20mA. El modo referencia programada contiene una etapa de configuración donde mediante los MOVE’s podemos setear los tiempos de duración de inicio, subida, hold y caída, así como el ángulo mínimo y el ángulo máximo. Este bloque consiste en dos generadores de pulsos, un contador UP-DOWN y dos timers. Un timer mantiene reseteado el contador en cero por un tiempo Ti, luego el contador cuenta de 0 a 100 en un tiempo Tr dado por la cantidad de pulsos enviados por los mencionados generadores de pulsos. Una vez que el contador llego a su valor máximo este queda en ese valor por un tiempo Th. Una vez cumplido esto el contador decrementa su valor hasta cero en un tiempo Tf, comenzando luego nuevamente todo el ciclo. Finalmente el valor de la rampa del contador (de 0 a 100) es escalado para que corresponda a los valores de la configuración, es decir que el cero corresponda al ángulo mínimo (Ang L) y el valor 100 a ángulo máximo (Ang H).