Diseño Adquisición De Datos Mediante Un Pic,matlab,visual
Enviado por samuelguiza • 2 de Mayo de 2014 • 1.433 Palabras (6 Páginas) • 445 Visitas
DISCRIMINADOR DE SEÑALES
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERIA ELECTROMECANICA
CONTROL DISCRETO
Samuel Guiza Jerez
e-mail: samuelguiza@hotmail.com
Gustavo Guerrero Pérez
e-mail:lingust19@hotmail.com
RESUMEN: En el proceso de adquisición de datos se utiliza un microcontrolador donde utilizamos internamente el conversor análogo-digital. La propuesta inicial era emplear un conversor ADC0804 para adquirirlos por el puerto paralelo, pero en este caso se usa el puerto serial-USB por ser más práctico el diseño y disponibilidad de hardware para el desarrollo del proyecto. Durante el desarrollo del proyecto se emplearon varios software para adquirir los datos y representarlos gráficamente.
PALABRAS CLAVE: Conversor A/D, matlab, microcontrolador, USART.
1 INTRODUCCIÓN
La función principal del Sistema de Adquisición de Datos es transmitir la información obtenida a través de sus canales de entrada, de diferentes señales analógicas y/o discretas las cuales son previamente captadas mediante el uso de diferentes sensores. El núcleo del circuito está basado en la utilización de un microcontrolador “PIC16F877A” que, el cual, está dotado de varias funciones que lo hacen muy versátil. Mediante una adecuada codificación se pueden convertir señales analógicas a señales discretas, darles tratamiento mediante los puertos de entrada / salida y conectarlo con una computadora a través de su interface RS 232. Las magnitudes producidas por el generador de señales ingresan al microcontrolador con una frecuencia que se puede modificar en tiempo de ejecución. “MatLab” se encarga de la recolección de los datos enviados por el circuito electrónico, los cuales son almacenados en una matriz y luego graficados. Además se graban en un archivo histórico para su posterior lectura.
Paralelamente se ha desarrollado una aplicación en “Visual Basic” que cumple la misma función del programa realizado en “Matlab” con fines netamente comparativos.
En este informe incluye la implementación del hardware, la programación del microcontrolador, y la manera como se adquirieron los datos.
2 OBJETIVOS
- Diseñar e implementar un hardware adecuado
para adquirir los datos.
- Crear un software para la adquisición de datos por medio de matlab y/o visual basic.
- Graficar la onda de entrada en forma y frecuencia.
3 IMPLEMENTACIÓN DEL HARDWARE
3.1 COMPONENTES
Fig.1 Representación esquemática del proyecto
Se utilizaron los siguientes recursos para la creación del hardware:
- PIC16F877A.
- CRISTAL 20MHz.
- Capacitores cerámicos 15pF
- Capacitores electrolíticos de 1uF.
- Max 232.
- Convertidor Serial-USB.
- Conector DBG9 serial-hembra.
- Pulsador.
- Resistencia de 10k.
3.2 Programación del pic.
Para la programación del pic16f877a se empleó como software el programa niple versión 5.2 como su representación es esquemática mostraremos su programación mediante una gráfica, cuyo objetivo es utilizar su conversor análogo-digital mediante el canal RA0 y guardarlo en un registro variable llamada dato.
Después de hacer la conversión mandar ese valor dato al puerto serial mediante el protocolo USART.
Fig.2 representación esquemática de la programación del pic.
Como se observa en la programación del pic, la información transmitida por el puerto serial (pin C6), es de modo asíncrono a una velocidad de 115200 baudios (bps). Esto nos quiere decir que nos da 14400 datos por segundos aproximadamente para una frecuencia de muestreo máxima 724Hz, lo cual se nos disminuye entre 400Hz y 330Hz por perdida de datos en el convertidor serial-USB.
3.3 AISLAMIENTO ELECTRICO
Antes de conectar el pic con el pc, debemos hacer un aislamiento eléctrico y acoplar las señales lógicas mediante el MAX232 como lo muestra la siguiente figura.
Fig. 3. Configuración del MAX232
El funcionamiento del MAX232 consiste en convertir los niveles lógicos de voltaje TTL hacia el puerto serial RS-232 (entre +10v”0 lógico” y -10v”1 lógico”)
4 IMPLEMENTACION DEL SOTFWARE.
4.1 MEDIANTE VISUAL BASIC.
Fig.4 entorno visual basic para la adquisición de datos.
El código más importante a la hora de adquirir datos desde el puerto serial es el siguiente:
SerialPort1.Open()
For xx = xcentro * -1 To xcentro * 2 Step 0.1
valores(con) = SerialPort1.ReadByte
TextBox1.Text = valores(con)
voltaje = Val(TextBox1.Text)
...