Vous êtes sur la page 1sur 21

Electrónica

Comunicación USB.

Muchas compañías en la industria de la manufactura usan computadoras


personales en sus plantas y laboratorios para probar sus productos, tomar
mediciones y automatizar procesos. Al crear sistemas basados en
computador, los usuarios están aprovechando las ventajas de las tecnologías de
la computación más recientes tales como tarjetas de adquisición de datos. La
técnica de instrumentos virtuales mediante tarjetas de adquisición de datos, es
cada vez más utilizada en la industria. Esta metodología consiste en realizar
paneles de control en computador, tradicionalmente hechas por software que
utiliza instrumentos virtuales como LabView. A través de estos instrumentos
virtuales (Vis) se pueden supervisar en tiempo real las variables del proceso
(Temperatura, Humedad, Presión, entre otros.) y controlar actuadores (válvulas,
termo resistencias, entre otros). Estos VIs brindan al usuario una gran
flexibilidad de operación debido a que no requieren de ninguna circuitería
para realizar complicados procedimientos de control, simulación y supervisión.
Actualmente la obtenció n de datos en LabView, se realiza mediante tarjetas
de adquisición (TAD) que National Instruments desarrolla. Estas TAD
generalmente son muy costosas y de uso limitado, esto es, que no puede
utilizarse en ningún otro software. El costo es la principal limitante que hace
difícil adquirirlas por estudiantes, universidades y centros de investigación.
Considerando las problemáticas planteadas anteriormente, en este artículo se
presenta una metodología para establecer la comunicación vía USB entre
LabView y un microcoontrolador.

Comunicación entre la PC y el dispositivo USB

Existen tres maneras de establecer la comunicación por USB (Bus Universal en


Serie):
• Bulk Transfers: transferencia bidireccional masiva de información.
• CDC: clase de dispositivos de comunicación (emulación del
protocolo RS232).
• HID: dispositivos de interfaz humana (plug-and- play).

En este trabajo se opto por la opción Bulk Transfers, debido a que permite
la transmisión de datos de alta velocidad (Full Speed) de 12Mb/s. Las
transferencias Bulk están diseñadas para soportar aquellos dispositivos que
precisan enviar o recibir grandes cantidades de datos.

Fig. 1. Etapas de comunicación entre la PC y el Dispositivo USB.

En el diagrama de la Figura. 1 se ilustra el flujo de datos USB a partir del


software LabView que manipula al dispositivo USB a través de la librería
mpusbapi. La librería realiza la transmisión de datos a la dirección del dispositivo
que el host USB configuró al usar el driver. El driver establece el puente entre la
PC y el microcoontrolador. Dentro del microcoontrolador se ejecuta el firmware el
cual se comunica con elementos de la TAD, que realizan algunas funciones útiles
para el usuario o lo que se desea controlar. Una descripción formal de los
principales procesos o elementos que realizan la comunicación entre el
dispositivo
USB y la PC.

• Interconexión
El dispositivo USB dispone de 2 tipos de conectores (A y B) como se
observa en la figura 2, que pueden ser a su vez macho o hembra [2].

Fig. 2. Conectores USB

De esta forma el típico cable USB sería el modelo US09. La velocidad


soportada por estos cables es de 12 Mbps, hasta 480Mbps en el caso de los
cables para USB 2.0. El cable está compuesto por solo cuatro cables, Vbus, D+,
D- y GND (Ver Tabla1). La información y los datos se mueven por los cables D+ y
D-.
TABLA 1.

A través de esos cables se genera un tipo de señal diferencial. La


transferencia de información lo realiza de manera bidireccional, pero no al
mismo tiempo. En la misma señal diferencial entre D+ y D- se envía y se
recibe las tramas de datos. Dentro de esta señal se observa una señal Sync,
PID y Opcional, estas tres forman el paquete de trama donde va incluida la
información que se desea trasmitir (VerFig. 3).
Fig. 3. Composición de un paquete de información
La señal Sync es utilizada por e l receptor para sincronizarse con el host. El
PID es un paquete identificador, que definirá cómo los bytes de información
deben ser interpretados o tratados. Y, por último, esta la opcional donde contiene
los datos enviados y recibidos, que va desde 1 byte hasta 124 bytes.

