Você está na página 1de 84

Enginyeria en Automàtica i Electrònica Industrial

PROYECTO FINAL DE CARRERA


Sistema de Visión Artificial

AUTOR: Daniel Martínez Barambio


DIRECTOR: Eduard Llobet Valero

FECHA: Septiembre / 2003


A mis padres, gracias por vuestro esfuerzo.

A Montse, mi niña bonita.

A Eduard Llobet, por su atención y disponibilidad.


0.- ÍNDICE
Sistema de Visión Artificial 0 Índice

Sistema de Visión Artificial

0 Índice i

1 Introducción 1
1.1 Antecedentes 1
1.2 Objectivos 1
1.3 Qué es IMAQ? 2
1.4 Porqué se utiliza LabVIEW? 2

2 Sistemas de Visión Artificial 3


2.1 Sistemas de percepción artificial 3
2.2 Instrumentación Virtual 6
2.3 Componentes de un sistema de visión basado en PC 10

3 Especificaciones del Sistema 11


3.1 Descripción del Proceso 11
3.2 Objeto a Examinar 12
3.3 Cámara de Vídeo + Óptica 14
3.3.1 Selección de la cámara 14
3.3.2 Óptica 17
3.3.3 Nivel de detalle 20
3.4 Iluminación y acondicionamiento de la imagen 20
3.4.1 Requisitos fundamentales 20
3.4.2 Sistema de iluminación implementado 21
3.5 Cambios realizados para la integración en la CFF 24
3.6 Hardware IMAQ de adquisición de imágenes 28
3.6.1 Características generales básicas 28
3.6.2 IMAQ PCI-1407 29
3.7 NI-IMAQ Driver Software 31
3.8 Triggering 32
3.8.1 Especificaciones de triggering de la PCI-1407 32
3.8.2 Descripción del sistema de sensado 34
3.8.3 Programación en LabView 37
3.9 Control de avance de la PCB 45
3.9.1 Descripción de la aplicación 45
3.9.2 Programación en LabView 49

4 Manual del Usuario 54


4.1 Requisitos de funcionamiento 54
4.2 Setup del entorno de la Célula de Fabricación Flexible (CFF) 57
4.3 Funcionamiento del progama de inspección 60
4.3.1 Calibración de la Cámara 60
4.3.2 Capturar Imagen 61
4.3.3 Procesar Imágenes desde Fichero 62
4.3.4 Procesar Imágenes desde la Cámara. Aplicación de la CFF 63
4.4 Patrones, ROI’s y Mantenimiento del Sistema 63

i
Sistema de Visión Artificial 0 Índice

5 Resultados Obtenidos 65
5.1 PCB’s utilizadas 65
5.2 Limitaciones del Sistema 67
5.3 Nuevas vías de trabajo 68

6 Conclusiones 69

7 Bibliografía 70

ANEXO: Datasheets e Información asociada 71


? Relay datasheet
? Sensor datasheet
? ULN 2003 datasheet
? 4 Steps to Selecting the Appropriate Proximity Sensor or Switch
? Relay Technical Information

ii
1.- INTRODUCCIÓN
Sistema de Visión Artificial 1 Introducción

1 Introducción

El proyecto se enmarca dentro de la asignatura de Sistemas de Percepción, que pertenece


al segundo curso de la Ingeniería en Automática y Electrónica Industrial (2º ciclo). En una
parte sustancial del temario de la misma, se estudian técnicas para el procesado digital de
la imagen y sistemas de visión artificial.

En el presente proyecto, se pretende desarrollar un sistema de visión artificial para la


inspección de placas PCB en el entorno de una célula de fabricación flexible. Las placas
viajarán por una cinta transportadora, y el sistema será capaz de detectarlas y realizar el
control de calidad sobre las mismas. Para llevar a cabo el proyecto, se dispone de una
cámara CCD monocromo, una tarjeta de adquisición monocanal y el software necesario
para diseñar, depurar e implementar aplicaciones de visión artificial (librerías de IMAQ
Vision de Labview, específicas para el diseño de sistemas de visión artificial).

1.1 Antecedentes

El proyecto se ha desarrollado a partir de un proyecto ya defendido de visión artificial. Se


trata básicamente de acoplar un sistema de inspección de placas PCB en el entorno de una
célula de fabricación flexible. De esta manera, se puede ampliar el campo de aplicación de
este sistema, ya que puede ser usado en entornos más industriales. Por tanto, gran parte de
la documentación proviene de este proyecto, de la misma manera que el soft de
reconocimiento de patrones que se ha utilizado.

Además del entorno de la célula de fabricación flexible (cinta transportadora), también se


dispone de un armario de iluminación con una cámara CCD monocromo, una tarjeta de
adquisición monocanal, un sensor inductivo de proximidad y un circuito de activación de
una electroválvula (que controla el paso de las placas según sea el resultado de la
inspección).

1.2 Objetivos

? Rediseñar una aplicación para la inspección de componentes sobre placas PCB.

? Generar el hardware y software necesario para integrar la aplicación anterior en la


célula de fabricación flexible. Para ello, se utilizarán entornos de instrumentación
virtual como Labview.

? Diseñar, implementar y verificar los algoritmos de procesado de la imagen que


permitan realizar la aplicación escogida.

? Para diseñar los diferentes módulos de procesado de la imagen se utilizará el entorno


de diseño y depuración IMAQ Vision Builder y posteriormente se codificará utilizando
las funciones de IMAQ Vision para Labview.

? Se considerará la posibilidad de poner en la web del Departamento el material


generado.

1
Sistema de Visión Artificial 1 Introducción

1.3 Qué es IMAQ?

Es un conjunto de herramientas para el desarrollo de aplicaciones relacionadas con la


adquisición y el procesado de la imagen. Dentro del conjunto de aplicaciones, se pueden
distinguir dos grandes bloques:
? IMAQ Vision Builder: es una herramienta que sirve para realizar pruebas y ensayos en
aplicaciones de procesado de imágenes. Permite construir de manera intuitiva
algorismos hechos a medida, a la vez que también permite ejecutarlos para comprobar
su funcionamiento.
? IMAQ Vision for G: es un conjunto de funciones disponibles en LabVIEW que nos
permiten crear aplicaciones para el tratamiento y procesado de la imagen. La
funcionalidad es la misma que se consigue con IMAQ Vison Builder, pero en este caso
la aplicación se ejecuta desde Labview, con las ventajas que esto conlleva.

El IMAQ Vision Builder incluye una potente aplicación que permite traducir el algoritmo
que se ha creado a partir de Labview. Con esto se ahorra mucho tiempo, ya que es mucho
más rápido crear y probar algoritmos con IMAQ Vision Builder que con LabVIEW.

1.4 Por qué se utiliza LabVIEW?

Tradicionalmente, la mayoría de aplicaciones de control o de adquisición de datos se


programaban en lenguajes de alto nivel muy potentes tales como el C, Pascal, Basic, etc. El
problema de estos lenguajes es que no proporcionan la posibilidad de realizar la
programación de forma gráfica, con lo que ello implica. Por otro lado, existen lenguajes
como el Visual C++ o Visual Basic que permiten trabajar con entornos gráficos, pero son
mucho más complejos en su utilización a nivel de usuario.

En cambio, LabVIEW nos permite por un lado diseñar las pantallas que verá el usuario y a
través de las cuales interaccionará con el proceso a controlar. Por otro lado, este software
permite realizar el diseño de las diferentes subrutinas de control de manera simplificada y
ordenada, pudiendo ser llamadas desde el programa principal.

La programación en LabVIEW se podría comparar con una placa de circuito impreso, ya


que por un lado se tienen componentes electrónicos (transistores, resistencias,..) que es lo
que realmente el usuario ve por pantalla. Los terminales de cada elemento que aparece por
pantalla se rutearán a los bloques funcionales (circuitos integrados) para generar los datos
que se deseen visualizar. La programación se reliza de manera gráfica (editando y
conectando iconos), por lo que las aplicaciones se crean de manera intuitiva (plasmando las
ideas sobre diagramas de bloques). Todo esto se produce sin escribir ni una sola línea de
código.

Otro de los motivos de la utilización de LabVIEW es que el lenguaje incorpora una gran
cantidad de drivers para el control de instrumentos de laboratorio y periféricos del PC
(GPIB, RS232...). Todo esto facilita mucho el trabajo y aporta flexibilidad al sistema.

2
2.- SISTEMAS DE VISIÓN
ARTIFICIAL
Sistema de Visión Artificial 2 Visión Artificial

2 Sistemas de Visión Artificial

En el entorno industrial, se busca cada vez más la productividad (procesos más eficientes).
Además, estos niveles de productividad tienen que ir asociados con unos altísimos niveles
de calidad fianal del producto acabado. Por este motivo, es importante tener un control
exhausitvo sobre el proceso productivo. Una de las soluciones que se solía adoptar era la
de ubicar diversos controladores a lo largo de la línea productiva. De esta manera, se
podría detectar (mediante inspección ocular). El gran inconveniente de este tipo de testeo
parece claro, ya que la capacidad humana para realizar procesos repetitivos se reduce
increíblemente cuando además se requiere un gran nivel de precisión en la inspección.

Gracias a la constante reducción en costes y a la gran capacidad de los ordenadores, se


puede llegar a susutituir el cometido de una persona por un sistema de visión artificial. De
esta manera, se potencian las funciones del control de calidad de forma sustancial (la fatiga
humana es inexistente y la precisión del control es mucho mayor). Por tanto, la fiabilidad
de estos sistemas de control con respecto a la observación meramente visual es
indiscutible. Sin embargo, también presentan algunos inconvenientes: son instalaciones
hechas a medida, por lo que el coste de implementación es bastante elevado. Además, se
requiere realizar un enrenamiento del sistema y ajustar su funcionamiento. El problema
radica en que se depende mucho del entorno en el que se trabaja, de manera que factores
como la iluminación y la contaminación ambiental son cruciales. Es por estos
inconvenientes que no se acaba de ver clara la sustitución de los tradicionales controles de
calidad por estas nuevas herramientas automatizadas.

En el campo de la electrónica se tiene un ‘nicho’ por explotar. Es un mercado en el que el


control de calidad es más complicado (tamaño de pistas, componentes mal insertados, …).
Por este motivo, y si la producción es elevada, un sistema de visión artificial para el control
de calidad es muy recomendable. En consecuencia, se ha creido conveniente trabajar en
este proyecto, ya que el mercado demanda sistemas de este calibre para este tipo de
sectores tecnológicos.

2.1 Sistemas de percepción artificial


En términos generales, un sistema de percepción artificial es un sistema electrónico
multisensor capaz de obtener, procesar, analizar y reconocer información relativa al medio
donde se encuentra. Los bloques constituyentes de un sistema de percepción artificial, con
mayor o menor grado de flexibilidad, son los que se muestran a continuación:

Figura 2.1.1. Diagrama de bloques

3
Sistema de Visión Artificial 2 Visión Artificial

Los sensores son los que permiten obtener señales medibles características del medio que
se está analizando. El acondicionamiento de señal se encarga de extraer las características
más relevantes procedentes del sistema multisensor. Esta información compacta se
denomina patrón. El sistema de reconocimiento de patrones analiza esta información, de
manera que es capaz de aprender, categorizar y reconocer los patrones. Los actuadores son
un elemento que no forma parte del sistema de percepción propiamente dicho, pero que
normalmente se incluye en la mayoría de aplicaciones si se quiere actuar en función de la
toma de decisión del sistema.

Las equivalencias que se pueden encontrar entre percepción animal o biológica y


percepción artificial se muestran en la siguiente relación:

Visión artificial Vista

Olfato electrónico Olfato

Lengua electrónica Gusto

Manipulador Tacto

Sist. ultrasónicos Oído

Figura 2.1.2. Equivalencias percepción hombre-máquina

De entre las aplicaciones de la percepción artificial, se pueden destacar los siguientes


campos:
? Sistemas de visión: Robótica, control de calidad, identificación.
? Sistemas de olfato y de gusto: Analisis de aromas y detección de gases por los
primeros y líquidos por los segundos.
? Sistemas de tacto: Robótica, rugosidad.
? Sistemas de oído: Ultrasonidos (determinar posición, control de calidad, sensado
químico), sistemas de audio, identificación.

