INDICE - elai.upm.es · PDF filecoeficientes del PID que se encuentra implementado dentro del...
Transcript of INDICE - elai.upm.es · PDF filecoeficientes del PID que se encuentra implementado dentro del...
GCII-FAIS-UPM®DOC002-00 1
INDICE
INTRODUCCIÓN .................................................................................................................. 3
CONTROL DE MOTORES DE CORRIENTE CONTINUA BAJO WINDOWS NT ....... 7
2.1 INTRODUCCIÓN ........................................................................................................... 7
2.2 MOTORES DE CC ......................................................................................................... 92.2.1 INTRODUCCIÓN...................................................................................................... 92.2.2 MOTORES DE CORRIENTE CONTINUA ............................................................... 92.2.3 EL MOTOR MAXON 968........................................................................................15
2.3 EL CONTROLADOR DIGITAL DE 3 EJES DE CC SMCC-01 .................................17
2.4 EL CONTROLADOR DE MOVIMIENTO LM628/LM629 .........................................202.4.1 INTRODUCCIÓN.....................................................................................................202.4.2 MODO DE OPERACIÓN.........................................................................................212.4.3 EL GENERADOR DE TRAYECTORIAS.................................................................222.4.4 LA REALIMENTACIÓN EN POSICIÓN.................................................................232.4.5 EL FILTRO DIGITAL PID .......................................................................................242.4.6 LA SALIDA PWM....................................................................................................25
2.5 DISEÑO DEL REGULADOR PID................................................................................272.5.1 CONCEPTO DE CONTROLADOR..........................................................................272.5.2 IMPORTANCIA DE LOS CONTROLADORES PID................................................272.5.3 DESCRIPCIÓN DEL CONTROL PID ......................................................................282.5.4 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: DISEÑO DE UN REGULADOR PID............................................................................................................29
2.6 E/S DIGITALES: EL INTERFACE 82C55A DE INTEL.............................................352.6.1 INTRODUCCION.....................................................................................................352.6.2 EL INTERFACE PROGRAMABLE DE PERIFÉRICOS 82C55A DE INTEL ..........362.6.3 DESCRIPCIÓN FUNCIONAL DEL 82C55A............................................................372.6.4 ADQUISICIÓN DE DATOS. AISLAMIENTO OPTOELECTRÓNICO:CONCEPTO Y CLASES ...................................................................................................40
2.7 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: COLOCACIÓN YPROGRAMACIÓN DE LOS FINALES DE CARRERA ....................................................43
2.7.1 COLOCACIÓN.........................................................................................................432.7.2 PROGRAMACIÓN...................................................................................................45
2.8APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: ESTUDIO YEXPERIMENTACIÓN DEL SISTEMA DE POSICIONAMIENTO DEL CARROLINEAL.................................................................................................................................48
2.8.1 DIRECCIONAMIENTO AL PRINCIPIO DE CARRERA.........................................482.8.2 CONTROL DE INTERVALOS.................................................................................48
Control de motores y calibración no coplanar Rubén Collado Hernández
2 GCII-FAIS-UPM®DOC002-00
LUZ ESTRUCTURADA. SISTEMA DE CAMARA ...........................................................51
3.1 CALIBRACIÓN COPLANAR .......................................................................................54
3.2 CALIBRACIÓN NO COPLANAR ................................................................................57
DESARROLLOS FUTUROS ...............................................................................................61
4.1 GENERACIÓN DE FICHEROS CAD BASADOS EN ISOLÍNEAS...........................634.1.1 FORMATO DE ARCHIVO DXF ..............................................................................64
4.2 CONTROL DEL CARRO LINEAL CON MOVIMIENTO BIDIRECCIONAL ........66
BIBLIOGRAFÍA ...................................................................................................................... 617
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 3
INTRODUCCIÓN
Los sistemas de Luz Estructurada están muy extendidos en la industria por su
versatilidad, robustez y bajo costo, presentando algunas ventajas sobre los sistemas de
visión convencionales, como la posibilidad de trabajar en el infrarrojo o el ultravioleta,
obviando las condiciones de iluminación ambientales. El Grupo de Control e Informática
Industrial (GCII) del Departamento de Física Aplicada e Ingeniería de Sistemas (FAIS) se
propuso la realización de un prototipo capaz de reconocer y medir las dimensiones de
ciertos objetos, basado en la Luz Estructurada, un ambiente en el cual los elementos son
fácilmente modelizables matemáticamente. Para ello se desarrolló una con un sistema láser
capaz de generar un haz que al incidir sobre el objeto produce una serie de líneas de corte
(Figura 1.1), y un sistema de cámara, basado en el modelo pin-hole y calibrado mediante
las técnicas propuestas por Tsai, que recoge este conjunto de líneas en una imagen para
posteriormente tratarla e interpretarla (Figura 1.2).
Control de motores y calibración no coplanar Rubén Collado Hernández
4 GCII-FAIS-UPM®DOC002-00
Una vez se hizo viable este sistema se propuso un desarrollo posterior según el cual
el sistema tomara más de una imagen y fuera capaz de interpretar las isolíneas generadas
para convertirlas un fichero CAD. El primer problema surge ante la necesidad de mover la
pieza a estudiar. Para ello se montó un sistema de carro lineal unidireccional movido por
un motor de corriente continua y controlado mediante software. Un segundo problema
Figura 1.1. Principios del sistema de Luz Estructurada
Figura 1.2. Estructura y sistema posicionador del GCII
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 5
surge al necesitar una calibración más adecuada y precisa, por lo cual se pasa de una
calibración coplanar (teniendo en cuenta únicamente las posiciones x e y), a otra no
coplanar (utilizando todas las dimensiones del espacio).
A lo largo de este Preproyecto se abordan los conceptos relativos a los sistemas de
Luz Estructurada y más concretamente, el control realizado sobre el carro lineal, teórico y
práctico, y la posibilidad futura de la calibración no coplanar del sistema.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 7
CONTROL DE MOTORES DE
CORRIENTE CONTINUA BAJO
WINDOWS NT
2.1 INTRODUCCIÓN
Si miramos a nuestro alrededor podemos observar cómo los motores eléctricos se
usan en muchas aplicaciones, y en la inmensa mayoría de ellas de un modo estrictamente
controlado. Los equipos domésticos usan motores para todo tipo de cosas, como en el
refrigerador, la lavadora, el vídeo, la radio,... y incluso en un ordenador podemos encontrar
desde cuatro hasta diez motores con diferentes funciones, sin contar los que pueda tener la
impresora, el escáner,...
La mayor parte de los motores eléctricos son controlados con un simple
apagado/encendido verificando el sentido de giro, pero otros muchos utilizan sofisticados
Control de motores y calibración no coplanar Rubén Collado Hernández
8 GCII-FAIS-UPM®DOC002-00
controles electrónicos que permiten un movimiento muy preciso, no sólo de la posición,
sino también de la velocidad y de la aceleración.
El control de velocidad de motores es una aplicación amplísima. En la industria hay
un sinfín de procesos que requieren un número de revoluciones variable de forma continua
y precisa. Dentro de los usos en los que no se requiere la inversión de giro cabe citar las
instalaciones de mecanizado, las máquinas para el procesado de papel, el tratamiento de
plásticos, etc. Y entre las que requieren inversión de giro y frecuentes paradas destacan los
trenes de laminado, los ascensores, las máquinas herramientas, etc.
El objetivo de este capítulo consiste en introducir y desarrollar las técnicas de
control de motores bajo el sistema operativo de Windows NT, todo ello aplicado al sistema
de luz estructura. Comenzaremos con una introducción sobre los motores de corriente
continua, sus tipos y aplicaciones de un modo general. Centrándonos más en el proyecto
estudiaremos el controlador digital de tres ejes SMCC-01 profundizando en sus
componentes más importantes, como son el LM629, integrado capaz de gobernar una gran
cantidad de motores de corriente continua, con o sin escobillas, así como otros
servomecanismos cuya realimentación de posición sea una señal incremental en
cuadratura; y el 82C55A de Intel, un chip capaz de gestionar puntos de entradas/salidas
digitales a través de una serie de puertos.
Una vez visto esto se profundiza en los conceptos de los reguladores digitales, más
concretamente en las técnicas de diseño de los filtros PID, aspecto muy importante para la
optimización del sistema. Siguiendo un modelo físico del motor, buscaremos los
coeficientes del PID que se encuentra implementado dentro del LM629, mediante técnicas
continuas y el método digital directo de Truxal.
Todo esto se irá relacionando al sistema utilizado en el proyecto mediante el
estudio y experimentación del sistema de posicionamiento del carro lineal, y de la
colocación y programación de los interruptores de final de carrera.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 9
2.2 MOTORES DE CC
2.2.1 INTRODUCCIÓN
Los dispositivos que pueden producir movimientos en un sistema industrial, se
pueden clasificar en tres grandes grupos, dependiendo del tipo de energía que consuman.
Estos tres grandes grupos son:
- Hidráulicos.
- Neumáticos.
- Eléctricos.
Los elementos neumáticos e hidráulicos hacen uso del aire comprimido y de un
fluido a presión respectivamente. Los elementos eléctricos utilizan obviamente la energía
eléctrica para su funcionamiento y son los conocidos motores eléctricos.
La elección entre un tipo de elemento u otro depende de la utilización que le
vayamos a dar. Así cada tipo de elemento tiene sus cualidades especificas. Los elementos
hidráulicos se utilizan en sistemas que deban soportar una gran capacidad de carga, con un
control de velocidad aceptable, los elementos neumáticos ofrecen velocidades elevadas de
trabajo pero con una regulación imprecisa de la velocidad. Los motores eléctricos se
caracterizan por la facilidad de realizar un control riguroso de su movimiento.
2.2.2 MOTORES DE CORRIENTE CONTINUA
Un motor es un dispositivo que toma energía eléctrica y la convierte en energía
mecánica, normalmente al producir el giro de un eje. Existen dos grandes tipos de motores:
- Motores de corriente alterna (AC Motors): aquellos en los que la corriente
que fluye en su interior en alterna, es decir, circula en dos direcciones. Existen
dos tipos generales: de inducción y síncronos.
Control de motores y calibración no coplanar Rubén Collado Hernández
10 GCII-FAIS-UPM®DOC002-00
- Motores de corriente continua (DC Motors): aquellos motores que usan
señales continuas, normalmente procedentes de un rectificado. Este tipo de
motores son los que se usan cuando se requiere una variación de la velocidad.
Dentro de la variedad de tipos de motores eléctricos, los mas adecuados para por la
facilidad de su control y regulación son los motores de corriente continua y los motores
paso a paso. La diferencia principal entre estos tipos de motores es que en los motores de
corriente continua se puede controlar exactamente la posición en la que se encuentra el eje,
sin embargo en los motores paso a paso su eje gira un ángulo fijo al aplicar a sus bobinas
un conjunto adecuado de impulsos eléctricos.
El controlador que vamos a estudiar está incluido dentro de la categoría de
controladores de lazo cerrado (Figura 2.1), pues resulta imposible establecer una relación
fiable entre la señal aplicada y la posición final, es decir, los motores de corriente continua
no pueden funcionar en lazo abierto. Para ello, se realimenta la variable de salida (en este
caso la velocidad) para generar a partir de esta y de la señal de control una función de error
que el controlador tratará de minimizar. Aunque esto implica un mayor coste en hardware,
es mas adecuado para aplicaciones en las que existen perturbaciones externas que pueden
variar el funcionamiento del sistema. Para el correcto funcionamiento de estos motores, se
necesita incorporar un detector de posicionamiento final del eje
Hay multitud de tipos de detectores de posición, como los resistivos
(potenciómetros acoplados al eje), magnéticos, capacitivos, etc., pero los más prácticos y
sencillos son los de tipo óptico. Los detectores de tipo óptico constan de un emisor y un
receptor de luz, entre los que gira un disco acoplado al eje del motor. El disco tiene zonas
opacas y transparentes (ranuras), que cortan o dejan atravesar el haz luminoso desde el
emisor al receptor, provocando impulsos eléctricos. Este disco ranurado proporciona
suficiente información para determinar el ángulo girado y el sentido de giro. Cuantas más
ranuras disponga, mayor será la precisión en la detección del movimiento.
Figura 2.1. Controlador en lazo cerrado
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 11
Para controlar el posicionamiento del motor de CC hay que tener en cuenta que la
velocidad que desarrolla el motor es directamente proporcional a la tensión aplicada
en el inducido y al flujo producido. Para el control de la velocidad se manipulan los dos
factores antes mencionados dependiendo de las características requeridas en cada caso
particular.
2.2.2.1 Tipos de control de motores
Si la aplicación que estamos desarrollando necesita un par constante para distintas
velocidades, lo que haremos es controlar la tensión de inducido manteniendo constante la
excitación de campo inductor. Sin embargo, si lo que necesitamos es mantener constante la
potencia lo que haremos será mantener constante la tensión de inducido variando la
excitación del motor. Estos diferentes tipos de control dan lugar a dos diferentes tipos de
control de motores:
• Control por inducido (φ=cte; Ui≠cte): Se trata de poder modificar el par del motor
(Pm) a través, únicamente, de la tensión de entrada, manteniendo el flujo (φ) constante.
)()( tiKptPm i⋅=
)()(
)()( tUmdt
tdiLtiRtUi i
iii +⋅+⋅=
• Control por excitación (φ≠cte; Ui=cte): Este tipo de control mantiene constante la
intensidad de la corriente que circula por el inducido, actuando sobre la corriente ie(t)
del campo de excitación del motor.
)()( tiKptPm e⋅=
dt
tdiLtiRtUe e
eee
)()()( ⋅+⋅=
Figura 2.2. Control por inducido
Figura 2.3. Control por excitación
Control de motores y calibración no coplanar Rubén Collado Hernández
12 GCII-FAIS-UPM®DOC002-00
2.2.2.2 Tipos de control de potencia
Por otro lado, para realizar el control de la potencia del motor existen básicamente
tres grandes métodos:
• Modulación del ancho del pulso (PWM – Pulse Width Modulation) en corriente
continua
• Modulación de la frecuencia del pulso (PFM - Pulse Frecuency Modulation) en
corriente continua
• Rectificación controlado por silicio (SCR – Silicon Controlled Rectifier) en
corriente alterna
La técnica conocida como modulación por ancho de pulso (PWM), utiliza por el
controlador del proyecto, se basa en que el valor medio de una señal periódica es igual a
la integral entre cero y el periodo de la función de la señal respecto al tiempo, dividido
todo ello por el valor del periodo (Figura 2.4.a). En el caso de una señal lógica y
considerando el periodo constante, podemos decir que la función no es continua sino
definida a trozos. Entonces obtenemos que el valor medio de la señal durante el periodo
fijado es igual al valor de la señal en estado "alto" multiplicado por el tiempo en estado
"alto" mas el valor de la señal en estado "bajo" multiplicado por el tiempo en estado
"bajo", y dividido todo ello por el tiempo total (periodo).
Según este planteamiento, si generamos las señales de control al puente de
transistores a una frecuencia fija y variamos proporcionalmente cuantas veces mandamos
la señal de activación en un sentido y cuantas veces mandamos la señal de detención,
podremos variar tensión media de alimentación del motor y por tanto su velocidad. Para
ello podemos utilizar un proceso generado periódicamente que utilizando unas variables de
control envíe las señales de actuación al controlador.
Figura 2.4.a. Modulación del ancho de pulso PWM
T T T
α1 α2 α3
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 13
El sistema PFM utiliza el planteamiento contrario, es decir, mantener constante el
ancho de pulso y variar la frecuencia entre ellos (Figura 2.4.b). De este modo se obtienen
resultados parecidos pero el hardware se complica.
El tercero de ellos, la rectificación controlada por silicio (SCR), es el método más
usado en corriente alterna. Se basa en los tiristores, componentes semiconductores con dos
estados estables cuyo funcionamiento se basa en la realimentación regenerativa de su
estructura PNPN. Una de las estructuras más conocidas es la del interruptor con los
tiristores en cátodo común (al mismo potencial), como se muestra en la Figura 2.4.c.
2.2.2.3 Tipos de control de velocidad
Pero para tener un verdadero control sobre el motor, no basta con controlar su
potencia, también se debe controlar su velocidad. Industrialmente existen dos tipos de
configuraciones para realizar esto:
• El puente en H
• La configuración tipo T
T1 T2 T3
p p p p
Figura 2.4.b. Modulación de la frecuencia del pulso PFM
Figura 2.4.c. Rectificación controlada por silicio SCR
Control de motores y calibración no coplanar Rubén Collado Hernández
14 GCII-FAIS-UPM®DOC002-00
Nosotros, para el control de la velocidad utilizaremos un circuito conocido como
puente de transistores o puente en H (porque su representación asemeja una hache). A
través de este puente de transistores se controla la tensión de alimentación del motor.
Cuando se activan las señales de control de la misma rama del puente (p.e. esquina
superior derecha y esquina inferior izquierda) se hace circular la máxima corriente en un
sentido, si se activa la rama opuesta, fluye en el sentido contrario. Desactivando las dos
ramas, se corta la corriente y se detiene el motor. Las señales de control son señales TTL,
mientras que las demás líneas de alimentación del puente en H estarán alimentadas al
voltaje máximo del motor.
Este esquema permite la siguiente microprogramación: Sentido de giro 1
(A1=0,A2=1,B1=1,B2=0), Sentido de giro 2 (A1=1,A2=0,B1=0,B2=1), Detención
(A1=1,A2=0,B1=1,B2=0). Si combinamos esta técnica con la modulación por ancho de
pulso conseguimos un sencillo control hardware de la alimentación del motor y por tanto
de la velocidad.
La configuración en T presenta un menor hardware pero restringe su uso a tener
dos fuentes de alimentación. De cualquier modo presenta similares características en su
funcionamiento y resultados equivalentes.
Figura 2.5. Puente en H
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 15
2.2.3 EL MOTOR MAXON 968
Para mover el carro lineal se recurrió al motor maxon 968. Es un pequeño motor de
corrientes continua de 15 W de potencia capaz de arrastrar el carro hasta aproximadamente
las 500 r.p.m.
Las características más importantes del motor son:
• Potencia nominal: 15 W
• Voltaje nominal: 24 V
• Velocidad en vacío: 5750 rpm
• Máximo par de inicio: 119 mN·m
• Corriente sin carga: 26.3 mA
• Corriente de inicio: 3020 mA
• Resistencia de inducido: 7.94 Ω
• Gradiente velocidad/par: 49 rpm/mN·m
• Velocidad máxima permitida: 9200 rpm
• Corriente continua máxima: 786 mA
• Par continuo máximo: 30.9 mNm
• Máxima potencia de salida con la tensión nominal: 17500 mW
• Máximo rendimiento: 81.5 %
• Constante de par: 39.3 mN·m/A
• Constante de velocidad: 243 rpm/V
• Constante de tiempo mecánica: 13.7 ms
• Inercia del rotor: 26.6 g·cm2
• Inductancia de inducido: 1.54 mH
• Resistencia térmica entre carcasa y ambiente: 12.50 K/W
• Resistencia térmica entre rotor y carcasa: 1.90 K/W
Figura 2.6. Motor maxon 968
Control de motores y calibración no coplanar Rubén Collado Hernández
16 GCII-FAIS-UPM®DOC002-00
Por otro lado, el motor lleva un encoder acoplable (Figura 2.7.a.) a 5 V compatible
con señales TTL y que es capaz de realizar 500 cuentas por giro. ES el encargado de
realimentar la señal en posición.
Figura 2.7.a. Encoder óptico incremental
Figura 2.7.b. Detalle deacoplamiento
Figura 2.7.c. Estructura montada
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 17
2.3 EL CONTROLADOR DIGITAL DE 3 EJES DE CC SMCC-01
Toda la circuitería necesaria para el control completo de los motores se reúne
dentro del controlador digital de tres ejes de corriente continua SMCC-01, formado por dos
tarjetas, una para los circuitos de potencia PWM y otra de comunicación o de control con
el PC, unidas mediante un cable paralelo plano con conectores DB37.
El SMCC-01 es capaz de controlar simultáneamente tres motores de corriente
continua, con la posibilidad de manejar un cuarto eje, aunque este sin control. Los
principales elementos que forman este controlador son:
• 3 chips LM629 encargados del control de los motores cc (Figura 2.8.a.).
• 1 chip 82C55A que se ocupa de gestionar las posible entradas/salidas digitales
para la relación con el exterior (Figura 2.8.b.).
• 3 puentes de potencia en H implementados con relés, uno para cada motor
(Figura 2.8.c.).
En la tarjeta de control o comunicación (Figura 2.9) se encuentran los LM629 y
el 82C55A principalmente, y está conectada a través de las direcciones de puertos libres en
el PC mediante unos microinterruptores. El elemento básico de la tarjeta de control es un
circuito integrado (microcontrolador), diseñado específicamente para el control de motores
de corriente continua, con o sin escobillas, y es el encargado de decodificar la posición,
ejecutar el algoritmo de control PID, generar las trayectorias, además de proporcionar la
señal de control y de sentido de giro para atacar directamente un amplificador PWM.
Puente en H
Figura 2.8.a. LM629 Figura 2.8.b. 82C55A Figura 2.8.c. Puente en H
Control de motores y calibración no coplanar Rubén Collado Hernández
18 GCII-FAIS-UPM®DOC002-00
Esto permite liberar al ordenador de realizar estas funciones y poder dedicarse a la
ejecución de otras tareas, aumentando la capacidad de procesamiento del sistema.
Las características generales de esta placa son:
• Compatible con bus PC.
• Algoritmo de control PID digital.
• Control de velocidad, posición y aceleración.
• Generación de perfiles de velocidad y posición.
• Entradas/salidas digitales opto-aisladas.
• Entrada para codificador óptico incremental.
• Salida PWM y sentido de giro, para manejar un puente en H.
En la tarjeta de potencia PWM (Figura 2.10) se sitúan principalmente los tres
puentes en H para el manejo de los motores, así como un frontal de interface que le
comunica con la tarjeta de control, permite la alimentación y las salidas de los distintos
Figura 2.9. Tarjeta de control o comunicación con el PC
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 19
motores, la adquisición de señales digitales,... Las características generales de esta placa
son:
• Capacidad de manejar hasta 3 motores de corriente continua simultáneamente.
• Alimentación de 12 a 55V. de corriente continua.
• Entradas PWM.
• Potencia continua 250 W por motor. Potencia de pico: 1.100 W.
• Dos niveles de protección de corriente.
• Puente en H completo implementado con relés, para un cuarto eje no
controlado.
• Consumo desde fuente principal: 5 W.
• Tiempo de sobrecarga: 10 s, pasado el umbral de potencia continua.
• Frecuencia máxima de PWM: 30 kHz.
• Ancho del pulso mínimo: 4 µs.
Figura 2.10. Tarjeta de potencia PWM
Control de motores y calibración no coplanar Rubén Collado Hernández
20 GCII-FAIS-UPM®DOC002-00
2.4 EL CONTROLADOR DE MOVIMIENTO LM628/LM629
2.4.1 INTRODUCCIÓN
El circuito integrado LM628/LM629 es un controlador de movimiento de
precisión para una gran variedad de motores de corriente continua, con o sin escobillas,
así como de otros servomecanismos cuya realimentación de posición sea una señal
incremental en cuadratura.
Los componentes que se requieren para construir un servosistema son el motor de
corriente continua, un posible reductor como en nuestra aplicación, un encoder
incremental, un convertidor digital-analógico (DAC), una fuente de alimentación y un
integrado LM629. A su vez, esta pastilla incluye en su interior un decodificador de
posición, un filtro digital PID y un generador de trayectorias. Está diseñado para atacar
directamente a amplificadores PWM, y envía una señal de ancho de pulso de 7 bits, más
otra que corresponde al signo (2 señales analógicas). La frecuencia máxima de muestreo
para la lectura de los codificadores ópticos es de 3,9063 KHz, para una frecuencia de reloj
de 8 Mhz.
Sus principales características son:
- 3 registros de 32 bits para la posición, la velocidad y la aceleración.
- Un filtro digital PID programable.
- Una señal de salida PWM de 8 bits.
- Un generador interno de perfiles de velocidad trapezoidales.
- La velocidad, la posición y los parámetros del filtro pueden ser cambiados
durante el movimiento.
- Distintos modos de operación en cuanto a posición y a velocidad.
- Interrupciones programables en tiempo real.
- Capacidad de gestión de señales incrementales en cuadratura.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 21
2.4.2 MODO DE OPERACIÓN
El diagrama de bloques típico para construir un servosistema usando un LM629 es
el siguiente:
El procesador se comunica con el LM629 a través de un puerto de entrada/salida
para facilitar la programación del perfil trapezoidal de velocidad y del filtro PID. Para
iniciar el movimiento, el procesador central carga los valores de aceleración, velocidad y
posición deseada en el generador de trayectorias del LM629. En cada período de muestreo
estos valores son usados para calcular la nueva posición deseada, a la que se le resta la
posición real del eje, obtenida por el codificador óptico incremental y el decodificador de
posición. Así se origina la señal de error, que es la entrada al filtro compensador PID. El
convertidor digital-analógico convierte la señal producida a otra aplicable al motor. De
nuevo se decodifica la posición y se genera otro perfil de velocidad.
Los cuatro bloques funcionales más importantes del LM629 son:
a) El generador de trayectorias.
b) La realimentación en posición.
c) El filtro digital PID.
d) La salida PWM.
Realimentación en posición
Figura 2.11. Diagrama de bloques de un LM629
Control de motores y calibración no coplanar Rubén Collado Hernández
22 GCII-FAIS-UPM®DOC002-00
2.4.3 EL GENERADOR DE TRAYECTORIAS
El generador de perfiles trapezoidales de velocidad manda la posición (velocidad)
del motor frente al tiempo. El procesador debe transmitir la información sobre la
aceleración, la máxima velocidad y la posición final, y el LM629 utiliza esta información
para mover el motor. Primeramente la velocidad se incrementa en función de la aceleración
de consigna hasta que se alcanza la velocidad máxima especificada en el registro
correspondiente. Posteriormente se mantiene esta velocidad constante hasta que comienza
una desaceleración de igual magnitud que la aceleración inicial. La posición de consigna, a
donde se desea y se debe llegar después del movimiento, es la integral del trapezoide de
velocidad.
Figura 2.12. Perfiles generados por el LM629
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 23
Si hay perturbaciones durante la aceleración o el mantenimiento de la velocidad
máxima, se prolonga la posición para que la velocidad media se mantenga constante,
principal variable de cálculo para conseguir la posición final. Prácticamente en todos los
perfiles hay un error de posición o de velocidad, que aunque es mínimo deberá ser tenido
en cuenta (el regulador PID se encargará de minimizar este error).
2.4.4 LA REALIMENTACIÓN EN POSICIÓN
El LM629 se comunica con el motor a través de un encoder incremental, que será el
encargado de realimentar la señal en posición para más tarde decodificarla.
El LM629 presenta un interfaz para codificadores de posición ópticos
incrementales. Se decodifican dos señales de salida en cuadratura para proporcionar
información sobre posición y dirección. Opcionalmente puede usarse una señal de posición
de índice para capturar la posición del motor una vez por revolución. Cada uno de los
cuatro estados de las señales de posición en cuadratura son decodificadas en el LM629
obteniendo un aumento de cuatro veces la resolución sobre el número de líneas del
encoder, es decir un codificador con N líneas podrá ser decodificado como 4N cuentas de
posición.
En la Figura 2.13, se muestra la dirección tanto positiva como negativa de las
cuentas realizadas por el decodificador de posición. Las señales A, B, e ÍNDEX
procedentes del encoder ingresan al decodificador. Éste determina si el motor se movió
hacia la izquierda, hacia la derecha o permaneció parado, almacenando la posición del
motor en un contador. Una vez por revolución, cuando todas las líneas del encoder están
Figura 2.13. Decodificador de posición
Control de motores y calibración no coplanar Rubén Collado Hernández
24 GCII-FAIS-UPM®DOC002-00
simultáneamente a nivel bajo, se captura la posición actual del motor en un registro para el
índice, como puede observarse igualmente en la figura anterior.
El máximo rango de captura de la posición se determina por el mínimo número de
ciclos de reloj que se necesitan para decodificar cada estado del encoder. Como se observa
en la Figura 2.13, este número mínimo es de 8 ciclos de reloj. Esto supone una limitación a
la velocidad máxima que puede alcanzar el eje del motor, pues no debe superar a la
capacidad de captura del decodificador. Sin embargo, a efectos prácticos, esto no supone
ninguna limitación, pues la velocidad máxima impuesta es de 30000 r.p.m. para el LM629
a 8MHz, considerando un codificador óptico de 500 líneas por vuelta.
2.4.5 EL FILTRO DIGITAL PID
El LM629 usa un filtro PID para compensar el lazo de control. La implementación
de este filtro es la siguiente:
∑=
−−⋅+⋅+⋅=N
innnn eeKdeKieKpnU
01'' )()(
donde la señal aplicada al motor es proporcional a la señal de error en posición de la
muestra n, más la integral del error, más la derivada del error, sabiendo que:
• U(n) : es la señal de control aplicada al motor en un tiempo n.
• en : error de posición en el tiempo n.
• en’ : error de posición en el muestreo derivativo de n (n’).
• en’-1 : error de posición en el muestreo derivativo anterior a n’.
El primer término, el término proporcional, transmite al motor una fuerza ajustada
a la señal de error según la Ley de Hooke. El segundo término, el término integral,
permite al motor incrementar su velocidad con el tiempo y además asegura que el error
estático de posición es cero. El tercer término, el término derivativo, suministra una señal
proporcional para mejorar el error de posición. En este caso, el periodo de muestreo
derivativo se debe escoger como múltiplo del periodo de muestreo del LM629 (desde 1
hasta 256).
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 25
En la operación, el algoritmo del filtro recibe una señal de error de 16 bits
proveniente de la resta entre la señal del generador de trayectorias y la realimentación en
posición. La señal se satura a los 16 bits para impedir un comportamiento imprevisible del
sistema. Esta señal de error multiplicada por el coeficiente proporcional (Kp) se suma en
cada muestreo a los errores acumulador anteriormente en forma de suma integral (Ki) para
conseguir una señal de 24 bits, aunque sólo los 16 más significativos serán usados
posteriormente para multiplicarlos con el coeficiente derivativo (Kd).
Los 16 bits menos significativos de cada uno de los tres productos (cada producto
es un registro de 32 bits) se suman para producir la señal de control. De estos 16 bits, los 8
más significativos forman la salida que, tras ser debidamente tratada, decodificada y
amplificada por la etapa de potencia que alimentará al motor para conducirlo a la posición
deseada.
2.4.6 LA SALIDA PWM
Como salida PWM, el LM629 proporciona las señales de amplitud y signo para
alimentar al amplificador. Son éstas dos señales independientes, la señal de amplitud y la
señal de signo, las que determinan la tensión y la polaridad, respectivamente. La señal de
amplitud consiste en un tren de pulsos, a una frecuencia constante (512/fclk), cuya
duración es función de la señal de control obtenida del PID. Cuanto mayor sea ésta, mayor
será el llamado factor de servicio o "duty-cycle" y, por lo tanto, mayor será la tensión que
Figura 2.14. Señal de salida PWM
DUTY CYCLE:
Control de motores y calibración no coplanar Rubén Collado Hernández
26 GCII-FAIS-UPM®DOC002-00
reciba el motor. El rango de a (a = duración del pulso dividido entre el período de la señal)
está entre 0/128 (motor parado) y 127/128 (mayor tensión con polaridad positiva) ó
128/128 (tensión continua, polaridad negativa).
Hay cuatro períodos PWM en un intervalo de muestreo del LM629. De este modo,
para un LM629 con un reloj de 8 Mhz se incrementa el rango de salida desde 3,9 KHz a
una frecuencia de conmutación del puente en H de 15,6 KHz.
Figura 2.15. Resumen operativo del LM629
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 27
2.5 DISEÑO DEL REGULADOR PID
En años recientes se ha incrementado el uso de controladores digitales en sistemas
de control, los cuales se utilizan para alcanzar un desempeño óptimo del sistema. La
tendencia actual de controlar los sistemas dinámicos de forma digital se debe
principalmente a la disponibilidad de computadoras digitales de bajo costo y a las ventajas
de trabajar con señales discretas en lugar de señales en tiempo continuo.
2.5.1 CONCEPTO DE CONTROLADOR
El controlador es un instrumento que sustituye al operador humano en su tarea de
mantener una variable del proceso en torno a un valor deseado, mediante actuaciones sobre
otra variable denominada “manipulada”, como se puede ver en la Figura 2.16.
Los controladores normalmente permiten la operación en modo “manual” dejando
al operador exterior elegir el valor de la variable manipulada, y también pueden operar en
modo automático efectuando modificaciones sobre la variable manipulada de acuerdo con
unas leyes de actuación. En el caso concreto que nos interesa para nuestro sistema, estas
leyes serán del tipo particular “PID”.
2.5.2 IMPORTANCIA DE LOS CONTROLADORES PID
La importancia de este tipo de controladores radica en los siguientes puntos:
• Son muy simples porque su comportamiento se puede realizar con elementos poco
sofisticados: puramente mecánicos, neumáticos o electrónicos.
Proceso Controlador
Variable a controlar
Variable manipulada
Punto de consigna
Figura 2.16. Modelo de controlador
Control de motores y calibración no coplanar Rubén Collado Hernández
28 GCII-FAIS-UPM®DOC002-00
• Se encuentran sumamente extendidos en el control de procesos. Los primitivos
controladores eran PID y ahora siguen implantándose masivamente.
• A pesar de ser simples su eficacia es buena de forma que en la actualidad se utilizan
mucho aún disponiendo de herramientas para realizar algoritmos de control mucho
más sofisticados. Sólo en casos muy puntuales, en los que el control PID es
insuficiente, se recurre a realizar análisis más profundos y a obtener algoritmos más
apropiados a la dinámica del proceso que se pretende controlar.
2.5.3 DESCRIPCIÓN DEL CONTROL PID
La actuación de un controlador PID se puede descomponer en tres componentes
que son la acción Proporcional (P), la acción Integral (I) y la acción Derivada (D).
Seguidamente se describe cada una de estas tres componentes:
2.5.3.1 Acción proporcional
Se llama acción proporcional cuando la actuación sobre la variable manipulada
es proporcional a la desviación o error de la variable a controlar desde su consigna.
Cada incremento de desviación tendrá como respuesta un incremento de actuación
proporcional al primero. La intensidad de la acción proporcional la determina su parámetro
denominado “Ganancia”.
Incremento de desviación X Ganancia = Incremento de actuación
Si la respuesta a una desviación de un 1% es una actuación de un 3% se dice que el
controlador tiene una ganancia de 3.
El valor de la ganancia de un controlador depende de las escalas que se elijan para
la variable a controlar y para la variable manipulable. Por ejemplo si un proceso necesita
para compensar el error de 1 grado de su temperatura la válvula se mueva un 1%, su
controlador debería estar ajustado con una ganancia de un 1 si la escala fuese 100 grados, o
con una ganancia de 10 si su escala fuese 1000 grados.
La intensidad de la acción proporcional también se cuantifica con el parámetro
“banda proporcional” que es la banda de desviación que supone una actuación de un 100%.
Una banda proporcional de un 25% es equivalente a una ganancia de 4.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 29
Los controladores proporcionales permiten errores permanentes por lo que
normalmente siempre actúan junto con la acción integral.
2.5.3.2 Acción integral
La actuación integral del controlador es proporcional a la desviación de la
variable a controlar y al tiempo que se mantiene esta desviación. Se trata de una
integración en el tiempo. El parámetro que cuantifica la acción integral se expresa en
repeticiones por unidad de tiempo que es el tiempo que tarda la acción integral en repetir la
actuación correspondiente a la acción proporcional en el caso de que se mantenga el error
constante.
También se utiliza el parámetro inverso que le corresponden las unidades
recíprocas, esto es, número de unidades de tiempo por repetición.
La acción integral no permite errores permanentes y que ante ellos provoca
cambios continuos en la variable manipulada.
2.5.3.3 Acción derivativa
La acción derivativa es proporcional al cambio de pendiente de la variable a
controlar (o de la desviación). El parámetro que cuantifica la acción derivativa se expresa
en unidades de tiempo. El número de unidades de tiempo de este parámetro corresponde al
adelanto de la acción proporcional que se produce por la acción derivada.
Por ejemplo si la ganancia es 3, el parámetro derivativo es 2 segundos y se produce
un cambio de pendiente de 1%/segundo, la acción derivativa provocara una actuación de
un 6%.
2.5.4 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: DISEÑO DE UN
REGULADOR PID
Existen dos métodos básicos para el diseño de reguladores digitales:
a) Método continuo: se diseña el regulador con técnicas de control continuo(R(s)) y luego se discretiza.
b) Diseño digital directo: Se discretiza el modelo de planta y se realiza el diseñodel regulador mediante técnicas discretas.
Control de motores y calibración no coplanar Rubén Collado Hernández
30 GCII-FAIS-UPM®DOC002-00
Para el diseño del regulador PID del motor se recurre al segundo método,
discretizando el modelo del motor, con la finalidad de obtener los coeficientes Kp, Ki y Kd
para la optimización del proceso.
2.5.4.1 Método continuo
Un regulador puede ser discretizado reemplazando la derivada por una diferencia
respecto al punto de tiempo anterior y la integración por un sumatorio, con lo cual:
)(1
1−−⋅≈ kk eeTdt
de
∑∫=
⋅≈⋅K
iieTdte
0
donde T es el periodo de muestreo de la señal de error. Así, teniendo en cuenta el ciclo de
control en el programa, se puede escribir el regulador PID digital del siguiente modo:
−+⋅+⋅= −
=∑ )( 1
0kk
DK
iikk ee
T
Te
Ti
TeKU
como se vio en el PID del LM629. Los pasos para conseguir estos coeficientes son:
a) Cálculo de un PID continuo mediante las técnicas del Lugar de Raíces
El diagrama de bloques del motor, en forma continua, es el representado en la
Figura 2.27.
Figura 2.17. Diagrama de bloques del motor
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 31
Este modelo corresponde a un motor de corriente continua controlado por inducido
al que se le ha conectado una reductora con el fin de adecuar el movimiento del motor al
proceso de trabajo, donde el rozamiento y el momento de inercia se consideran
despreciables.
En primer lugar se trata de obtener un regulador P, resultando insuficiente, con el
cual se pone de manifiesto la imposibilidad de usarlo aisladamente, llevando al motor a la
inestabilidad. Más tarde se calcula un PD para introducir un cero en la función de
transferencia, es decir, se trata de llevar las ramas del lugar de raíces hacia la izquierda,
como se muestra en la Figura 2.18.a.
Este será el efecto de un PD, lo cual podría ser suficiente si se cumplen
satisfactoriamente las condiciones iniciales. En caso de no ser así, se debe obtener además
el efecto integral, para completar el PID.
Figura 2.18.a. Efecto de un regulador PD
Figura 2.18.b. Efecto de unregulador PID
Control de motores y calibración no coplanar Rubén Collado Hernández
32 GCII-FAIS-UPM®DOC002-00
b) Discretización del regulador continuo
Una vez hallado el regulador continuo es necesario realizar la transformación
pertinente del plano s al plano z, mediante un cambio de variable:
T
zs
11 −−=
En el caso del LM629, a una frecuencia de 2000 Hz, tenemos:
.105,02000
11 3 segf
T −⋅===
c) Obtención de los coeficientes
Por último, sólo queda asociar los coeficientes Kp, Ki y Kd con los resultados de
R(z) para aplicarlos directamente al LM629. Tras este ajuste teórico, deberá resultar
igualmente aceptable al contrastar los datos con ensayos experimentales.
2.5.4.2 Método digital directo: Método de Truxal
En el caso anterior, de discretización de reguladores continuos, la solución a la que
se llega no es única; esto es fácilmente comprensible teniendo en cuenta que el método de
obtención del equivalente discreto dará resultados diferentes dependiendo del periodo de
muestreo T o del orden del bloqueador usado.
Es más conveniente, por tanto, usar métodos que conducen a reguladores exactos,
de forma que la función de transferencia total del sistema satisfaga las condiciones de
funcionamiento exigidas. Este método existe y está muy difundido en el diseño de sistemas
discretos: el método de Truxal.
Figura 2.19. Discretización
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 33
Se trata de un método de síntesis directa que permite calcular el regulador R(z) de
una forma algebraica, de forma que el sistema total tenga una función de transferencia
M(z) concreta y fijada previamente, que se denomina modelo.
En síntesis, el sistema consiste en igualar la expresión de la función de transferencia
total del sistema con la del modelo para así despejar la función de transferencia
correspondiente al regulador. Para desarrollar este sistema se usa un bucle de
realimentación simple, como se puede ver en la Figura 2.20.
De este modo la transferencia salida-entrada viene dada por la expresión:
)()()(1
)()(
)(
)(
zHzGBzR
zGBzR
zX
zY
⋅⋅⋅+⋅⋅=
Si deseamos que el sistema tenga un comportamiento similar al de un modelo que
suponemos fijado, M(z), podemos escribir:
)()()(1
)()()(
zHzGBzR
zGBzRzM
⋅⋅⋅+⋅⋅=
de donde, despejando, obtenemos la función de transferencia del regulador R(z) que
necesitamos:
)()()()(
)()(
zMzHzGBzGB
zMzR
⋅⋅⋅−⋅=
El principal problema de este método es la elección de la función de transferencia
del modelo, M(z). Este modelo debe cumplir la especificaciones dinámicas y de régimen
Figura 2.20. Modelo de Truxal
Control de motores y calibración no coplanar Rubén Collado Hernández
34 GCII-FAIS-UPM®DOC002-00
permanente establecidas y además, que sea posible su realización física. Esto se logra a
través de tres condiciones:
- Condición de realización física: es el principio de causalidad, por el cual, al
resolver el regulador R(z), éste debe ser realizable físicamente, es decir, que la
salida en un instante ha de depender de la entrada en ese instante y en instantes
anteriores y de la salida en instantes anteriores. Esto se traduce en que el grado
del numerador del modelo ha de ser menor o igual que el grado del
denominador.
- Condición de simplicidad: implica que el regulador que se espera obtener se
debe poder implementar en un computador con el menor tiempo de ejecución
posible
- Condición de estabilidad: la elección del modelo ha de asegurar la estabilidad
del modelo total realimentado.
Una vez discretizado el modelo del motor por las técnicas convencionales y elegido
el modelo conveniente que presente las tres condiciones, se asocian los términos de R(z)
con los coeficientes Kp, Ki y Kd del regulador, que para nuestro sistema serán:
)(256 1
0−
=− −⋅+⋅+⋅= ∑ kk
K
iikkk eeKde
KieKpU
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 35
2.6 E/S DIGITALES: EL INTERFACE 82C55A DE INTEL
2.6.1 INTRODUCCION
En los Sistemas de Control actualmente implantados en los procesos industriales
predominan de forma rotunda los que utilizan entradas/salidas digitales o analógicas con
cableado para cada una de ellas, sin embargo en un futuro próximo el uso de las E/S
digitalizadas es previsible que progresivamente pasen a utilizarse de forma predominante.
En este apartado se indican las características básicas que tienen los circuitos utilizadas por
los sistemas de control para obtener la información de los procesos y actuar sobre ellos,
mediante señales digitales.
El circuito típicamente utilizado para las entradas digitales con cableado dedicado
para cada una de ellas es como se indica en la figura siguiente:
El circuito se cierra con el interruptor correspondiente a la entrada cuyo estado se
desea conocer y con un canal de una tarjeta del sistema. Este canal ofrece una impedancia
considerable al circuito de forma que cuando el contacto exterior cierra, la intensidad suele
ser de algún miliamperio (ver Figura 2.26). Se consume relativamente poca energía para
conocer el estado de la entrada.
INTERRUPTOR
+Vmasa
I<10 mA Pocos mA
Controladorcon alta
impedancia deentrada
Figura 2.21. Circuito de control de entradas digitales
Control de motores y calibración no coplanar Rubén Collado Hernández
36 GCII-FAIS-UPM®DOC002-00
2.6.2 EL INTERFACE PROGRAMABLE DE PERIFÉRICOS 82C55A DE INTEL
El controlador utilizado en el proyecto que nos ocupa es el chip 82C55A de Intel, el
cual es capaz de gestionar puntos de entradas/salidas digitales a través de la tarjeta de
comunicaciones instalada en el ordenador.
El Intel 82C55A es una versión industrial CHMOS de alto rendimiento (con 5200
transistores) del estándar 8255A, dispositivo programable para entradas y salidas (I/O)
diseñado para usarlo con microprocesadores Intel, aunque soporta la mayoría de las
plataformas. El integrado posee un puerto de control y 24 pines o patillas en tres puertos
(PA, PB y PC), configurables como entradas o salidas independientemente y programables
en dos grupos (A y B) de 12 pines mediante tres modos de operación (0, 1 y 2):
• Modo 0: Cada grupo puede ser programado en paquetes de 4 bits, que pueden
ser tanto entradas como salidas.
• Modo 1: Cada grupo puede programarse para tener 8 de sus líneas como
entradas o salidas, y las 4 restantes se usan para intercambios handshaking y el
control de las interrupciones.
• Modo 2: Es el llamado modo en bus direccional, que usa 8 líneas como un bus y
el resto para intercambios handshaking.
En resumen, las características más importantes de este integrado son:
- Compatibilidad con todos los productos de Intel y la mayoría del resto de
procesadores.
- Alta velocidad, superior a los 8 MHz.
- 24 pines programables como entradas o salidas.
- Bajo consumo por su tecnología CHMOS.
- Compatibilidad absoluta con la familia TTL.
- Posibilidad de lectura/escritura con control de puertos.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 37
2.6.3 DESCRIPCIÓN FUNCIONAL DEL 82C55A
2.6.3.1 General
La función de este integrado es, pues, la de servir de nexo de unión entre el sistema,
en nuestro caso de luz estructurada, y el computador, en lo que se refiere a las señales
digitales. La configuración funcional del 82C55A se realiza normalmente a través de un
sistema software, que manda un paquete de información al chip con el modo de
funcionamiento, el bit set, el bit reset,... inicializando su configuración.
Como hemos visto, este interface contiene tres puertos, llamados PA, PB y PC,
todos ellos configurables de múltiples maneras, según las necesidades del sistema. Éstos
puertos se encuentran encuadrados en dos grupos, A y B, del siguiente modo:
Los modos para los puertos A y B se definen por separado, mientras que el puerto
C se divide entre los dos grupos. Todos los registros de salida, incluyendo los estados de
los biestables se resetean cuando se cambia el modo, pudiéndose éstos combinar en la
búsqueda de la solución más adecuada.
2.6.3.2 Modo 0 de operación
El modo básico utilizado para pequeñas aplicaciones industriales es el modo 0. Esta
operatividad nos lleva a simples entradas y salidas para cada uno de los tres puertos, no
requiriendo del método handshaking, pues los datos se escriben o leen directamente sobre
el puerto específico.
Figura 2.22. Agrupamiento de los puertos del 82C55A
Control de motores y calibración no coplanar Rubén Collado Hernández
38 GCII-FAIS-UPM®DOC002-00
Este modo se caracteriza por:
- 2 puertos de 8 bit (PA y PB), y otros 2 puertos de 4 bit (PCH y PCL)
- Cada puerto puede configurarse como entrada o como salida
independientemente.
- Las salidas son cerradas, mientras que las entradas son abiertas.
Así pues, de este modo surgen 16 posibles configuraciones, según el estado del
puerto de control, como se puede ver en la Figura 2.23.
Figura 2.23.a. Configuraciones del modo 0 de operación
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 39
Figura 2.23.b. Configuraciones del modo 0 de operación
Control de motores y calibración no coplanar Rubén Collado Hernández
40 GCII-FAIS-UPM®DOC002-00
Cuando el 82C55A es programado en modo 0 como una salida, cada puerto tiene
ligeras diferencias en cuanto a su lectura. El valor leído desde el puerto A representará
físicamente el estado de ese patilla de salida, así, si esa patilla está a tierra, el valor leído
será siempre 00H, sin preocuparse por el valor escrito. Sin embargo, los valores leídos de
los puertos B y C son diferentes. Estos valores representan el estado de la salida cerrada,
no el estado físico, y si los puertos B y C son puestos a tierra el último valor escrito será el
leído, sin preocuparse del estado físico de la patilla.
2.6.4 ADQUISICIÓN DE DATOS. AISLAMIENTO OPTOELECTRÓNICO:
CONCEPTO Y CLASES
Cuando en un sistema hay que conectar el procesador central a elementos que no
están alimentados por su misma fuente de alimentación, hay que prever la existencia de
diferencias de potencial importantes entre los terminales de referencia a masa respectivos.
Este punto se pone de manifiesto en nuestro controlador digital SMCC-01 con la
posibilidad de unir la masa del ordenador con la masa de la fuente exterior mediante el
conector JP1, que finalmente fue cortocircuitado.
Mientras las señales procedentes de los sensores suelen ser analógicas, los
procesadores son digitales y la comunicación con otros sistemas se prefiere que sea
también digital, entre otras razones por su mayor inmunidad ante las interferencias. Esta
inmunidad se logra eligiendo adecuadamente el tipo y el código de transmisión, así como
reuniendo características adecuadas en el entorno. A nivel de realización física, el empleo
de cables apantallados y la disposición de las tomas de masa confieren mayor inmunidad,
aspectos no tenidos en cuenta en el proyecto debido a su carácter experimental.
El aislamiento en la adquisición o distribución de señales es necesario cuando hay
diferencias de potencial elevadas entre las tomas de masa, cuando se transmite a larga
distancia o simplemente cuando hay subsistemas con fuentes de alimentación
independientes, como ocurre con la CPU del ordenador y la fuente de alimentación del
motor y de los interruptores.
Las señales se aíslan normalmente mediante optoacopladores, que consisten en un
diodo emisor de infrarrojos y un fotodetector (fotodiodo o fototransistor). Todos los
optoacopladores son intrínsecamente unidireccionales, y esto evita que posibles
interferencias e incluso cortocircuitos en el circuito de entrada (motor) pasen a la salida
(CPU).
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 41
En un optoacoplador se combinan una fuente de luz, normalmente un LED
infrarrojo de AsGa y un fotodetector de Si, que puede ser desde un simple fotodiodo hasta
una combinación de éste con un circuito integrado que incluya un regulador de tensión y
un circuito elemental para el procesado de la señal (disparador Schmitt,...). Aunque es
posible formar un optoacoplador mediante componentes discretos, el diseño con elementos
integrados ofrece muchas más ventajas.
Los optoacopladores se clasifican según la señal de entrada que aceptan y según el
tipo de salida que ofrecen, mientras que sus características básicas son las relativas a la
transferencia y al aislamiento entre el emisor y el receptor. Algunos tipos de
optoacopladores disponibles comercialmente son los mostrados en la Figura 2.25.
Figura 2.24. Constitución de un optoacoplador
Figura 2.25. Tipos de optoacopladores comerciales
Control de motores y calibración no coplanar Rubén Collado Hernández
42 GCII-FAIS-UPM®DOC002-00
En lo referente a nuestro sistema, la tarjeta de control del SMCC-01 posee a la
entrada del 82C55A un conjunto de 8 integrados de 8 pines, cada uno correspondientes a
optoacopladores QTC 2531 capaces de aislar dos bit cada uno (Figuras 2.26 y 2.27).
V c c +24 V
M ic ro in t e rru p t o r R es is t en c ia
O pt o a c o pla d org e né ric o S e ñ a l o p t o a c o p lad a
I = 1 0 m A a pro x .
+0 . 5 V a pro x .
Q TC2 5 314 k 7
Figura 2.26. Esquema de conexión
Figura 2.27. Optoacopladores en la tarjeta de control
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 43
2.7 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA:COLOCACIÓN Y PROGRAMACIÓN DE LOS FINALES DECARRERA
Este apartado del control de las señales digitales resulta especialmente importante
en la colocación y programación de los finales de carrera. Éstos puntos están representados
por interruptores que se encuentran en conducción o no, según la posición del carro,
transmitiendo un 0 o un 1 a la CPU.
2.7.1 COLOCACIÓN
Para un control total de las situaciones extremas del motor se recurrió a cuatro
puntos de posición:
1) Representa la situación de principio de carrera en condiciones normales, es
decir, en funcionamiento correcto del motor.
2) Es el antagónico del anterior y representa las posición final extrema a la que
puede llegar el carro en un funcionamiento controlado.
3) y 4) Interruptores de emergencia encargados de cortar la alimentación del motor
en caso de pérdida del control del software, lo que evita un daño irreparable en
el motor.
Por motivos de comodidad, el número 2 no se ha situado físicamente por la
posibilidad de llevar una cuenta mediante software de la posición del motor en todo
momento. Así, los tres puntos restantes se distribuyen como se muestra en las Figuras 2.28
y 2.29.
Figura 2.28. Colocación teórica de los interruptores
Control de motores y calibración no coplanar Rubén Collado Hernández
44 GCII-FAIS-UPM®DOC002-00
El conexionado de los interruptores de principio y final de carrera es sencillo, basta
situarlos en serie con la fuente de alimentación, en nuestro caso de 24 V, y conectarlos al
frontal de la tarjeta de potencia en las entradas digitales (Figura 2.30). A partir de ahí, la
señal pasa al optoacoplador y llega al 82C55A que la interpretará como un 0 o un 1 para
que sea leído por el ordenador.
La conexión se realiza con un cable plano de 16 y conectores estándar, como se
puede ver en la Figura 2.32.
Figura 2.29. Colocación práctica de los interruptores
Figura 2.30. Frontal de la tarjeta depotencia. Conector de entradas digitales
Figura 2.31. Detalle de conexión al82C55A a través de un cable plano
Figura 2.32. Conector J10 de la tarjeta decomunicación y significado de los pines
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 45
Por otro lado, los interruptores de emergencia, aunque con una función
completamente diferente, presentan una conexión parecida: se encuentran en serie con el
motor de modo que en estado de reposo se encuentran cerrados (alimentando al motor) y al
pulsarlos se abren (cortando la alimentación del motor), como se puede ver en la Figura
2.33.
Es posible que la señal de principio de carrera falle por diversos motivos: por el
software, por perturbaciones, por rotura del interruptor, etc. Esto podría provocar graves
daños en el motor si no se detiene a tiempo, pues al llegar al límite del carro y ante la
imposibilidad de moverse más, el inducido pararía aumentando mucho su intensidad y
provocando su destrucción. Antes de que esto ocurra, se corta la alimentación del motor.
Para restablecer el funcionamiento se recurre a un pulsador en paralelo con los
interruptores de emergencia que permite el movimiento del motor hasta sacarlo fuera de las
posiciones extremas.
2.7.2 PROGRAMACIÓN
El fabricante del controlador SMCC-01 permite únicamente la configuración del
grupo A de patillas, que engloba al puerto A y a la parte alta del puerto C. Como hemos
visto, el puerto A es el único que muestra directamente el estado físico de la patilla que
representa. En nuestro caso, no interesa escribir nada en los puertos, sino simplemente
leerlos, y leer una señal eléctrica, es decir, un estado físico. Por este motivo se recurre ala
programación del puerto A.
En cuanto a los modos de funcionamiento se recurre al modo 0, por ser el más
común y sencillo de todos ellos. De las 16 posibles configuraciones propuestas en la Figura
2.23 se podrían utilizar de la 8 a la 15 (puerto A como entrada)escogiéndose de entre ellas
la número 8. Para ello se escribe en el puerto de control 90H.
Figura 2.33. Conexión de los interruptores deemergencia y del pulsador
Control de motores y calibración no coplanar Rubén Collado Hernández
46 GCII-FAIS-UPM®DOC002-00
Una vez se tiene el control configurado necesitamos leer el puerto A , mediante las
funciones implementadas para el controlador. Para hacer esto se necesita conocer la
dirección del puerto a través de los datos del fabricante:
Puerto A = Dirección base + 12
Puerto B = Puerto A + 1
Puerto C = Puerto A + 2
Puerto de control = Puerto A + 3
Windows NT no permite acceder al hardware directamente y por tanto no se puede
acceder a los puertos. Las posibles soluciones son crear un driver para NT (lo cual resulta
complicado y tedioso), comprar un driver universal (potentes aunque muy caros) o usar
distribuciones gratuitas que permiten operaciones básicas de entrada y salida. Una vez se
tiene abierta la posibilidad de acceder al hardware, utilizando las herramientas
administrativas se puede ver la dirección base, por ejemplo 0378H.
Una vez hecho esto, basta con leer directamente el dato del puerto que ya vendrá
dado como 0 o 1. Durante este paso se plantea un segundo problema, el efecto de los
rebotes en el interruptor. Ante esto se puede diseñar un supresor de rebotes por hardware,
como los mostrados en las Figuras 2.35 y 2.36, o por software. En el proyecto se recurrió
al segundo método, implementando un algoritmo que lee el puerto durante un cierto tiempo
(100 ms) y que si en ese tiempo se mantiene constante valida el dato de entrada.
Figura 2.34. Configuración del puerto Acomo entrada
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 47
Todo esto se recoge dentro de la opción Lectura Puerto (Figura 2.37b) del menú
del programa principal (Figura 2.37a).
Figura 2.35. Supresor de rebotesbasado en puertas lógicas
Figura 2.36. Supresor de rebotesbasado en un Schmitt
Figura 2.37.b. Comando LecturaPuerto del menú
Figura 2.37.a. Programa ControlVision3d
Control de motores y calibración no coplanar Rubén Collado Hernández
48 GCII-FAIS-UPM®DOC002-00
2.8 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA:ESTUDIO Y EXPERIMENTACIÓN DEL SISTEMA DEPOSICIONAMIENTO DEL CARRO LINEAL
Una vez que se hizo viable el conocimiento de los estados de los interruptores se
desarrolló un control sobre el posicionamiento del carro lineal, estudiándose dos grandes
grupos:
• Direccionamiento al principio de carrera
• Control de intervalos
que unidos a la lectura del puerto permiten un control total de la situación del motor.
2.8.1 DIRECCIONAMIENTO AL PRINCIPIO DE CARRERA
Si al hacer una lectura del puerto se ve que el motor no se encuentra al principio de
carrera, es posible llevarlo allí mediante la opción Principio Carrera del menú. En ese
momento se ejecuta una función que mueve el motor hacia atrás mientras lee el puerto,
hasta que detecte un 1 en el interruptor de principio de carrera, instante en el que realiza
una parada suave del motor y muestra por pantalla el tiempo transcurrido.
2.8.2 CONTROL DE INTERVALOS
Para realizar la adquisición tridimensional de la pieza, ésta debe moverse, pero no
de un modo continuo, sino a intervalos constantes, permitiendo un tiempo para tomar,
Figura 2.37. Cuadro de diálogo deconfirmación de principio de carrera
Figura 2.38. Motor preparado en elprincipio de carrera
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 49
tratar e interpretar las imágenes. Además se debe tener en cuenta la posibilidad de aplicar
un offset de salida, así como un tiempo de espera para la posible recolocación de la pieza.
Todo esto se recoge dentro del comando Control Motor del menú.
Como se puede ver en la Figura 2.39 el programa lo primero que hace es comprobar
el estado del sistema. En caso de que el motor no se encuentre en el principio de carrera, un
cuadro nos pregunta si se desea llevarlo allí, aunque es posible comenzar el movimiento
desde una posición cualquiera. Después se carga el cuadro de control, con los datos del
offset inicial y se registran los datos referentes a los intervalos, como la distancia que
deben recorrer, el tiempo de espera (en caso de que se desee un tiempo extra a parte del
empleado por el algoritmo de adquisición) y el número de ellos. Una vez aceptado,
comienza el movimiento, ejecutándose en cada intervalo los pasos necesarios para la
adquisición, el tratamiento y la interpretación de las imágenes.
Figura 2.40. Cuadro de diálogo para el control de losintervalos
Figura 2.39. Comprobación de la situación del motor antes de iniciar elmovimiento
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 51
LUZ ESTRUCTURADA. SISTEMA
DE CAMARA
La información 3D de la escena se obtiene a partir de imágenes de las
deformaciones que se producen en un patrón de iluminación conocido al
incidir sobre los elementos de la escena. Los aspectos a tener en cuenta
en el desarrollo de estas técnicas son el patrón de luz elegido, las
propiedades de los objetos que forman la escena y la geometría del
sistema de visión.
La obtención de la información 3D se puede dividir en varias tareas:
• Calibración, tanto de las cámaras como del resto del sistema (patrón
de luz, finales de carrera, etc.).
• Extracción de las características necesarias de la imagen 2D.
Control de motores y calibración no coplanar Rubén Collado Hernández
52 GCII-FAIS-UPM®DOC002-00
• Determinación de las características 3D en base a las
características extraídas de la imagen y del modelo utilizado.
Hay sistemas en los que el patrón es simplemente un rayo de luz que, al proyectarse
sobre los objetos genera un punto. Conocidas las posiciones y
orientaciones relativas de la fuente luminosa y la cámara se calcula la
posición del objeto por triangulación.
En nuestro caso, mediante la óptica adecuada, se convierte ese rayo
láser en una plano, que no genera un punto, sino toda una línea de corte.
Esta es la técnica más extendida y sencilla. Se ilumina la escena con un
plano de láser que al incidir sobre el objeto genera una línea. Una cámara
situada a una cierta distancia e inclinación del plano capta la línea
producida y por triangulación se determina la posición espacial de la
línea. Se puede utilizar un plano de luz (mediante ópticas cilíndricas) o
barridos del haz (geometría sincronizada).
Uno de los puntos más importantes de estos sistemas es la correcta
calibración de todos los elementos, principalmente de la cámara. La
calibración da a los sistemas de visión tridimensional la habilidad de
convertir medidas hechas en coordenadas de cámara (pixeles) a
coordenadas en tres dimensiones del mundo real (milímetros, pulgadas,
etc.). Los sistemas sin calibración típicamente se ven limitados a las
aplicaciones de reconocimiento de objetos, no permitiendo la verificación
dimensional, el control de calidad y la digitalización en tres dimensiones.
Por calibrar una cámara se entiende asociar cada pixel de la imagen que
toma con un punto tridimensional en el espacio.
Todos los sistemas de calibración usan un algoritmo parecido,
toman una medidas conocidas, normalmente a través de una rejilla de
calibración (ver Figura 3.1), y estudian loa posición de los elementos en
relación con la vista de la cámara.
La calibración es probablemente el aspecto fundamental de los
sistemas de visión tridimensionales, aunque a menudo se subestima. A
pesar de que es relativamente simple proveer al sistema de una buena
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 53
calibración con pocos elementos en la rejilla, a veces se necesita recurrir a
métodos más avanzadas, como las técnicas subpixel.
Hay muchas técnicas de calibración. La más sencilla consiste en
relacionar cada pixel con un milímetro de la rejilla en términos de una
simple ecuación lineal llamada DLT (Direct Linear Transform). Este
sistema es fácil de implementar, pero no tiene en cuenta distorsiones
radiales o tangenciales, ni discontinuidades en las superficies. Una forma
de resolver esto es creando un modelo más complejo del sistema, que
incluya las distorsiones radiales y otros efectos (como el efecto barril) que
se pueden producir en la vista de la cámara. El método más popular y
extendido es el de Tsai, principalmente para la calibración de cámaras,
aunque puede ser usado para calibrar otro tipo de elementos.
Aplicando el método de Tsai se pueden distinguir dos tipos de
calibración:
• Calibración coplanar: donde los puntos de la rejilla de calibración
son coplanares, es decir, se encuentran en el mismo plano.
• Calibración no coplanar: la rejilla de calibración es un sistema
tridimensional con puntos en las tres coordenadas del espacio.
Figura 3.1. Rejillas de calibración coplanar (derecha) y no coplanar (izquierda)
Control de motores y calibración no coplanar Rubén Collado Hernández
54 GCII-FAIS-UPM®DOC002-00
3.1 CALIBRACIÓN COPLANAR
La calibración coplanar necesita una serie de puntos cuya característica sea que su
coordenada Z sea cero. Además se requiere como mínimo cinco puntos y el parámetro sx
de corrección no se puede obtener, no será modificado.
Por tanto una vez que se inicializan los parámetros intrínsecos de la cámara y se
conocen las coordenadas reales (Xw, Yw, Zw) de una serie de puntos y las coordenadas en
la imagen de esos mismos puntos (Xf, Yf) se calcula la matriz de rotación R y el vector de
traslación T.
Para ello se calcula en primer lugar las coordenadas con distorsión de los puntos de
la imagen de la forma:
xs
dpxCxXfXd )( −=
dpyCyYfYd )( −=
Donde se manejan en primer lugar datos aproximados como el centro de la imagen
y datos suministrados por el fabricante.
Teniendo en cuenta que el vector POZP y el vector OPD son paralelos podemos
escribir:
XcYdXdYcYcXcYdXd −==× 0),(),(
)()( 321654 TxZwrYwrXwrYdTyZwrYwrXwrXd +++=+++
Despejando Xd:
[ ] Xd
Tyr
Tyr
TyTx
Tyr
Tyr
XdYwXdXwYdYdYwYdXw =
5
4
2
1
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 55
Como se tienen cinco incógnitas se necesitaran al menos cinco puntos para resolver
el sistema y el resto de términos para obtener la matriz de rotación vendrá como:
=
=
TyrTyrTyr
TyrTyrTyr
TyrTyrTyr
ccc
ccc
ccc
C
987
654
321
987
654
321
Para obtener entonces Ty basta con solucionar el determinante obteniendo:
( )24512
)2451(4 222
cccc
ccccSrSrTy
−−−−
=
2222 4321 ccccSr +++=
Salvo si se cumplen alguna de las condiciones siguientes:
• c1 = c2 = 0
222
54
1
ccTy
+=
• c1 = c4 = 0
222
52
1
ccTy
+=
• c4 = c5 = 0
222
21
1
ccTy
+=
• c2 = c5 = 0
222
41
1
ccTy
+=
A continuación para ver el signo de Ty se toma un punto cualquiera y se supone Ty
como un valor positivo. Se sustituye en:
TxYwrXwrX ++= 21
Control de motores y calibración no coplanar Rubén Collado Hernández
56 GCII-FAIS-UPM®DOC002-00
TyYwrXwrY ++= 54
donde:
TyTy
rr
11=
TyTy
rr
22 =
TyTy
rr
44 =
TyTy
rr
55=
TyTy
TxTx =
Si los resultados coinciden entonces Ty es positivo en caso contrario Ty es
negativo.
El siguiente paso es encontrar los elementos que faltan de la matriz de rotación tales
como r3, r6, r7, r8, r9. Estos salen de las siguientes expresiones:
22 2113 rrr −−=
22 5416 rrr −−=
53627 rrrrr −=
61438 rrrrr −=
42519 rrrrr −=
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 57
El último paso que queda es obtener la distancia focal f y la componente Tz del
vector de traslación. Para ello se disponen de tres matrices. La primera matriz tiene una
estructura parecida a:
[ ]YdTyYwrXwrM −++= 54
La segunda matriz tiene la forma:
[ ]iii YdYwrXwrB ++= 87
La tercera se compone de dos filas y una columna:
=
2
1
a
aA
Resolviendo MA = B o lo que es lo mismo A = M-1B obtenemos en la componente
a1 la distancia focal y en la componente a2 el valor de Tz. Una vez que se han obtenido los
diferentes valores o parámetros se sustituye y se obtienen los valores deseados.
3.2 CALIBRACIÓN NO COPLANAR
En este caso los puntos que se usan como sistema pueden tener componente z, por
lo que la formulación, aunque parecida, se diferencia en algunas expresiones. Como
número de puntos necesarios para solucionar los problemas de indefinición de ecuaciones
es once. Para empezar se parte de las coordenadas centrales de la imagen Cx y Cy y sx
igual a la unidad.
El proceso es análogo al anterior teniendo en cuenta ahora que la componente Z es
diferente de cero. En primer lugar se calcula un valor aproximado de Xd, Yd y r teniendo
en cuenta que se parte de valores aproximados como antes se ha comentado.
)( CxXfs
dpxXd
x
−=
Control de motores y calibración no coplanar Rubén Collado Hernández
58 GCII-FAIS-UPM®DOC002-00
)( CyYfdpyYd −=
222 YdXdr +=
A continuación se busca como en el apartado anterior los componentes de la matriz
de rotación y del vector de traslación con la ayuda de tres matrices
[ ]XdZwXdYwXdXwYdYdZwYdYwYdXwM iiii −−−=
[ ]iXdB =
=
7
6
5
4
3
2
1
a
a
a
a
a
a
a
A
Resolviendo el sistema A = M-1B se obtiene que
Ty
ra
Ty
ra
Ty
ra
Ty
sra
Ty
sra
Ty
sra xsx 6
6;5
5;4
4;3
3;2
2;1
1 ======
El valor de Ty se obtiene de:
2222
765
1
aaaTy
++=
Y el símbolo se obtiene como se ha hecho en el apartado anterior con el valor de un
punto conocido.
Los componentes r1-r6 de la matriz de rotación se obtienen multiplicando las
diferentes expresiones por cada ai, por el valor de Ty obtenido así como el valor de Tx.
El valor de sx se obtiene con la expresión:
Tyaaasx +++= 222 321
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 59
Una vez obtenidos los valores más reales de algunos parámetros que se habían
supuesto se vuelve a repetir el proceso anterior para conseguir el valor de las componentes
de la matriz de rotación obteniendo una matriz de la forma:
=
−−− 987
654
321
425161435362
654
321
rrr
rrr
rrr
rrrrrrrrrrrr
TyaTyaTyas
Tya
s
Tya
s
Tya
xxx
Por último solo quedaría obtener el valor de la distancia focal y la componente Tz
del vector de traslación como se ha hecho en el apartado anterior resolviendo un sistema de
ecuaciones.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 61
DESARROLLOS FUTUROS
El futuro del proyecto pasa fundamentalmente por tres pilares:
• La calibración no coplanar de la cámara mediante la aplicación de las técnicas
de Tsai.
• La adquisición e interpretación de las isolíneas para la generación de ficheros
CAD.
• El montaje y configuración de un segundo carro lineal que permita un
movimiento bidireccional.
Para la calibración no coplanar se aplicarán las técnicas de Tsai anteriormente
expuestas usando la rejilla de la Figura 3.1. En el programa de control ya se encuentra
implementada la calibración coplanar, habilitando junto a ella un nuevo comando para la
no coplanar, como se puede ver en la Figura 4.1.
Control de motores y calibración no coplanar Rubén Collado Hernández
62 GCII-FAIS-UPM®DOC002-00
En cuanto a la generación de perfiles tridimensionales basados en la adquisición de
isolíneas, el comando Adquisición3D ejecutará un bucle tantas veces como intervalos se
programen en el motor, en los cuales debe coger las imágenes, tratarlas, e ir interpretando
los datos en un fichero DXF que posteriormente se pueda abrir con un sistema CAD, como
puede verse en la Figura 4.2.
Por último, se pretende el montaje y control de un segundo motor de corriente
continua (el controlador puede manejar incluso tres) que permita un movimiento
bidireccional del carro, con el objetivo de llegar a partes del objeto que de otro
permanecerían ocultas.
, como puede verse en la Figura 4.2.
Figura 4.1. Comandos de calibración
Figura 4.2. Adquisición tridimensional de objetos
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 63
4.1 GENERACIÓN DE FICHEROS CAD BASADOS EN ISOLÍNEAS
Los sistemas CAD (Computer Aided Design) ofrecen editores gráficos en los
cuales se pueden crear nuevos ficheros, abrirlos, modificarlos, etc. Pero en muchas
ocasiones se requiere que los sistema CAD importen esos ficheros desde otras
aplicaciones. Este es el caso que nos ocupa en el proyecto, crear un fichero determinado,
que más tarde pueda ser abierto, modificado y guardado por un sistema CAD.
Existen cinco tipos básicos de formatos de ficheros para importar o exportar datos:
• Formato DXF en modo ASCII
• Formato DXF en modo binario
• Formato DWG
• Ficheros DXB
• Ficheros con formato Slide
Los ficheros DXF (Drawing Interchange Format) permiten el intercambio de
dibujos entre los sistemas CAD y otros programas, pudiendo ser implementados en código
ASCII o directamente en binario. El primero de ellos es mucho más común y es el que se
sobreentiende cuando se habla de este formato. Ambos contienen una detallada
información sobre el sistema CAD. El formato DWG es similar al anterior pero de un
modo comprimido.
Muchas veces este intercambio de datos no se permite, por no tener el CAD un tipo
de objeto equivalente en el otro programa. En este caso se recurre al formato DXB
(Drawing Interchange Binary) que crea una simple descripción geométrica del dibujo.
Por último, los ficheros Slide CAD son imágenes en pantalla, escritas mediante el
comando MSLIDE y leídas por VSLIDE. Consiste un encabezamiento de 31 bytes y en
uno o más datos de distinta longitud.
Control de motores y calibración no coplanar Rubén Collado Hernández
64 GCII-FAIS-UPM®DOC002-00
4.1.1 FORMATO DE ARCHIVO DXF
De todos ellos el formato más extendido es el DXF en ASCII, y será el que
usaremos para nuestro proyecto. Este apartado contiene la información necesaria para
escribir ficheros en DXF, todo ello aplicado a la adquisición de las isolíneas.
Esencialmente un fichero DXF está formado por un par de códigos y valores
asociados. Los códigos, conocidos como Grupos de Código, indican el tipo y el valor de lo
que le sigue. Usando un Grupo de Código y un par de valores, un fichero DXF se organiza
en secciones, las cuales se componen de registros. Cada Grupo de Código y valor es una
línea del fichero DXF.
Cada sección empieza con un Grupo de Código 0 seguido de la cadena SECTION.
Más tarde aparece un Grupo de Código 2 con una cadena que indica el nombre de la
sección, por ejemplo HEADER. Cada sección se compone de Grupos de Código y valores
que definen sus elementos. Una sección termina con el grupo 0 y la cadena ENDSEC.
Ejemplo: SECTION HEADER ..... ..... ENDSEC
La organización global de un fichero DXF es la siguiente:
1. Sección HEADER: contiene información general acerca del dibujo. Es una base
de datos con la versión y las variables del sistema. Cada parámetro contiene una
variable asociada a un nombre y un valor.
2. Sección CLASSES: mantiene a la información de las clases definidas en la
aplicación, por ejemplo, BLOCKS, ENTITIES y OBJECTS.
3. Sección TABLES: contiene la definición de las tablas simbólicas:
• APPID: identificación de la tabla aplicación
• BLOCK_RECORD: referencia a la tabla de bloques
• DIMSTYLE: dimensión de la tabla de estilos
• LAYER: tabla de capas
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 65
• LTYPE: tabla de tipos de línea
• STYLE: tabla de estilos de texto
• UCS: tabla del sistema coordinador del usuario
• VIEW: tabla de vista
• VPORT: configuración del puerto vista
4. Sección BLOCKS: contiene la definición de los bloques y el dibujo de las
entidades a la que cada bloque hace referencia en el dibujo.
5. Sección ENTITIES: contiene las entidades u objetos gráficos del dibujo.
6. Sección OBJECTS: representa los objetos no gráficos del dibujo
Los Grupos de Código y sus valores asociados definen los aspectos específicos de
cada bloque o entidad. La línea inmediatamente siguiente de un Grupo de Código es su
valor asociado. Este valor puede ser una cadena de caracteres, un entero o un valor
decimal, como la coordenada x de un punto. Las líneas siguientes, si las hay, son
determinadas por la definición del grupo y a los valores asociados a él.
Un grupo especial es el usado como fichero separador, marcando los puntos de
comienzo y final de cada sección, tabla, o incluso el final del propio fichero.
La máxima longitud de una cadena de caracteres en formato DXF es de 256. Si se
excede de esta cifra el sistema no dará error, pero lo truncará en ese punto mediante el
comando DXFOUT. El comando DXFIN si que puede fallar si la cadena excede de ese
tamaño.
A la hora de programar un fichero en DXF, se debe tener claro cuales son los
aspectos que realmente se necesitan para el dibujo, e ignorar el resto. A la hora de leerlo
ocurre exactamente los mismo.
Escribir un DXF supone mantener una coherencia con el dibujo y no omitir detalles
significativos que usará más tarde el sistema CAD. La sección HEADER puede ser omitida
Control de motores y calibración no coplanar Rubén Collado Hernández
66 GCII-FAIS-UPM®DOC002-00
si no se tienen variables de cabecera, al igual que ocurre con la sección TABLES. Un
detalle importante es no omitir nunca la cadena EOF al final del fichero.
4.2 CONTROL DEL CARRO LINEAL CON MOVIMIENTO
BIDIRECCIONAL
Como hemos visto, un segundo motor permitiría un movimiento en dos
dimensiones de la pieza, lo que facilitaría en parte su comprensión analítica. Para ello se
debe diseñar una situación alternativa y conectarlo al controlador SMCC-01 para realizar
un control por software tal como se explicó para el primer motor.
Especial importancia adquiere la perfecta sincronización entre ambos motores, para
lo cual se puede recurrir, por ejemplo, a la inhabilitación de uno de ellos cuando el otro se
encuentre actuando, de modo que se evitan posibles errores que invalidarían los datos
obtenidos.
Rubén Collado Hernández Control de motores y calibración no coplanar
GCII-FAIS-UPM®DOC02-00 67
BIBLIOGRAFÍA
OGATA, Katsuhiko : Ingeniería de control moderna, Ed. Prentice Hall, Tercera
Edición, 997 pags.
PALLÁS ARENY, Ramón: Adquisición y distribución de señales, Ed. Marcombo,
Barcelona, 1993, 426 pags.
VV.AA. : Electrónica industrial: Técnicas de potencia, Ed. Marcombo, Segunda
Edición, 477 pags.
BARBERO, Jorge: Control de motores de corriente continua, Grupo de Control e
Informática Industrial de la Escuela Universitaria de Ingeniería Técnica Industrial, 1997.
ANGUITA MALDONADO, Manuel : Sistemas de Luz Estructurada, Grupo de
Control e Informática Industrial de la Escuela Universitaria de Ingeniería Técnica
Industrial, 1999.
Otros:
y Informes y publicaciones de la red Internet.
y Data sheets de fabricantes y distribuidores.