+ All Categories
Home > Documents > INDICE - elai.upm.es · PDF filecoeficientes del PID que se encuentra implementado dentro del...

INDICE - elai.upm.es · PDF filecoeficientes del PID que se encuentra implementado dentro del...

Date post: 08-Mar-2018
Category:
Upload: vuminh
View: 212 times
Download: 0 times
Share this document with a friend
67
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 ......................................................................................................... 9 2.2.1 INTRODUCCIÓN...................................................................................................... 9 2.2.2 MOTORES DE CORRIENTE CONTINUA ............................................................... 9 2.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 .........................................20 2.4.1 INTRODUCCIÓN.....................................................................................................20 2.4.2 MODO DE OPERACIÓN .........................................................................................21 2.4.3 EL GENERADOR DE TRAYECTORIAS.................................................................22 2.4.4 LA REALIMENTACIÓN EN POSICIÓN .................................................................23 2.4.5 EL FILTRO DIGITAL PID .......................................................................................24 2.4.6 LA SALIDA PWM....................................................................................................25 2.5 DISEÑO DEL REGULADOR PID ................................................................................27 2.5.1 CONCEPTO DE CONTROLADOR ..........................................................................27 2.5.2 IMPORTANCIA DE LOS CONTROLADORES PID................................................27 2.5.3 DESCRIPCIÓN DEL CONTROL PID ......................................................................28 2.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.............................................35 2.6.1 INTRODUCCION.....................................................................................................35 2.6.2 EL INTERFACE PROGRAMABLE DE PERIFÉRICOS 82C55A DE INTEL ..........36 2.6.3 DESCRIPCIÓN FUNCIONAL DEL 82C55A............................................................37 2.6.4 ADQUISICIÓN DE DATOS. AISLAMIENTO OPTOELECTRÓNICO: CONCEPTO Y CLASES ...................................................................................................40 2.7 APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: COLOCACIÓN Y PROGRAMACIÓN DE LOS FINALES DE CARRERA....................................................43 2.7.1 COLOCACIÓN .........................................................................................................43 2.7.2 PROGRAMACIÓN ...................................................................................................45 2.8APLICACIÓN AL SISTEMA DE LUZ ESTRUCTURADA: ESTUDIO Y EXPERIMENTACIÓN DEL SISTEMA DE POSICIONAMIENTO DEL CARRO LINEAL.................................................................................................................................48 2.8.1 DIRECCIONAMIENTO AL PRINCIPIO DE CARRERA.........................................48 2.8.2 CONTROL DE INTERVALOS .................................................................................48
Transcript

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.

Control de motores y calibración no coplanar Rubén Collado Hernández

6 GCII-FAIS-UPM®DOC002-00

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

Control de motores y calibración no coplanar Rubén Collado Hernández

50 GCII-FAIS-UPM®DOC002-00

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.

Control de motores y calibración no coplanar Rubén Collado Hernández

60 GCII-FAIS-UPM®DOC002-00

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.


Recommended