La aplicación que se ha desarrollado en el presente proyecto pertenece al grupo de sistemas


de visión artificial. Concretamente, se puede ubicar dentro de los sistemas de control de
calidad, ya que se trata de una aplicación de comprobación del correcto posicionado de
unos componentes en una placa PCB. Hoy en día, los sistemas de control de calidad de la
producción que la industria demanda a la visión artificial, son de cuatro tipos:

? Metrología unidimensional y bidemensional (25,6%). La aplicación de la


inspección del PCB corresponde a este grupo.
? Sistemas de guiado: robótica (16,3 %).
? Sistemas de inspección en plano (14,1 %). Por ejemplo, inspección de componentes
eléctricos i electrónicos.
? Metrología tridimensional (12,4%).

4
Sistema de Visión Artificial 2 Visión Artificial

Son varias las industrias clave en las aplicaciones de visión:


? Automatización industrial

Figura 2.1.3. Inspección de un contenedor

? Test y medidas

Figura 2.1.4. Pruebas en automoción

? Automatización de laboratorios

Figura 2.1.5. Recuento de células

5
Sistema de Visión Artificial 2 Visión Artificial

2.2 Instrumentación Virtual

Los sistemas de visión y procesado de imágenes basados en PC representan una alternativa


a los sistemas convencionales. Utilizando una cámara, una lente y un PC con el soft y el
hard apropiado (tarjeta de adquisisción de vídeo principalmente), se puede desarrollar un
sistema automático de inspección (tanto para control de calidad como para sistemas de
medida de alta precisión).

Impulsado por la convergencia de diversas tecnologías, aplicaciones de visión y porcesado


de imagen basadas en PC son hoy en día una realidad. Los avances tecnológicos
conseguidos, juntamente con la asombrosa evolución del PC (con micros más potentes y
robustos, sistemas operativos más estables), han hecho posible que el ususario final pueda
hoy en día desarrollar aplicaciones de procesado de imagen que antes estaban reservadas a
atuténticos especialistas o a empresas de gran poder adquisitivo.

Gracias a la instrumentación virtual y a la convergencia de almenos cuatro tecnologías , ha


sido posible que hoy en día se pueda hablar de aplicaciones de procesado de imagen
basadas en PC. A continuación, se muestra una figura que plasma lo expuesto:

Software y Bus Local


Hardware PCI
Amigables
Sistemas de
(IMAQ y DAQ)
Visión
Basados en PC Sistemas
Operativos más
Avances en CPU Robustos

Figura 2.2.1 Convergencia de tecnologías

Cada una de estas cuatro tecnologías tiene un papel fundamental en el avance de los
sitemas de procesado de imagen, en los que el PC ha sido un factor trascendental para el
desarrollo de este tipo de aplicaciones. Gracias al PC, la instrumentación virtual, es decir,
la utilización del PC para realizar funciones de instrumentos de medida, ha sido una
realidad desde hace unos años. Lógicamente, se han aprovechando los beneficios de las
CPU’s más potentes y sistemas operativos más robustos (Win NT), junto con canales de
comunicación (bus local PCI) más rápidos y flexibles. A continuación, se presenta un
esquema de lo que se puede considerar como un modelo de instrumentación virtual basada
en PC:

6
Sistema de Visión Artificial 2 Visión Artificial

Figura 2.2.2 Modelo de instrumentación basado en PC’s

Los sistemas de procesado de imagen son parte del modelo de instrumentación virtual en el
cual el PC es la plataforma sobre la cual se desarrollan, entre otras cosas, las aplicaciones
de captura, procesado, presentación y/o almacenamiento de imágenes y de control de
procesos basados en información gráfica o visual.

Son muchas las aplicaciones de la instrumentación virtual y de los sistemas de procesado


de imagen basados en el PC. Entre otras, se pueden nombrar campos como I+D, control de
calidad, pruebas y medidas automatizadas, control de procesos, ingeniería de
mantenimiento, etc. El modelo de instrumentación virtual mostrado anteriormente, permite
que un sistema de visión se pueda combinar con un sistema de control utilizando un solo
PC (con el uso de una tarjeta de adquisición de imagen, una tarjeta de adquisición de datos
y control y finalmente el soft correspondiente a cada aplicación).

Los componentes necesarios para formar un sistema de visión basado en PC se listan a


continuación:

- Un PC (Ordenador Personal)
- La tarjeta de captura y procesado de imágenes (IMAQ)
- El software de la aplicación (LabVIEW, IMAQ VISION, NI-IMAQ)
- La cámara (CCD, etc.)
- La iluminación apropiada.

7
Sistema de Visión Artificial 2 Visión Artificial

Figura 2.2.3 Sistema de visión

Dentro del PC, la estructura del software y el hardware necesarios en aplicaciones de


visión artifial, puede ser la siguiente:

Figura 2.2.4 Estructura de un sistema de visión basado en PC

8
Sistema de Visión Artificial 2 Visión Artificial

Gracias a esta estructura, se puede programar la tarjeta de adquisición de imágenes a un


nivel bastante simplificado. Es el paquete de interfase entre el hardware y la aplicación
(NI-IMAQ), el que se encarga de tranformar las órdenes a nivel Labview o C+ en señales
apropiadas hacia el hard para realizar las capturas correctamente. A continuación, se
presenta una figura en la que se pone de manifiesto la relación flexibilidad-coste en los
sistemas de visión artificial:
Flexibilidad
Definido por el
usuario Sistema
basado en PC

Integración de
sistemas de visión
Sistema
cerrado

Definido por el
fabricante Coste

Bajo Alto
Figura 2.2.5 Curva de solución de visión

Hoy en día, los sistemas de visión basados en PC ofrecen un aumento de productividad,


robusteza y fiabilidad de las líneas de producción, además de una alta eficiencia y la
capacidad de realizar tareas de inspección más sofisticadas. Desde la inspección de lentes
de contacto, hasta la selección de naranjas defectuosas de una línea de envasado, pasando
por la inspección de los sensores de los airbags de los automóviles. Además, las soluciones
de visión basadas en PC han incrementado gracias a la mejora de la relación precio-
funcionamiento. Por un lado, el coste será más bajo cuanta más flexibilidad tenga el
usuario a la hora de programar la aplicación. Los costes de desarrollo de visión también
están disminuyendo porque el hard y el software son más flexibles y configurables, por lo
que se reducen los tiempos de setup.

En la siguiente gráfica se refleja la evolución que ha sufrido y que se prevee en el mercado


de la visión artificial aplicada a la indústria europea. Las cantidades vienen expresadas en
millones de dólares:
1000 945,3
900
800 789,9
700 664,1
600 562
500 478,8
411,2
400 356,6
300
200
100
0
1997 1998 1999 2000 2001 2002 2003

Figura 2.2.6 Estadística y previsiones del mercado de visión

9
Sistema de Visión Artificial 2 Visión Artificial

2.3 Componentes de un sistema de visión basado en PC

Los elementos clave que componen un sistema de visión basado en PC son los siguientes:

Figura 2.3.1. Elementos de un sistema de visión basado en PC

? Iluminación (Lighting): Se tiene que pensar en la iluminación como el análogo al


condidiconamiento de señal en una aplicación de adquisisción de datos.
Seleccionando la técnica de iluminación adecuada, el desarrollo del software se
puede simplificar enormemente. En otras palabras, si la escena está correctamente
iluminada, la imagen adquirida tiene muchas más posibilidades de ser procesada
con éxito.
? Lentes y ópticas (Optics): Dependiendo de las dimensiones del objeto a
inspeccionar, las especificaciones de la cámara y la lente son vitales. En una
cámara será importante la medida del sensor CCD, y en la lente la distancia focal y
la mínima distancia de enfoque.
? Cámara: Se pueden solucionar muchas aplicaciones de visión con cámaras
analógicas estándar (monocromo y de color), ya que son fáciles de configurar y
mantener. En cambio, si se quiere mejorar la resolución y velocidades de
adquisición, se deben utilizar cámaras digitales. También existen cámaras de
infrarojos para aplicaciones térmicas.
? Plug-in IMAQ hardware (Frame grabber): Debido a la proliferación del hardware
de adquisición de imágenes, éste resulta más accesible económicamente. Además,
ofrece más funcionalidad, facilidad de configuración (plug&play), y versatilidad.
? Software de la aplicación, el cual puede ser gráfico (p.e. LabVIEW) o un lenguaje
en código escrito (p.e. LabWindows/CVI). Este soft, controla el dispositivo IMAQ,
así como el procesado y la visualización de la imagen capturada.
? Ordenador personal PC o PXI.

10
3.- ESPECIFICACIONES DEL
SISTEMA
Sistema de Visión Artificial 3 Especificaciones del Sistema

3 Especificaciones del Sistema

En este capítulo, se comentará en detalle en qué consiste el sistema de visión artificial que
se ha implementado. A grandes bloques, el sistema de visión se puede desglosar en las
siguientes partes:
? Célula de Fabricación Flexible (CFF).
? Placa PCB a examinar.
? Cámara de vídeo + óptica.
? Tarjeta de adquisición de imagen (IMAQ PCI-1407).
? Sistema de iluminación.
? Sistema de trigger.
? Sistema de retención/avance de la PCB.
? Soft de inspección (LabView).

Una vez enumerados los puntos de los que consta el proyecto, se emprezará por describir el
proceso en el cual se realizará la inspección de la placa de PCB en el entorno de la célula
de fabricación flexible.

3.1 Descripción del Proceso


Se trata de montar un sistema de visión artificial en el entorno de una célula de fabricación
flexible. Se tienen unas placas PCB en la que existen una serie de componentes insertados.
Estas placas viajarán por una cinta transportadora que se encuentra en una de las partes de
la célula de fabricación. El sistema tiene que ser capaz de detectar el paso de la platforma
sobre la que viajan las PCB’s, captar una imagen y procesarla para verificar la validez del
producto. Dependiendo del resultado de la inspección, la placa avanzará o se mantendrá
retenida para que se decida qué hacer con ella. A continuación, se muestra una imagen
general del sistema de visión:

Figura 3.1.1 Sistema de Visión Artificial

11
Sistema de Visión Artificial 3 Especificaciones del Sistema

Para ello, se dispone de un armario de iluminación en el que se encuentra ubicada la


cámara CCD. Este conjunto (armario de iluminación y cámara) se halla montado sobre la
cinta transportadora. Además, existe un sensor inductivo de proximidad (montado sobre la
cinta a la altura del armario de iluminación) que detecta el paso de la plataforma metálica
sobre la que viajan las placas. Cuando ésta pasa a la altura del sensor, se envía una señal de
trigger a la tarjeta de adquisición y se realiza la captura. En ese preciso momento, se
realiza el procesado de la imagen (mediante Labview e Imaq Vision) y se decide si la pieza
está conforme o no con lo estipulado.

Cabe destacar que en general, las aplicaciones de visión se realizar a medida del objeto que
se quiere inspeccionar. Por tanto, la flexibilidad de la aplicación es bastante limitada. En
este caso, no nos encontramos delante de una expcepción, por lo cual si cambia el diseño
de la placa el sistema no será capaz de adaptarse a los cambios realizados. De todos modos,
se ha intentado realizar un programa en el que sea lo más fácil posible realizar cambios, de
manera que se pudan inspeccionar placas con diferentes configuraciones. Esta
circunstancia es debida a que se ha planteado el problema de manera modular, en el que
cada componente es preprocesado y analizado individualmente.

3.2 Objecto a Examinar


A continuación, se muestra la placa de ciurcuito impreso que se tiene que inspeccionar:

Dimensiones:

70x47 mm

Figura 3.2.1 Placa PCB

Es importante señalar que la funcionalidad de este circuito no es relevante, ya que este


proyecto tiene fines docentes. Por tanto, la combinación de componentes que se muestran y
su disposición geométrica son bastante arbitrarias. Se trata únicamente, de demostrar que
este sistema de visión artificial es capaz de comprobar la calidad del producto en análisis.

12
Sistema de Visión Artificial 3 Especificaciones del Sistema

Para entrar en detalle, los componentes que forman la placa son los siguientes:

Conector

Condensadores
Resistencias

Transistores Diodos

Puentes de
metal
CI en zócalos

Figura 3.2.2 Componentes a inspeccionar