• Microcoontrolador PIC
Para establecer la interfaz de comunicación USB se seleccionó el
microcoontrolador PIC18F4550. Este dispositivo soporta la comunicación vía
USB, es decir, incluye un controlador USB interno y cuenta con pines para
conectarse a la PC sin la necesidad de pull-ups o circuitería externa. En la
Figura. 4 se observa la estructura interna del controlador de periférico USB.

Fig. 4. Característica del PIC18F4550

El firmware que se implementó en el PIC18F4550 para establecer la


comunicación USB con la PC, se realizó a través de las siguientes instrucciones
de programación.
Fig.5. Diagrama de flujo del firmware

El firmware hace uso de las librerías USB de CCS C Compiler, para


configurar el dispositivo y establecer la comunicación entre la PC. Para que el
host USB reúna la información necesaria e identifique al dispositivo y lo
configure, el firmware debe contener descriptores. Los descriptores contienen
información básica del dispositivo como el número de serie, la clase de
dispositivo, el protocolo soportado, la capacidad de transmisión, las funciones
del dispositivo, entre otros, con el propósito de que el sistema identifique al
dispositivo y encuentre al driver que debe utilizar.

• Driver del dispositivo


Cuando el dispositivo se conecta por primera vez a la PC, el sistema pedirá el
controlador (driver) correspondiente, en este caso el driver mchpusb creado por
Microchip. Para que el dispositivo sea reconocido por el sistema, este driver debe
contener los mismos descriptores que el firmware.

Selección de materiales
La selección de los materiales para la implementación del instrumento se
baso en la versatilidad de los componentes, su fácil obtención, su rango de
operación y sus datos característicos para desarrollar un sistema estable en
cuanto a control y adquisición de la información, así como la transmisión y
procesamiento de la misma.

Los materiales se describirán dependiendo de su acción a realizar y la dividiremos


en 3: control mecánico, detección y adquisición+procesamiento central.

 La primera etapa que es el control mecánico está compuesta por dos


bloques que son como se muestra en la figura 6.

Microcontrolador encargado
de generar el PWM Servomotor
A microcontrolador

H21A1 sensor
central

óptico de herradura

Figura 6.- diagrama a bloques del control mecánico.

Para la inducción de la velocidad angular en la parte mecánica se ha elegido el


