desarrollo de una tarjeta integral de adquisición de datos para

Anuncio
DESARROLLO DE UNA TARJETA INTEGRAL DE ADQUISICIÓN DE DATOS
PARA IMPLEMENTACIÓN DE PRÁCTICAS DE CONTROL CON BASE EN
PROGRAMAS DE MODELAMIEMTO PARA LA UNIVERSIDAD DE SAN
BUENAVENTURA
JUAN CAMILO CASTELBLANCO PERALTA
ALVARO JOSÉ MARTÍNEZ JUNCA
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
BOGOTÁ
2008
DESARROLLO DE UNA TARJETA INTEGRAL DE ADQUISICIÓN DE DATOS
PARA IMPLEMENTACIÓN DE PRÁCTICAS DE CONTROL CON BASE EN
PROGRAMAS DE MODELAMIENTO PARA LA UNIVERSIDAD DE SAN
BUENAVENTURA
JUAN CAMILO CASTELBLANCO
ALVARO JOSÉ MARTÍNEZ JUNCA
Proyecto de grado
Tutor: Giovanni Sánchez Prieto
UNIVERSIDAD DE SAN BUENAVENTURA
FACULTAD DE INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
BOGOTÁ
2008
2
Nota de aceptación:
……………………………………………
……………………………………………
……………………………………………
……………………………………………
……………………………………………
------------------------------------------------Firma Jurado 1
------------------------------------------------Firma jurado 2
Bogotá junio de 2008
3
DEDICATORIA
A mis padres que sin ellos no sería ni un poquito de lo que soy, y a mi sobrinito Juan
Sebastián.
Juan Camilo Castelblanco Peralta
Quiero dedicarle este trabajo a mi madre Mercedes Junca, mi padre Álvaro Martínez, mi
hermana Alejandra Martínez y a toda mi familia por todo el apoyo que he recibido por parte
de ellos durante toda la carrera, sin la ayuda de ellos este hubiera sido un camino muy
complicado, a todas las personas que han estado a mi lado durante toda mi carrera como
amigos, compañeros y a todas las personas que contribuyeron a mi formación como
persona y profesional.
Álvaro José Martínez Junca
4
AGRADECIMIENTOS
Primero agradezco a Dios, él permitirme llegar hasta acá y el poder continuar adelante, a mi
gran familia, a mis amigos y a todas las personas que hicieron posible tan gran logro, a
todos aquellos profesores que me apoyaron y guiaron y al padre Fray Fernando Garzón
Garzón que más que un rector fue siempre un gran amigo.
Juan Camilo Castelblanco Peralta
Primero a Dios, a mi familia y a mi universidad que siempre me apoyó en todos los
proyectos a nivel educativo y deportivo en los que participé. A mis amigos por su confianza
y soporte en momentos difíciles, gracias a todos
Álvaro José Martínez Junca
5
CONTENIDO
CONTENIDO
6
LISTA DE FIGURAS
8
GLOSARIO
12
INTRODUCCIÓN
14
1.
16
PLANTEAMIENTO DEL PROBLEMA
1.1.
ANTECEDENTES
16
1.1.1.
Sistemas de adquisición y procesamiento de señales
16
1.1.2.
Procesadores de propósito general mejorados
19
1.1.3.
Lógica difusa
21
1.1.4.
Sistemas de adquisición de datos en la Universidad San Buenaventura
22
1.2.
DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA
24
1.3.
JUSTIFICACIÓN
24
1.4.
OBJETIVOS DE LA INVESTIGACIÓN
25
1.4.1.
Objetivo general
25
1.4.2.
Objetivos específicos:
25
1.5.
2.
ALCANCES Y LIMITACIONES DEL PROYECTO
MARCO DE REFERENCIA
2.1.
26
27
MARCO TEÓRICO – CONCEPTUAL
27
2.1.1.
Consideraciones en el diseño de sistemas de adquisición de datos
27
2.1.2.
Tipos de filtros anti-solapamiento
29
2.1.3.
Método abanico de papel
31
6
2.1.4.
Selección de la tasa de muestreo
32
2.1.5.
Conceptos básicos de lógica difusa:
34
2.2.
3.
MARCO LEGAL O NORMATIVO
39
METODOLOGÍA
41
3.1.
ENFOQUE DE LA INVESTIGACIÓN
41
3.2.
LÍNEA DE INVESTIGACIÓN DE USB/ SUB-LÍNEA DE FACULTAD / CAMPO
TEMÁTICO DEL PROGRAMA.
41
3.3.
HIPÓTESIS
42
3.4.
VARIABLES
42
3.4.1.
Variable independiente
42
3.4.2.
Variables dependientes
42
4.
DESARROLLO INGENIERIL
4.1.
43
ETAPA 1. SELECCIÓN DEL DISPOSITIVO A UTILIZAR COMO ELEMENTO
CENTRAL DE LA TARJETA
44
4.1.1.
Tipos de encapsulado
47
4.1.2.
Elementos periféricos o actuadores de la tarjeta
50
4.2.
ETAPA 2. PRUEBAS DE RENDIMIENTO Y SELECCIÓN.
52
4.2.1.
Entorno de programación de los microcontroladores seleccionados.
52
4.2.2.
Pruebas
62
4.3.
ETAPA 3. CARACTERIZACIÓN DE FUNCIONES Y PLANTEAMIENTO DE
PRÁCTICAS.
75
4.3.1.
Caracterización de funciones.
76
4.3.2.
Planteamiento de prácticas
80
7
5.
PRESENTACIÓN Y ANÁLISIS DE RESULTADOS
92
6.
CONCLUSIONES
95
7.
RECOMENDACIONES
97
BIBLIOGRAFÍA
99
ANEXOS.
100
LISTA DE FIGURAS
8
Figura 1
Distribución de ventas de los principales vendedores
17
Figura 2
DSP de propósito especifico
19
Figura 3
Sistema NI ELVIS
24
Figura 4
Múltiples ondas tomadas en los mismos puntos de muestreo
28
Figura 5
Generación de espectro sobrepuesto producido por solapamiento
28
Figura 6
Respuesta de un filtro anti - solapamiento
29
Figura 7
Abanico que muestra el espectro de una señal determinada
31
Figura 8
Forma del espectro resultante
32
Figura 9
Espectro mostrado de una señal pasabanda
33
Figura 10
Selección adecuada de frecuencia de muestreo.
33
Figura 11
Diagrama de bloques de la solución planteada.
43
Figura 12
Encapsulado DIP
48
Figura 13
Encapsulado SOIC
48
Figura 14
Batería electrónica con interfase MIDI para Mac OS X
53
Figura 15
Tapete urbano desarrollado con Arduino
54
Figura 16
Interfase de programación Arduino
55
Figura 17
Mensaje de error por exceso de uso de memoria
57
Figura 18
Algoritmo de funciones del programa propuesto en Arduino.
57
Figura 19
Justificación de la trama de transmisión serial
58
Figura 20
Entorno de programación Mikrobasic for dsPIC
59
Figura 21
Utilización de la memoria por procesos
61
Figura 22
Utilización de memoria en microcontrolador.
62
9
Figura 23
Circuito para analizar la tasa de muestreo
Figura 24
Modificación de los registros de control de tiempo de conversión del
dsPIC.
66
Figura 25
Resultado obtenido con un canal de conversión programado.
67
Figura 26
Resultado obtenido con dos canales de conversión programados.
68
Figura 27
Resultado obtenido con tres canales de conversión programados.
68
Figura 28
Resultado obtenido con cuatro canales de conversión programados.
69
Figura 29
Resultado obtenido con cinco canales de conversión programados.
69
Figura 30
Resultado obtenido con seis canales de conversión programados.
70
Figura 31
Resultado obtenido con siete canales de conversión programados.
70
Figura 32
Información en cada uno de los canales.
82
Figura 33
Selección del canal de conversión a visualizar
83
Figura 34
Espacio para el ingreso de las variables dentro del programa
83
Figura 35
Señal completa sin desfase
90
Figura 36
Comportamiento de la tasa de muestreo con respecto a la cantidad de
canales programados
65
92
LISTA DE TABLAS
10
Tabla 1.
Cambios en los índices productores de DSP
17
Tabla 2.
Características de los microcontroladores seleccionados
49
Tabla 3.
Elementos seleccionados como actuadores integrados a la tarjeta
50
Tabla 4.
Resultado de las pruebas por canal de conversión
67
Tabla 5.
Protocolo de transmisión
81
Tabla 6.
Equivalencia de señales
84
Tabla 7.
Señales equivalentes:
85
Tabla 8.
Equivalencia de señales
86
Tabla 9.
Análisis de costos
118
11
GLOSARIO
DIFUSO. Impreciso, en electrónica se define la salida del sistema no posee un valor
absoluto o único, por el contrario posee muchas opciones. P.e. nivel de apertura de una
puerta: abierta, medio abierta, un poco cerrada, un poco abierta… etc.
PWM. La modulación por anchura de pulsos es cuando se varia el ciclo útil de trabajo de
una señal con un periodo determinado, por lo general se utilizan en motores para controlar
su velocidad.
LCD. (Pantalla de cristal liquido) dispositivo utilizado para la visualización de caracteres
sin necesidad de utilizar un computador inventado por Jack Janning.
MICROGRADES. Acrónimo de Microcontroller Graphic Development System (sistema
de desarrollo gráfico para microcontroladores), programa colombiano que permite la
programación de microcontroladores Motorola a través de un entorno gráfico.
LED. Diodo emisor de luz, especie de bombillo pequeño debajo consumo utilizado en la
electrónica generalmente como testigo de la presencia de una señal o un proceso.
CONVERSIÓN ANALÓGICA-DIGITAL. Un CAD es un circuito que convierte datos
análogos con variación continua en una forma digital equivalente, estos convertidores
pueden construirse como circuitos integrados monolíticos, circuitos híbridos de alto
rendimiento o módulos de componentes discretos 1
COMUNICACIÓN SERIAL. Es la transmisión electrónica de información o de datos
codificados de un punto a otro, el tema abarca los procedimientos y el equipo necesario
para transmitir y recibir datos entre dos o más puntos. Dicha transmisión se realiza por el
1
GIBILISCO, Stan, Electrónica diccionario enciclopédico, cuarta edición, Ed. McGraw Hill, 2004
12
puerto serial del computador, y la información es enviada bit a bit para ser enviada por
arios medios de transmisión. 2
2
Ibíd.
13
INTRODUCCIÓN
Desde hace varios años se ve un gran crecimiento en cuanto al auge que tiene el desarrollo
de la electrónica, microelectrónica y nanoelectrónica, esto se atribuye a que en la actualidad
se pretende facilitar y mejorar el diario vivir de las personas en el mundo entero, generando
el diseño de nuevos dispositivos cada vez mejores y por lo general más pequeños para
optimizar su consumo de energía. A nivel industrial se observan fenómenos tales como la
automatización total o parcial de procesos ya existentes dando lugar a los sistemas de
adquisición de datos para el monitoreo de variables que no presenten sus resultados en un
formato digital.
Los sistemas de adquisición de datos son aquellos en los cuales se mezclan e integran las
ventajas de los distintos dispositivos electrónicos tales como los microcontroladores entre
sus características más utilizadas están los conversores análogos digitales, entradas y
salidas ya sean análogas o digitales, velocidad de procesos, entre otros, el cual interactúa
con el sistema a través de los actuadores para su optimo desarrollo y automatización del
proceso.
La universidad de San Buenaventura cuenta con sistemas complejos de adquisición de
datos, pero no cuentan con la movilidad, economía y facilidad de manejo que puede brindar
una tarjeta realizada con microcontroladores.
Se propone trabajar en el desarrollo de una tarjeta que integre todos los elementos
necesarios para el control de un sistema de baja complejidad o los sistemas quemas
comúnmente son propuestos en la universidad, esto se hace con el propósito de disminuir
los tiempos de implementación de los estudiantes y motivarlos a desarrollar mas practicas
relacionadas con microcontroladores en general.
Independientemente del proceso de agilización se trabajará sobre una interfaz gráfica
elaborada en un programa de modelamiento (Matlab o LabView) el cual esté en la
14
capacidad de recibir señales a través de la tarjeta mencionada anteriormente y desarrollar
trabajos relacionados con control difuso. Estos programas cuentan con herramientas de
simulación las cuales muestran de manera gráfica el comportamiento del sistema, pero no
cuentan con un sistema que esté en la capacidad de suministrar una respuesta externa a un
sistema.
15
1. PLANTEAMIENTO DEL PROBLEMA
1.1.
ANTECEDENTES
1.1.1.
Sistemas de adquisición y procesamiento de señales
En 1984 el gobierno del Japón por medio del ministerio encargado de la tecnología, realizó
proyectos acerca de un tipo de tarjetas que permitía la adquisición de datos para mantener
al día el estado de infraestructura afectadas por sismos, a tal situación, los laboratorios
geotécnicos crearon dichos dispositivos, el cual consiste en una computadora portátil y un
desarrollo en un programa de adquisición de datos. Esta alternativa en términos económicos
representó un ahorro mayor al 50% para determinar el tipo de construcciones de
infraestructura.
En 1987 se contó con una red acelerográfica con 15 instrumentos ubicados en las ciudades
más importantes del país que permitan mantener información acerca del estado de las
estructuras.
Actualmente el mercado de los sistemas de adquisición de datos y más específicamente el
relacionado con los DSP de sus siglas en ingles Digital Signal Processor (Procesador
Digital de Señales) puede considerarse uno de los mercados más prospero de los últimos
años. La apuesta por este tipo de productos por parte de empresas como Texas Instruments
es total. Como por ejemplo, la anteriormente citada, Texas Instruments, líder en el mercado
de DSP, vendió su división de juguetes y negocio de computadores portátiles para apostar
plenamente por el negocio de los DSP.
16
En la figura 1 se muestran los porcentajes de participación en el mercado de los DSP de los
cinco principales fabricantes en 2004 según EE Times y en la tabla 1 se relacionan los
cambios en las ventas de los principales vendedores de DSP.
Figura 1
Tabla 1.
Distribución de ventas de los principales vendedores
Cambios en los índices productores de DSP
Cuota de
Comparación
2003*
mercado
año anterior
Instruments
$2.926
47,7%
Freescale
$631
10,3%
Compañía
Cuota de
Comparación
2004*
mercado
año anterior
39,7%
$3.785
49,7%
32,4%
-7,7%
$1.004
12,9%
59,1%
Texas
17
Aguere
systems
$806
13,2%
19,4%
$68
9,8%
4,7%
Devices
$464
7,6%
7,2%
$600
7,7%
29,3%
Philips
$105
1,7%
$533
6,8%
407,6%
Otros
$1.198
19,5%
23,8%
$1.018
13,1%
12,0%
Total
$6.130
100,0%
26,3%
$7.768
100,0%
27,2%
Analog
Fuente: Microcontroladores avanzados dsPIC 3
*Todas las cifras están expresadas en millones de dólares.
El principal destino de los DSP es el mercado de las comunicaciones inalámbricas, que ha
crecido hasta acaparar el 71.5% para el año 2004. En menor medida también creció el
porcentaje de DSP orientados al mercado de los computadores y la automatización de
procesos.
Por regiones, son Asia y el Pacifico (principalmente China, pero también Taiwán, Corea del
Sur y Singapur) los principales productores de DSP con un 52% del mercado, seguido por
Europa con un 20%, Japón con un 17.3% y finalmente América con un 10.7%.
En el futuro existirán dos claras tendencias en las aplicaciones de procesamiento de las
señales analógicas:
•
Procesadores programables: en este apartado se incluyen los procesadores de
propósito general mejorados para realizar funciones DSP, como el Pentium MMX
(Figura 2) los DSP de propósito general
3
ANGULO USATEGUI, José María, Microcontroladores avanzados dsPIC: Controladores digitales de
señales. Arquitectura, programación y aplicaciones , Primera edición, Madrid, Ed. Thomson, 2006
18
Figura 2
DSP de propósito especifico
Fuente: http://www.digital.cg.yu/images/intel-pentium-mmx.jpg
•
Procesadores dedicados: comprende los DSP diseñados para cubrir las aplicaciones
específicas y los procesadores ASIC.
1.1.2.
Procesadores de propósito general mejorados
Los fabricantes de procesadores convencionales como Intel añaden a sus últimos modelos
recursos de hardware y de software para soportar funciones propias de los DSP. Así el
Pentium MMX, respondiendo a la arquitectura de los Pentium, añade un subconjunto de
instrucciones llamadas MMX, especialmente diseñadas para cubrir las aplicaciones
multimedia para el procesamiento del sonido y la imagen.
Estos procesadores son programables en gran medida con lenguajes de alto nivel, pero
deben destinar un área de silicio importante por cada MOP (Millón de operaciones por
segundo), concretamente 1mm2. También consumen mucha energía (50mW/MOP).
A partir del año 2000 se ha producido un importante crecimiento de este tipo de
microprocesadores destinado al procesamiento de señales analógicas, en especial los que
requieren rendimientos comprendidos entre 100 MIPS y 500MIPS.
19
Los microprocesadores de propósito general, con alto grado de programabilidad, irán
incrementando espectacularmente su presencia en el procesamiento de señales y serán muy
utilizados en aplicaciones que requieran menos de 100 MIPS.
a. DSP de propósito general
Son programables pero para optimizar su rendimiento suele usarse el lenguaje máquina, o
sea, Ensamblador. Requieren 0.1 mm2/MOP y consumen 3mW/MOP.
Actualmente los DSP convencionales tienen precios muy competitivos y su crecimiento es
espectacular,
especialmente
en
aquellos
modelos
que
se
integran
con
los
microcontroladores convencionales, al asemejarse en precio y en facilidad de diseño. Ya
resulta difícil establecer la frontera entre los DSP y los microcontroladores convencionales.
b. DSP para aplicaciones específicas.
La programación es muy compleja pues hay que realizarla en microcódigo. Sin embargo, el
área de silicio necesaria y la potencia consumida son muy pequeñas: 0.02mm2/MOP y 0.5
mW/MOP, respectivamente.
Sólo para aplicaciones de gran consumo y con potencias de cálculo cercanas a los 1000
MIPS tienen un hueco en el mercado.
20
c. ASIC a medida.
Son procesadores específicos que realizan siempre la misma tarea no siendo programables.
Requieren muy poca superficie de silicio y un bajo consumo de potencia (0.001mm2/MOP
y 0.02 mW/MOP, respectivamente).
Aplicaciones muy especiales de elevadas prestaciones que superen los 1000 MIPS puede
ser recomendable resolverlas con este procedimiento que presenta una clara tendencia a la
baja.
En resumen los DSP de propósito general cuya tendencia sea la de su equiparación con los
microprocesadores y microcontroladores convencionales, así como estos últimos que vayan
añadiendo funciones DSP, constituirán los dispositivos que mas alta tasa de crecimiento
alcancen al final de la primera parte del siglo XXI.
1.1.3.
Lógica difusa 4
El control Lógico Difuso emergió con mayor fuerza en los años 70 seguido del trabajo de
E. Mandani y sus colegas en Inglaterra quienes desarrollaron el primer sistema de control
con Lógica Difusa. La solución implementada por Mandani introdujo los conceptos
necesarios para su aplicación en aéreas industriales. Su aplicación en el área de control nace
del fundamento de los operadores humanos son capaces de efectuar en muchos casos un
control más efectivo que los controladores automáticos tradicionales, porque están
capacitados para tomar decisiones correctas en base a información lingüística imprecisa.
Los sistemas de lógica difusa reúnen los conocimientos de humanos expertos en un área
específica. De esta forma los datos son recopiladores y representados de una manera más
4
DÍAS PARRA; Alberto citado en Aplicaciones Relacionadas a la Lógica Difusa. Consultado el 26 de
Agosto de 2007. Disponible en la red en el vinculo http://www.dei.uc.edu.py/tai2000/logica/4.htm
21
precisa como un conjunto de reglas formuladas según sentencias condicionantes con la
utilización de expresiones lingüísticas.
Las primeras aplicaciones de la teoría difusa fueron principalmente industriales, tales como
el control de procesos en cementeras. Más tarde en 1987, se puso en servicio en Sendai, al
Norte del Japón, el primer metro controlado mediante Lógica Difusa. Los controladores
basados en esta lógica, hicieron mucho más confortables los viajes en Metro, gracias a las
suaves frenadas y aceleraciones. En efecto, todo lo que debe hacer el conductor es apretar
el pulsador de marcha.
Hoy se puede encontrar aplicada en el control de los sistemas centralizados de los
automóviles, siendo la que evita que las cámaras de vídeo filmen las vibraciones del brazo
como ocurría con las cámaras antiguas; se encuentra aplicada en los sistemas de
dosificación y control de todas las lavadoras automáticas modernas.
Las grandes multinacionales de la industria automotriz, de los electrodomésticos y la óptica
la están aprovechando en sus desarrollos tras constatar sus espectaculares beneficios.
A partir de 1990 se comienza a implementar en los controles de inyección electrónica de
carburante y en los sistemas de control de guiado automático de coches, haciendo los
controles complejos más eficientes y fáciles de utilizar.
1.1.4.
Sistemas de adquisición de datos en la Universidad San Buenaventura
En el segundo semestre del año 2006 se realizó un trabajo de grado relacionado con una
tarjeta de adquisición de datos con comunicación USB para la transmisión de datos 5 . Entre
las características más relevantes que se observan de este trabajo se destacan la alta
velocidad de transmisión de datos hacia el computador, la utilización de un
microcontrolador con 10bits de resolución de conversión análoga digital y el uso del
5
ACOSTA, Arnold, DELGADO, Jaime, RODRÍGUEZ, Javier. Diseño y construcción de una Tarjeta de
Adquisición de Datos (TAD) basado en un microcontrolador PIC bajo el principio de instrumentación virtual
con interfaz USB. Bogotá: 2006.
22
programa de Labview para el análisis de las señales que ingresaban al computador a través
del puerto USB.
Cabe anotar que el enfoque inicial de la tesis anteriormente mencionada se sitúa sobre el
manejo de las señales que ingresan al computador y brindar un protocolo de comunicación
de utilización masiva como lo es el puerto USB. No se enfocaron hacia un sistema de
entrenamiento o material de uso didáctico para la universidad.
Los laboratorios de la universidad cuentan con un complejo sistema de adquisición de datos
suministrado por National Instruments, su referencia es NIELVIS (figura 3) y sus
características más importantes se relacionan a continuación 6 :
•
Funcionalidad de varios instrumentos integrados
•
Combinación de instrumentos, adquisición de datos y estación de prototipos
•
Todos los instrumentos virtuales:
o Osciloscopio, Multímetro digital, Generador de Funciones, alimentador
variable, analizador de bode, generador de forma de onda arbitraria,
analizador de señal digital, analizador corriente/tensión.
o
Código de fuente LabVIEW,
completamente abierto el cual se puede
personalizar utilizando el entorno LabVIEW; almacenamiento de datos en
formato Excel o HTML
Como se observa es un sistema muy completo, con múltiples funciones y de fácil manejo,
sus deficiencias se fundamentan en su precio y movilidad, no es un sistema que se preste
para realizar practicas de complejidad baja como la construcción de pequeños prototipos.
6
Extraido de http://digital.ni.com/worldwide/spain.nsf el 19 de octubre de 2007
23
Figura 3
Sistema NI ELVIS
Fuente: http://www.ni.com/images/products/us/ni_elvis_workstation.jpg
1.2.
DESCRIPCIÓN Y FORMULACIÓN DEL PROBLEMA
En este momento la universidad de San Buenaventura cuenta con escasos recursos para la
elaboración de prácticas relacionadas con control difuso o adquisición de datos. Los
sistemas con los que se trabajan actualmente no poseen una buena movilidad debido a su
gran tamaño (NIELVIS, Microgrades) y por otra parte, son de un elevado costo limitando
su uso por parte de los estudiantes en labores simples como es construcción de pequeños
robots para concursos o proyectos en cada una de las materias.
Principalmente por este motivo es que se plantea el siguiente cuestionamiento. ¿De que
forma se deben integrar diferentes dispositivos electrónicos de uso académico para brindar
una herramienta que facilite las aplicaciones utilizadas en automatización?
1.3.
JUSTIFICACIÓN
Actualmente en la universidad de San Buenaventura una de las herramientas de frecuente
uso por parte de los estudiantes de posprogramas de ingeniería electrónica y mecatrónica
24
son las tarjetas de adquisición de datos, la creciente participación en diferentes eventos
como competencias de robótica hace que su demanda se incremente.
El desarrollo de tarjetas de adquisición de datos es de gran importancia para los estudiantes
interesados en el área, ya que fundamenta y aclara de una manera práctica los conceptos
analizados en clases. Por otra parte, la Universidad cuenta con equipos que realizan tareas
similares de simulación de alto nivel (NIELVIS), sin embargo carecen de movilidad y
economía.
Uno de los objetivos más importantes es brindar una herramienta de fácil uso a los
estudiantes y profesores de la universidad a través de la cual puedan desarrollar prácticas de
relativa complejidad y muestre físicamente el comportamiento de diferentes variables.
1.4.
OBJETIVOS DE LA INVESTIGACIÓN
1.4.1.
Objetivo general
Desarrollar una tarjeta de adquisición de datos que esté en la capacidad de integrar
actuadores de uso común como lo son los de corriente directa y alterna para su uso en
diferentes tipos de prácticas que se encuentren en el marco del desarrollo de la asignatura
donde éste aplique.
1.4.2.
ƒ
Objetivos específicos:
Definir el componente electrónico más adecuado para la adquisición o conversión
de las señales externas.
ƒ
Integrar un sistema de visualización independiente de un computador para
monitorear el comportamiento de las señales.
ƒ
Por medio una interfaz gráfica permitir el ingreso de los parámetros de un sistema
difuso.
25
ƒ
Realizar un manual de instrucciones, recomendaciones de uso, prácticas de
laboratorio y características que demuestren el potencial de la tarjeta.
ƒ
1.5.
Diseñar e implementar filtros que optimicen el funcionamiento de la tarjeta.
ALCANCES Y LIMITACIONES DEL PROYECTO
Realizar procesos de adquisición de datos en una forma sencilla y permitir la manipulación
de diferentes tipos de actuadores que estarán integrados en la tarjeta.
Realizar una aplicación a través de un programa de modelamiento que permita el ingreso de
las reglas heurísticas que caractericen a un sistema determinado para efectuar el control
correspondiente a través de los actuadores dispuestos en la tarjeta.
Visualización del comportamiento de las variables a través de una pantalla que permite
tener un nivel de independencia de un computador para analizar la variación de las mismas
en campo.
El protocolo de comunicación es muy básico, se trabaja sobre el conector básico DB9, el
cual esta poco a poco cayendo en desuso, sin embargo múltiples dispositivos de reciente
producción aún utilizan este sistema de comunicación para su control como lo son los
televisores plasma (LG) o proyectores (Panasonic).
Comparado con sistemas de adquisición de mayor envergadura como lo es NIELVIS la
tarjeta no cuenta con elementos virtuales de medición como multímetros digitales u
osciloscopios integrados, esta clase de funciones están fuera del alcance de este proyecto.
El modelamiento difuso planteado se trabaja a través de la lógica heurística, la inserción de
las variables y el comportamiento del sistema se describe de forma verbal y a través de
conjuntos de reglas lógicas.
26
2. MARCO DE REFERENCIA
2.1.
MARCO TEÓRICO – CONCEPTUAL
A continuación se presentan algunos temas utilizados en el trabajo que son de gran
importancia para el entendimiento del mismo, dentro de los cuales se tienen Sistema de
adquisición de datos, señales análogas, señales digitales, lógica difusa, entre otros.
2.1.1.
Consideraciones en el diseño de sistemas de adquisición de datos 7
Una de las tareas básicas cuando se está diseñando un sistema de adquisición de datos es
seleccionar la frecuencia de muestreo del conversor análogo digital (ADC). La teoría
fundamental de muestreo indica que la frecuencia de ésta debe ser por lo menos el doble de
la frecuencia de la señal que se quiere trabajar, a esto se le denomina comúnmente como
frecuencia Nyquist o de plegado. Considerando esta definición se entiende que la señal de
trabajo esta fundamentada en una banda base y no en pasa banda.
En caso de que no se conozcan ninguna de las características de las señales que ingresan al
sistema de adquisición de datos como lo son ruido, frecuencia, ancho de banda o
interferencia con circuitos próximos a este se tiene garantizado que existirá solapamiento.
El solapamiento genera señales falsas, que se procesarán en el sistema obteniendo
resultados erróneos como se puede ver en la figura 4 un numero indefinido de señales se
puede obtener en el mismo conjunto de puntos de datos muestreados. En el dominio de la
frecuencia mostrado en la figura 5 el solapamiento genera plegado o sobreposición del
espectro, la única forma de eliminarlo del proceso es usando un filtro pasabajos con
atenuación a las frecuencias mas bajas que se impliquen en el rango de requerimientos.
7
H. HOSKING, Rodger, Vicepresidente Pentek inc. USA, citado en System considerations in DAQ design,
consultado el día 1 de Noviembre de 2007.
27
Figura 4
Múltiples ondas tomadas en los mismos puntos de muestreo
Figura 5
Generación de espectro sobrepuesto producido por solapamiento
Un filtro anti-solapamiento siempre se requiere para asegurar que señal de banda base que
ingrese y el ruido son de hecho limitados por la banda, de este modo cualquier
solapamiento que se genere en el muestreo se debe especificar en el rango dinámico de
características del sistema.
El ejemplo mostrado en la figura 6 describe un filtro anti- solapamiento apropiado para
señales de procesamiento hasta 4MHz de ancho de banda, el filtro es elíptico de alto orden
con un rechazo de banda mínimo de 80dB. El rechazo se obtiene a los 6Mhz y
posteriormente los rebotes elípticos modifican su respuesta manteniéndola bajo los 80dB.
28
Figura 6
Respuesta de un filtro anti - solapamiento
Para la infamación que tiene un ancho de banda de 4MHz se recomienda que la frecuencia
de muestreo se ajuste por lo menos a 10MHz, preferiblemente que 8MHz que es la que
recomienda el criterio de Nyquist. Utilizar una frecuencia más alta que la que teóricamente
se recomienda simplemente indica que no existe un filtro que tenga una respuesta ideal y un
“rebote” (caso filtros elípticos) infinito. En este caso la frecuencia de plegado critica es de
10-4 = 6MHz en vez de 4MHz. Esta es la frecuencia mas baja en la que el filtro obtiene la
especificación de atenuación de 80dB, asegurando de este modo un análisis libre de
solapamiento para una banda desde DC hasta 4MHz.
2.1.2.
Tipos de filtros anti-solapamiento
El filtro cuya respuesta se muestra en la figura 6 puede ser implementado de dos formas, un
filtro pasivo LC (Bobina - Condensador) o un filtro activo RC (Resistencia – Condensador).
Estos desarrollos implican un filtro análogo antes del conversor análogo digital. También se
29
puede implementar un filtro digital después del conversor análogo digital como parte de la
tarjeta o sistema de adquisición de datos pero sigue siendo necesario un filtro antisolapamiento antes del conversor análogo digital ya que si ocurre solapamiento durante la
adquisición de datos procesos subsecuentes de filtrado no podrán eliminarlos.
La respuesta del filtro anti-solapamiento y frecuencia de muestreo está especificada en
10MHz y no en 8MHz. Utilizando la regla que especifica que el rechazo del filtro se debe
establecer de a 6dB por cada bit de resolución se tiene que para un conversor de 10 bits se
tiene un rechazo de 60dB y para uno de 12 bits se establece un rechazo de 72dB como
rango dinámico libre de solapamiento.
Después de completar las especificaciones para el filtro de anti – solapamiento, frecuencia
de muestreo y conversor análogo digital, se puede establecer la función de retención y
muestra. El método consisten mantener los datos de entrada del conversor análogo digital
en un valor constante hasta el final de la conversión. En la mayoría de los casos forma parte
del conversor, pero en el caso que se utilice uno que no esté integrado, sus especificaciones
están determinadas por la frecuencia máxima de muestreo, numero de bits de precisión y
especificaciones de tiempo de conversión del conversor análogo digital.
En aplicaciones de baja frecuencia (debajo de 100KHz), los problemas de solapamientos
pueden ser solucionados con conversión sigma – delta. Incorporando un rápido sobremuestreo y un filtro digital de alto orden, con esto se puede reducir la complejidad de la
utilización de un filtro análogo. Un filtro sencillo RC provee suficiente rechazo para una
señal de ingreso de 10KHz si la señal está sobre – muestreada a 10MHz. El filtro digital
interno elimina todas las señales sobre 10KHz y provee una salida diezmada a una taza de
muestreo a un poco más de 20KHz.
30
2.1.3.
Método abanico de papel
Para realizar un muestreo exitoso, se debe elaborar un cuidadoso un plan de frecuencias.
Una de las técnicas más utilizadas es la del método del abanico de papel. Se inicia con un
paquete de papel semitransparente similar a los que se usan en las impresoras continuas o
un equivalente imaginario. Se sostiene el papel con el pliegue en dirección vertical, se
define el eje de frecuencia de izquierda a derecha y a medida que se “ingresa” hacia el
papel se incrementa la frecuencia de muestreo del conversor análogo digital (Fs). El
diagrama simbólico se muestra en la figura 7.
Figura 7
Abanico que muestra el espectro de una señal determinada
El eje vertical es utilizado para representar la amplitud de la señal, como también el ancho
de banda de la señal RF mostrada. Para observar que pasa después del muestreo,
simplemente se debe reagrupar todas las hojas del abanico, colocarlo frente a una luz y
mirar a través de él. Se observará los espectros de todas las hojas superpuestos unos sobre
otros, que representa la frecuencia contenida en las muestras a la salida del conversor
31
análogo digital. Tal como se muestra en la figura 8 las señales de todas las hojas que están
después de Fs/2 se encuentran reflejadas en la hoja que contiene el espectro que esta entre 0
y Fs/2.
Figura 8
2.1.4.
Forma del espectro resultante
Selección de la tasa de muestreo
Se puede tomar ventaja de este modelo para el bajo muestreo de señales seleccionando
cuidadosamente la tasa de muestreo fundamentándose en las frecuencias existentes en la
banda.
Supóngase que todas las frecuencias caen dentro de una de las hojas del abanico (Figura 9).
Después de muestrear toda la energía de la señal de la pagina 5 caerá en la hoja 1 y se
representará en la trama de salida como si fuera la banda base entre 0 y Fs/2. Como se
muestra en la figura 10, el proceso de bajo muestreo resulta en una frecuencia decreciente
como de traslación por dos Fs sin espectro de inversión. Si el espectro de la banda base se
resta con el resultado en la hoja 4, puede resultar una inversión del eje de la frecuencia y
trasladarse bajo tres Fs/2.
32
Figura 9
Espectro mostrado de una señal pasabanda
Figura 10
Selección adecuada de frecuencia de muestreo.
Generalmente existen muchos relojes de frecuencia de muestreo que funcionarían para el
bajo muestreo. Mientras que este es un modelo que puede mostrar todas las frecuencias, la
mejor opción estará determinada por muchas otras consideraciones de tipo práctico:
•
Algunos conversores análogos digitales están específicamente caracterizados para
aplicaciones de bajo muestreo; mientras que otros están diseñados únicamente para
muestreos de banda base.
•
El camino de la señal análoga hacia el conversor análogo digital debe ser capaz de
manipular las frecuencias de la señal de paso de banda con la mínima distorsión y
33
ruido. Para este caso una etapa inicial con un transformador acoplado es la mejor
solución.
•
La calidad del amplificador de muestreo / retención a la entrada del conversor se
vuelve mas critica en las frecuencias altas del filtro pasa bandas. Ocasionalmente un
filtro externo de alto desempeño se hace necesario.
•
Cualquier señal que se encuentre fuera de la banda de funcionamiento o ruido se
debe mantener al mínimo ya que podría afectar el espectro tal como se mostró en la
figura 7, un filtro pasa banda adicional puede ayudar a minimizar estos
inconvenientes.
•
Inestabilidad y ruido de fase del reloj de muestreo pueden degradar seriamente la
tarea de bajo muestreo, es por esta razón que es de gran importancia seleccionar un
cristal de muy buena calidad o un oscilador de conexiones directas.
2.1.5.
•
Conceptos básicos de lógica difusa 8 :
¿Qué es la lógica difusa?
Un tipo de lógica que reconoce más que simples valores verdaderos y falsos. Con lógica
difusa, las proposiciones pueden ser representadas con grados de veracidad o falsedad. Por
ejemplo, la sentencia "hoy es un día soleado", puede ser 100% verdad si no hay nubes, 80%
verdad si hay pocas nubes, 50% verdad si existe neblina y 0% si llueve todo el día.
La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy Logic es
básicamente una lógica con múltiples valores, que permite definir valores en las áreas
oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No, Cierto / Falso,
Blanco / Negro, etc. Se considera un súper conjunto de la Lógica Booleana. Con la Lógica
Difusa, las proposiciones pueden ser representadas con grados de certeza o falsedad. La
lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos respuestas:
8
CORZO Yuliana, citado en LA LÓGICA DIFUSA, Porlamar (Venezuela), escrito el día 19 de junio de
2006 y consultado el día 18 de Noviembre de 2007
34
Si o no, uno o cero. Ahora, para aplicaciones de computadores muy mal definidas o
sistemas vagos se emplea la Lógica Difusa.
Por medio de la Lógica Difusa pueden formularse matemáticamente nociones como: un
poco caliente o muy frío para que sean procesadas por computadoras y cuantificar
expresiones humanas vagas tales como "Muy alto" o "luz brillante". De esa forma, es un
intento de aplicar la forma de pensar humana a la programación de los computadores.
En general, se ha aplicado a:
Sistemas expertos.
Verificadores de ortografía, los cuales sugieren una lista de palabras probables para
reemplazar una palabra mal escrita.
Control de sistemas de trenes subterráneos.
La operación más importante para el desarrollo y creación de Reglas Lógicas es la
implicación, simbolizada por " ® " que representa el "Entonces" de las reglas heurísticas: Si
(...) Entonces ( ® ) (...).
Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir una
"función (matemática) de implicación" distinta en cada caso para representar a la
implicación.
La última característica de los sistemas lógicos es el procedimiento de razonamiento, que
permite inferir resultados lógicos a partir de una serie de antecedentes. Generalmente, el
razonamiento lógico se basa en silogismos, en los que los antecedentes son por un lado las
proposiciones condicionales (reglas), y las observaciones presentes por otro (serán las
premisas de cada regla).
Los esquemas de razonamiento utilizados son "esquemas de razonamiento aproximado",
que intentan reproducir los esquemas mentales del cerebro humano en el proceso de
35
razonamiento. Estos esquemas consistirán en una generalización de los esquemas básicos
de inferencia en Lógica Binaria (silogismo clásico).
Tan importante será la selección de un esquema de razonamiento como su representación
material, ya que el objetivo final es poder desarrollar un procedimiento analítico concreto
para el diseño de controladores difusos y la toma de decisiones en general. Una vez que se
disponga de representaciones analíticas de cada uno de los elementos lógicos que se acaban
de enumerar, se estará en disposición de desarrollar formalmente un controlador
"heurístico" que nos permita inferir el control adecuado de un determinado proceso en
función de un conjunto de reglas "lingüísticas", definidas de antemano tras la observación
de la salida y normas de funcionamiento de éste.
•
Conjuntos difusos.
La mayoría de los fenómenos que se observan a diario son imprecisos, es decir, tienen
implícito un cierto grado de difusidad en la descripción de su naturaleza. Esta imprecisión
puede estar asociada con su forma, posición, momento, color, textura, o incluso en la
semántica que describe lo que son. En muchos casos el mismo concepto puede tener
diferentes grados de imprecisión en diferentes contextos o tiempo. Un día cálido en
invierno no es exactamente lo mismo que un día cálido en primavera. La definición exacta
de cuando la temperatura va de templada a caliente es imprecisa -no se puede identificar un
punto simple de templado, así que se emigra a un simple grado, la temperatura es ahora
considerada caliente. Este tipo de imprecisión o difusidad asociado continuamente a los
fenómenos es común en todos los campos de estudio: sociología, física, biología, finanzas,
ingeniería, oceanografía, psicología, etc.
•
Conceptos imprecisos.
Se acepta la imprecisión como una consecuencia natural de ''la forma de las cosas en el
mundo''. La dicotomía entre el rigor y la precisión del modelado matemático en todos los
36
campos y la intrínseca incertidumbre de ''el mundo real'' no es generalmente aceptada por
los científicos, filósofos y analistas de negocios. Para este caso se aproximan estos eventos
a funciones numéricas y se escoge un resultado en lugar de hacer un análisis del
conocimiento empírico. Sin embargo se procesa y entiende de manera implícita la
imprecisión de la información fácilmente. Considere las siguientes sentencias:
La temperatura está caliente
La inflación actual aumenta rápidamente
Los grandes proyectos generalmente tardan mucho
Nuestros precios están por abajo de los precios de la competencia
IBM es una compañía grande y agresiva
Alejandro es alto pero Ana no es bajita
La altura de un conjunto difuso es como máximo un grado de pertenencia y es una cota
cercana al concepto de normalización. La superficie de la región de un conjunto difuso es el
universo de valores. Todos estos conceptos se tratarán más adelante. Es decir un conjunto
difuso A se considera como un conjunto de pares ordenados, en los que el primer
componente es un número en el rango [0,1] que denota el grado de pertenencia de un
elemento u de U en A, y el segundo componente especifica precisamente quién es ése
elemento de u. En general los grados de pertenencia son subjetivos en el sentido de que su
especificación es una cuestión objetiva. Se debe aclarar que aunque puede interpretarse
como el grado de verdad de que la expresión ''u A'' sea cierta, es más natural considerarlo
simplemente como un grado de pertenencia.
Puede notarse además que:
a) Mientras más próximo está (u) a el valor 1, se dice que u pertenece más a A (de modo
que 0 y 1 denotan la no pertenencia y la pertenencia completa, respectivamente).
37
b) Un conjunto en el sentido usual es también difuso pues su función característica u es
también una función u [0,1]; o sea que los conjuntos difusos son una generalización de los
conjuntos usuales.
Ejemplo: Sea U =1, 2, 3, 4, 5, 6, 7, 8, 9, entonces los conjuntos definidos a continuación
son difusos:
POCOS = (.4/1, .8/2, 1/3, .4/4)
VARIOS = (.5/3, .8/4, 1/5, 1/6, .8/7, .5,8)
MUCHOS =(.4/6, .6/7, .8/8, .9/9,1/10)
Note que el elemento 4 pertenece en grado .4 al conjunto POCOS, en grado .8 al conjunto
VARIOS y en grado .0 a MUCHOS. Zadeh ha hecho algunas extensiones a los conceptos
de conjuntos difusos ordinarios que se han explicado.
•
Las etiquetas lingüísticas y operadores.
El centro de las técnicas de modelado difuso es la idea de variable lingüística. Desde su
raíz, una variable lingüística es el nombre de un conjunto difuso. Si se tiene un conjunto
difuso llamado ''largo'' éste es una simple variable lingüística y puede ser empleada como
una regla-base en un sistema basado en la longitud de un proyecto en particular Si
duración-proyecto es largo entonces la-terminación-de-tareas es DECRECIENTE; Una
variable lingüística encapsula las propiedades de aproximación o conceptos de imprecisión
en un sistema y da una forma de computar adecuada. Esto reduce la aparente complejidad
de describir un sistema que debe concordar con su semántica. Una variable lingüística
siempre representa un espacio difuso.
Lo importante del concepto de variable lingüística es su estimación de variable de alto
orden más que una variable difusa. En el sentido de que una variable lingüística toma
variables difusas como sus valores. En el campo de la semántica difusa cuantitativa al
significado de un término "x" se le representa como un conjunto difuso M(x) del universo
38
de discusión. Desde este punto de vista, uno de los problemas básicos en semántica es que
se desea calcular el significado de un término compuesto
Zadeh considera que las etiquetas lingüísticas pueden clasificarse en dos categorías que
informalmente se definen como sigue:
Tipo I: las que pueden representarse como operadores que actúan en un conjunto difuso:
''muy'', ''más o menos'', ''mucho'', ''ligeramente'', ''altamente'', ''bastante'', etc. y,
Tipo II: las que requieren una descripción de cómo actúan en los componentes del conjunto
difuso (operando): ''esencialmente'', ''técnicamente'', ''estrictamente'', ''prácticamente'',
''virtualmente'', etc...
En otras palabras, las etiquetas lingüísticas pueden ser caracterizadas cómo operadores más
que construcciones complicadas sobre las operaciones primitivas de conjuntos difusos.
2.2.
MARCO LEGAL O NORMATIVO
Estándares
ISO (International Standard Organization)
La International Standard Organization (ISO) ubicada en Ginebra es quien dirige los
estándares mundiales. Como miembros de ISO son organizaciones de estandarización
nacionales como por ejemplo ANSI (American National Standards Institute), BSI (British
Standards Institution) y DIN (Deutsches Institut for Normung). La international
Electrotechnical Commission (IEC) está también interesada en estándares en este campo de
la electrónica.
ISO / IEC tiene un comité técnico repartido (JTC1 – Joint Technical Committee) que
maneja la relación con estándares de computadores. JTC1 cuenta con un subcomité (SC17)
39
encargado de las tarjetas de identificación, el cual tiene 6 grupos de trabajo (WG). Dentro
de estos, el WG4 desarrolla los estándares para las tarjetas de circuito integrado (IC) con
contactos y el WG8 los estándares para las tarjetas IC sin contactos.
La norma ISO – 9000 forma parte de una serie de tres normas sobre sistemas de calidad
para tarjetas de adquisición de datos, que pueden ser usadas con propósitos de
aseguramiento externo de la calidad. Los modelos alternativos de aseguramiento de calidad
descritos en las tres normas que se citan a continuación, representan tres formas distintas de
capacidad organizativa o funcional adecuadas para propósitos contractuales bipartitos.
•
UNIT-ISO 9001: Sistemas de calidad - Modelo de aseguramiento de la calidad en el
diseño/desarrollo, producción, instalación y servicio. Se aplica cuando la conformidad
con los requisitos especificados debe ser asegurada por el proveedor durante varias
etapas que pueden incluir diseño/desarrollo, fabricación, instalación y servicio.
•
UNIT-ISO 9002: Sistemas de calidad - Modelo de aseguramiento de la calidad en la
producción e instalación. Se aplica cuando la conformidad con los requisitos
especificados debe ser asegurada por el proveedor durante la fabricación e instalación.
•
UNIT-ISO 9003: Sistemas de calidad - Modelo de aseguramiento de la calidad en la
inspección y ensayos finales. Se aplica cuando la conformidad con los requisitos
especificados debe ser asegurada por el proveedor solamente en la inspección y ensayos
finales.
40
3. METODOLOGÍA
3.1.
ENFOQUE DE LA INVESTIGACIÓN
Debido a que el proyecto propuesto se fundamenta en el análisis matemático de sistemas
específicos el enfoque de la investigación es empírico-analítico, ya que se trata de
interpretar y conceptualizar el mundo exterior a través de herramientas relacionadas con el
proceso
3.2.
LÍNEA DE INVESTIGACIÓN DE USB/ SUB-LÍNEA DE FACULTAD /
CAMPO TEMÁTICO DEL PROGRAMA.
LÍNEA DE INVESTIGACIÓN: Tecnologías actuales y sociedad
Línea de investigación asignada a la Facultad de Ingeniería de la universidad, encargada de
realizar proyectos de investigación que mejoren las falencias o cubran las necesidades
actuales de la sociedad
SUB-LÍNEA DE FACULTAD: Procesamiento de señales digitales y/o analógicas.
El campo de interés de esta sub-línea de investigación es la teoría y aplicación de filtrado,
codificación, transmisión, estimación, detección, análisis, reconocimiento, síntesis, registro
y/o reproducción de señales en el dominio del tiempo, de la frecuencia y tiempo-frecuencia,
mediante el uso de dispositivos o técnicas digitales o análogas. El término señal incluye
audio, video, voz, imagen, datos de tipo comunicación, sonar, radar, musical, medical, entre
otras.
41
CAMPO TEMÁTICO DEL PROGRAMA: MICROELECTRÓNICA
Este campo contempla todas las aplicaciones que requiere el análisis matemático de los
sistemas, los métodos para controlar diferentes elementos e involucra el área de
programación en microcontroladores.
3.3.
HIPÓTESIS
El diseño e implementación de una tarjeta de adquisición de datos, la cual cuente con ocho
canales de conversión análoga digita con una resolución de 12bits permite el monitoreo
constante y fiable de varias señales de distintos tipos para realizar diferentes tipos de
análisis sobre las mismas y junto con distintos tipos de actuadores brinda una herramienta
versátil
para
las
practicas
de
laboratorio
relacionadas
con
programación
en
microcontroladores.
3.4.
VARIABLES
3.4.1.
Variable independiente
Módulo o tarjeta de desarrollo integral para prácticas de laboratorio relacionadas con
electrónica o materias afines.
3.4.2.
Variables dependientes
Rango de funcionamiento de los sensores utilizados: no debe ser mayor de 5V ya que este
es un parámetro básico de funcionamiento de los microcontroladores
Tipo de salida a utilizar: puede ser digital, o de tipo análogo simulado a través de los
puertos de PWM que posee el microcontrolador. Se pueden usar testigos de visualización
de estado a través de leds.
42
4. DESARROLLO INGENIERIL
Los sistemas de adquisición de datos, como se mostró previamente en el documento son un
conjunto de dispositivos que trabajan colectivamente para realizar un muestreo o medición
de variables externas a ella. Para elaborar un correcto diseño de una tarjeta que cumpla con
estas características se debe hacer una adecuada selección de los elementos que la
componen con el fin de obtener un rendimiento adecuado.
El diagrama de bloques de la solución planteada en este documento se muestra en la figura
11.
Figura 11
Diagrama de bloques de la solución planteada.
Sección de
los sensores
Salida
del
sistema
Manipulación o
tratamiento de las
señales adquiridas
Visualización
de la
información
adquirida.
Suministro de
información al
programa de
modelamiento
Decodificación
de la información
suministrada por
el computador
El desarrollo de este proyecto se puede definir en tres etapas, las cuales conduzcan a un
mejor entendimiento del proceso, selección de los dispositivos utilizados, su caracterización
de funciones y rendimiento. Las tres etapas son:
Etapa 1. Selección del dispositivo a utilizar como elemento central de la tarjeta.
43
Etapa 2. Pruebas de rendimiento
Etapa 3. Caracterización de funciones y planteamiento de prácticas
4.1.
ETAPA 1. SELECCIÓN DEL DISPOSITIVO A UTILIZAR COMO
ELEMENTO CENTRAL DE LA TARJETA
El elemento central de la tarjeta es aquel que procesa todas las señales que ingresan, puede
ser un microcontrolador, DSP o un dispositivo lógico programable como lo es una FPGA
(field programmable gate array).
La adecuada selección del dispositivo es vital para la facilidad de manejo de la tarjeta ya
que este es el que determina la complejidad de los sistemas o funciones que puede
desarrollar la misma. Algunos de los parámetros que se deben analizar en la selección son:
•
Complejidad de programación: se define a través de la cantidad de instrucciones que
posee el dispositivo y con base en esto se establece su funcionalidad y versatilidad.
•
Tipo de encapsulado: actualmente el mercado de la electrónica exige una drástica
reducción de los tamaños de los integrados que se utilizan, económicamente y
tecnológicamente es una excelente opción, pero desde el punto de vista académico
dificulta de manera considerable su manipulación para fines académicos, las clases
de encapsulados se analizaran posteriormente para analizar el mas viable.
•
Facilidades de programación: los dispositivos lógicos programables cuentan con un
amplio portafolio de opciones para su programación, sin embargo es importante
considerar aquellos que sean de fácil acceso para los estudiantes (licencias de
adquisición) y que a su vez sea de fácil entendimiento para el desarrollo de las
prácticas.
•
Funciones disponibles: determinadas mayormente por el número de puertos que
posee en los cuales se especifican las funciones que cumplen (canales de PWM,
puertos de comunicación serial, conversores análogos digitales, puertos de
comparación, entre otros).
44
•
Disponibilidad en el mercado: la gran mayoría de los elementos electrónicos de
reciente producción no se encuentran en el mercado colombiano debido a que la
demanda de creación de dispositivos electrónicos en el país no es considerable.
En conclusión se tienen tres opciones, microcontrolador, dsPics o procesadores digitales de
señales. Si se hace un breve análisis de cada una de las opciones se obtienen las siguientes
relaciones:
Microntroladores: dispositivos electrónicos de fácil acceso los cuales poseen una amplia
gama de marcas existentes en el mercado colombiano, como lo son Atmel , Microchip y
Motorola y a su vez cuentan con varios programas de programación para la utilización de
sus funciones, entre los mas representativos se encuentran.
•
Motorola.
o Microgrades: programa de entorno gráfico que facilita de manera
significativa la programación y la utilización de los recursos del
microcontrolador, una de sus desventajas es que no maneja librerías
desarrolladas por el programador para aplicaciones de tipo matemático y no
programa microcontroladores de gama alta, además hace un uso excesivo de
la memoria interna del microcontrolador al usar un entorno grafico para su
programación.
o WinIDE: trabaja en el código ensamblador o básico del microcontrolador,
una de sus ventajas es que se tiene pleno conocimiento de todas las
funciones que desarrolla el microcontrolador y además permite conocer los
tiempos de ejecución de cada una de las tareas que realiza el mismo, tiene un
tiempo alto de respuesta del sistema ya que no esta limitado por el cristal
que utiliza. Por otra parte la cantidad de instrucciones es excesiva, hasta el
punto de requerir un manual completo de instrucciones a modo de soporte ya
que se vuelve tediosa la programación, la cantidad de instrucciones es de
250 para un microcontrolador gama media como el MC68HC908GP32.
45
•
Microchip.
o MPLAB: producido por la compañía de Microchip, cuenta con todas las
herramientas necesarias para la programación y simulación de las funciones
de los microcontroladores de la familia
microchip. Entre sus ventajas
reencuentra la simulación de sus funciones en tiempo real y análisis real de
los tiempos de ejecución de las instrucciones. Su desventaja más relevante
su complejidad de programación.
o Mikrobasic: lenguaje de programación para microcontroladores en entorno
Basic el cual permite el manejo de librerías, y tiene un amplio numero de
ejemplos que facilita la comprensión de las estructuras que maneja, no
presenta mayores dificultades en su programación ya que se realiza de
manera sistemática y de manera similar a una estructura de programación en
c. su mayor ventaja se encuentra en las diversas librerías con las que cuenta ,
entre las mas destacadas están : redes CAN, manejo de protocolo TCP/IP,
visualización en pantalla gráfica y comunicación USB (Para los dispositivos
que lo soporten)
•
Atmel.
o Arduino + processing: programación en alto nivel, enfocado a aplicaciones
en el ámbito artístico o industrial , cuenta con una enorme base de datos de
soporte que ha sido elaborado por sus usuarios en todo el mundo a través de
la cual se solucionan los problemas mas frecuentemente relacionado con
estos productos.
dsPIC: dispositivo intermedio entre los DSP especializados y lo microcontroladores,
combinan la potencia y la versatilidad de las funciones básicas de un DSP con la facilidad y
empaquetado de un microcontrolador. Entre los programas especializados para su
programación reencuentran PICC y mickroBasic dsPIC y para su utilización es necesario
realizar la adquisición de la licencia. El programa mickroBasic dsPIC cuenta con una
46
versión gratuita, con la cual se pueden desarrollar muchas de las funciones básicas de
programación
Actualmente en el mercado colombiano se encuentran disponibles las
referencias dsPIC30F4013 y dsPIC30F2010.
DSP: como se analizó en los antecedentes y en parte del marco teórico –conceptual los
DSP son los dispositivos vanguardia, sus múltiples aplicaciones y desarrollos han
contribuido a la evolución de la tecnología de forma significativa. En Colombia existen
algunas limitantes importantes para su utilización, su tipo de encapsulado hace que el
manejo sea complicado, existe muy pocas partes dentro de la ciudad de Bogotá que se
especialice en el manejo de soldadura superficial, por otra parte, su comercialización se
hace por volumen y con previo encargo a Estados Unidos lo cual dificulta de manera
significativa su utilización en este proyecto.
4.1.1.
Tipos de encapsulado 9
Encapsulado DIP o DIL (Figura 12): Este es el encapsulado más empleado en montaje
por taladro pasante en placa. Este puede ser cerámico (marrón) o de plástico (negro). Un
dato importante en todos los componentes es la distancia entre patillas que poseen, en los
circuitos integrados es de vital importancia este dato, así en este tipo el estándar se
establece en 0,1 pulgadas (2,54mm).
Se suelen fabricar a partir de 4, 6, 8, 14, 16, 22, 24, 28, 32, 40, 48, 64 pines, estos son los
que más se utilizan.
Otra norma que también suele cumplirse se refiere a la identificación de la numeración de
los pines: el pin número uno se encuentra en un extremo señalada por un punto o una
muesca en el encapsulado y se continua la numeración en sentido antihorario (sentido
contrario a las agujas del reloj), mirando al integrado desde arriba. Por regla general, en
9
BERENGUER, Gabriel Pérez, Circuitos Integrados, consultado el 6 de septiembre de 2007, disponible en
la red en el vinculo http://electronred.iespana.es/circuitosintegra.htm
47
todos los encapsulados aparece la denominación del integrado, así como, los códigos
particulares de cada fabricante.
Figura 12 Encapsulado DIP
Fuente: http://electronred.iespana.es/circuitosintegra.htm
Encapsulado SOIC. (Figura 13): Circuito integrado de pequeño contorno. Son los más
populares en los circuitos de lógica combinacional, tanto en TTL como en CMOS. También
la terminación de los pines es en forma de ala de gaviota. Se sueldan directamente sobre las
pistas de la placa de circuito impreso, en un área denominada footprint. La distancia entre
patillas es de 1,27mm (0,05"). La numeración de los pines es exactamente igual a los casos
anteriores.
Figura 13 Encapsulado SOIC
Fuente: http://electronred.iespana.es/circuitosintegra.htm
El encapsulado más apropiado para esta aplicación es el tipo DIL / DIP ya que es de fácil
manipulación y su manejo para el diseño de la baquela es mas simple.
Acorde con la información mostrada, considerando la disponibilidad en el mercado y
teniendo en cuenta que el objetivo principal de este proyecto es brindar una herramienta
integral para la universidad, las dos opciones más viables son:
48
Desarrollar la tarjeta con el integrado ATmega8 de Atmel, estos integrados no son
utilizados en la universidad y al elaborar una tarjeta la cual muestre el potencial de estos
microcontroladores se brindarán más herramientas a los estudiantes para la solución de
múltiples problemas o utilizar el integrado dsPIC30F4013, especializado para la
adquisición de datos y con una amplia gama de funciones para múltiples opciones de
aplicaciones industriales. Las características de cada uno de estos elementos se muestran en
la tabla 2.
Tabla 2.
Características de los microcontroladores seleccionados
dsPIC30F4013 ATmega8
Encapsulado
DIP / DIL
DIP / DIL
Resolución ADC
12 Bits
10 Bits
Canales PWM
4
3
Numero de pines
40
28
Programación mikroBasic dsPIC Arduino
Licencia
Shareware
Freeware
Programador
Pickit 2
Arduino
Para obtener información mas detallada sobre las características de cada uno de estos
elementos consultar los anexos A y B para el dsPIC y el ATmega respectivamente.
La principal ventaja del microcontrolador ATmega 8 es su medio de programación que es
de licencia libre, con esta clase de programas se amplían las herramientas disponibles para
los estudiantes en la solución de problemas relacionados con programación y
automatización, sin embargo su capacidad de memoria es limitada y no es muy útil en la
realización de programas robustos, posteriormente se realizará un breve análisis de sus
características y método de programación a modo informativo.
49
4.1.2.
Elementos periféricos o actuadores de la tarjeta
Una de las tareas más importantes u objetivos que se tienen planteados es brindar una
herramienta integral para el desarrollo de las prácticas de laboratorio o proyectos comunes
de electrónica relacionados con la programación de microcontroladores.
Algunos de los elementos más utilizados se enfocan hacia el control de cargas de corriente
continua (No superior a 10 Amperios), control de cargas en voltaje alterno, control de giro
de motores y pantalla para visualización de comportamiento de variables. Los elementos a
utilizar en la tarjeta se muestran en la tabla 3.
Tabla 3.
Elementos seleccionados como actuadores integrados a la tarjeta
Dispositivo
L293D
Descripción básica
Puente H utilizado para el control de giro
de motores DC, soporta entre 4,5 hasta
36V de alimentación
Anexo
C
IRF 840
Transistor Mosfet canal N, carga máxima
de amperaje de 8,5 Amperios y hasta un
máximo de 500 voltios en empaque TO 220
D
MOC 3011
Optoacoplador para etapas manejo de
cargas de corriente alterna que posee un
aislamiento de voltaje de 7500VAC
máximo
E
BT 137
Triac para manejo de cargas de corriente
alterna que maneja un máximo de 8
amperios y 600 voltios AC en empaque
TO-220
F
GLCD
Pantalla de visualización gráfica de 128 x
64 caracteres para tener un mejor espacio
de visualización de las 8 variables de
entrada o estados que se manejen
50
•
L293D
Puente H integrado que cuenta con una capacidad de carga máxima de un amperio, como su
nombre lo indica su utilización mas común es el control de giro de los motores de corriente
continua, entre las características mas representantitas esta que tiene integrados los diodos
de protección para el manejo de las corrientes parasitas reduciendo la cantidad de
materiales necesarios para su utilización, además de esto puede manejar hasta cuatro
motores de forma simultanea pero manejando solo un sentido de giro. Las especificaciones
de sus características eléctricas se muestran en el anexo C tal como se muestra en la tabla 3.
•
IRF840
Transistor MOSFET de canal N ideal para trabajar señales de alta conmutación, su optima
utilización de energía hace que sea un elemento ideal para el manejo de las cargas de baja
corriente de DC pero sus características eléctricas especifican que tiene un buen
comportamiento hasta un pico de 8,5 amperios y 500 voltios como carga máxima. Una de
sus características más representativas es que no disipa la energía que no utiliza en calor
como lo hacen los transistores de unión bipolar.
•
MOC3011
Elemento optoacoplador ideal para trabajar cargas de corriente alterna que garantiza que los
elemento que se trabajen con corrientes bajas no sufran daños causados por corrientes
remanentes de los circuitos implementados en alto voltaje, su bajo consumo de corriente y
manejo de corrientes alternas permiten su utilización como disparador de diferentes
actuadores secundarios como los TRIAC, SCR, entre otros.
•
BT137
Actuador de potencia TRIAC utilizado para controlar los dos semiciclos de las señales
alternas, su consumo de corriente máximo es de 8 amperios y 600 voltios tal como se
muestra en la tabla 4. Utilizado para el control de cargas y generalmente como actuador de
51
potencia, su implementación en la tarjeta amplia las aplicaciones y versatilidad de la
misma.
•
Pantalla GLCD (Gráfica de cristal líquido)
Elemento utilizado para la visualización de diferentes tipos de variables o estados, su
principal ventaja contra las pantallas LCD convencionales es que su funcionamiento no se
basa solamente en caracteres alfanuméricos si no que permite trabajar con múltiples
gráficas adaptables a las condiciones que se necesiten, comúnmente se utilizan en celulares
o interfaces que requieran mostrar grandes cantidades de información en interfaces
amigables y de fácil utilización. Su implementación en la tarjeta permite ampliar las
aplicaciones y prácticas propuestas en microcontroladores ya que para su utilización se
hace necesario un mayor conocimiento en programación.
4.2.
ETAPA 2. PRUEBAS DE RENDIMIENTO Y SELECCIÓN.
4.2.1.
Entorno de programación de los microcontroladores seleccionados.
De acuerdo con el análisis realizado en la sección anterior los microcontroladores aptos
para el control de los actuadores y encargados de realizar las acciones de adquisición son el
ATmega8 de la familia Atmel y el dsPIC30F4013 de la familia Microchip, a continuación
se describen las características básicas de cada uno de los entornos de programación de los
microcontroladores seleccionados.
•
ATmega8
Existen varios entornos de programación aptos para realizar aplicaciones con este
microcontrolador, sin embargo una de los más interesantes es Arduino, el cual tiene
licencia libre y es distribuido de forma gratuita por la pagina Web www.arduino.cc.
52
Arduino es un entorno desarrollado principalmente por personas interesadas en el diseño
gráfico o con tendencias artísticas, lo que hace que su facilidad de manejo sea un factor
importante dado que los diseñadores no tienen conocimientos profundos en programación
ni electrónica.
Este programa ha sido utilizado con éxito en distintos proyectos de programación enfocada
hacia el diseño tal como se muestra en las siguientes imágenes.
Figura 14
Batería electrónica con interfase MIDI para Mac OS X
Fuente: http://www.arduino.cc/playground/Projects/ArduinoUsers
En la figura 14 se muestra una batería electrónica que se comunica con computadores que
funcionen a través del sistema operativo de Mac por protocolo USB, su funcionamiento se
fundamenta en que cada vez que se toque uno de los paneles que se muestran al frente del
computador emite una señal en formato MIDI.
En la figura 15 se muestra un “tapete urbano” el cual funciona a través del sistema Arduino,
este tapete hace un juego de luces aleatorio alrededor de la persona(s) que se paren sobre él.
53
Figura 15
Tapete urbano desarrollado con Arduino
Fuente: http://www.arduino.cc/playground/Projects/ArduinoUsers
La interfase de programación Arduino se muestra con detalle en la figura 16.
54
Figura 16
Interfase de programación Arduino
Donde se observan que los componentes básicos de la interfaz que son:
1. Barra de herramientas: acceso a los archivos, herramientas, ayuda básica del sistema
la cual se hace con un acceso directo al sitio oficial en Internet y también muestra de
algunos ejemplos.
2. Botones de acceso rápido: en orden de izquierda a derecha sus funciones son:
a. Ejecutar: verifica que el código este sin errores y listo para ser enviado al
microcontrolador.
b. Detener: para los procesos que se estén efectuando en el momento, como por
ejemplo, recepción de datos por el puerto serial o depuración del código.
c. Nuevo: inicia un nuevo programa
55
d. Abrir: abre un programa existente
e. Guardar
f. Cargar a la tarjeta: envía el código que se realiza al microcontrolador
g. Monitor serial: herramienta que permite verificar que datos se están
ingresando al computador por el puerto serial.
3. Pestañas: muestran cuales son posprogramas sobre los cuales se esta trabajando
actualmente
4. Zona de código: en este segmento de la pantalla es donde se debe insertar el código.
5. Información: indica cual es o fue el estado del proceso que se estaba realizando,
muestra detalles como: finalización de la descarga, problemas en el código entre
otros.
6. Pantalla de información detallada: en el caso que se presente una falla en el código a
través de esta pantalla se puede visualizar información detallada de los errores que
aparecieron.
Para que el microcontrolador funcione con las instrucciones y los procesos que se trabajan
en Arduino se hace necesaria la instalación de un Firmware el
cual ocupa
aproximadamente un 40 % de la capacidad de la memoria del microcontrolador, lo cual
limita de manera significativa su uso.
Al diseñar el programa que cumple con los objetivos establecidos que han sido
mencionados anteriormente se observa que el microcontrolador no tiene la suficiente
capacidad de memoria para cumplir con todas las funciones de manera simultánea. La
solución que se encuentra es eliminar la visualización del comportamiento de las variables
por pantalla LCD lo cual elimina unos de los objetivos de mayor importancia. El error que
indica el programa se muestra en la figura 17.
56
Figura 17 Mensaje de error por exceso de uso de memoria
El código utilizado para demostrar esta limitación se muestra en el anexo H. En esta línea
de código se convoca a la librería para la visualización pero no se utilizan funciones de la
misma, ya que como se demostró anteriormente el microcontrolador no está en capacidad
de cumplir estas funciones.
El esquema del algoritmo implementado para cumplir los objetivos establecidos en el
proyecto se muestra en la figura 18. Es importante comprender que las tareas que se
ejecutan en el programa son secuenciales y cíclicas, en otras palabras, es un proceso
repetitivo.
Figura 18 Esquema del algoritmo de funciones del programa propuesto en Arduino.
Inicio
Declaración
de variables
Lectura
CH1
Visualización
de los canales
de conversión
en pantalla
LCD
57
Lectura
CH2 ..3..
…8
Transmisión
vía RS232
de todos los
resultados
encanales de
conversión
Recepción de
información a
ingresar en
los canales de
PWM
Entre las funciones de programación en el entorno Arduino no se dispone de una función
que justifique la información enviada por el puerto serial, es decir, el ancho de la trama
transmitida no es constante, cuando el resultado de la conversión es el máximo se transmite
‘1028’, pero cuando es el mínimo se transmite ‘0’ en vez de ‘0000’ lo que hace que el
manejo de la información recibida en el programa de modelamiento se vuelva compleja ya
que el registro cambia constantemente de tamaño y hace que su lectura y manejo sea muy
compleja. Para solucionar este problema se hace una justificación “manual” que consiste en
verificar constantemente el valor que se obtiene de la conversión para de esta forma agregar
la cantidad de ceros necesaria para mantener el ancho de la trama siempre del mismo
tamaño. El algoritmo realizado para la justificación de la trama se muestra en la figura 19.
Figura 19 Justificación de la trama de transmisión serial
Transmisión
serial
No
No
999> Valor >100?
Valor>1000?
Si
Si
Tx = Valor
Tx = ‘0’
Tx = valor
No
No
99>Valor>10?
Valor<10?
Si
Si
Tx=’000’
Tx = ‘00’
Tx=Valor
Tx = Valor
58
Involucrar este código implica que el tamaño del programa se incremente de manera
significativa haciendo que se utilicen más recursos de memoria y como se mencionó
anteriormente la introducción del firmware en el microcontrolador consume un 40% de la
memoria disponible haciendo que sus funciones se limiten de manera significativa.
•
Mikrobasic For DSPIC
Herramienta de compilación desarrollada por la empresa estadounidense Mikroelectronica
que permite realizar labores de programación en microcontroladores y dsPIC de la marca
Microchip.
Es un entorno de programación Basic (figura 20) y tiene licencia restringida, actualmente
existe una versión de prueba que se puede descargar gratis a través de la dirección
http://www.mikroe.com/en/compilers/mikrobasic/dspic/ la cual permite realizar programas
que no superen los 8Kb de peso.
Figura 20 Entorno de programación Mikrobasic for dsPIC
Fuente: http://www.mikroe.com/en/compilers/mikrobasic/dspic/
59
Como se observa en la figura 20 es un entorno común de Windows el cual permite de
forma intuitiva el uso de sus funciones básicas como abrir archivo, ejecutar, copiar pegar,
etc. La explicación de estas funciones se encuentra con más detalle en la sección de ayuda
del programa.
Se decide trabajar sobre este programa ya que facilita de forma significativa la
programación del microcontrolador en tiempos de ejecución, información de memoria
utilizada, recursos disponibles además de contar con una base de información muy amplia
disponible en la red.
Las pruebas de rendimiento se enfocan a las funciones programas sobre el microcontrolador
y los actuadores utilizados que se mencionaron anteriormente.
Las funciones programadas son:
•
Conversión análoga digital
•
Comunicación serial
•
Manejo PWM
•
Manejo puertos digitales
•
Visualización en pantalla GLCD.
Fundamentalmente se busca que el microcontrolador esté en la capacidad de visualizar el
comportamiento de 8 variables de forma simultanea, analizar la fidelidad, el muestro de las
señales programando cada uno de los canales por separado y verificar el comportamiento
de los puertos de PWM y actuadores que se utilicen en el dispositivo.
El algoritmo manejado para la programación de todas las funciones es el mismo que se
muestra en la figura 18 a diferencia que este programa cuenta con la opción de justificación
de trama de transmisión serial lo cual disminuye la cantidad de memora utilizada en el
programa y optimiza los tiempos de ejecución.
60
La línea de código que se utilizó para cumplir con los objetivos establecidos se muestra en
el anexo I. La utilización de los recursos de memoria ROM del microcontrolador se
muestra en la figura 21.
Figura 21 Utilización de la memoria por procesos
En la figura 21 se especifican todos los procesos involucrados en el programa, el más
sobresaliente por su consumo de memoria es main (principal) que es donde se encuentran
todas las funciones trabajadas en e programa, es la estructura básica del mismo.
Seguido se observa que las funciones que más recursos consumen son las relacionadas con
los comandos de LCD, como lo son LCD_init donde se especifica la configuración de la
pantalla, los pines que se utilizan para su programación y LCD_CMD que son los
comandos de LCD, por ejemplo, pasar a segunda línea, apagar cursor, encender LCD,
escribir sobre LCD o leer información. Para realizar todas estas funciones se trabaja una
61
librería muy extensa la cual viene integrada con el programa. El consumo general de la
memoria del microcontrolador se muestra en la figura 22.
Figura 22 Utilización de memoria en microcontrolador.
Como se observa se tiene disponible el 89% de la memoria del microcontrolador para
realizar mas procesos diferentes a los trabajados en este proyecto, lo que brinda la
posibilidad de aumentar o incrementar la cantidad de funciones disponibles del sistema.
4.2.2.
•
Pruebas
Comunicación serial.
Realizando un programa básico de comunicación serial en Labview se analizó el tiempo de
respuesta de la comunicación serial.
Las funciones programadas en el microcontrolador para realizar esta prueba fueron
visualización en pantalla LCD, conversión análoga digital y comunicación serial. Una vez
62
que todas las herramientas estén trabajando se procede a ingresar una señal de frecuencia
variable y se analiza su comportamiento a través de Labview y por pantalla LCD.
Se observó que la velocidad de comunicación a través del puerto RS232 es bastante lenta
ya que no permite monitorear señales que estén por encima de los 300 Hz, la señal en
Labview empieza a presentar deformaciones considerables que no permiten una lectura
clara. Parte de este problema se soluciona eliminando la visualización por pantalla LCD,
esto se atribuye a que para que el ojo humano este en la capacidad de procesar la
información que se me muestra en la pantalla LCD esta debe funcionar a una velocidad que
esta por debajo de la señal que se está monitoreando, adicional a este hecho, la librería que
permite el uso de la pantalla es de un tamaño considerable que provoca un retardo
importante en la ejecución del programa.
•
Canales PWM
La frecuencia a trabajar en los cuatro canales de PWM es de 1000 Hz, la cual es óptima
para la regulación o variación de velocidad en motores DC, uso que se postula como
primordial para estos puertos. La señal obtenida cuando el microcontrolador no tiene carga
en sus puertos es limpia y de frecuencia fija, al colocarle carga (motor) la señal se modifica
levemente mostrando una inclinación en su nivel alto debido a la inductancia generada por
el embobinado del motor.
Adicionalmente el programa de lógica difusa permite trabajar el porcentaje de la señal de
PWM desde 0% hasta un 100% realizando una subdivisión del ciclo útil de la señal. Este
control se puede realizar sobre los cuatro canales del microcontrolador de forma fiable y
simultanea.
63
•
Conversión análoga digital.
En el desarrollo de la practica de lógica difusa se observó que la cantidad de variables
ideales para el sistema es de cuatro ya que la cantidad de información a manejar con cada
una de ellas es muy elevado y al trabajar mas de cuatro variables el programa se comporta
de forma deficiente y adquiere un nivel de complejidad indeseado.
Como se mencionó anteriormente, la velocidad de comunicación a través del puerto serial
es lenta lo que hace que las pruebas de fidelidad de los canales de conversión no se puedan
realizar a través de este protocolo, razón por la cual se optó por trabajar un conversor
digital – análogo que trabaje a través de una comunicación SPI la cual brinda una taza de
transferencia mucho mayor que el protocolo RS232.
El integrado seleccionado para esta labor es el MCP4921-E/MS, cumple con las
características solicitadas y permite un análisis mas profundo de la fidelidad de los canales
al tener una velocidad de comunicación por encima de 1MBps. El resultado obtenido de las
pruebas muestra que entre mayor cantidad de canales de conversión se utilicen se reduce la
taza de muestreo, esto se debe a que en realidad en microcontrolador cuenta con un solo
reloj de muestro y conversión el cual se maneja a través del registro ADCHS, en el
momento de solicitar la activación de mas canales de conversión lo que se hace es una
multiplexación de la información almacenada en éste para adquirir la información entrante
por los canales configurados. El circuito utilizado para la comprobación de la tasa de
muestreo se observa en la figura 23.
64
Figura 23 Circuito para analizar la tasa de muestreo
Las pruebas realizadas para determinar la taza de muestreo con relación a los canales
programados es la siguiente:
•
Conversión de canal simple.
•
Formato de datos sin asignación
•
Auto conversión
•
Voltaje de referencia positivo: AVdd, voltaje de referencia negativo: AVss
•
Instrucción por ciclo de reloj
•
Reloj de conversión: 32*Tcy
•
Tiempo de muestreo automático: 31TAD
65
En el momento que se necesite modificar los valores que vienen por defecto en el
programa, se deben hacer directamente sobre los registros ADCS, SSRC y SAMC, los
cuales controlan los tiempos de conversión del microcontrolador. Es de fundamental
importancia considerar las recomendaciones mostradas por el fabricante las cuales se
muestran en la figura 19.
Figura 24 Modificación de los registros de control de tiempo de conversión del dsPIC.
Fuente: www.microchip.com
66
Los resultados de las pruebas se muestran en la tabla 4.
Tabla 4.
Resultado de las pruebas por canal de conversión
Muestreo
Canales
(muestras
programados
por
segundo)
1
12500
2
6410
3
4545
4
3125
5
2500
6
1923
7
1562
Las imágenes obtenidas en las pruebas están registradas en las siguientes gráficas:
Figura 25 Resultado obtenido con un canal de conversión programado.
67
Figura 26 Resultado obtenido con dos canales de conversión programados.
Figura 27 Resultado obtenido con tres canales de conversión programados.
68
Figura 28 Resultado obtenido con cuatro canales de conversión programados.
Figura 29 Resultado obtenido con cinco canales de conversión programados.
69
Figura 30 Resultado obtenido con seis canales de conversión programados.
Figura 31 Resultado obtenido con siete canales de conversión programados.
70
Los resultados que se muestran entre las gráficas 25 a 31 son el resultado de la conversión
del canal cero del microcontrolador, pero al programa se le anexaban líneas de código para
que guardara en un registro el resultado de la conversión de los demás canales y de esta
forma observar la variación en la cantidad de muestras por segundo que toma el
microcontrolador.
•
Filtros.
Los filtros diseñados se utilizan para reducir la cantidad de señales indeseadas en el
momento de una adquisición de datos. Los filtros están habilitados para los canales del cero
al tres en la tarjeta de adquisición, el tipo de filtro diseñado es pasa altos, la respuesta del
filtro se analiza con detalle en el marco teórico.
El diagrama eléctrico del filtro se muestra en la figura 32
Figura 32 Diagrama eléctrico de los filtros utilizados
La configuración mostrada en la figura 32 es denominada Sallen – Key en conmemoración
a sus diseñadores R. P. Sallen y E. L. Key
de la universidad de California, esta
configuración es una de las mas utilizadas ya que permite una mayor independencia de las
características de los amplificadores operacionales, es decir, al estar configurado el como
amplificador permite que la dependencia de la frecuencia de corte alta sea menor.
71
Una de las características que deben tener los filtros es que impidan el paso de las
frecuencias bajas y por las cualidades propias del amplificador cortará las frecuencias altas
(menores de 1MHz), lo que indica que a pesar que el diseño que se plantee en este
documento sea el de un pasa altas, cuando la frecuenta reincremente de manera
significativa se atenuaran por el ancho de banda de funcionamiento del elemento activo del
filtro.
La ecuación para determinar la frecuencia de corte de filtro esta dada por:
Fc =
1
2p RC
De acuerdo con la figura 32 los valores de R1 y R2 son iguales y los condensadores C1 y
C2 son del mismo valor, a través de la fórmula se determinan los valores de las resistencias
asumiendo el valor de los condensadores, si se despeja el valor de R se tiene como
resultado:
R =
1
2p CFc
En donde se asume que el valor de C = 1uF y conociendo la frecuencia de corte Fc= 20Hz
se obtiene que el valor de R es:
R = 7957.79 KU
Comercialmente el valor mas cercano es el de 10K, las pruebas realizadas para determinar
la frecuencia de corte se basan en determinar en que momento el nivel de la señal se reduce
en un 30% para determinar la frecuencia de corte del filtro. El amplificador utilizado para la
implementación es el LM358N, el cual cuenta con dos amplificadores internos, tiene
alimentación simple y un alto rechazo en modo común de hasta 80dB (CMRR).
72
Los resultados obtenidos muestran el comportamiento del integrado con dos señales en
cada uno de sus amplificadores internos, con el fin de analizar si existe alguna interferencia
entre los componentes internos. Inicialmente se establece una señal de entrada que tenga un
voltaje pico a pico de 1V (Figura 33).
Figura 33 Imagen de la señal de entrada para los filtros.
Como se observa la frecuencia inicial que se elige (20KHz) está por encima de la
frecuencia de corte, con el fin de observar que la señal no tenga atenuación en las dos
salidas del integrado, la respuesta que se obtuvo se muestra en la figura 34.
73
Figura 34 Salida en los dos amplificadores operacionales
Como se observa, no existe atenuación en la señal y se ajusta el cursor en el 70% de la
amplitud total de la señal para observar la frecuencia de corte, la frecuencia de corte
inferior se muestra en la figura 35.
Figura 35 Frecuencia de corte inferior
74
Como se mencionó anteriormente, las características de amplificador operacional atenúan
la señal cuando la frecuencia de la señal de entrada es muy alta, dejando el cursor en la
misma posición se incrementa la frecuencia para medir el valor. Su resultado se muestra en
la figura 36.
Figura 36 Frecuencia de corte superior
En resumen se tiene que la frecuencia de corte inferior se encuentra en 20.03 Hz y la
frecuencia de corte superior tiene un valor de 543.442 KHz lo cual le da un rango de
funcionamiento bastante aceptable al microcontrolador previniendo la infiltración de
señales de ruido a través de los canales de conversión.
4.3.
ETAPA 3. CARACTERIZACIÓN DE FUNCIONES Y PLANTEAMIENTO
DE PRÁCTICAS.
75
4.3.1.
Caracterización de funciones.
Se fundamentan en la adquisición de señales a través de cuatro canales habilitados para
trabajar con el programa de modelamiento de control difuso heurístico. Cuenta con un
sistema de visualización a través de una pantalla GLCD (LCD gráfica) de resolución de 128
X 64 pixeles. Cuatro actuadores tipo MOSFET que garantizan un optimo rendimiento de la
energía que se les suministre a través de los cuatro canales de PWM con los que cuenta el
microcontrolador.
De igual forma cuenta con dos actuadores de corriente alterna tipo MOC para control de
cargas que funcionen con voltaje alterno optoacopladas. Tiene habilitado uno de sus dos
puertos de comunicación serial a través del protocolo RS232 el cual esta en capacidad de
transmitir hasta una velocidad máxima de 115200 Bps.
Puente H integrado para el control de giro de dos motores DC de forma simultanea con una
carga máxima de 1 Amperio.
Como se mencionó a través de todo el documento, las características de la tarjeta se
enfocan hacia la integración de los elementos de mayor uso para aprovechar el tiempo de
una forma más efectiva.
El diagrama eléctrico de todos los componentes utilizados en la tarjeta se muestra en la
figura 37.
76
Figura 37 Diagrama eléctrico de la tarjeta de adquisición de datos.
Con el propósito de facilitar la reposición de elementos que puedan presentar daños en el
momento de implementar cualquier proyecto, se propone trabajar los actuadores de la
tarjeta en otra baquela. En la tarjeta principal se ubicaran el puerto de comunicación serial,
la pantalla GLCD y los conectores necesarios para la comunicación con los actuadores, el
diagrama eléctrico de la tarjeta principal se muestra en la figura 38, de la misma forma se
muestra la disposición de los elementos sobre l tarjeta en la figura 39.
77
Figura 38 Tarjeta principal
Figura 39 Disposición de los elementos en la tarjeta 1
78
En la figura 38 se observa que se tiene a disposición todos los puertos a través de borneras
para su libre uso , de igual forma se disponen 5 pines para la utilización del programador
Pikit 2 de microchip, programador utilizado y recomendado para la elaboración de de
proyectos con dsPIC.
En la figura 40 se detallan los componentes utilizados en la tarjeta de actuadores.
Figura 40 Tarjeta de actuadores
79
Figura 41 Disposición de los elementos tarjeta 2
4.3.2.
Planteamiento de prácticas
Se plantean tres prácticas que demuestren el potencial y la versatilidad de la tarjeta con los
componentes que la integran.
•
Programa de modelamiento difuso heurístico a través de Labview.
A través de esta práctica se puede modelar de forma verbal un sistema que funcione con
cuatro entradas y cuatro salidas, las cuatro salidas disponibles están controladas a través de
los canales de modulación de ancho de pulso con los que cuenta el microcontrolador y las
cuatro entradas están habilitadas del canal cero al tres.
80
El protocolo de comunicación entre el programa de modelamiento y el microcontrolador se
fundamenta en la transmisión y recepción de registros con unas banderas determinadas las
cuales indican la función que tiene que cumplir cada uno de los integrantes del sistema,
funciona de la siguiente manera:
El registro a enviar por parte del computador es de dos posiciones rx[0] y rx[1]; el primero
determina si se envía la información de los canales de conversión o manejo de los
actuadores de PWM y el segundo determina cual es el valor que se desea suministrar a los
canales de PWM.
Cuando se desee monitorear el resultado que se tiene en el canal cero (0) de conversión, el
programa envía una ‘A’ hacia el microcontrolador y éste a su ves transmite la información
pertinente, si es el canal uno (1) se debe enviar una ‘B’ y así sucesivamente hasta la letra D
para recibir la información del canal 3.
Para el trabajo sobre los cuatro actuadores el protocolo que se trabaja es similar, solo que
en esta ocasión se debe tener en cuenta cual es el valor a cargar sobre el PWM el cual varía
de 0% a 100% y este se envía junto con la primera letra tal cual como se muestra en la tabla
5.
Tabla 5.
Protocolo de transmisión
Rx[0]
A
B
C
D
W
X
Y
Z
Rx[1]
XX
XX
XX
XX
0 - 100
1 - 100
2 - 100
3 - 100
Función
Se envía la información del canal 1
Se envía la información del canal 2
Se envía la información del canal 3
Se envía la información del canal 4
Valor a trabajar en el PWM 1
Valor a trabajar en el PWM 2
Valor a trabajar en el PWM 3
Valor a trabajar en el PWM 4
81
A través de la práctica se corroboró que de esta forma se garantiza que los registros de
PWM pueden variar sin modificar el valor de los otros registros y gracias a la velocidad de
transmisión se puede monitorear el valor de 4 canales de forma continua y fiable.
Es importante considerar que la transmisión de todos los registros se debe hacer en formato
ASCII y de no ser posible por disposiciones del profesor o condiciones de la práctica, se
debe cambiar el protocolo de comunicación en el microcontrolador.
La sección del programa que controla la información en cada uno de los canales se muestra
en la figura 42 en esta figura se muestra un segmento del proceso completo, lo que se
observa es el protocolo de configuración para la comunicación por vía serial hacia el
microcontrolador. Inicialmente es envía la letra correspondiente a cada uno de los canales y
posteriormente se lee y se guarda el valor registrado.
Figura 42 Información en cada uno de los canales.
Posteriormente se determina cual de los canales se quiere visualizar en el instrumento
virtual a través de los interruptores que se tienen dispuestos para este fin. Figura 43
82
Figura 43 Selección del canal de conversión a visualizar
Cuando se tienen seleccionadas las variables se procede con la valoración de las reglas que
se ingresan al sistema a través del segmento de pantalla dispuesto para tal fin (figura 44) es
importante recordar que se establece un intervalo de funcionamiento para cada una de las
variables como mínimo y máximo para después determinar el porcentaje de funcionamiento
del PWM.
Figura 44 Espacio para el ingreso de las variables dentro del programa
83
Con el botón de inicio se procede con la valoración de todas las reglas que se encuentren
dentro del sistema de tabulación que se muestra en la figura anterior.
•
Modulador QPSK
El modulador QPSK esta conformado por un microcontrolador (dsPIC30f4013), una
pantalla GLCD gráfica y un MAX232, la función del micro es almacenar los números
seleccionados visualizarlos el la GLCD, además de tomar el numero decimal y convertirlo
en binario para identificar que señal es la que se transmitirá.
Otra función del micro es formar las cuatro señales posibles, es decir S1, S2, S3 y S4, como
se muestra en la tabla 6.
Tabla 6.
Equivalencia de señales
Señal Equivalente
S1
00
S2
10
S3
11
S4
01
Cuando se ingrese la información de las tramas a modular por el puerto serial al
microcontrolador se asocian los valores tal como se muestra en la tabla 6. Las tramas deben
estar configuradas con el estándar del protocolo RS232 con un tamaño de registro de 8 bits,
sin paridad ni control de flujo.
84
En la tabla de la digitalización se especifica en donde empieza cada señal (S1, S2, S3 y S4),
es decir S1 empieza en 45º, S2 en 135º, S3 en 225º y S4 en 315º, lo que significa que se
desplaza la fase 90º (Tabla 7).
Tabla 7.
Señales equivalentes:
Señal
Desplazamiento
S1
45º
S2
135º
S3
225º
S4
315º
Gráfica resultante
La reconstrucción de las señales sinusoidales se hace través de 49 valores por medio del
puerto serial, éstas son graficadas bien sea a través de la pantalla GLCD o a través de una
interfase que este en la capacidad de interpretarlas. Los valores utilizados para la
reconstrucción de la señal con un desfase de 45º son:
85
S1 =
(218,228,234,245,250,254,255,254,250,245,234,228,218,205,191,176,160,144,127,111,94,
79,64,50,37,26,17,10,4,1,0,1,4,10,17,26,37,50,64,79,94,111,127,127,144,160,176,191,205)
Si se analizan los valores que se utilizan se observa que el mas alto, el pico de la señal tiene
un valor de 255, el punto mas bajo es 0 y el punto intermedio es 128, lo que indica que la
reconstrucción de la señal se hace a través de un protocolo de comunicación a 8 bits y como
se mencionó anteriormente por medio de comunicación serial.
La tarea fundamental que debe realizar el microcontrolador es agrupar las tramas que se
ingresen en parejas de bits y asociarlas a los valores que se muestran en la tabla 7 para de
esta forma modular la información y mostrarlo en la pantalla GLCD
Un ejemplo de la modulación que se obtiene cuando se ingresan valores entre 0 y 7 se
muestra en la tabla 8.
La señal completa y sin desfase se muestra en la figura 46, en la cual se muestra como se
toman los 49 valores para su reconstrucción. Y su equivalente en porcentaje de amplitud de
señal (0 y 100%).
Tabla 8.
Equivalencia de señales
Numero Equivalente
0
S1 S1
1
S1 S4
Gráfica resultante
86
2
S1 S2
3
S1 S3
4
S4 S1
5
S4 S4
6
S4 S2
7
S4 S3
En el programa hay cuatro subprogramas correspondientes a S1, S2, S3 y S4, que están
conformados por 48 muestras cada uno, en la tabla de digitalización se observa el comienzo
de cada una, entre cada muestra hay un intervalo de tiempo especificado según se requiera,
es decir el periodo de cada señal vine dado por:
T = 48muestras * retardo
87
Donde el retardo equivale al tiempo programado entre cada muestra, la frecuencia viene
dada por:
F=
1
T
El esquema del algoritmo de la solución propuesta se muestra en la figura 45
Figura 45 Esquema del algoritmo modulador QPSK
Inicio
Declaración
de variables
Recepción
de la trama
serial
Asociación por
pares de bits
con las señales
Reconstrucción de las
señales resultantes con
base a los 50 valores
Visualización de las
señales en pantalla
GLCD
La línea de código recomendada es la siguiente:
,111,94,79,64,50,37,26,17,10,4,1,0,1,4,10
,17,26,37,50,64,79,94,111,127,127,144,1
60,176,191,205)
const QPSK_135 as byte[49] =
(218,205,191,176,160,144,127,111,94,79,
64,50,37,26,17,10,4,1,0,1,4,10,17,26,37,5
0,64,79,94,111,127,127,144,160,176,191,
205,218,228,234,245,250,254,255,254,25
0,245,234,228)
const QPSK_225 as byte[49] =
(37,26,17,10,4,1,0,1,4,10,17,26,37,50,64,
program QPSK
dim RX as byte
dim temp as byte
dim i as integer
dim RXC as word
const QPSK_45
as byte[49] =
(218,228,234,245,250,254,255,254,250,2
45,234,228,218,205,191,176,160,144,127
88
PORTB.0=0
case "2"
PORTB.1=1
for i=0 to 48 step 1
temp = QPSK_135[i]
Uart1_Write_Char(temp)
next i
PORTB.1=0
case "3"
PORTB.0=1
for i=0 to 48 step 1
temp = QPSK_315[i]
Uart1_Write_Char(temp)
next i
PORTB.0=0
case "4"
PORTB.1=1
for i=0 to 48 step 1
temp = QPSK_225[i]
Uart1_Write_Char(temp)
next i
PORTB.1=0
case else
PORTB.1=1
Uart1_Write_Text("Error")
PORTB.1=0
LATF.3 = 0x00
LATF.2 = 0x00
end select
79,94,111,127,127,144,160,176,191,205,
218,228,234,245,250,254,255,254,250,24
5,234,228,218,205,191,176,160,144,127,
111,94,79,64,50)
const QPSK_315 as byte[49] =
(37,50,64,79,94,111,127,127,144,160,176
,191,205,218,228,234,245,250,254,255,2
54,250,245,234,228,218,205,191,176,160
,144,127,111,94,79,64,50,37,26,17,10,4,1
,0,1,4,10,17,26)
main:
Uart1_Init(9600)
ADPCFG = $FFFF
TRISB.0 = 0
TRISB.1 = 0
PORTB.0=0
PORTB.1=0
atras:
' while true
' while Uart1_Data_Ready() = 1
' if (Uart1_Data_Ready() = 1) then
RX = Uart1_Read_Char()
LATF = 0x00
select case RX
case "1"
PORTB.0=1
for i=0 to 48 step 1
temp = QPSK_45[i]
Uart1_Write_Char(temp)
next i
LATF = 0x00
goto atras
end
89
Figura 46 Señal completa sin desfase
Digitalización de la señal
1,1
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
Valor
0,2
0,1
0
-0,1 0
1
2
3
4
5
6
7
8
9
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 3 3 34 35 36 37 3 8 39 4 0 41 42 43 44 4 5 46 4 7 48 4 9 50
-0,2
-0,3
-0,4
-0,5
-0,6
-0,7
-0,8
-0,9
-1
-1,1
Muestra
•
Juego del Tanque
El Juego del Tanque esta conformado por un microcontrolador (dsPIC30f4013), una
pantalla GLCD gráfica y 5 pulsadores, la función del micro es almacenar y procesar toda la
información del juego para luego enviarlos y visualizarlos el la GLCD.
Primero se debe comenzar por establecer la forma del tanque y cuales figuras se van a
utilizar, para esto se tienen 2 cuadrados para formar el tanque, un rectángulo como cañón, 2
líneas para las ruedas además de puntos para cada sección de rueda y vario puntos unidos
para formar una línea simulando una bala; Además de estos hay que configurar las
posiciones para que todo quede en un mismo sitio y así poderlas mover teniendo como
limite los extremos de la GLCD. En cuanto al movimiento de el tanque se hace variando su
posición a través de 4 pulsadores uno para cada lado y pudiéndose combinar para moverse
en diagonal.
Se debe borrar la posición anterior del tanque para que no salga repetido, esto se hace
cambiando el contraste rápidamente y así tener solo un objeto a la vista. El otro objeto es la
mira móvil la cual se desplaza por los bordes de la pantalla y la idea es atinar con la bala al
centro de la mira y esto es simplemente disparando con el quinto pulsador mientras se
mueve la mira, esto se hace por comparación de la posiciones tanto de la baja como la de la
mira y en el momento que coincidan tanto en la posición X como en la Y automáticamente
es marcado un punto en un contador de impactos hasta llegar al limite y acabarse el juego.
5. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS
El resultado obtenido a través de las pruebas realizadas a los canales de conversión análoga
digital demuestran que la capacidad de monitoreo del microcontrolador se ve reducido de
manera significativa cuando se programa mas de un canal al mismo tiempo, de acuerdo con
la tabla 4 se demuestra que la tasa de muestreo de reduce de forma exponencial
dependiendo de la cantidad de canales que se programen, el comportamiento descrito
anteriormente se muestra en la figura 47.
Figura 47 Comportamiento de la tasa de muestreo con respecto a la cantidad de canales
programados
Muestreo
14000
Muestras por segundo
12000
10000
8000
Muestreo
6000
4000
2000
0
1
2
3
4
5
6
7
Canales Conversion
Los datos utilizados para la realización de la grafica son los que se consignan en la tabla 4
en el desarrollo ingenieril. Lo que se demuestra con este análisis es que el microcontrolador
no cuenta con 12 canales de conversión simultanea si no que por el contrario solamente
92
tiene uno y este se multiplexa para almacenar la información que se adquiere por cada uno
de ellos.
Considerando lo anteriormente mencionado se decide que la cantidad de canales ideales
para la realización de practicas sean 4, sin embargo se dejan disponibles 8 para la
realización de practicas de baja complejidad o en donde los sensores o variables utilizados
no tengan una frecuencia de funcionamiento muy alta.
La selección de las prácticas de laboratorio se fundamenta en la versatilidad de cada una de
ellas, de la complejidad y utilización de los materiales disponibles en la tarjeta y necesarios
para desarrollar las mismas. La practica de control difuso heurístico conjuga varios temas
relacionados con la matera de control permitiendo al estudiante comprender el
comportamiento y la filosofía de funcionamiento de la lógica difusa de una forma práctica y
sencilla, adicional a esto involucra una parte importante de programación donde se deben
utilizar conceptos de programación como la transmisión de datos por comunicación serial
bajo el protocolo RS232, manejo de los módulos de PWM disponibles en el
microcontrolador y conversión análoga digital.
En lo relacionado con la modulación QPSK se eligió por ser una de las modulaciones
digitales mas versátiles permitiendo al estudiante explorar con la modulación básica mas
aplicaciones como lo son transmisión de información vía inalámbrica, comunicación de
varios dispositivos de forma serial, modificación de las frecuencias de transmisión de la
información codificada, entre otras. Las ventajas más representantitas de la modulación
digital se basan en la reducción de ruido, fidelidad de la señal recibida, modulación y
demodulación disponible a través de DSP y una de las mas importantes la codificación y
encriptación de la información.
Entre las practicas propuestas inicialmente se planteó el desarrollo de un osciloscopio a
través de una pantalla GLCD, los inconvenientes con los que se afrontó fue la poca
estabilidad de la señal que se mostraba en la pantalla, esto se presentó debido a que los bits
93
de menor peso en el resultado de la conversión no permitían un manejo confiable de la
señal y por otra parte para visualizar las señales de alta frecuencia (menor de 10MHz) se
hacía necesaria la implementación de una memoria adicional para almacenar los datos
durante un tiempo determinado y comunicarlos posteriormente para su visualización. La
integración de este elemento reducía las salidas disponibles de la tarjeta limitando su
funcionabilidad.
La implementación de los actuadores de forma modular permite tener una mayor cantidad
de puertos libres en el momento en que se necesiten, cumpliendo con el objetivo de brindar
una mayor movilidad e integración a proyectos básicos.
Todas las funciones establecidas en este proyecto son completamente modificables , esa es
una de las características mas importantes que cabe resaltar, su maniobrabilidad esta
limitada únicamente por la disposición de los materiales dentro de la tarjeta pero todas sus
características son programables y ajustables lo que abre una amplia gama de posibilidades
para desarrollar las capacidades y opciones para las practicas de laboratorio dentro de las
materias relacionadas con microcontroladores y control.
La relación de costos del proyecto se detalla en el anexo J donde se muestra un análisis
detallado de los gastos realizados para el desarrollo del proyecto, las utilidades estimadas y
el tiempo de recuperación de la inversión realizada.
94
6. CONCLUSIONES
Dados los requerimientos básicos para la selección de un buen microcontrolador para
realizar este proyecto se tuvieron en cuenta especificaciones como: capacidad de memoria
interna, la resolución del conversor análogo digital, el numero de pines, tipo de
encapsulado, numero de entradas y salidas y su forma (análogo o digital), por estos y otros
requisitos básicos se elige el DsPIC 30f4013 ya que cumple a cabalidad con muchos de los
requerimientos antes enunciados.
Con la variedad de visualizadores o pantallas utilizados en la electrónica se elige una
GLCD pantalla grafica por su opción de visualizar caracteres con los que una LCD normal
no se podría, como los utilizados en las prácticas propuestas.
Fundamentándose en la hipótesis planteada y en el trabajo realizado y contextualizado a
través del desarrollo ingenieril se observó que los microcontroladores de gama alta como lo
son los dsPIC tiene una buena cantidad de canales de conversión especializados para la
adquisición de señales análogas, entre las anotaciones mas relevantes a su funcionamiento
se destaca que la tasa de muestreo se reduce de manera significativa haciendo que la
utilización de canales en forma simultanea no sea recomendable para variables de alta
frecuencia o variación.
La integración de distintos elementos actuadores en un espacio reducido facilita la
movilidad y reparación de las piezas defectuosas o dañadas de la tarjeta. Adicionalmente la
realización de la misma a través de un microcontrolador permite al usuario efectuar
modificaciones de los mismos a la forma que se demande en el sistema que se trabaje.
La utilización de la pantalla GLCD en la tarjeta reduce de manera significativa la cantidad
de puertos libres en el mismo pero brinda una herramienta de programación muy
95
interesante a través de la cual se puede manejar una interfaz de alta maniobrabilidad y
versatilidad.
96
7. RECOMENDACIONES
El prototipo desarrollado cuenta con la gran mayoría de sus piezas modulares, en caso de
presentarse algún daño en las mismas se recomienda hacer uso de los planos incluidos en
este documento para realizar su reposición con el fin de evitar daños mayores o
malfuncionamiento de la tarjeta.
Para la programación del microcontrolador se siguiere la utilización del programador Pickit
2 de la marca Microchip, en la tarjeta se incluyen los pines necesarios para uso, es de fácil
uso y su precio es bastante accesible.
En caso de programar con el dispositivo recomendado es necesario retirar la pantalla GLCD
ya que ésta tiene unos pines conectados en paralelo con el programador, se debe retirar
únicamente mientras se programa el dispositivo.
No trabajar directamente son sensores que tengan un rango de funcionamiento mayor a 5V
DC ya que esto daña el modulo de conversión análoga digital, es necesario realizar un
acoplamiento de la señal para que se adapte a el intervalo necesario.
No ingresar señales de DC a través de los filtros ya que están diseñados para trabajar con
señales de frecuencia variable, se debe tener en cuenta que debido a la impedancia reactiva
éstos se comportan como circuito abierto ante esta clase de señales.
No trabajar señales superiores a 150KHz a través de los filtros debido a que por su
comportamiento los amplificadores operacionales con los que se trabajan los filtros no
tienen buena respuesta ante este tipo de frecuencias. El análisis de la respuesta se muestra
en el desarrollo ingenieril del proyecto.
97
En caso de dañarse el adaptador de corriente se debe reemplazar por uno que no sobrepase
los 15 voltios en DC, ya que si tiene un valor mayor puede representarse en un
calentamiento de regulador produciendo fallas o quemaduras en los elementos cercanos a
éste.
98
BIBLIOGRAFÍA
IBRAHIM, Ahmad M. Introduction applied fuzzi electronics.New Jersey: Prentice Hall.
1997.
BOYLESTAD, Robert. Electrónica: teoría de circuitos. México: Prentice Hall
Hispanoamericana. 1994
MALONEY, Timothy J. Electrónica industrial moderna. México, Prentice Hall
Hispanoamericana. 1997
OGUIC, Patrice. Control electrónico con el PC. Madrid, Paraninfo. 1997
INSTITUTO COLOMBIANO DE NORMAS TÉCNICAS. Normas colombianas para la
presentación de trabajos de investigación. Quinta actualización. Bogotá DC.
ANGULO USATEGUI, José María. Microcontroladores avanzados dsPIC: Controladores
digitales de señales. Arquitectura, programación y aplicaciones. Madrid, Thomson, 2006
GIBILISCO, Stan, Electrónica diccionario enciclopédico, cuarta edición, Ed. McGraw Hill,
2004
99
ANEXOS.
Anexo A. Especificaciones dsPIC30F4013
100
Anexo B. Especificaciones ATmega 8
101
Anexo C. Especificaciones L293D
102
Anexo D. Especificaciones IRF 840
103
Anexo E. Especificaciones MOC3011
104
Anexo F. Especificaciones BT137
105
Anexo H. Línea de código en Arduino
#include <LCD4Bit.h>
int led = 13;
LCD4Bit lcd = LCD4Bit(2);
int pwm1 = 9;
int pwm2 = 10;
int RX[2];
int pwm3 = 11;
int contador;
char buf[10];
int s1=0;
int s2=1;
void setup()
int s3=2;
{
int s4=3;
Serial.begin(9600);
int s5=4;
digitalWrite (led,HIGH);
int s6=5;
}
int conv1;
int conv2;
void loop()
int conv3;
{
int conv4;
conv1=analogRead(s1);
int conv5;
conv2=analogRead(s2);
int conv6;
conv3=analogRead(s3);
conv4=analogRead(s4);
{
conv5=analogRead(s5);
Serial.print("S1: ");
conv6=analogRead(s6);
Serial.print ("000");
//------------------Tx Serial
Serial.print(conv1, DEC);
if (Serial.available() > 0)
Serial.print(";");
{
}
for (contador = 0; contador < 2;
if (conv1>=10 && conv1<=99)
contador ++)
{
{
Serial.print("S1: ");
RX[contador] = Serial.read();
Serial.print ("00");
}
Serial.print(conv1, DEC);
if (contador == 1)
Serial.print(";");
{
}
contador = 0;
if (conv1>=100 && conv1<=999)
}
{
if (RX[0] == 'A')
Serial.print("S1: ");
{
Serial.print ("0");
if (conv1>=0 && conv1<=9)
Serial.print(conv1, DEC);
107
Serial.print(";");
if (conv2>=10 && conv2<=99)
}
{
if (conv1>999)
Serial.print("S2: ");
{
Serial.print ("00");
Serial.print("S1: ");
Serial.print(conv2, DEC);
Serial.print(conv1, DEC);
Serial.print(";");
Serial.print(";");
}
}
if (conv2>=100 && conv2<=999)
}
{
if (RX[0] == 'B')
Serial.print("S2: ");
{
Serial.print ("0");
if (conv2>=0 && conv2<=9)
Serial.print(conv2, DEC);
{
Serial.print(";");
Serial.print("S2: ");
}
Serial.print ("000");
if (conv2>999)
Serial.print(conv2, DEC);
{
Serial.print(";");
Serial.print("S2: ");
}
Serial.print(conv2, DEC);
108
Serial.print(";");
}
}
if (conv3>=100 && conv3<=999)
}
{
if (RX[0] == 'C')
Serial.print("S3: ");
{
Serial.print ("0");
if (conv3>=0 && conv3<=9)
Serial.print(conv3, DEC);
{
Serial.print(";");
Serial.print("S3: ");
}
Serial.print ("000");
if (conv3>999)
Serial.print(conv3, DEC);
{
Serial.print(";");
Serial.print("S3: ");
}
Serial.print(conv3, DEC);
if (conv3>=10 && conv3<=99)
Serial.print(";");
{
}
Serial.print("S3: ");
}
Serial.print ("00");
if (RX[0] == 'D')
Serial.print(conv3, DEC);
{
Serial.print(";");
if (conv4>=0 && conv4<=9)
109
{
Serial.print(";");
Serial.print("S4: ");
}
Serial.print ("000");
if (conv4>999)
Serial.print(conv4, DEC);
{
Serial.print(";");
Serial.print("S4: ");
}
Serial.print(conv4, DEC);
if (conv4>=10 && conv4<=99)
Serial.print(";");
{
}
Serial.print("S4: ");
}
Serial.print ("00");
if (RX[0] == 'E')
Serial.print(conv4, DEC);
{
Serial.print(";");
if (conv5>=0 && conv5<=9)
}
{
if (conv4>=100 && conv4<=999)
Serial.print("S5: ");
{
Serial.print ("000");
Serial.print("S4: ");
Serial.print(conv5, DEC);
Serial.print ("0");
Serial.print(";");
Serial.print(conv4, DEC);
}
110
if (conv5>=10 && conv5<=99)
Serial.print(";");
{
}
Serial.print("S5: ");
}
Serial.print ("00");
if (RX[0] == 'F')
Serial.print(conv5, DEC);
{
Serial.print(";");
if (conv6>=0 && conv6<=9)
}
{
if (conv5>=100 && conv5<=999)
Serial.print("S6: ");
{
Serial.print ("000");
Serial.print("S5: ");
Serial.print(conv6, DEC);
Serial.print ("0");
Serial.print(";");
Serial.print(conv5, DEC);
}
Serial.print(";");
if (conv6>=10 && conv6<=99)
}
{
if (conv5>999)
Serial.print("S6: ");
{
Serial.print ("00");
Serial.print("S5: ");
Serial.print(conv6, DEC);
Serial.print(conv5, DEC);
Serial.print(";");
111
}
if (RX[0] == 'X')
if (conv6>=100 && conv6<=999)
{
{
analogWrite(pwm1,RX[1]);
Serial.print("S6: ");
}
Serial.print ("0");
if (RX[0] == 'Y')
Serial.print(conv6, DEC);
{
Serial.print(";");
analogWrite(pwm2,RX[1]);
}
}
if (conv6>999)
if (RX[0] == 'Z')
{
{
Serial.print("S6: ");
analogWrite(pwm3,RX[1]);
Serial.print(conv6, DEC);
}
Serial.print(";");
}
}
}
}
112
Anexo I. Línea de código utilizada en Mikrobasic for dsPIC
tx1
as string[6]
tx2
as string[6]
dim CH0 as word
tx3
as string[6]
CH1 as word
tx4
as string[6]
CH2 as word
tx5
as string[6]
CH3 as word
tx6
as string[6]
CH4 as word
tx7
as string[6]
program TAD
pwm_period1,
pwm_period2,pwm_period3,pwm_period
4 as word
CH5 as word
CH6 as word
CH7 as word
rx as string [2]
txt0
as string[6]
i as integer
txt1
as string[6]
txt2
as string[6]
ADPCFG = $FFFF
txt3
as string[6]
Uart1_Init(115200)
txt4
as string[6]
txt5
as string[6]
txt6
as string[6]
txt7
as string[6]
pwm
tx0
main:
pwm_PERIOD1 = Pwm_Init(1000, 1, 1,
3)
pwm_PERIOD2 = Pwm_Init(1000, 2, 1,
3)
pwm_PERIOD3 = Pwm_Init(1000, 3, 1,
3)
as string[6]
pwm_PERIOD4 = Pwm_Init(1000, 4, 1,
3)
as string[6]
113
Pwm_Start(1)
WordToStr(pwm_period1,pwm)
Pwm_Start(2)
Pwm_Start(3)
WordToStrWithZeros(pwm_period1,
txt0)
Pwm_Start(4)
while true
'WordToStrWithZeros(CH1, txt1)
CH0 = Adc_Read(0)
'WordToStrWithZeros(CH2, txt2)
CH1 = Adc_Read(1)
'WordToStrWithZeros(CH3, txt3)
CH2 = Adc_Read(2)
'WordToStrWithZeros(CH4, txt4)
CH3 = Adc_Read(3)
'WordToStrWithZeros(CH5, txt5)
CH4 = Adc_Read(4)
'WordToStrWithZeros(CH6, txt6)
CH5 = Adc_Read(5)
'WordToStrWithZeros(CH7, txt7)
CH6 = Adc_Read(6)
CH7 = Adc_Read(7)
if Uart1_Data_ready() = 1 then
for i = 0 to 2
WordToHEX(CH0, tx0)
rx[i] = Uart1_read_char()
WordToHEX(CH1, tx1)
next i
WordToHEX(CH2, tx2)
end if
WordToHEX(CH3, tx3)
WordToHEX(CH4, tx4)
if rx[0] = "A" then
WordToHEX(CH5, tx5)
WordToHEX(CH6, tx6)
Uart1_Write_TEXT (Tx0)
WordToHEX(CH7, tx7)
rx[0] = 0
114
Uart1_Write_TEXT (Tx4)
end if
rx[0] = 0
if rx[0] = "B" then
end if
if rx[0] = "F" then
Uart1_Write_TEXT (Tx1)
rx[0] = 0
Uart1_Write_TEXT (Tx5)
rx[0] = 0
end if
if rx[0] = "C" then
end if
if rx[0] = "G" then
Uart1_Write_TEXT (Tx2)
rx[0] = 0
Uart1_Write_TEXT (Tx6)
rx[0] = 0
end if
if rx[0] = "D" then
end if
Uart1_Write_TEXT (Tx3)
if rx[0] = "H" then
rx[0] = 0
end if
Uart1_Write_TEXT (Tx7)
if rx[0] = "E" then
rx[0] = 0
115
if rx[0] = "Z" then
end if
pwm_set_duty(rx[1]*200,4)
if rx[0] = "W" then
rx[0] = 0
pwm_set_duty(rx[1]*200,1)
end if
rx[0] = 0
Lcd_Init(PORTB, 9,10,11,12, PORTF,
4,1,0)
end if
if rx[0] = "X" then
Lcd_Cmd(LCD_CURSOR_OFF)
Lcd_Cmd(LCD_FIRST_ROW)
pwm_set_duty(rx[1]*200,2)
rx[0] = 0
Lcd_Out_Cp ("CH0:")
Lcd_out_Cp (txt0)
end if
Lcd_Out_Cp (" ")
if rx[0] = "Y" then
'Lcd_Out_Cp ("CH1:")
'Lcd_chr_Cp (Rx[1])
pwm_set_duty(rx[1]*200,3)
rx[0] = 0
'Lcd_Cmd(LCD_second_ROW)
end if
'
116
'Lcd_Out_Cp (txt7)
'Lcd_Out_Cp ("CH2:")
'Lcd_Out_Cp (txt2)
Delay_ms(30)
'Lcd_Out_Cp (" ")
wend
'
'Lcd_Out_Cp ("CH3:")
end.
'Lcd_Out_Cp (txt3)
'
'Lcd_Cmd(LCD_third_ROW)
'
'Lcd_Out_Cp ("CH4:")
'Lcd_Out_Cp (txt4)
'Lcd_Out_Cp (" ")
'
'Lcd_Out_Cp ("CH5:")
'Lcd_Out_Cp (txt5)
'
'Lcd_Cmd(LCD_fourth_ROW)
'
'Lcd_Out_Cp ("CH6:")
'Lcd_Out_Cp (txt6)
' Lcd_Out_Cp (" ") '
' Lcd_Out_Cp ("CH7:")
117
Anexo J. Análisis financiero del proyecto.
Los costos necesarios para la implementación del proyecto se muestran a continuación, se
relacionan con el fin de establecer un precio de venta público.
Tabla 9.
Análisis de costos
Elemento
Cantidad
Precio
por
unidad
Sub total
Borneras de
atornillar dobles
13
$ 500
$ 6.500
Borneas de
atornillar triples
4
$ 700
$ 2.800
MOSFET IRF840
4
$ 2.500
$ 10.000
BT137
Conector DB9
Hembra
Optoacoplador
MOC3011
2
$ 1.200
$ 2.400
1
$ 1.000
$ 1.000
2
$ 1.200
$ 2.400
1
$ 5.000
$ 5.000
Resistencias
Pulsadores
Adaptador de
corriente
40
1
$ 25
$ 300
$ 1.000
$ 300
1
$ 12.000
$ 12.000
Regulador 7805
1
$ 1.200
$ 1.200
Plug para DC
Conector de 16
hilos
Cinta plana de 16
hilos
1
$ 400
$ 400
2
$ 2.000
$ 4.000
1
$ 1.600
$ 1.600
2
$ 2.000
$ 4.000
Base para
microcontroladores
Conectores macho
de 16 hilos
118
Microcontrolador
dsPIC30F4013
1
$ 30.000
$ 30.000
Pantalla Grafica
resolución 124x68
1
$ 80.000
$ 80.000
2
$ 500
$ 1.000
3
$ 1.000
$ 3.000
7
$ 400
$ 2.800
5
$ 200
$ 1.000
Regleta para LCD
1
$ 2.500
$ 2.500
Impresión
baquelas doble
cara con antisolder
1
$ 95.000
$ 95.000
Puentes
rectificadores
Amplificadores
operacionales
Condensadores
electrolíticos
Condensadores
cerámicos
TOTAL COSTOS FIJOS
$ 269.900
GASTOS ADMINISTRATIVOS
$ 250.000
PRECIO DE VENTA PUBLICO
$ 520.000
Como se observa en la tabla 9 se detalla la cantidad y los materiales necesarios para el
desarrollo de la tarjeta de adquisición mostrada en el documento, en lo relacionado con los
gastos administrativos, se incluye los rubros necesarios para la movilidad, alimentación y
gastos adicionales necesarios para el desarrollo del proyecto.
Las utilidades se establecen sobre el 45% de la sumatoria de los gastos administrativos y
costo de materiales.
Se estima que los gastos incurridos para el desarrollo, diseño e implementación se
recuperen en un plazo de un año.
119
El precio de venta público mostrado en este aparte es el que se propone para los equipos
que se trabajen en la universidad, en caso de existir ventas o interesados ajenos a la misma
los precios varían.
120
Descargar