Para cada componente de la placa, se ha establecido un procedimiento de identificación de


sus características principales con el objetivo de comprobar su correcta inserción:
? Conector: se detectará la presencia o ausencia de este elemento.

? Condensadores: se comprobará tanto la presencia como la polaridad (gracias a la marca


existente en su encapsulado).

? Transistores: se comprobará que estén donde corresponde y correctamente insertados

? Diodos: se inspeccionará la posición de los diodos y su polaridad.

? Puentes de metal: se comprobará la presencia de todos ellos.

? Resistencias: se determinará la presencia de las mismas pero no su valor (ya que la


cámara es monocromo).

? C. I. en zócalos: en cada zócalo existe un circuito integrado. Se lee la referencia


serigrafiada en su superficie para decidir su correcta colocación. El sistema también
será capaz de detectar una inversión en la colocación, así como si está desplazado.

Una vez finalizadas todas estas inspecciones, se generará un informe con el resultado
obtenido. De esta manera, se podrá comprobar si la placa cumple con todos los requisitos
exigidos de inicio.

13
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.3 Cámara de Vídeo + Óptica

El conjunto cámara-óptica, el hardware IMAQ de captura de imágenes y el NI-IMAQ


driver software forman el sistema de adquisición de imágenes de una aplicación de visión
artificial basada en PC.

SISTEMA DE
ADQUISICIÓN

Figura 3.3.1. Sistema de adquisición de imágenes

En este apartado, se explicará qué tipo de cámara se ha escogido para la aplicación en


estudio. Esta decisión es transcendental a la hora de obtener una buena imagen, por lo cual
el éxito del proyecto depende en gran parte de esta elección.

3.3.1. Selección de la cámara

Cuando se habla de una cámara se hace referencia a un sofisticado transductor que


convierte una escena en una señal eléctrica de vídeo, que posteriormente con los restantes
elementos del sistema de adquisición y un PC se procesa y analiza. En el mercado existen
dos tipos básicos (de acuerdo con el tipo de señal que proporcionan): las analógicas y las
digitales. En nuestro caso, la que se ha utilizado es de tipo analógico. Son cámaras que
proporcionan una señal de vídeo analógica que se digitaliza posteriormente mediante la
tarjeta de adquisición de vídeo (en este caso la IMAQ PCI-1407).

Típicamente, las cámaras utilizan un array CCD (Charge Coupled Device) que se ha
convertido en el estándar tecnológico en las cámaras. Este tipo de cámaras cumplen con
una serie de características ventajosas respecto a otro tipo de cámaras. En primer lugar, es
fácil configurarlas y son simples a la hora de manejarlas. Además, aportan una alta
resolución, son resistentes, pequeñas y de bajo coste. Su consumo de potencia es también
bajo, por lo que son aconsejables para aplicaciones con mucha carga de trabajo.

Luz

Salida de
Registros de salida vídeo
Figura 3.3.1.1. Matriz CCD de una cámara

14
Sistema de Visión Artificial 3 Especificaciones del Sistema

Un CCD es una matriz rectangular de miles de semiconductores interconectados. Cada


píxel es un elemento fotosensible de estado sólido que genera y almacena una carga
eléctrica cuando es iluminado. El píxel o sensor es el bloque básico constructivo de una
imagen CCD. En la mayoría de configuraciones el sensor incluye una circuitería que
almacena y transfiere su carga hacia un registro de desplazamiento. Éste convierte la
matriz de cargas espaciales de la imagen CCD en una imagen de vídeo variable en el
tiempo. La información temporal de la posición vertical y horizontal más el valor del
sensor son combinados para formar la señal de vídeo analógico.

La señal de vídeo analógica está basada en el estándar de televisión, que es el estándar


analógico más común para representar señales de vídeo. Los estándares analógicos
existentes son el RS-170 (B/N) y el NTSC (color) asociados a una velocidad de 30
imágenes por segundo y una resolución de 640x480 píxels, y por otro lado el CCIR (B/N)
y el PAL (color) con 25 imágenes por segundo y 768x576 píxels de resolución.

Aunque la relación señal-ruido es mayor que en una digital (donde la digitalización se hace
a nivel de la propia cámara antes de enviarla a la placa), las cámaras analógicas son más
baratas, con estándares fáciles de configurar y además pueden resolver numerosas
aplicaciones a un precio atractivo. Las cámaras pueden proporcionar señales de color o
monocromo (blanco y negro), y su elección dependerá del tipo de imagen a procesar. En el
caso de la PCB a examinar, con un procesado adecuado de la imagen es suficiente para
determinar la presencia y el correcto insertado de los componentes.

Otro aspecto esencial en este proyecto, es determinar si el la escena a inspeccionar está en


movimiento o no. En la primera etapa de pruebas, se pensó realizar la captura de la imagen
con la PCB en movimiento, y el resultado que se obtuvo se muestra a continuación:

Figura 3.3.1.2. Imagen de la PCB en modo Frame

El problema es que se necesitaría una cámara de las llamadas progresivas, es decir,


pensadas para captar imágenes de objetos en movimiento. En las cámaras analógicas
estándar, la imagen se compone de dos campos (fields), uno par y otro impar
(correspondientes a las líneas horizontales pares e impares en cada caso). Con estos dos
campos, la tarjeta de adquisición los entrelaza y forma una sola imagen (frame).
El problema es que existe un ligero retraso entre la adquisición de ambos campos, por lo
que si el objeto a inspeccionar está en movimiento la imagen compuesta final queda poco

15
Sistema de Visión Artificial 3 Especificaciones del Sistema

nítida. Sin embargo, existe la posibilidad de poder mejorar la calidad de la imagen si se


configura la cámara para que únicamente componga la imagen con un solo campo. De esta
manera (en teoría), se puede solucionar el problema del movimiento con una cámara
analógica estándar. Por tanto, se realizaron pruebas para realizar la adquisición en este
modo (modo field), pero los resultados obtenidos no fueron satisfactorios. En la siguiente
imagen se puede comprobar este hecho:

Figura 3.3.1.3. Imagen de la PCB en modo Field

Por tanto, al realizar estas pruebas quedó claro que con la cámara que se disponía no se
podía captar la imagen de la PCB en movimiento. Utilizando una cámara progresiva, este
problema se soluciona ya que la imagen la componen con un solo campo, obteniendo así
una imagen nítida.

Finalmente, la cámara utilitzada es una PULNiX modelo PE2015. Se trata de una cámara
de televisión con una matriz CCD de 752x582 píxels monocromo, y cumple con el
standard CCIR (25 frames/sec). A continuación se muestra una figura de esta cámara:

Figura 3.3.1.4. Cámara CCD PULNIX PE2015

16
Sistema de Visión Artificial 3 Especificaciones del Sistema

Las características técnicas son las siguientes:

Tabla 3.3.1.5. Características de la cámara CCD

3.3.2. Óptica

Una vez se tiene la cámara, el reto inmediatamente posterior es establecer la óptica más
adecuada para la aplicación que se tiene. Normalmente en los sistemas de adquisición de
imágenes la cámara se selecciona primero basándose en las necesidades de la aplicación,
ya que la medida de la matriz de los sensores CCD es uno de los parámetros
imprescindibles para encontrar la óptica más adecuada. Por tanto, los parámetros a
considerar para la elección de un buen sistema para adquisición de imágenes es el
siguiente:

? Resolución, que vendrá dada por la medida de la característica más pequeña del
objeto que se quiera destacar en la imagen.
? Medida del sensor (sensor size), dimensiones del área activa del sensor CCD.
? Campo de visión (field of view), área bajo inspección que la cámara puede adquirir.
? Distancia de trabajo (working distance), que es la distancia desde la óptica de la
cámara hasta el objeto a inspeccionar.

17
Sistema de Visión Artificial 3 Especificaciones del Sistema

En la siguiente figura, se muestran los parámetros más a tener en cuenta a la hora de


diseñar un sistema de adquisición de imagen:

Figura 3.3.2.1. Parámetros de un sistema de adquisición de imagen

El sistema de adquisición debe ser diseñado con el objetivo de captar imágenes de


suficiente calidad como para extraer la información necesaria para extraer conclusiones.

Dentro de las diversas especificaciones de los objetivos, es interesante destacar tres:

1. Distancia focal: es la distancia existente entre la matriz CCD y el punto de enfoque


del objetivo. Cuanto más pequeña sea la distancia focal, mayor será el campo de
visión. En la aplicación que se ha estudiado, para encuadrar un objeto pequeño
como la PCB haría falta acercar mucho la cámara (en caso que la distancia focal
fuera pequeña). De tal manera, se tendría que acercar mucho el objeto a la cámara y
se producirían problemas de enfoque (ya que se estaría por debajo de la mínima
distancia de enfoque).

Si en cambio se utiliza un objetivo con una distancia focal grande, el campo de


visión será más estrecho y se tendrá que alejar el objeto para encuadrarlo sin
problemas.

2. Otro parámetro a tener en cuenta es el tamaño de de la matriz CCD. En este caso se


tiene que ésta es de 1/3’’.

3. La montura del objetivo tiene que ser adecuada para el tipo de cámara que se
utiliza. Existen dos tipos de montura: la C y la CS. Mecánicamente son
compatibles, pero la montura debe corresponder la óptica apropiada para que las
imágenes sean nítidas.

18
Sistema de Visión Artificial 3 Especificaciones del Sistema

A continuación se muestra de manera gráfica un esquema de la óptica y sus parámetros:

Distancia Focal Mínima distancia de enfoque

Figura 3.3.2.2. Óptica

Inicialmente, se diponía de un objetivo multifocal (de 3.5 a 8 mm) con montura CS, con el
que la imagen que se obtenía era totalmente borrosa. Más adelante se descubrió que la
cámara llevaba incorporado un accesorio para incorporar monturas tipo C. Una vez quitado
este accesorio las imágenes volvieron a ser nítidas. El problema surgió cuando se
comprobó que para encuadrar la placa de PCB (de 70x47 mm) era necesario acercar mucho
la cámara a la placa, de manera que el enfoque no era bueno. Por este motivo, se decidió
adquirir una óptica más apropiada. Se trata de una óptica multifocal (de 5 a 50 mm), que
soluciona el problema anteriormente descrito. En la siguiente figura, se muestra la óptica
que se utiliza:

ZOOM

IRIS

ENFOQUE

Figura 3.3.2.3. Ajuste de la óptica

19
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.3.3 Nivel de Detalle


Es necesario calcular cuál será la resolución (también denominada nivel de detalle) con la
que el sistema será capaz de obtener las imágenes. Así, se podrá determinar qué límite se
tiene para inspeccionar detalles pequeños (tales como los caracteres serigrafiados en los
circuitos integrados).

Como se ha dicho anteriormente, la placa a examinar es de 70x47 mm. Una vez la imagen
se ha encuadrado y se han eliminado los márgenes, se obtiene una imagen de 676x463
pixels. 70 mm

47 mm

Figura 3.3.3.1. Medidas de la placa PCB

Si dividimos 676/70 = 9,6 píxels/mm y 463/47 = 9,8 píxels/mm, se puede decir que cada
milímetro de placa equivale aproximadamente a ~9 píxels de la imagen. Con esta
resolución, se puede inspeccionar perfectamente los caracteres serigrafiados encima de los
integrados.

3.4 Iluminación y acondicionamiento de la imagen.


El tener una buena iluminación es una función vital para realizar un apropiado
acondicionado de la imagen. De esta manera se optimizará y mejorará el rendimiento en su
procesamiento.

3.4.1. Requisitos fundamentales


Iluminar la escena y el objeto de forma adecuada es un paso crítico y muy importante para
el éxito del desarrollo de una aplicación de inspección basada en PC. Si embargo, muy a
menudo se ignora su relevancia. El objetivo de la iluminación es acondicionar el campo de
imagen para separar el elemento que se quiere inspeccionar de su entorno o background.

La elección de una buena técnica de iluminación debe permitir contrastar bien cada uno de
los componentes de la placa para poder realizar un apropiado procesado. Con una buena
imagen, todos los pasos posteriores al procesado (filtrado, análisis morfológico,..) son más
fáciles. Por tanto, los aspectos básicos que se buscan con una buena iluminación son:

? Luz homogenea sobre el campo de visión.


