Articulo de adquisición de datos


DISEÑO DE UN SISTEMA DE ADQUISICION DE DATOS DIDACTICO, UTILIZANDO MATLAB Y MICROCONTROLADORES PIC
Avendaño Malvaez Jairo1*, Champion coria Antonio1, Manuel Salgado Salgado1, Eduardo Salinas  Hernandez1
1)Instituto Tecnologico de zacatepec, Departamento de Metal Mecanica,Calzada Tecnologico No. 27 Zacatepec Morelos c.p. 62780, jairomarvin@hotmail.com
RESUMEN:
El siguiente articulo muestra el desarrollo de un sistema de adquisición de datos utilizando el microcontrolador pic16f877a  enviando  información a través de comunicación serial rs-232 y una computadora recabando la información utilizando Matlab para graficar los datos adquiridos en tiempo real.
Palabras claves: Adquisicion de datos, Matlab, Pic, rs-232, Didactico.


1.- INTRODUCCION.
El propósito de la adquisición de datos es medir un fenómeno  físico como voltaje, corriente, temperatura, presión o sonido. La adquisición de datos basada en PC utiliza una combinación de hardware modular, software de aplicación y una PC para realizar medidas. Mientras cada sistema de adquisición de datos se define por sus requerimientos de aplicación, cada sistema comparte una meta en común de adquirir, analizar y presentar información. Los sistemas de adquisición de datos incorporan señales, sensores, actuadores, acondicionamiento de señales, dispositivos de adquisición de datos y software de aplicación.
Los componentes de los sistemas de adquisición de datos, poseen sensores adecuados que convierten cualquier parámetro de medición de una señal eléctrica, que se adquiriere por el hardware de adquisición de datos. Los datos adquiridos se visualizan, analizan, y almacenan en un ordenador utilizando el software de aplicación
Debido a que es una necesidad primordial en la especialidad de instrumentación de la carrera de ingeniería electromecánica tener  sistemas de adquisición de datos nos dimos a la labor de desarrollar uno sencillo y de bajo costo

Figura1.- Diagrama clásico de la adquisición de datos:
Como vemos, los bloques principales son estos:
El transductor es un elemento que convierte la magnitud física que vamos a medir en una señal de salida (normalmente tensión o corriente) que puede ser procesada por nuestro sistema. Salvo que la señal de entrada sea eléctrica, podemos decir que el transductor es un elemento que convierte energía de un tipo en otro. Por tanto, el transductor debe tomar poca energía del sistema bajo observación, para no alterar la medida.
El acondicionamiento de señal es la etapa encargada de filtrar y adaptar la señal proveniente del transductor a la entrada del convertidor analógico / digital. Esta adaptación suele ser doble y se encarga de:
  • Adaptar el rango de salida del transductor al rango de entrada del convertidor.(Normalmente en tensión).
  • Acoplar la impedancia de salida de uno con la impedancia de entrada del otro.
La adaptación entre los rangos de salida del convertidor y el de entrada del convertidor tiene como objetivo el aprovechar el margen dinámico del convertidor, de modo que la máxima señal de entrada debe coincidir con la máxima que el convertidor (pero no con la máxima tensión admisible, ya que para ésta entran en funcionamiento las redes de protección que el convertidor lleva integrada).
Por otro lado, la adaptación de impedancias es imprescindible ya que los transductores presentan una salida de alta impedancia, que normalmente no puede excitar la entrada de un convertidor, cuya impedancia típica suele estar entre 1 y   10 k.
El convertidor analógico/digital es un sistema que presenta en su salida una señal digital a partir de una señal analógica de entrada, (normalmente de tensión) realizando las funciones de cuantificación y codificación.
La cuantificación implica la división del rango continuo de entrada en una serie de pasos, de modo que para infinitos valores de la entrada la salida sólo puede presentar una serie determinada de valores. Por tanto la cuantificación implica una pérdida de información que no podemos olvidar.
La codificación es el paso por el cual la señal digital se ofrece según un determinado código binario, de modo que las etapas posteriores al convertidor puedan leer estos datos adecuadamente. Este paso hay que tenerlo siempre en cuenta, ya que puede hacer que obtengamos datos erróneos, sobre todo cuando el sistema admite señales positivas y negativas con respecto a masa, momento en el cual la salida binaria del convertidor nos da tanto la magnitud como el signo de la tensión que ha sido medida.
La etapa de salida es el conjunto de elementos que permiten conectar el sistema de adquisición de datos con el resto del equipo, y puede ser desde una serie de buffers digitales incluidos en el circuito convertidor, hasta un interfaz RS-232, RS-485 o Ethernet para conectar a un ordenador o estación de trabajo, en el caso de sistemas de adquisición de datos comerciales.
2.Realización:
Como sensor utilizamos el lm35 sensor de temperatura lineal pre calibrado que genera 10 mV por grado centígrado conectado al pic 16f877a que cuenta con 8 canales para realizar una lectura analógica y convertirla en digital, por software procesamos la lectura y generamos el valor real mostrándolo en la Lcd al mismo tiempo que la enviamos como texto al puerto serial, utilizando la tarjeta easy pic 6 de mikroelectronica.
3.-SIMULACIÓN EN PROTEUS:

Figura.2 Simulacion del sistema
Código fuente programado en el microcontrolador PIC que envía la lectura proveniente de un solo sensor de temperatura al puerto serial y a la pantalla LCD.
4.-PROGRAMA DE EJECUCIÓN:
char *text = "Temperatura";
char *text1[10];
int valor, valor2, temp;                       // DECLARACION DE VARIABLES
float divi=0;
void main () {
  ADCON1 = 0x80;                          //CONFIG. ADC      
  TRISA  = 0xFF;                              //CONFIG. PUERTO A COMO ENTRADAS
  TRISB = 0;
   Usart_Init (9600);                           //INICIALIZA LA USART A 9600 BITS
  Lcd_Init (&PORTD);                      //INICIALIZA LA LCD
  Lcd_Cmd (Lcd_CLEAR);
  Lcd_Cmd (Lcd_CURSOR_OFF);
  Lcd_Out (1, 1, text);
  While (1)
  {
  valor = Adc_Read (1);                     //TOMA LA LECTURA DEL ADC EN CANAL 1
  divi=valor*5%1024;            //CONVIERTE   A TEMPERATURA
  temp = divi/10;
  IntToStr (temp, text1);
  Lcd_Out (2,1, text1);
  Usart_Write (temp);
  If (temp>32) PORTB=255;
  else  PORTB=0;
  Delay_ms(500);
  }
}//~!
5.-RESULTADOS
Utilizamos MATLAB junto con la toolbox de adquisición de datos para generar dentro de simulink el sistema graficador de datos.
Simulink: Es un entorno de programación visual, que funciona sobre el entorno de programación Matlab.
Es un entorno de programación de más alto nivel de abstracción que el lenguaje interpretado Matlab (archivos con extensión .m). Simulink genera archivos con extensión .mdl (de "model").
Simulink viene a ser una herramienta de simulación de modelos o sistemas, con cierto grado de abstracción de los fenómenos físicos involucrados en los mismos. Se hace hincapié en el análisis de sucesos, a través de la concepción de sistemas (cajas negras que realizan alguna operación).
En nuestro caso se muestra el diagrama de bloques utilizado en Simulink para llevar a cabo la conexión serial con parámetros estándar  (9600 baudios,8bits, 1 bit de parada)

Figura 3.- Simulink, programación de bloques del sistema
CONCLUSIONES
Con el uso del Simulink como herramienta de apoyo  para la simulación de modelos o sistemas, mejoran su operabilidad  y ejecución del un graficador basado en MatLab, esto facilitara visualizar el comportamiento de bloques  del sistema para la incorporación de señales en: Sensores, Actuadores, Acondicionamiento de Señales, Dispositivos de adquisición de datos y el Software de aplicación. Esta aplicación a cumplido satisfactoriamente lo esperado, logrando así, facilitar al alumno y maestro la aplicación de practicas en las siguientes áreas de aprendizaje como: ingeniería biomédica, telecomunicaciones, entre otros. También es muy utilizado en Ingeniería de Control y Robótica.
FUENTES DE INFORMACIÓN:
[1] Milan Verle, “PIC Microcontrollers - Programming in C”, mikroElektronika; 1st edition (2009)

Sitios Web:


Comentarios