servomotor de giro continuo del fabricante Parallax (#900-00008) con las
especificaciones técnicas que se muestran en la figura 7.
• Voltaje máximo 6 VDC.
• Velocidad de giro 60 rpm.
• Torque 3.45kg-cm.
• Tamaño en milímetros.
40.5 x 20.0 x 38.0.

Figura 7.- Especificaciones del servomotor Parallax

El servomotor se controla mediante programación PWM (modulación por


ancho de pulso). Para implementar el control se usó el microcoontrolador
PIC16F84A de Microchip Technology Inc. que es uno de los microcontroladores
más utilizados en proyectos electrónicos. A pesar de que este micro no posee,
muchas de las características de los más avanzados, éstas pueden ser
implementadas por software. El micro pertenece a la familia Microchip de
Microcontroladores de rango medio de 8 bits con 18 pines como se muestra en la
figura 3.2. Este tiene 13 líneas de entrada/salida con tecnología TTL/CMOS, es
decir, 5 V para un estado lógico 1 y 0 V para el estado 0. Requiere un oscilador
externo de hasta 20 MHz, además cuenta con un timer y un watchdog timer. Ver
figura 8.

Figura 8.- Pines del PIC16F84A


Para la distinción de un giro completo se tiene un switch óptico de ranura el cual
con el indicador del cero en la placa retardadora, el programa sabrá donde tomar
los datos en principio y final de una vuelta. En este tipo de sensor, ambos
elementos (LED y Fototransistor) se encuentran alineados a la misma altura
enfrentados a través de la ranura. El fototransistor se encontrará activado siempre
que no se introduzca ningún elemento que obture la ranura. Se utiliza el H21A1
debido a sus características de alimentación y su respuesta en condiciones
normales, logrando obtener una respuesta de 10 KHz. Ver figura 9.

Figura 9.- descripción del Switch óptico de ranura H21A1.


 Etapa de detección

Se eligió un dispositivo OPT101, que consta de un sensor de luz y un


amplificador. Dicho dispositivo funciona de manera tal que el valor del voltaje a la
salida varía linealmente con la intensidad de luz que incide sobre él. El OPT101
opera como sensor de radiación tipo fotodiodo y cuenta con amplificación interna
que genera una diferencia de potencial proporcional a la intensidad de la radiación
incidente sobre la superficie de su apertura. En la figura 10 tenemos el diagrama
interno del OPT101 y su encapsulado.

Figura.-10. Diagrama interno del OPT101 y pines. Nota (1): localización de


fotodiodo
 Adquisición y procesamiento central.
Esta etapa está compuesta esencialmente por el microcoontrolador
PIC18F4550 mencionado anteriormente el cual se encarga de la conversión
analógica – digital del la información adquirida en el OPT101, para después ser
transmitida en cadenas de datos al ordenador. Algunas características
fundamentales son la arquitectura RISC avanzada Harvard: 16- bit con 8- bit de
Datos, hasta 64K bytes de programa (hasta 2 Mbytes en ROMless), multiplicador
Hardware 8x8, hasta 3968 bytes de RAM y 1KBytes de EEPROM, frecuencia
máxima de reloj 40Mhz, múltiples fuentes de interrupción, periféricos de
comunicación avanzados (CAN y USB). En la figura se da un detallado de los
pines de este microcoontrolador.

Figura 10.- Pines del PIC18F4550.

Diseño de la circuitería del sistema

Teniendo en cuenta los requerimientos del sistema y los componentes


seleccionados, se diseñó la electrónica cuyo funcionamiento se puede observar en
el esquema a bloques de la Figura 11. Ahí, el bloque central será el encargado de
controlar el funcionamiento de los componentes mecánicos, además de la
adquisición, la conversión análoga-digital y la trasmisión de la información ya
digitalizada al ordenador para su tratamiento. El fotodetector enviará la
información de la intensidad modulada, que estará siendo censana a la salida del
arreglo óptico. El PIC16F84A será el encargado de generar el PWM del
servomotor para mantener una velocidad angular constante en el sistema de
engranes. En este mismo lazo se tiene el switch óptico de herradura que nos dará
la información de un giro completo de la placa retardadora para tener una certeza
de principio y final de obtención de las muestras, para tener un buen análisis de la
información.

OPT101

CONTROL CENTRAL 16F84


PC PIC18F4550

Engranes
SENSOR OPTICPO DE
RANURA

Figura 11. Diagrama a bloques de la parte electrónica.

En la Figura. 12 se observan las conexiones entre los microcontroladores,


el fotodetector, el sensor de herradura, el conector USB y el servomotor. Como se
puede ver en la simulación se tienen los elementos electrónicos que compondrán
la interfaz USB, donde podemos ver cada uno de los elementos necesarios, para
que esta funcione de la manera más eficiente y no nos envié información
inservible para las mediciones.

Como se puede observar, no se tienen las librerías para la simulación del


fotodetector y el switch de herradura, para los cuales se realizó un circuito
equivalente que tiene el mismo comportamiento de los elementos reales. También
se puede observar las conexiones entre los microcontroladores y la conexión con
el adaptador USB.
Figura.12. Sistema completo.

Interfaz usuario – instrumento mediante LabView

La interfaz es la forma en que los usuarios pueden comunicarse con una


computadora, y comprende todos los puntos de contacto entre el usuario y el
equipo. Sus principales funciones son:

• Manipulación de archivos y directorios


• Herramientas de desarrollo de aplicaciones
• Comunicación con otros sistemas
• Información de estado
• Configuración de la propia interfaz y entorno
• Intercambio de datos entre aplicaciones
• Control de acceso

Implementación en LabView
LabView, de la multinacional National Instruments, permite recoger, analizar
y monitorizar los datos dentro de un entorno de programación gráfico en el que se
ensamblan objetos llamados instrumentos virtuales (Vis) para formar el programa
de aplicación con el que interactuará el usuario y que se denomina instrumento
virtual.

El instrumento virtual permitirá manejar ese hardware mediante una interfaz


gráfica de usuario (IGU) que se asemejará al panel de mandos de los aparatos
habituales. Mediante le representación en pantalla de los elementos gráficos de
visualización y control que servirán de interfaz con el usuario, este observará los
estados de las entradas seleccionadas en la pantalla e interactuará con las salidas
directamente, o mediante la ejecución de las rutinas que se programen.

Básicamente, el software se encargará de comunicar la interfaz de usuario


del ordenador con el hardware de adquisición de datos dotando a la aplicación de
la funcionalidad requerida.

Requerimientos

Para el desarrollo de la interfaz grafica necesitamos saber cuáles son los datos
que obtendremos y como los obtendremos, para ello veremos que son los datos
que se presentaran al usuario en el panel frontal que se desarrollara más
adelante, para ello los dividiremos en tres bloques los cuales veremos a
continuación.

 El primer bloque está compuesto por los controles que permitirán el inicio
de la toma de intensidades por separado, el inicio del giro continuo en los
elementos ópticos, o estos dos al mismo tiempo, además de detener el
sistema. También tendremos el control de poder guardar los datos de las
mediciones en tiempo real por tiempos definidos por el usuario manual o
automáticamente en archivos de texto o tablas de números para un análisis
a futuro. Además, se tiene el control de seleccionar la mejor ubicación para
el guardado de los datos.
 En el segundo bloque se tienen los indicadores numéricos, los cuales nos
mostrarán los parámetros de la luz que estamos estudiando, estos datos
por mencionar serán: el grado de polarización, grado de polarización lineal,
grado de polarización circular, ángulo de orientación de la elipse de
polarización y la elipticidad de la misma y los elementos del vector de
Stokes característicos de la luz analizada. Con esto se presenta una
información detallada acerca de las propiedades del haz de luz que se
analizará y se presentara en tiempo real.
 En el último bloque tenemos los indicadores gráficos, los cuales nos
mostrarán de una manera más agradable los datos numéricos en el tiempo
y como estos cambian para poder tener un detallado de las mediciones. Las
gráficas que se presentarán son : la señal modulada entrante en el sistema,
el ángulo de orientación y la elipticidad de la elipse de polarización, los
elementos del vector de Stokes y, por último, la representación del estado
de polarización mediante la esfera de Poincaré.

Desarrollo de panel frontal.

Como ya se mencionó en los requerimientos se desarrolla un panel frontal


con la capacidad de poder mostrarnos en tiempo y forma los datos que se
obtendrán mediante el análisis de la señal obtenida.

Nuestro panel frontal se muestra en las Figura 13 donde se puede observar que
tendremos pestañas y controles que permitirán elegir la visualización de cada
indicador gráfico independiente o agrupado, además de exhibir numéricamente los
parámetros de polarización y de tener la gráfica de las intensidades que se
analizarán.
En la Figura 13.a se puede observar la pestaña principal donde se muestra una
gráfica que nos muestra las intensidades moduladas obtenidas del fotodetecor y
las cuales serán tratadas para obtener los parámetros en la polarización.

Figura 13.a. Grafica de intensidades.

En la figura 13.b. tenemos los controles para la ubicación de los archivos que
contendrán la información de los parámetros de polarización, además se tienen los
controles para iniciar con el guardado y los indicadores numéricos de todos los
parámetros de polarización.

Figura 13.b. Parámetros.


Ahora en la Figura 13.c mostramos la elipse de polarización del haz incidente,
además se tiene un control para mostrarla y así evitar el uso innecesario de
memoria RAM del ordenador, con esto hacemos tenemos menos pérdida de
tiempo en el proceso de las mediciones.

Figura 13.c.Elipse de polarización.

Para poder entender el comportamiento de los parámetros que influyen a la elipse


de polarización se muestran las gráficas con respecto al tiempo de los parámetros:
elipticidad y el ángulo de orientación de la elipse de polarización mostrada en la
pestaña anterior.

Figura 13.d. Elipticidad y ángulo de orientación.


La pestaña siguiente contiene las gráficas de los elementos del vector de Stokes
S1, S2 y S3, las cuales son importantes en el estudio de de la luz polarizada,
también se puede observar que se tiene un botón de ver para dibujar las graficas
cuando se requiera (figura 13.e).

Figura 13.e. Elementos del vector de Stokes.

En la última pestaña (Figura 13.f) se muestra la gráfica de la esfera de Poincaré,


una manera de ver el comportamiento de la luz polarizada, son su control para
empezar a mostrar la gráfica, cabe resaltar que los controles de inicio del opt101,
servo, inicio y detener el instrumento están en todas las pestañas ya que son
controles principales.

Figura 13.f. Esfera de Poincaré.


Detallado de parte posterior

La descripción del panel posterior de la interfaz gráfica, está constituida de


algunas funciones predeterminadas de LabView, para el tratamiento de la señal
adquirida mediante la electrónica desarrollada. En la Figura 14 se puede observar
a grandes rasgos los componentes principales del programa principal el cual con
los Subvi’s señalados más adelante complementarán el desempeño óptimo del
sistema.

Figura 14.- Programa principal.


La subrutina llamada Segunda parte es la encargada del cálculo con la
cadena de datos que es enviada desde la función match pattern. A esta subrutina
sólo se le ingresa la cadena de datos previamente convertida en un arreglo de
datos para su manejo eficiente en la subrutina y la cual entregará los datos que se
ven en la Figura 4.15.
Figura. 4.15 SubVi encargado del análisis matemático de la señal muestreada.
El Subvi está conformado por tres etapas principales que se describirán a
continuación.

 Primera etapa: arreglo con las mediciones de intensidad y determina el


valor máximo para normalizar. Realiza los cálculos solicitados: Series de
Fourier Truncadas (figura 4.16).

 Segunda etapa: Calcula los valores S0, S1, S2 y S3, con los coeficientes de
la serie de Fourier de las intensidades ya normalizadas.(figura 4.17)

 Tercera etapa: Calcula la orientación, Polarización y Elipticidad, y su envió a


las salidas del Subvi. (figura 4.18).
Figura 4.16 Primera etapa del Subvi.

Figura 4.17 Segunda etapa del Subvi.

Figura 4.18 Tercera etapa del Subvi.

Los resultados obtenidos de la subrutina son los que se tratan en la última


etapa del programa donde serán enviados a indicadores numéricos y gráficos para
su observación en la parte frontal del panel. Además de los indicadores también
tenemos los datalogger’s en los cuales se guardarán estos resultados para un
análisis posterior.
Figura 4.19 Indicadores gráficos.

Figura 4.20 Indicadores numericos.

Figura 4.21. Datalogger en extensión .txt.

Figura 4.22. Datalogger en extensión .xls.


Referencias

[1] GABRIUNAS V. Apuntes de Electrónica. Universidad Distrital “Francisco José


de Caldas”. 1999

[2] RONCANCIO H., VELASCO. H. Una Introducción a Labview. Semana de


Ingenio y Diseño. Universidad Distrital "Francisco José de Caldas".
2000.

[3] Ing. Ramos Guillermo, Ing. Hernández Jorge, Ing. Castaño Juan Andrés.
Curso Práctico de Electrónica Industrial Y Automatización: Proyectos, Tomo 3.
CEKIT S.A. 2002 Pereira – Colombia. Pág.: 193-196.

[4] Angulo Usátegui José, Begoña García Zapirain, Sáez Javier Vicente y Angulo
Martínez Ignacio. Microcontroladores Avanzados dsPIC: Diseño práctico de
aplicaciones, 1era edición. Ed. McGraw-Hill. Pág.: 54-55, 308-310, 336-337,
364-366.

[5] Lajara Vizcaíno José, Pelegrí José. Labview, Entorno Gráfico de


Programación, primera edición, Marcombo, Barcelona, España, 2007. Pag
115,116

[6] Modulo LabView Data logging and Supervisory Control, disponible en:
http//sine.ni.com/nips/cds/view/p/lang/es/nid/1010

[7] Arquitectura de software para instrumentos virtuales disponible en:


http://digital.ni.com/public.nsf/allkb/8C5F1FDC45A30155862570E500711955

[8] Digitric, Manual (2000). An industrial controller with format, Digitric 500.
Clasificaci´on 50/61-05 EN, ABB Group. Alemania.

[9] Gary W. Johnson, R. J. (2006). LabVIEW Graphical Programming, Fourth


Edition. New York: McGraw-Hill.

[10] Jan Axelson. (2001). USB Complete Everything You Need to Develop Custom
USB Peripherals,Third Edition. Madison, WI: Lakeview Research.

[11] Lazaro, A. M. (2005). LABVIEW 7.1: PROGRAMACION GRAFICA PARA EL


CONTROL DE INSTRUMENTACION, Cuarta Edición. Texas: Thomson.

[12] National Instruments (2008). http://www.ni.com

[13] Universal Serial Bus (2008). http://www.usb.org

[14] Microchip (2008). http://www.microchip.com

Vous aimerez peut-être aussi