? Máximo contraste para las características de interés (en este caso los componentes a
analizar).
? Mínimo contraste de las características que no interesan.
? Mínima sensibilidad a variaciones ambientales.

20
Sistema de Visión Artificial 3 Especificaciones del Sistema

Además, no se debe olvidar que para conseguir imágenes de calidad con el máximo
contraste, no sólo influye la iluminación. Intervienen otros factores tales como
características mecánicas, cámaras, óptica, así como la técnica empleada para procesar la
imagen.

3.4.2. Sistema de iluminación implementado


En este proyecto, lo que se ha hecho para aislar el sistema de las condiciones ambientales,
ha sido construir una cámara opaca con tubos de luz fluorescente en su interior. De este
modo, se consiguen niveles de luz constante que favorecen el proceso de inspección.

La cámara de iluminación se ha construido en PVC blanco, tal como se muestra en la


siguiente figura:

Figura 3.4.1.1. Vista exterior de la cámara de iluminación

21
Sistema de Visión Artificial 3 Especificaciones del Sistema

En cuanto al interior del armario, se muestra a continuación una figura en la que se puede
apreciar la cámara y la cinta transportadora con la PCB que lo atraviesan:

Figura 3.4.1.2. Interior de la cámara de iluminación

Las medidas internas del armario de iluminación son:

- Altura: 50 cm.
- Anchura: 31 cm.
- Profundidad: 31 cm.

Las medidas externas son:

- Altura: 60 cm.
- Anchura: 35 cm.
- Profundidad: 35 cm.

22
Sistema de Visión Artificial 3 Especificaciones del Sistema

En cuanto a las especificaciones propias de la iluminación se han utilizado 4 tubos


fluorescentes de 15 W con luz 54 (luz día con una temperatura de color 6200ºK) que
ofrecen aproximadamente 830 lúmenes cada uno. Con esta cantidad de luz, se han
minimizado los efectos de las sombras y los reflejos de las placas a examinar, de manera
que se facilita enormemente la tarea del análisis y reconocimiento de los componentes.

En la siguiente figura, se muestra el armario con los fluorescentes encendidos:

Figura 3.4.1.3. Armario iluminado

23
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.5 Cambios realizados para la integración en la CFF

Con el objetivo de acoplar el armario de iluminación que contiene la cámara a la CFF


(célula de fabricación flexible), así como permitir que las PCB’s viajen por la cinta
transportadora de ésta, se han debido realizar una serie de cambios. Estos radican
básicamente en los siguientes puntos:

1) Se han utilizado un par de perfiles de aluminio para poder acoplar el sistema de


inspección en la CFF. Estos perfiles están firmemente unidos a la estructura de la cinta
transportadora. Así mismo, se ha atornillado la base del armario de iluminación que
contiene la cámara a estos perfiles con el fin de tener un sistema sólido. De esta manera, la
inspección de PCB’s será más robusta a cualquier posible movimiento o vibración.

En la siguiente figura, se puede apreciar el montaje del sistema de visión sobre la cinta
transportadora (circunferencias? perfiles de aluminio; cuadrados? fijación de la base del
armario a los perfiles):

Figura 3.5.1. Detalle de los perfiles metálicos que unen el sistema con la CFF

Es interesante destacar que aflojando las palometas de sujeción, se puede orientar todo el
sistema hacia un lado u otro, de manera que se pueda ajustar el campo de imagen de la
cámara y poder realizar una imagen apropiada.

En esta línea, si se tuvieran problemas de mal encuadre de la imagen, se tiene aquí un


grado de libertad para poder obtener así el encuadre preciso. De no ser así, se tendrían
bastantes problemas para inspeccionar las PCB’s. Es éste, por tanto, un punto crítico del
sistema, y se debe tener mucho cuidado de no mover la posición del armario una vez se
tiene correctamente encuadrada la imagen.

24
Sistema de Visión Artificial 3 Especificaciones del Sistema

2) Otro cambio realizado ha sido el de adaptar los laterales del armario para que la
placa a inspeccionar, junto con la base que la transporta, pueda atravesar éste. El aspecto
de los laterales del armario se puede apreciar en la siguiente figura:

Figura 3.5.2. Detalle de las oberturas realizadas en los laterales del armario

En también interesante señalar que si cambia la orientación del armario para obtener un
buen encuadre de la imagen, podría darse el caso que la PCB no entrara por la abertura
realizada. De todas maneras, con las aberturas que se han realizado, aún existe margen para
poder mover el conjunto.

3) Se han creado unas bases de plástico inyectado para poder acoplar las PCB’s al
sistema de transporte utilizado en la CFF. De esta manera, las PCB’s van atornilladas a
estas bases, por lo que no existe ningún tipo de tolerancia en el sistema de transporte del
objeto a inspeccionar. A continuación se muestra una figura de estas bases:

Figura 3.5.3. Detalle de la plataforma y la base de plástico sobre las que vajan las PCB’s

25
Sistema de Visión Artificial 3 Especificaciones del Sistema

Se muestra también otro detalle únicamente de las bases inyectadas creadas para esta
aplicación:

Figura 3.5.4. Detalle de la plataforma de plástico

En esta otra figura se aprecia cómo se une la base metálica con la base de plástico. Ésta
última ha de tener las medidas justas para que encaje en los pivotes de sujeción que
incorpora la el sistema de transporte de la CFF:

Figura 3.5.5. Detalle de la unión entre bases

26
Sistema de Visión Artificial 3 Especificaciones del Sistema

4) Finalmente, se ha perforado la base del armario para poder instalar el pistón de


doble efecto con el pivote metálico que retiene la placa. A continuación se puede observar
la mecanización realizada en la base:

Figura 3.5.6. Acondicionamiento de la base para inserción del pistón-pivote metálico

En este punto es interesante destacar que si se quiere variar mucho la posición del armario,
se debería agrandar el hueco abierto en la base del armario. De no ser así, no se podrían
realizar cambios de orientación del conjunto armario-cámara.

27
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.6. Hardware IMAQ de adquisición de imágenes

3.6.1. Características generales básicas


El último elemento que forma parte del sistema de adquisición es la placa de captura de
imágenes, junto con el software driver NI-IMAQ asociado. A grandes rasgos, la tarjeta se
encarga de digitalizar la señal de vídeo analógica procedente de la cámara. A continuación,
se aplica un preprocesado si es necesario, se envía al ordenador para que el software de
programación (en este caso Labview) analice los datos y decida en consecuencia. Todo este
proceso entre el ordenador y el hardware lo controla el driver NI-IMAQ. En el momento
de escoger el hard para la aplicación de visión se tienen que tener en cuenta varios
aspectos. Desde la memoria propia de la tarjeta de adquisición (onboard memory), la
transferencia rápida de datos a la memoria del PC, capacidades avanzadas de triggering,
funciones de preprocesamiento, hasta la integración del hardware de adquisición de datos
y de control de movimiento. Los dispositivos IMAQ hardware para vídeo analógico de
National Instruments tienen un multiplexor de vídeo de manera que pueden adquirir y
multiplexar hasta cuatro canales. Operan con el bus PCI de alta velocidad, y disponen de
cuatro triggers externos, un filtro anticromático para eliminar el color en señales de vídeo
en color, con la ganancia y el offset programable.

Figura 3.6.1.1. Dispositivo hardware IMAQ por vídeo analógico

Además, las placas IMAQ incluyen una look-up table (LUT) para preprocesado y
thresholding en la propia tarjeta y con la posibilidad de poder cargar una LUT hecha a
medida. También se puede seleccionar una región de interés (ROI) para poder reducir la
imagen (datos) que se están transfiriendo a través del bus.

28
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.6.2. IMAQ PCI-1407

La tarjeta de adquisición IMAQ analógica de National Instruments utilizada es la IMAQ


PCI-1407, que es una tarjeta que trabaja con 8 bits (256 tonos de gris) y permite una alta
velocidad de conversión (hasta 25 imágenes por segundo).

La tarjeta trabaja con un driver de National Instruments, y dentro de las aplicaciones NI-
IMAQ (LabVIEW e IMAQ Vision Builder) se puede acceder a la tarjeta de video sin
necesidad de programar los registros internos de la misma. El soft se encarga de realizar los
accesos al hardware de manera amigable. Con esto, se facilita mucho el trabajo del
programador y se optimiza el funcionamiento del hard. El incoveniente más grande es que
si se quiere utilizar un lenguage de programación que no sea LabVIEW (como Visual C o
otros), es muy probable que haya que programar un driver específico para controlar la
placa de adquisición. En la siguiente figura se muestra lo explicado:

Figura 3.6.2.1. Relación entre el entorno de programación, NI-IMAQ, y el Hardware

29
Sistema de Visión Artificial 3 Especificaciones del Sistema

A grandes rasgos, la IMAQ PCI-1407 incorpora un conversor analógico-digital de 8 bits.


A continuación, se presenta un esquema básico que ilustra su funcionaminto:

Figura 3.6.2.2. Diagrama de bloques de la IMAQ PCI - 1407

Como se observa, la señal de video entra por la toma BNC y se almacena en un buffer. A
continuación, si llega una petición de lectura, esta señal pasa a un conversor analógico-
digital (habiéndose ajustado previamente el offset y la ganancia). Finalmente la señal de
vídeo se transmite al bus PCI del ordenador.

Esta tarjeta posee características de hardware para aplicaciones en tiempo real que ayudan
a mejorar el rendimiento del sistema de visión. La digitalización de la imagen se realiza a
través de un convertidor A/D flash de 8 bits. El resultado de la conversión pasa a una look-
up table RAM de 256x8 bits. La LUT puede ser configurada para implementar operaciones
simples de preprocesado de imagen como manipulación gamma, inversión de datos o
aumento de contraste. También permite un control de ROI, seleccionando la zona de
interés de la imagen de manera que la transferencia de la imagen hacia la memoria del PC
y su procesamiento son más rápidos. Con la corrección de la relación de aspecto, se puede
corregir la calibración del píxel debida a efectos de la cámara.

El bus CompactPCI está diseñado para trabajar con los procesadores más nuevos
(transfiriendo datos a 100 Mbytes/s), siendo ideal para aplicaciones de vídeo. La interfície
lógica asegura que la tarjeta reune los requerimientos estrictos de carga y tiempo de la
especificación PCI. Para asegurar los índices de transferencia más rápidos, la tarjeta utiliza
el integrado MITE DMA. Se trata de un ASIC específico para adquisición de imágenes y
datos optimizado por bus PCI mastering. El chip tiene tres controladores independientes
DMA por entrada analógica o de vídeo, salida analógica y operaciones de tiempo
simultaneas.

30
Sistema de Visión Artificial 3 Especificaciones del Sistema

El procesador MITE DMA afrece elevados rendimientos, ya que realiza el entrelazado y


copia en la memoria del PC, eliminando la intervención de la CPU. Esta técnica se llama
“Scatter-Gather” DMA bus mastering, y elimina la necesidad de reprogramar el
controlador DMA para cada ubicación de memoria, pudiéndolo hacer “al vuelo” y así
realizar una transferencia continua de imagen.

Figura 3.6.2.3. “Scatter-Gather” DMA (Bus Mastering)

Gracias al MITE y a la potencia de los PC’s, existe menos necesidad de tarjetas de vídeo
caras con procesadores DSP. La placa también dispone de buffers FIFO de 4 KB (más de
cuatro líneas completas de vídeo) usados para almacenar temporalmente la imagen que no
está siendo transmitida hacia el bus PCI.

3.7. NI-IMAQ Driver Software

Esta herramienta proporciona la unión entre la aplicación software y el hardware. Es la


interficie software que controla los detalles de hardware, se comunica con las diferentes
tarjetas, y permite que la funcionalidad hardware sea fácilmente accesible al programador
sin necesidad de escribir a nivel de registros u otros programas complicados.

1407

Tarjeta IMAQ
Figura 3.7.1. Interficie entre hardware y software

31
Sistema de Visión Artificial 3 Especificaciones del Sistema

Esta herramienta está incluida en el dispositivo IMAQ de National Instruments. NI-IMAQ


