.
DISCRIMINADOR DE SEÑALES
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER
INGENIERIA ELECTROMECANICA
CONTROL DISCRETO
Samuel Gui...
.
3.1 COMPONENTES
Fig.1 Representación esquemática del proyecto
Se utilizaron los siguientes recursos para la creación del...
.
Fig. 3. Configuración del MAX232
El funcionamiento del MAX232 consiste en convertir los
niveles lógicos de voltaje TTL h...
.
Convert.ToSingle(puntoX2),
Convert.ToSingle(puntoY2))
con = con + 1
con1 = con1 + 1
censo = 1
Next
SerialPort1.Close()
M...
.
En comparación al uso de software, matlab lleva la
mayor partida debido a su amplia variedad y aplicación
de campo con r...
.
En comparación al uso de software, matlab lleva la
mayor partida debido a su amplia variedad y aplicación
de campo con r...
Próxima SlideShare
Cargando en…5
×

Informe de proyecto final de control discreto

787 visualizaciones

Publicado el

Adquision datos

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
787
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
12
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Informe de proyecto final de control discreto

  1. 1. . 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 1
  2. 2. . 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. 2
  3. 3. . 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) * (5 / 255) tiempo = tiempo + 6.9444444 * 10 ^ (-5) tiempos(con1) = tiempo ListBox1.Items.Add("Dato: " & TextBox1.Text & " " & "Voltaje: " & voltaje & " " & "tiempo: " & tiempo & "s") puntoX1 = (xx - 0.1) * (pb.Width / (Val(txtx.Text) * 2)) / 127.75 puntoY1 = valores(con - 1) * ycentro / 127.75 'sacamos coordenadas 2 puntoX2 = xx * (pb.Width / (Val(txtx.Text) * 2)) / 127.75 puntoY2 = valores(con) * ycentro / 127.75 dibujo.DrawLine(lapiz1, Convert.ToSingle(puntoX1), Convert.ToSingle(puntoY1), 3
  4. 4. . Convert.ToSingle(puntoX2), Convert.ToSingle(puntoY2)) con = con + 1 con1 = con1 + 1 censo = 1 Next SerialPort1.Close() Mediante este código realizamos la adquisición de datos, la lógica es abrir el puerto, generar un bucle mediante un for para generar el vector de datos. El otro vector que nos representa el tiempo se genera a partir del concepto de velocidad de puerto como se muestra en el código anterior, y por último no olvidar cerrar el puerto 4.2 MEDIANTE MATLAB. El código empleado en matlab es similar al de visual, con la excepción de que los datos no se adquieren mediante un bucle, de lo contrario exageramos en la memoria RAM del pc al abrir y cerrar el puerto para hacer la respectiva lectura. Más bien, simplemente le ordenamos leer el puerto y el automáticamente nos genera la lectura de un vector máximo de 512 datos. Si queremos más datos debemos repetir la instrucción de lectura, tal como lo muestra el siguiente código. %adquisiciondatos s = serial('COM4','BaudRate',115200,'Data Bits',8); fopen(s); out = fread(s); fclose(s); %segun los datos recibidos,le damos este valor a n %n=input('deme n segun los datos recibidos: ') n=512; voltaje=out*5/255; cont=0; cont1=0; tiempo=0; %Generando el vector tiempo for cont = 1: n cont1=cont1+2.14*6.944444445*10^(-5); tiempo(cont)=cont1; end %graficando plot(tiempo,voltaje),grid on; xlabel('tiempo [segundos]') title('Forma de onda'); Fig.5 resultado del código generado por matlab. El análisis de datos mediante la transformada de Fourier es particularmente útil en áreas como procesamiento de señales e imágenes, filtrado, convolución, análisis de frecuencia, y la estimación del espectro de energía. Para nuestro proyecto tomamos el código base del índice de ayuda de Matlab. 5 CONCLUSIONES Se logró implementar el hardware propuesto inicialmente, aunque se tuvo una adversidad al principio con el empleo de un diodo antes del conversor A/D, con el fin de protegerlo de voltajes negativos, se observó que distorsionaba los datos adquiridos, quizás la frecuencia nominal no era la adecuada, o su empleo no era apto para esta aplicación viéndolo trabajar de un modo ideal. Se graficó la forma de onda en función del tiempo, sin embargo, en matlab se encontró un pequeño retraso que se ajustó mediante código, realizándose ambos códigos, en comparación al vector teórico del tiempo deducido del valor de la velocidad del puerto. Con respecto a la adquisición de datos implementada, se puede decir que posee las ventajas de no necesitar un modelo matemático preciso del sistema a controlar, tiene alto rechazo al ruido y permite contemplar situaciones excepcionales del estado del proceso. Como desventaja se puede decir el proyecto se realizó mediante ensayo error, en nuestro caso se trabajó más tiempo en el desarrollo del código del software que en el desarrollo del hardware, debido al conocimiento previo de microcontroladores. 4
  5. 5. . En comparación al uso de software, matlab lleva la mayor partida debido a su amplia variedad y aplicación de campo con respecto a visual, aunque las adquisiciones fueron diferentes en cada uno, se presentaron similitudes lógicas que ayudaron a desarrollar e implementar desde visual (que nos pareció más fácil) hacia matlab. Por último, el desarrollo de este proyecto nos ayuda a visualizar claramente cómo podemos automatizar una planta desde un interfaz gráfico de un computadora, haciéndonos más competitivos en la acción laboral. 6 REFERENCIAS [1] G. Obregón-Pulido, B. Castillo-Toledo and A. Loukianov, “A globally convergent estimator for n frequencies”, IEEE Trans. On Aut. Control. Vol. 47. No 5. pp 857-863. Sep 2010. [2] E. García Obrejo “Compilador C CCS y simulador de PROTEUS para microcontroladores PIC ”,.Marcombo. pp 125-180. Sep 2010. 5
  6. 6. . En comparación al uso de software, matlab lleva la mayor partida debido a su amplia variedad y aplicación de campo con respecto a visual, aunque las adquisiciones fueron diferentes en cada uno, se presentaron similitudes lógicas que ayudaron a desarrollar e implementar desde visual (que nos pareció más fácil) hacia matlab. Por último, el desarrollo de este proyecto nos ayuda a visualizar claramente cómo podemos automatizar una planta desde un interfaz gráfico de un computadora, haciéndonos más competitivos en la acción laboral. 6 REFERENCIAS [1] G. Obregón-Pulido, B. Castillo-Toledo and A. Loukianov, “A globally convergent estimator for n frequencies”, IEEE Trans. On Aut. Control. Vol. 47. No 5. pp 857-863. Sep 2010. [2] E. García Obrejo “Compilador C CCS y simulador de PROTEUS para microcontroladores PIC ”,.Marcombo. pp 125-180. Sep 2010. 5

×