es una extensa librería de funciones que se llama desde el entorno de programación
(LabView en este caso). Estas funciones incluyen rutinas para:
- Adquirir imágenes continuamente en memoria, adquisición desde múltiples
entradas de vídeo, o adquisición de múltiples imágenes hacia múltiples buffers.
- Usos DMA para transferir imágenes, es decir, control del integrado scatter-gather
MITE DMA.
- Manejar líneas digitales E/S para controlar relés de estado sólido (se pueden
controlar electroválvulas utilizando la tarjeta DAQ PXI-6527).
- Iniciar (trigger) de adquisición de imagen por evento.
- Escalar o “diezmar” la imagen desde el hardware.
- Cargar una LUT a la tarjeta para funciones de preprocesado.

NI-IMAQ dispone de dos niveles de programación: funciones de programación de alto y


bajo nivel, lo cual proporciona flexibilidad, funcionalidad y un camino de interfase fácil
entre LabView y los dispositivos hardware. Además, se tiene una ayuda para reducir el
tiempo de desarrollo de la aplicación, pudiéndose elegir entre muchos tipos de métodos de
adquisición. De esta manera, se pueden intercambiar cámaras y tarjetas sin tener que
cambiar significativamente ningún tipo de código. IMAQ hardware y NI-IMAQ están
diseñados para trabajar con IMAQ Vision (software de procesado de imagen), ofreciendo
capturas en tiempo real, así como la extracción de información crítica en procesos de
tiempo real.

3.8. Triggering
Trigger o disparo es uno de los modos de funcionamiento de la placa de vídeo. El uso del
trigger posibilita un aumento muy importante en las capacidades del sistema de
adquisición. De esta manera, se puede realizar una captura de eventos de corta duración de
manera eficiente. Por tanto, se evita el tener que adquirir la imagen constantemente y la
transferencia de información a través del bus PCI. Utilizando un trigger externo, se
identifica exactamente el momento en el cual se tiene que captar la imagen de la PCB.

3.8.1. Especificaciones de triggering de la PCI-1407


La tarjeta de adquisición tiene una entrada de trigger (conector tipo BCN) que se encuentra
en la parte posterior de la misma. En esta imagen se puede apreciar su ubicación:

Figura 3.8.1.1. Entrada BCN de trigger de la IMAQ PCI-1407

32
Sistema de Visión Artificial 3 Especificaciones del Sistema

En cuanto a las características y descripción de estas entradas, se tiene la siguiente


información:

Figura 3.8.1.2. Descripcion de las diferentes señales de entrada

También es necesario, a la hora de acondicionar la salida del sensor que se elija, tener en
cuenta las características de la señal de trigger que acepta la PCI-1407:

Figura 3.8.1.3. Carácterísticas de la señal de trigger

Por tanto, se necesita una señal de entrada de trigger de tipo TTL y unos umbrales mínimos
de 2V (VIH) y 0,8 V (VIL). Es decir, el nivel alto de esta señal debe ser superior VIH y el
nivel bajo debe ser inferior a VIL .También es importante señalar que la detección del
trigger puede ser tanto de flanco de subida como de bajada. Con toda esta información, ya
se tiene una idea del tipo de sensor que se necesita y del tipo de señal de salida que tiene
que entregar este mismo.

33
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.8.2. Descripción del sistema de sensado


En cuanto al sensor utilizado, se ha escogido un sensor inductivo de proximidad, con el
objetivo de controlar el paso de la plataforma metálica que transporta la PCB. De esta
manera, se mandará la señal de trigger cuando la placa esté debajo de la cámara a la altura
adecuada para obtener una buena imagen de la misma. Gracias al pivote metálico que
existe (pistón de doble efecto), la placa se para en el punto de encuadre exacto para que la
imagen tomada se pueda comparar con el patrón de comparación y así comprobar la
validez o no de esa placa. Durante este apartado, se irá mostrando las características del
sensor utilizado, y también se detallará de qué manera se acondiciona la señal que entrega
este sensor (ajustando la tensión de salida). A continuación, se muestra una imagen de esta
aplicación:

Figura 3.8.2.1. Sensor integrado en el sistema de visión

En la siguiente figura se puede apreciar el conjunto de elementos que forman el sistema de


triggering:

Figura 3.8.2.2. Sensor integrado en el sistema de visión

34
Sistema de Visión Artificial 3 Especificaciones del Sistema

Este conjunto está formado por los siguientes elementos:


-Sensor inductivo.
-Pletina de aluminio de sujeción.
-Cable coaxial con conector BCN para conexión con tarjeta de vídeo.
-Cable de tres hilos para alimentar el sensor y extraer la tensión de salida.
-Interfase de ajuste de Vo a través de un potenciómetro y dos regletas (una para
alimentar al sensor y otra para la obtención de Vo).
-Cables de alimentación.

Las características técnicas del sensor utilizado son las siguientes:

M8 PNP

Figura 3.8.2.3. Sensor Inductivo de proximidad PNP

Como se observa en la figura anterior, el sensor se comporta como una fuente de corriente,
por lo que se tiene que ajustar la carga de la salida para obtener la tensión deseada. En este
caso, al necesitarse una tensión de salida compatible TTL (aproximadamente 5 V), se ha
montado una placa de topos con unas regletas de entrada/salida y un potenciómetro
multivuelta.

Seguidamente, se muestran los valores de la tensión de alimentación, la resistencia del


potenciómetro y la tensión de salida que se obtiene:

Vin=6,85 V
Vo? 5 V.
R=43 ?

35
Sistema de Visión Artificial 3 Especificaciones del Sistema

Por tanto, la señal que proporciona el sensor es del siguiente tipo:

Vo [V]
Detecta la presencia de metal
5V

No hay detección

0V
t
Figura 3.8.1.2. Salida del sensor inductivo

A continuación, se presenta más información acerca de este sensor:

Dimensiones (mm)
M8 M12 M18 M30
Long. Total (mm) 65 65 65 65
Long. Rosca (mm) 40 50 50 50
Rosca M8×1 M12×1 M18×1 M30×1
Características técnicas
Temp. De funcionamiento de -25°C a +70°C
Protección ambiental IP67
Tensión de alimentación 10-30V d.c.
M8 M12 M18 M30
Frecuencia de conmutación 1,5kHz 1kHz 800Hz 200Hz
Distancia de detección (mm):
Acero dulce 1,5 2,0 5,0 10,0
Factores de reducción:
Acero inoxidable 0,75 0,70 0,70 0,80
Aluminio 0,45 0,30 0,30 0,30
Cobre 0,35 0,20 0,30 0,30
Corriente de conmutación 200mA
Corriente sin carga 15-20mA
Indicador de salida LED amarillo

Finalmente, cabe destacar que en la tarjeta de adquisición, se puede configurar el trigger


para que detecte la subida o la bajada de un flanco. En este caso, se ha configurado para
que se detecte flanco de subida. Este aspecto tiene que estar ligado con la programación del
trigger a nivel de Labview para que el sistema reconozca la señal.

36
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.8.3. Programación en LabView


La cámara una vez en funcionamiento empieza a adquirir la señal analógica de vídeo.
Configurando la tarjeta de adquisición en modo trigger, la señal externa indica el inicio de
la adquisición. Para configurar a través de Labview la adquisición por trigger, se necesita
utilizar funciones de bajo nivel de la librería de NI-IMAQ.

Una vez se ha podido obtener una señal TTL en la salida del sensor, se simplifica
significativamente la programación en LabView. Se trata de configurar los parámetros de
adquisición por triggering, desglosándolos en:

1) Adquisición de la imagen en la subida o bajada del flanco.


2) Selección de la tarea a ejecutar una vez llegada la señal de trigger.
3) Canal de entrada del trigger.
4) Tiempo de espera de la señal de trigger.

En la figura que se muestra a continuación, se puede apreciar la parte de LabView que se


encarga de adquirir la imagen de la PCB cuando se detecta la presencia de la placa:

True
DESDE LA CAMERA

30000 60 0 108 47 790 514

img0
imatge1 255,00
Invert Frame 1

Rectangle
8 bits

Trigger start of acquisition

External trigger 0

Figura 3.8.3.1. Programación en Labview para adquisición por triggering

En primer lugar, se debe dejar claro que la parte del programa que se ha mostrado es
exclusivamente la dedicada a la configuración de adquisición por trigger y la adquisición
de la imagen en sí. Con esta parte de programa, se obtiene una imagen (denominada placa
en la figura) que es la que a continuación se inspecciona para comprobar que no exista
ninguna anomalía. Una vez aclarado este punto, se describirá función por función cómo se
realiza la adquisición vía trigger:

37
Sistema de Visión Artificial 3 Especificaciones del Sistema

1) Inicialización de la tarjeta de adquisición de vídeo (IMAQ PCI-1407)

El “Interface Name” que se utiliza es el que tiene por defecto la función, es decir, img0.

2) Se crea una imagen en memoria de 8 bits por píxel (256 tonos de gris).

Seleccionando un “Image Type” de 8 bits, se obtiene una imagen de buena calidad que no
desborda la capacidad de procesado del PC.

38
Sistema de Visión Artificial 3 Especificaciones del Sistema

3) Se configuran las opciones de adquisición por trigger:

En cuanto a las opciones de configuración mostradas anteriormente, es conveniente


comentarlas:
-Frame timeout (ms): en este campo se debe introducir el tiempo que se indica que
debe esperar la tarjeta de adquisición a que se produzca el evento de trigger, es decir, a que
pase la plataforma metálica por delante del sensor inductivo. Se ha considerado oportuno
que exista un margen considerable de 30 segundos, ya que puede existir algún problema en
la cinta transportadora o en la alimentación del sensor.

-Trigger polarity: En este caso se configura la tarjeta para que detecte el flanco de
subida de la señal de trigger. Por tanto, se ha configurado en modo HIGH-TRUE.

-Trigger line: En este campo se indica por qué línea del dispositivo de adquisición
llegará la señal de trigger. En este caso, se escoge la línea external trigger 0, ya que es la
línea que llega a la PCI-1407.

Otros parámetros a configurar en la inicialización de trigger son:

39
Sistema de Visión Artificial 3 Especificaciones del Sistema

De estos últimos, el parámetro importante es:

-Trigger action: En este campo se establece qué se hace cuando llega la el flanco
de subida. En esta aplicación se ha escogido la opción de trigger start of acquisition,
mediante la cual una vez llega el flanco se realiza la adquisición.

4) Se ha insertado una estructura For con la que se adquiere la imagen de la PCB:

60 0 108 47 790 514

255,00
Invert Frame 1

Rectangle

External trigger 0

Figura 3.8.2.2. Bucle For para adquirir la imagen

El bucle For se utiliza porque al chocar la plataforma metálica que transporta la PCB con
el pivote metálico del pistón de doble efecto, la vibración reciente del choque hace que la
imagen captada tenga algo de movimiento y no sea adecuada para ser procesada. De esta
manera, se repite la adquisición de la imagen 60 veces y se procesa exclusivamente la
última imagen adquirida en el bucle. Se asegura así, por tanto, que no exista ningún tipo de
fluctuación en la imagen.

40
Sistema de Visión Artificial 3 Especificaciones del Sistema

A continuación se describen las 3 funciones que se encuentran dentro del bucle, y que se
encargan de adquirir la imagen:

4.1) IMAQ Snap adquiere una única imagen cada vez que se ejecuta. Es fácilmente
programable y es aconsejable utilizar en aplicaciones de baja velocidad.

La función tiene como entradas:


-Image in: Proviene de la salida de “New Image” de la función IMAQ Create.
-IMAQ Session In: Proviene de la salida “IMAQ Session Out” de la función
IMAQ Init.
-error in: Comunicación de error de alguna función anterior.

Como salidas de la función, se han utilizado las análogas a las entradas definidas
anteriormente, es decir, Image Out, IMAQ Session Out y error out.

41
Sistema de Visión Artificial 3 Especificaciones del Sistema

4.2) Con IMAQ Draw se sobreimpresiona sobre la imagen de la PCB un


rectángulo que servirá de encuadre. De esta manera, ajustando el sistema del armario
cámara-iluminación, se podrá encuadrar la imagen justo en los límites de dicho rectángulo.

Las entradas utilizadas han sido las siguientes:


-Draw Mode : con este parámetro se indica si únicamente se traza el contorno o
también se rellena el interior. En este caso se ha escogido Invert Frame para que trace
exclusivamente el contorno.
-Pixel Color: este parámetro no haría falta completarlo ya que con la opción
anterior de Invert Frame este campo no se tiene en cuenta.
-Image Src: este parámetro es la imagen de entrada sobre la cual se dibuja el
rectángulo.
-Coordinates: estas son las coordenadas de los vértices del rectángulo.
-Shape to draw: es el tipo de figura que se sobreimpresionará en la imagen. En este
caso se ha escogido la opción Rectangle, ya que la PCB tiene forma rectangular y se
pueden ajustar así ambas figuras.
-Image Dst Out: es la imagen procesada de la entrada, es decir, la imagen de la
PCB con el encuadre del rectángulo.

42
Sistema de Visión Artificial 3 Especificaciones del Sistema

4.3) La última función del bucle For es IMAQ WindDraw, y es la que se encarga
de mostrar la imagen captada y procesada en una ventana (que aparece automáticamente al
ejecutarse la función).

Las entradas utilizadas son las siguientes:


-Window Number: se escoge la ventana número 1 (existe la posibilidad de mostrar
hasta 16 ventanas simultáneamente).
-Image: con este parámetro se especifica la imagen que será mostrada.
-Resize to Image Size : aquí se indica si la ventana ajustará su tamaño a la imagen
que se muestra. En este caso se ha creído conveniente escoger esta opción.

43
Sistema de Visión Artificial 3 Especificaciones del Sistema

5) Finalmente, se utiliza la función IMAQ Close para cerrar todos los recursos
utilizados a nivel de harware (tarjeta de vídeo) y a nivel de software (funciones encargadas
de realizar la adquisición).

Por tanto, se han mostrado y descrito todas las funciones utilizadas para realizar la
adquisición de la imagen vía trigger, de esta manera no se debe tener ningún problema a la
hora de entender o modificar el programa si fuera necesario.

44
Sistema de Visión Artificial 3 Especificaciones del Sistema

3.9. Control del avance de la PCB


Una vez se capta la señal de trigger y se adquiere la imagen, se realiza el procesado de la
misma y se comprueba si existe alguna anomalía. En el caso que el sistema localice algún
defecto en la placa ésta se retendrá para que se pueda retirar o comprobar in situ qué
problema existe. Ahora bien, si no existe ningún tipo de defecto, se tiene que dejar
continuar la PCB por la cinta transportadora para su posterior almacenamiento.

3.9.1. Descripción de la aplicación


Para realizar esta tarea, existe un pivote metálico que retiene la placa. Este pivote se
controla mediante un pistón de doble efecto, que es activado por una electroválvula. En
este punto es dónde interviene la aplicación diseñada para controlar el avance de la PCB.
Para tener una idea más aproximada a lo que se ha hecho, se presenta seguidamente una
imagen de esta aplicación:

Figura 3.9.1.1. Pistón de doble efecto con pivote metálico

El accionamiento de este pistón se controla mediante una electroválvula (VCC=24 V) que


deja pasar o corta el aire que hace bajar el pivote metálico. La electrovalvula utilizada se
muestra a continuación:

Figura 3.9.1.2. Electroválvula de control

45
Sistema de Visión Artificial 3 Especificaciones del Sistema

Por tanto, se trata de controlar mediante Labview la activación de este pistón para hacer
que la placa inspeccionada avance o no. Lo que se ha hecho ha sido realizar una escritura
serie al puerto paralelo del PC, de manera que con una circuitería externa se puede
controlar la activación del pistón. A continuación se muestra este interfase con el PC para
controlar la activación de la electroválvula:

Figura 3.9.1.3. Interface de control mediante PC

El funcionamiento de esta aplicación es el siguiente. Una vez se tiene en el puerto paralelo


un bit (tensión de nivel TTL), se utiliza ésta para activar un relé (que a su vez controlará la
electroválvula que activa el pistón de doble efecto). El problema es que con la señal TTL
del puerto paralelo no se puede activar el relé de control de la electroválvula (ya que aporta
una corriente máxima de 20 mA). Por tanto, se necesita una circuitería para acondicionar
esta señal y poder así activar la electroválvula. Esta función se realiza mediante una etapa
darlington y un relé.

Un esquema simplificado de esta aplicación se muestra a continuación:

PUERTO PARALELO ETAPA DARLINGTON RELÉ

Serial
Write to
Parallel
Port

ACTIVACIÓN
ELECTROVÁLVULA

Figura 3.9.1.4. Etapas del sistema de control del avance de la PCB

46
Sistema de Visión Artificial 3 Especificaciones del Sistema

Si se profundiza y se entra más en detalle en cada etapa, se puede mostrar qué función
tiene cada una de manera más clara:

1) En primer lugar, se presenta un esquema del pinout del conector del puerto
paralelo (DB25):

Figura 3.9.1.5. Pinout del DB25 del puerto paralelo

Como se aprecia en la figura, el byte escrito se puede conseguir entre los pines 2 y 9.
Además, cada bit de salida se debe referenciar a su masa correspondiente (es decir, señal
pin2-gnd pin 18, hasta señal pin 9-gnd pin 25).

Existen un par de posibles errores que pueden complicar la escritura serie en el puerto
paralelo. Para solventarlos, son necesarias las siguientes operaciones:

a) Se tienen que llevar a masa los pines 11 (Busy) y 12 (Paper Error). Si no se


realiza esta operación, el driver que controla el puerto pensará que la impresora con la que
se quiere esablecer comunicación está ocupada o que está en estado de error y no escribirá
ningún dato en el puerto paralelo.

b) El puerto paralelo LPT1 tiene que estar correctamente listado como un


dispositivo serie en el archivo “Labview.ini”. Por tanto, es necesario escribir en dicho
archivo la siguiente línea:

serial Devices=”COM1;COM2;LPT1”

Es importante anotar que Labview asigna la numeración del puerto según la lista anterior
empezando por 0, así que el puerto paralelo LPT1 será el número 2.

47
Sistema de Visión Artificial 3 Especificaciones del Sistema

2) En esta segunda etapa, se acondiciona la tensión proviniente del puerto paralelo


para que sea capaz de excitar la bobina del relé.

(COM=12,5 V)

Bobina del Relé (12 V)

TTL signal from


Parallel Port

Figura 3.9.1.6. Esquema del driver ULN2003

Debido a que las salidas TTL del puerto paralelo sólo ofrecen hasta un máximo de 20 mA,
se hace necesaria la presencia de una etapa amplificadora. Por tanto, en esta etapa se
amplifica la señal TTL del puerto paralelo a través de una etapa amlificadora Darlington. A
la salida de esta etapa, se dispone de una señal de alta potencia (hasta 500 mA) que nos
permite poder activar un relé.

3) En esta etapa se encuentra el relé que activará la electroválvula. La señal que


proviene de la etapa darlington anterior es ya capaz de activar la bobina del relé. Las
características principales del relé utilizado se muestran a continuación:

+
VL=12 V
Ic IC =8A
VL

Figura 3.9.1.7. Esquema excitación Relé

48
Sistema de Visión Artificial 3 Especificaciones del Sistema

Por tanto, se excitará la bobina del relé mediante la etapa darlington (tensión VL). Para
alimentar la electroválvula (24 V) se conectará la alimentación a los pines 11, 12 y 14
según convenga para que el relé se encuentre normalmente abierto (NA) o normalmente
cerrado (NC).

3.9.2. Programación en LabView


En este apartado, se describirá detalladamente los cambios y nuevos programas que se han
tenido que añadir al programa principal para controlar mediante el PC el paso de la PCB.
En primer lugar, se mostrará la modificación realizada en el programa que se encarga de
inspeccionar la placa (inspecció de placa.vi) para que una vez analizada la validez de la
placa se proceda a bajar el pivote metálico y dejar así que avance la PCB. En la figura
siguiente, por tanto, se puede observar esta aplicación implementada en LabView:
20 [0..20]

SOCOL1

SOCOL1 text 2

SOCOL1 girat 2

SOCOL2

SOCOL2 text 2

SOCOL2 girat

SOCOL3

SOCOL3 text 2

SOCOL3 girat

T1

T2

T3

3 ponts

pont petit
Activación Relé_D.vi

CONNECTOR

R1

R2

R3

Cond petit

Cond gran

D1

D2

D3

D4

D5

D6

Figura 3.9.2.1. Programación en Labview para el contrrol de avance de la PCB

49
Sistema de Visión Artificial 3 Especificaciones del Sistema

En primer lugar, se puede apreciar el último frame de la estructura sequence que gestiona
la inspección de la placa. En este tipo de estructuras, los pasos (frames) van avanzando
secuencialmente a medida que se ejecutan. Este último frame (el número 20) mostrado en
la figura, es el que se encarga de decidir si se ejecutará la rutina “Activa_Relé_D.vi”.
Mediante una lectura de las variables locales booleanas de cada elemento examinado en la
PCB (cuyo valor será true si el elemento está correctamente situado y false si existe alguna
anomalía), se decidirá en una estructura AND (o OR, como se quiera configurar) si se
ejecuta la rutina de activación del relé (y consiguiente bajada del pivote metálico).

Veamos a continuación el operador utilizado para decidir si se activa el relé (se puede
encontrar en el menú Boolean de la paleta de Functions):

Figura 3.9.2.2. Operador AND/OR

Por tanto, según se utilice una operación tipo AND o OR, se puede decidir que la placa
avance únicamente si todos los componentes de la PCB están OK (que es el caso mostrado
en la figura del frame 20) o por el contrario que la placa avance igualmente si alguno de los
componentes es válido (operación OR). En consecuencia, existe en este punto un cierto
margen para el programador a la hora de decidir la política a seguir en cuanto a las PCB’s
no válidas.

Finalmente, hay que señalar que no se realiza la lectura de las variables locales que indican
si los circuitos integrados que se encuentran en los zócalos están girados o no. Estas
variables se denominan “SOCOL_1_girat”, “SOCOL_2_girat” y “SOCOL_3_girat”
respectivamente. Si se quisiera que éstas tuvieran algún peso a la hora de decidir si la placa
avanza o no, se deberían conectar a las entradas del Compound Arithmetic.

El siguiente paso es describir la rutina que se ha creado para realizar la escritura serie a
través del puerto paralelo, es decir, el icono que aparece con el nombre de
“Activación_Relé_D”. En primer lugar conviene aclarar que se ha decidido utilizar el
puerto paralelo como interfase de control porque es una manera sencilla de realizar
escrituras de datos mediante una escritura serie. En el entorno de Windows se pueden
escribir datos al puerto paralelo utilizando las mismas rutinas de alto nivel (VI’s de
Labview) creadas para comunicaciones serie. De esta manera se obtiene una funcionalidad
del puerto paralelo sin tener en cuenta las líneas de estado y control usadas por el puerto
paralelo para la comunicación paralela.

50
Sistema de Visión Artificial 3 Especificaciones del Sistema

En la siguiente figura se puede apreciar la rutina que se encarga de activar el relé:


True

0 [0..1]

5
2
Serial Port Write.vi

Serial Port Init


/////

Serial Port Init Serial Port Write

Simple Error Handler Simple Error Handler

Error False: Serial


Port Write Executed

1. Intitialize Port 2. Write String to Port

Figura 3.9.2.3. Programación en Labview para la escritura en el puerto paralelo

La rutina consta de las siguientes estructuras y funciones:


1) Estructura Case: Se utiliza esta estructura para que se ejecute esta rutina sólo en
caso que se cumpla la condición del Compound Arithmetic, es decir, la operación AND o
OR.
2) Estructura Sequence : Esta estructura contiene dos frames. Con el primero de
ellos obtenemos 5 Voltios en un bit de datos del puerto paralelo (escribiendo el carácter /),
con el segundo se vuelve a dejar ese bit a 0 V (escribiendo el carácter d). Dentro de estos
frames, se han utilizado dos funciones (ambas se encuentran en el template de Funciones?
Instrument I/O? Serial):

2.1) Serial Port Init: Con esta función se inicializa el puerto paralelo para la
escritura serie:

51
Sistema de Visión Artificial 3 Especificaciones del Sistema

Los parámetros de entrada configurados son:

-buffer size : se configura para tener un buffer de 5 bytes. De esta manera se excita
la bobina del relé durante un tiempo suficiente como para conmutarlo.

-port number: en este campo se indica el puerto que se va a utilizar. Como se


comentó anteriormente ( punto 3.9.1. Descripción de la aplicación), se ha configurado el
puerto paralelo en la posición 2. Sin embargo, en cualquier PC la numeración de estos
puertos es:

Por tanto, se puede mantener esta configuración o bien se puede cambiar ésta como se ha
hecho en este caso (es decir, configurar el LPT1 asociado al port number 2). Estos cambios
se deben realizar en el fichero de configuración de LabView, es decir, labview.ini.

52
Sistema de Visión Artificial 3 Especificaciones del Sistema

2.2) Serial Port Write : Esta función se encarga de realizar la escritura en el puerto
paralelo una vez éste ha sido inicializado:

Los parámetros que se han configurado son los siguientes:

-port number: situación idéntica a la función anterior. Port number #2 (LPT1).


-string to write : este campo hay que completarlo con la cadena de caracteres que
se escribirá en el puerto paralelo. Hay que tener en cuenta que el buffer size debe ser igual
que el número de caracteres para que se escriban todos. De no ser así, se escribirán tantos
bytes como indique el buffer size aunque en el string to write se escriban más caracteres.

Como en el pinout del puerto paralelo interesa únicamente leer un bit para obtener 5 V, se
ha optado por leer el bit bajo del byte que se escribe y decidir consecuentemente qué
carácter se escribe. En el siguiente resumen se explica el por qué de los caracteres
utilizados:

Códigos ASCII : equivalencia entre el carácter y su código hexadecimal

/ ?2F? 0010 1111


d?64 ? 0101 0010

0V 5V

Se ha creado, por tanto, una aplicación que permite de manera sencilla y directa controlar
un relé. De esta manera, se puede alimentar cualquier dispositivo (en este caso la
electroválvula) y desconectarlo cuando se quiera.

53
4.- MANUAL DEL USUARIO
Sistema de Visión Artificial 4 Manual del Usuario

4 Manual del Usuario

En este capítulo, se describirán los aspectos más a tener en cuenta a la hora de utilizar el
sistema de visión artificial creado en el presente proyecto. Se pretende dotar al usuario de
una guía rápida de instalación y posterior uso del sistema de visión artificial, empezando
por los requisitos de funcionamiento. Finalmente se describirán los pasos a seguir para
hacer el set up del sistema.

4.1 Requisitos de funcionamiento

Para que la aplicación de visión creada funcione correctamente, los siguientes requisitos
(hard y soft) son necesarios:

? Hardware:
? Pentium II o superior.

? Se necesita tener instalada la tarjeta de adquisición IMAQ PCI-1407.

? Una cámara CCD en blanco y negro que cumpla el estandar CCIR.

? Monitor color 1024x768 píxels

? Software:

? Paquete de aplicaciones IMAQ Vision que incluye:


1) IMAQ Vision Builder.
2) IMAQ Vision for G.

? LabVIEW 5.0 como mínimo.

? Se necesita tener instalados en el PC los drivers de la placa de vídeo IMAQ PCI-


1407. También es necesario configurar estos drivers correctamente, para lo cual se
describen a continuación los pasos a seguir para hacerlo:

1) Entrar en la aplicación para configurar dispositivos de National Instruments.

Figura 4.1.1 Dispositivos NI

54
Sistema de Visión Artificial 4 Manual del Usuario

2) Seleccionar el dispositivo IMAQ PCI-1407 y con el botón de la derecha escoger


el tipo de cámara CCIR, como se puede ver en la siguiente figura:

Figura 4.1.2 Seleccionar tipo de cámara CCIR

3) Visualizar las propiedades del dispositivo:

Figura 4.1.3 Propiedades del dispositivo

55
Sistema de Visión Artificial 4 Manual del Usuario

4) Introducir los valores que indica la figura:

Figura 4.1.4 Valores de setup de la cámara CCD

Finalmente, se debe instalar el programa de LabVIEW que gestiona la inspección de la


placa PCB. Para tal fin, se deben instalar todas las carpetas y archivos que forman el
programa. La carpeta raíz que continene todo el soft se muestra a continuación:

Figura 4.1.5 Directorios del software

Dentro del directorio “programa” existe un archivo llamado “menu principal.vi”, que es el
que ejecuta el programa. También debe exisitir la carpeta “funcions” con las subrutinas
utilizadas en Labview, y la carpeta “patrons”. Ésta última contiene diversos subdirectorios
en los que se encuentran los patrones de reconocimiento utilizados para realizar la
inspección de la PCB.

56
Sistema de Visión Artificial 4 Manual del Usuario

4.2 Setup del entorno de la Célula de Fabricación Flexible (CFF)

En este apartado se describirán los pasos a seguir para poder trabajar en el entorno de la
célula de fabricación flexible. Se necesitará alimentar todos los dispositivos que forman
parte de esta aplicación, así como gestionar las entradas de aire comprimido que accionan
el pistón de doble efecto. Por tanto, los pasos a seguir antes de poder trabajar con el soft de
inpección son los siguientes:

1) Encender el PC, alimentar la cámara y el armario con los tubos fluorescentes.

Interruptor de Cable
encendido de los alimentación
fluorescentes fluorescentes

Cable
alimentación
cámara

Figura 4.2.1 Alimentación iluminación y cámara

2) Alimentar la célula de fabricación flexible. Poner la llave de contacto a ‘1’:

Figura 4.2.2 Conmutar la llave de alimentación a ‘1’

57
Sistema de Visión Artificial 4 Manual del Usuario

3) Alimentar los motores de la cinta transportadora. Para ello, se debe accionar el


interruptor K1:

Figura 4.2.3 Alimentación de la cinta transportadora

4) Abrir las llaves de paso (la general y la de la línea que acciona el pistón de doble
efecto) del aire comprimido. De esta manera, se habilita el funcionamiento del pistón
neumático que retiene y deja pasar la plataforma con la PCB.

Paso general cerrado

Paso general abierto

Figura 4.2.4 Alimentación de la cinta transportadora

58
Sistema de Visión Artificial 4 Manual del Usuario

Línea individual de alimentación de la electroválvula:

Llave línea pistón

Válvula de
vacío del aire
Figura 4.2.5 Apertura de las llaves de paso de la línea de la electroválvula

Para que el pivote metálico vuelva a su posición original (retención de la PCB), es


necesario accionar la válvula de vacío del aire. De esta manera se elimina todo el aire del
tubo que llega al pistón y el pivote sube. Previamente a realizar este vacío, es necesario que
la llave de paso general del aire comprimido esté cerrada.

5) Alimentar el sensor inductivo que indica la llegada de la plataforma y la


circuitería externa que acciona la electroválvula:

Figura 4.2.6 Alimentación del sensor y de la electroválvula

Una vez se hayan seguido y cumplido todos estos pasos, el sistema está listo para que se
ejecute el soft de inpección.

59
Sistema de Visión Artificial 4 Manual del Usuario

4.3 Funcionamiento del progama de inspección

El menú principal consta de 5 opciones, como se muestra en esta figura:

Aplicación para la
Célula de
Fabricación Flexible

Figura 4.3.1 Menú principal

1. Calibració de la camera : permite ajustar la cámara para que las imágenes captadas
por ésta esten correctamente enfocadas, encuadradas e iluminadas apropiamente.

2. Capturar imatge : Permite guardar imágenes capturadas por la cámara CCD y


almacenarlas en un archivo.

3. Processar imatges des de fitxer: procesa imágenes que estén previamente


guardadas.

4. Processar imatge des de la camera : esta es la opción que permite controlar la


aplicación creada para la célula de fabricación flexible. La placa se examinará y se
permitirá que avance o no por la cinta transportadora.

4.3.1 Calibración de la Cámara

Esta opción facilita la tarea de ajuste de la cámara, de manera que la imagen captada por
esta sea válida para que la aplicación funcione correctamente. El problema es que la
imagen captada debe ser siempre la misma e idéntica al patrón de comparación que se
utiliza. Por tanto, se debe ajustar la altura, enfoque y nivel de luminosidad para conseguir
encuadrar la imagen perferctamente.

60
Sistema de Visión Artificial 4 Manual del Usuario

En este menú se muestra una ventana en la que se ve el patrón de comparación, y cuando


se ejecuta se abre otra ventana en la que aparece la imagen que la cámara está captando en
ese momento. Para facilitar el encuadre, aparece en la imagen captada un recuadro
pemanente para indicar el ajuste del zoom o altura de la cámara (en definitiva para ajustar
el tamaño de la imagen). A continuación se muestran los posibles puntos de ajuste de la
cámara:

Ajuste de la altura

Inclinación

Enfoque

Iris (cantidad de luz)

Zoom

Figura 4.31.1. Puntos de ajuste de la cámara

4.3.2 Capturar Imagen

Esta opción permite capturar imágenes captadas por la cámara y guardarlas en un archivo
de formato BMP. En la pantalla que aparece se tienen dos opciones: salvar imagen y salir.
El fucncionamiento es ya intuitivo.

Figura 4.3.2.1 Panel de captura de imágenes

61
Sistema de Visión Artificial 4 Manual del Usuario

4.3.3 Procesar Imágenes desde Fichero

Esta función permite procesar la imagen de una placa que haya sido captada y guardada
previamente. El panel principal que aparece es el siguiente:

Figura 4.3.3.1 Panel principal

El procedimiento para procesar una imagen es el siguiente:

1. Escoger los integrados que vayan montados en los zócalos de la placa, utilizando
los menús desplegables (“escull xip (socol x)”.

2. Al clicar en la opción , se abrirá una ventana en la que se pedirá

que se seleccione el path del archivo de imagen.

3. Una vez seleccionada la imagen, se iniciará el proceso de inspección de la PCB.

4. Finalmente, cuando acabe el proceso de inspección aparecerá un mensaje como


este:

Figura 4.3.3.2 Mensaje de nuevo procesado de imagen

Antes de responder, se necesitará comprobar los resultados de la inspección en el panel


principal. Se podrán analizar los fallos en el mismo y actuar en consecuencia. Se puede
volver a procesar otra imagen o regresar al menú principal.

62
Sistema de Visión Artificial 4 Manual del Usuario

4.3.4 Procesar Imágenes desde la Cámara. Aplicación de la CFF

Este apartado es muy similar al anterior, aunque difiere en el método de adquisisción de la


imagen. En este caso, la imagen se captará cuando se mande la señal de disparo desde el
sensor instalado. Hay que tener en cuenta que una vez se ha ejecutado esta parte del
programa, se tiene un margen temporal de 30 segundos para que el sensor detecte la
plataforma metálica que transporta la PCB.

Si la inspección indica que la placa es válida, ésta seguirá avanzando por la cinta
transportadora. En caso negativo, se tiene la opción de que la PCB avance y posteriormente
se saque de la línea o que permanezca retenida hasta que se retire o se analice el problema.

4.4 Patrones, ROI’s y Mantenimiento del Sistema

Se puede dar el caso que se quiera hacer alguna modificación en la PCB o mejorar los
resultados de inspección. En tal caso, se debería cambiar los patrones de comparación o
retocar las ROI de los componentes. Para realizar estas tareas de mejora y ajuste, es
necesario utilizar el IMAQ Vision Builder.

Dentro del directorio “patrons” existe un subdirectorio para cada componente, en el que se
puede encontrar un “script” (archivo *.scr) con las rutinas de procesado de imagen que
utiliza el software. También se puede encontrar dentro del subdirectorio para cada
componente la imagen del patrón en sí (archivo *.png). En esta figura se puede apreciar lo
comentado:

Figura 4.4.1. Patrones y Scripts de cada componente

Lo que se debe hacer es ejecutar el “script” que se quiera hasta llegar al “pattern
matching”, entonces se puede crear un nuevo patrón y guardarlo siempre con el mismo
nombre que el anterior.

63
Sistema de Visión Artificial 4 Manual del Usuario

Otra opción de mejora o cambio es modificar las ROI utilitando IMAQ Vision Builder.
Para obtener las nuevas coordenadas es conveniente utilizar el “builder file” que genera
IMAQ Vision Builder. Las ROI de todos los componentes se muestran a continuación:

Figura 4.4.2. ROI’s de todos los componentes

En cuanto al mantenimiento del sistema, es necesario tener muy en cuenta los siguientes
puntos:
? No se debe mover la posición del armario que contiene la iluminación y la
cámara, ya que está posicionado y orientado de manera exacta para tener un
encuadre preciso de la PCB.

? No se debe tener la iluminación del armario encendida durante periodos muy


elevados (de 2 o 3 horas en adelante), ya que la temperatura que puede llegar a
adquirir el interior del armario puede ser muy elevada, pudiendo así causar
algún tipo de daño a la cámara.

? Se debe tener cuidado con el conexionado de las placas de topos que forman
parte del proyecto, ya que se puede soltar algún cable de alguna regleta e
impedir que el sistema funcione correctamente.

? Se deben conservar las PCB’s en un lugar que no sufran demasiado deterioro,


ya que los patrones de comparación guardados pueden diferir de la inspección
real si ha existido algún golpe o desperfecto en alguno de los componentes.

64
5.- RESULTADOS OBTENIDOS
Sistema de Visión Artificial 5 Resultados Obtenidos

5 Resultados Obtenidos

Durante este capítulo, se describirán los resultados que se han considerado de más valor
académico, así como se señalarán los aspectos más relevantes en cuanto a las limitaciones
que puede sufrir el sistema de visión implementado. Finalmente, también se comentarán
algunas vías de trabajo futuras que pueden paliar las limitaciones que adolece el sistema.

5.1 PCB’s utilizadas

Las placas de circuito impreso que se han utilizado para llevar a cabo las pruebas han sido
tres. De éstas, se ha tomado una como la placa modelo (es decir, el patrón correcto que se
utiliza como comparación en el soft de inspección). Las dos restantes sufren algún
problema, como se indicará posteriormente.

Por tanto, se muestran a continuación las PCB’s utilizadas en la validación del soft de
inspección:

Figura 5.1.1. PCB modelo

Figura 5.1.2. PCB 2 Figura 5.1.3 PCB 3

La primera figura muestra la placa modelo, considerada como partrón a la hora de


inspeccionar el resto de placas. Por otro lado, las PCB’s 2 y 3 presentan una serie de
irregularidades con el objetivo de mostrar el correcto funcionamiento del sistema de visión
implementado.

65
Sistema de Visión Artificial 5 Resultados Obtenidos

Seguidamente, se enumeran los defectos de las placas no válidas:

? Defectos PCB 2: ? Defectos PCB 3:


- Condensador pequeño girado. - Condensador grande girado.
- Diodos D1,D3 y D6 girados. - Diodo D5 girado.
- Falta un puente metálico. - Falta el puente metálico pequeño.
- Transistores T2 y T3 girados. - Transistor T1 girado.
- Falta el conector.
Pel que fa als xips, es disposa dels s

Los posibles circuitos integrados que pueden ir montados sobre los zócalos son:

- Zócalo 1: 351 y 741


- Zócalo 2: W24257
- Zócalo 3: MCM2114 y P21464

Si los integrados mencionados anteriormente no se encuentran el zócalo que les


corresponde se producirá un error en la inspección de los mismos. También es interesante
destacar que los integrados P21464 y W24257 se inspeccionan carácter por carácter,
mientras que el resto se comprueban mediante un único patrón que identifica todo el
integrado. Esto es debido a que para los CI 351, 741 y MCM2114 las letras serigrafiadas
en sus encapsulados son muy pequeñas y no permiten crear un patrón que pueda ser
reconocido a posteriori.

Finalmente, se presentan algunos resultados de pruebas realizadas. En primer lugar se


muestra el resultado de la inspección para una de las placas defectuosas:

Figura 5.1.4. Resultado con PCB defectuosa

66
Sistema de Visión Artificial 5 Resultados Obtenidos

En la siguiente figura se muestra el resultado de la inspección de otra placa defectuosa con


algún integrado girado:

Figura 5.1.5. Resultado con PCB defectuosa

5.2 Limitaciones del Sistema

Durante este apartado se describirán las limitaciones que se han observado durante la
implementación del presente proyecto y que por diversos motivos no han podido ser
eliminadas o minimizadas. Se describen a continuación las limitaciones o problemas que
perjudican en más o menos grado el funcionamiento y aplicación del sistema. Estas
limitaciones se estructuran en dos grandes bloques:

1) Implementación en la Célula de Fabricación Flexible

? La aplicación para la inspección de PCB’s adolece de un sistema de


alimentación continua de placas, ya que éstas se situan manualmente sobre la
cinta transporadora y avanzan así hacia la aplicación de inspección.
? Sería conveniente implementar algún sistema para poder rearmar o retornar el
pivote metálico del pistón de doble efecto a su posición original de no avance
de PCB.
? Falta de integración con el resto de estaciones de la CFF, pudiéndose integrar
esta aplicación en el montaje y clasificación de pistones (objetivo de la CFF).

2) Soft de Inspección

? A nivel general, los componentes inspeccionados deben corresponder


exactamente con los patrones guardados y que sirven como referencia a la hora
de realizar la inspección.
? En cuanto a los circuitos integrados, si las letras serigrafiadas en el encapsulado
son de un color que destaque poco (marrón, amarillo, dorado) se tendrán

67
Sistema de Visión Artificial 5 Resultados Obtenidos

problemas a la hora de reconocerlas. Mejorando los reflejos del sistema de


iluminación se podría solucionar este inconveniente.
? No se puede identificar el valor óhmico de las resistencias, ya que la cámara es
monocromo y no se puede interpretar la codificación de bandas de colores.
? En cuanto a los 3 puentes metálicos, al haberse escogido como patrón de
inspección los tres puentes juntos, no se podría discernir si alguno de ellos falta.
Sería un problema de planteamiento de búsqueda, y si interesa se podrían
inspeccionar con patrones de búsqueda individuales.

5.3 Nuevas vías de trabajo

En cuanto a las nuevas vías de trabajo, se debe decir que surgen de la necesidad de reducir
al máximo las limitaciones que ofrece la aplicación de inspección creada. Se enumeran a
continuación algunas de las posibles vías de trabajo de cara a evolucionar y mejorar la
aplicación de visión artificial creada:

? Investigar una alimentación de las PCB’s auomatizada, bien sea cerrando el


recorrido de la cinta transportadora o utilizando una estación alimentadora de la
Célula de Fabricación Flexible (CFF).
? Integración de la aplicación creada con el resto de estaciones de la CFF. Para
llevar a cabo esta integración, sería necesario utilizar los PLC’s para establecer
una comunicación que permita una total integración.
? Al hilo de la anterior propuesta, también se podría utilizar la estación
clasificadora de la CFF para clasificar y almacenar las PCB’s válidas y no
válidas procedentes de la inspección.
? Sería interesante también encontrar una solución para poder rearmar o retornar
el pistón metálico a su posición de retención, ya que después de bajar y permitir
el paso de la placa se retorna a dicho estado de manera manual (utilizando un
depresor ubicado en el regulador de presión de la línea principal de
abastecimiento de aire comprimido).
? Otra posible nueva vía de trabajo sería mejorar el sistema de retención de la
PCB, utilizando un dispositivo existente en el laboratorio. La función de dicho
dispositivo es la de fijar y elevar la plataforma metálica que contiene la placa.
De esta manera, la inspección se realizaría en condiciones mucho más estables
(en cuanto a posibles vibraciones producidas por la cinta transportadora). Esta
idea no se ha llevado a cabo por la falta de disponibilidad de dicho dispositivo,
ya que en la actualidad se está utilizando para otra aplicación de la CFF.
? También sería interesante, una vez considerado que el sistema está
suficientemente evolucionado, fijar el armario a la cinta transportadora de
manera más robusta que en la actualidad (tornillos con palometas en la cabeza ).
? Finalmente, se podría intentar realizar la inspección de la placa sin que ésta se
parara. Para poder llevar a cabo esta idea, se necesitaría adquirir una cámara de
las llamadas progresivas, que son capaces de adquirir imágenes de objetos en
movimiento sin sufrir problemas de nitidez.

68
6.- CONCLUSIONES
Sistema de Visión Artificial 6 Conclusiones

6 Conclusiones

Las conclusiones que se pueden extraer después de haber estado trabajando en el montaje
de esta aplicación de visión artificial, se pueden resumir en los siguientes puntos:

? Se ha podido adaptar el sistema de visión existente al nuevo entorno de la Célula de


Fabricación Flexible (CFF). Para conseguir tal objetivo, se han tenido que hacer
cambios físicos en el armario que contiene la cámara, así como adquirir unas guías
de aluminio sobre las que poder apoyar el conjunto armario de iluminación-cámara.

? Se han fabricado unas piezas de plástico sobre las que se han anclado las PCB’s a
examinar. Este conjunto pieza de plástico-PCB encajan perfectamente en la
plataforma metálica que viaja sobre la cinta transportadora de la CFF.

? Se ha incorporado al sistema un sensor inductivo para detectar la llegada de la


plataforma metálica que transporta la PCB. Con la señar de trigger que proporciona
este sensor, la cámara únicamente capta imágenes en el momento de la llegada del
objeto a examinar. De esta manera, se ahorran recursos de la tarjeta de vídeo y
consecuentemente del PC.

? Se ha diseñado un sistema de retención de la PCB mediante un pistón de doble


efecto con un pivote metálico. El accionamiento del pistón se controla mediante
una electroválvula. Por tanto, se ha diseñado una aplicación para conmutar la
electroválvula a través del PC (escritura serie al puerto paralelo desde Labview).

? Se han rediseñado y creado varias partes del soft en Labview que controla el
sistema. Por un lado, se ha programado la sincronización entre la llegada de la PCB
y la captación de la imagen (triggering), y por otro lado se ha agregado la parte de
control del pivote metálico (control de electroválvula a través del PC).

? Se ha comprobado el correcto funcionamiento del conjunto hard-soft, realizando


pruebas experimentales. Se han podido comprobar también ciertas limitaciones del
sistema a la hora de poder captar la imagen en la posición exacta, ya que el pivote
metálico simplemente las para mientras la cinta sigue avanzando.

En definitiva, se ha podido adaptar el sistema ya existente de visión artificial a un nuevo


entorno menos limitado. Por tanto, se ha dado un paso adelante a la hora de poder
flexibilizar al máximo esta aplicación de control de calidad, ya que esta nueva situación se
asemeja más a los casos reales de producción industrial.

De todas maneras, aún existe bastante margen de mejora para hacer de éste un sistema
robusto y aplicable en entornos agresivos y con más fluctuación de variables. Es decir, se
podrían implementar, por ejemplo, acciones correctivas en situaciones de emergencia. En
tales casos, el sistema diseñado no está preparado para actuar ante situaciones imprevistas.

69
7.- BIBLIOGRAFÍA
Sistema de Visión Artificial 7 Bibliografía

7 Bibliografía

PFC “Sistema de Visió orientat a la Docència” –2002, Alejandro Adame Vidiella.

PFC “Control de qualiata d’una línia en producció de cons de galeta mitjançant un sistema
de visió” –2002, David Pijuan Rabasó.

Antonio Mánuel Lázaro, “LabVIEW Programación gráfica para el control de


instrumentación” – 1996, Editorial paraninfo.

Leonard Sokoloff, “Basic Concepts of LabVIEW” - 1998, Prentice-Hall, Inc.

National Instruments, “IMAQ PCI/PXI – 1407 User Manual” – 1998.

National Instruments, “IMAQ Vision Builder Tutorial” – 1999.

National Instruments, “IMAQ Vision for G Reference Manual” – 1999.

National Instruments, “IMAQ Vision User Manual” – 1999.

Eduard Llobet Valero, “Apunts de Sistemas de Percepció” – 2001.

Páginas web de Internet:

National Instruments - Measurement and Automation


http://www.natinst.com/

Research Group of Computer Vision and Artificial Intelligence


http://iamwww.unibe.ch/~fkiwww/Welcome.html

Grupo de Visión Artificial


http://www-gva.dec.usc.es/

WIP Proyectos Industriales


http://www.wip.es

Pulnix
http://www.pulnix.com

Instrucontrol
http://www.instrucontrol.com

70
ANEXO: Datasheets e Información
Asociada
Sistema de Visión Artificial Datasheets e Información Asociada

Los datasheets de los componentes utilizados a lo largo del presente proyecto y alguna
información relacionada con la correcta elección de los sensores de proximidad y de los
relés se puede encontrar en la siguiente dirección de internet:

http://www.amidata.es/

Você também pode gostar