Você está na página 1de 9

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA


MECÁNICA Y ELÉCTRICA UNIDAD
ZACATENCO

Ingeniería En Control y Automatización

Interfases y Microcontroladores

Cuestionario 2
“Adquisición de datos”

Grupo:
7AM1

Alumno:
Flores Galván Jehus Gabriel

Profesor:
Adrián Esteban Mejía García

Fecha de entrega:
19/08/2019
1. Investigación
Instrucciones: Describa a detalle los siguientes conceptos, realizando citas bibliográficas,
textuales, referencias bibliográficas de acuerdo a la norma APA. La descripción debe
contemplar conceptos básicos, circuitos (si es que existen para el tema en cuestión),
ejemplos y aplicaciones.
➢ Adquisición de datos
➢ Transductores para temperatura, presión, distancia y fuerza

Adquisición de datos

Los sistemas de adquisición de datos, como el nombre da a entender, son productos o


procesos que se usan para recoger información para documentar o analizar un fenómeno.
En su forma más sencilla, un técnico que registra la temperatura de un horno en un papel
está ejecutando adquisición de datos.

A medida que la tecnología ha avanzado, este tipo de proceso se ha simplificado y se ha


hecho más preciso, versátil y fiable a través del equipo electrónico. El equipo va de
graficadores sencillos a sistemas de cómputo sofisticados.

Los productos de adquisición de datos sirven como un punto focal en un sistema, pues
reúnen una amplia variedad de productos, como sensores que indican temperatura, flujo,
nivel o presión.
¿Cuales son la etapas de la
adquisición de datos?
Transductores para temperatura, presión, distancia y fuerza

Los transductores son aquellas partes de una cadena de medición que transforman una
magnitud física en una señal eléctrica. Los transductores son especialmente importantes
para que los medidores puedan detectar magnitudes físicas. Normalmente, estas
magnitudes, como por ejemplo temperatura, presión, humedad del aire, presión
sonora, caudal, o luz, se convierten en una señal normalizada (p.e. 4 ... 20 mA). Las
ventajas de la transformación son por un lado la flexibilidad, ya que muchos medidores
soportan la transformación de señales normalizadas. Por otro lado, las magnitudes medidas
pueden ser leídas a grandes distancias sin prácticamente pérdida alguna.
Cualquier sensor o transductor necesita estar calibrado para ser útil como dispositivos de
medida. La calibración es el procedimiento mediante el cual se establece la relación entre
la variable medida y la señal de salida convertida.
Los transductores y los sensores pueden clasificarse en dos tipos básicos, dependiendo de
la forma de la señal convertida. Los dos tipos son:

• Transductores analógicos.
• Transductores digitales
Los transductores analógicos proporcionan una señal analógica continua, por ejemplo,
voltaje o corriente eléctrica. Esta señal puede ser tomada como el valor de la variable física
que se mide.
Los transductores digitales producen una señal de salida digital, en la forma de un conjunto
de bits de estado en paralelo o formando una serie de pulsaciones que pueden ser
contadas. En una u otra forma, las señales digitales representan el valor de la variable
medida. Los transductores digitales suelen ofrecer la ventaja de ser más compatibles con
las computadoras digitales que los sensores analógicos en la automatización y en el control
de procesos.
Transductores de presión
Los transductores de presión se utilizan para el control de sistemas de presión, como por
ejemplo, una instalación de presión de aire. Por otro lado, los transductores de presión
también se pueden usar para controlar presiones en calderas y dirigirlas mediante un
sistema de regulación y control. La posibilidad de dar como salida una señal normalizada
permite conectar los transductores de presión a cualquier sistema de regulación, lo que
ofrece al usuario un sin fin de posibilidades de uso. Los transductores de presión se usan
también para el control de sistemas de filtro. En caso que se genere una presión en una de
las dos entradas de un transductor de presión diferencial, se indicará un valor. En conexión
con un sistema de control se puede generar una alarman indicando que el filtro está
saturado, lo que permite trabajar de forma segura y limpia.
Transductores de temperatura
Los transductores de temperatura se emplean cada vez más. Tanto en el sector de
calefacción, ventilación o climatización, o cualquier otro lugar donde es necesario controlar
la temperatura en un proceso de producción. Los transductores de temperatura se
diferencian en el principio de medición. Hay diferentes modelos disponibles. Los
transductores que miden la temperatura mediante la radiación infrarroja se usan para
determinar la temperatura superficial. Por otro lado, existen transductores de temperatura
que vigilan por ejemplo la temperatura del aire y la transforma en una señal normalizada.
Los transductores de temperatura se suelen conectar a una unidad de control separada.
Los transductores de temperatura transforman la magnitud física de temperatura en una
señal eléctrica normalizada que se transfiere a un controlador. Esto permite, por ejemplo,
al alcanzar un valor máximo o mínimo una alarma, o encender o apagar una calefacción.
Transductores de distancia
Los transductores de distancia se usan para obtener en la producción de por ejemplo piezas
especiales, siempre el mismo espesor o longitud. En un taller de laminación se usan los
transductores de distancia para laminar todas la piezas de forma idéntica. Los transductores
de medición también encuentran aplicación en el control de nivel. Esto permite por ejemplo
controlar el nivel de diferentes recipientes, y en combinación con un regulador, controlar
una válvula de descarga, o de introducir más líquido en el recipiente. Los transductores de
distancia pueden ser usados en lugares donde se necesita trabajar con una longitud
determinada. Un transductor de distancia permite detectar la longitud de un material y
transmitir a un controlador, por ejemplo, una sierra, dónde debe efectuar el corte.
Transductores de fuerza
Muchos transductores de fuerza se basan en la conversión de una fuerza aplicada la cual
provoca un desplazamiento mecánico, típicamente la deformación de un elemento elástico,
y dependiendo del transductor se convierte en una señal eléctrica de salida. De acuerdo al
principio físico en que se basan, los transductores de fuerza se pueden clasificar en tres
grandes categorías:

• Transductores basados en las leyes de la estática.


• Transductores basados en el fenómeno piezoeléctrico.
• Transductores basados en el fenómeno de la reacción elástica.

2. Conocimiento del IDE


Instrucciones: Responda con sus propias palabras las siguientes preguntas.
1. ¿Cuál es el procedimiento para cargar un programa al microcontrolador?

• Una vez teniendo el programa ya escrito se debe dar clic en el botón “build” para
compilarlo y ver que no tengo errores el código.

• Esperar a que el programa lo termine de compilar

• En cuanto termine este proceso dar clic en el botón “debug”

• Va a cambiar la pantalla de “C/C++” a la pantalla de “Debug”

• Para iniciar el programa en la placa del microcontrolador se debe dar clic en el botón
de “Play”
• Para detener el funcionamiento y hacer modificaciones en le código, dar clic en el
botón “Stop”.

2. Realice una explicación a detalle del ejemplo FRDM_Blink:TriLED, que se encuentra en


IDE. Para ubicarlo diríjase a la venta Commander → Import projects y seleccione
FRDM_BlinkTrieLED. Cargue el programa al microcontrolador para visualizar el
funcionamiento del programa. Copie el código y de una explicación de las líneas de código
que allí se presentan, apóyese en el documento KL25 Sub-Family Reference Manual que
se encuentra en línea en el enlace https://www.nxp.com/docs/en/referencemanual/
KL25P80M48SF0RM.pdf, para obtener información de los registros.
/****************************************************************************
* Project developed as a simple Blink the LED's to
* demonstrate basic CodeWarrior functionality and capability.
* Borrowed from Freedom Example Projects: Blinky
*
* Date: 11 Sept 2012
* Author: M. Ruthenbeck
* Revision Level 1.0
*/

#include "derivative.h" /* include peripheral declarations */


//#include "common.h"
// Aquí se definen los componentes para el programa
#define SLOW_BLINK (10000000)
#define FAST_BLINK (1000000)
#define BLINK_DELAY FAST_BLINK

#define RED (18)


#define RED_SHIFT (1 << 18)
#define GREEN (19)
#define GREEN_SHIFT (1 << 19)
#define BLUE (1)
#define BLUE_SHIFT (1 << 1)

#define RED_OFF (GPIOB_PSOR = RED_SHIFT)


#define RED_ON (GPIOB_PCOR = RED_SHIFT)
#define RED_TOGGLE (GPIOB_PTOR = RED_SHIFT)

#define GREEN_OFF (GPIOB_PSOR = GREEN_SHIFT)


#define GREEN_ON (GPIOB_PCOR = GREEN_SHIFT)
#define GREEN_TOGGLE (GPIOB_PTOR = GREEN_SHIFT)

#define BLUE_OFF (GPIOD_PSOR = BLUE_SHIFT)


#define BLUE_ON (GPIOD_PCOR = BLUE_SHIFT)
#define BLUE_TOGGLE (GPIOD_PTOR = BLUE_SHIFT)

void delay_time(int);
void init_leds();
void red_on();
void red_off();
void green_on();
void green_off();
void blue_on();
void blue_off();
/********************************************************************/
int main (void)
{
int i=0;

init_leds();

while(1)
{
i++; /* just a count variable. */
red_on(); //Prende el color rojo en el led RGB
delay_time(BLINK_DELAY); /* Red */ //Permite el parpadeo entre colores
red_off(); //Apaga el color rojo en el led RGB
green_on(); //Prende el color verde en el led RGB
delay_time(BLINK_DELAY); /* Green */ //Permite el parpadeo entre colores
green_off(); //Apaga el color verde en el led RGB//Prende el color
blue_on(); azul en el led RGB
delay_time(BLINK_DELAY); /* Blue */ //Permite el parpadeo entre colores
red_on(); //Prende el color rojo en el led RGB
delay_time(BLINK_DELAY); /* Blue + Red */ //Permite el parpadeo entre colores
green_on(); //Prende el color verde en el led RGB
blue_on(); //Prende el color azul en el led RGB
delay_time(BLINK_DELAY); /* Red + Green */ //Permite el parpadeo entre colores
red_off(); //Apaga el color rojo en el led RGB
blue_on(); //Prende el color azul en el led RGB
delay_time(BLINK_DELAY); /* Green + Blue */ //Permite el parpadeo entre colores
red_on(); //Prende el color rojo en el led RGB
delay_time(BLINK_DELAY); /* Green + Blue + Red */ //Permite el parpadeo entre colores

green_off(); //Apaga el color verde en el led RGB


blue_off(); //Apaga el color azul en el led RGB
}
}

void red_on(){
RED_ON; // Función para asignar el valor 0 al pin del color rojo de led RGB y así hacer
que encienda
}

void red_off(){
RED_OFF; // Función para asignar el valor 1 al pin del color rojo de led RGB y así hacer
que apague
}

void green_on(){
GREEN_ON; // Función para asignar el valor 0 al pin del color verde de led RGB y así
hacer que encienda
}
void green_off(){
GREEN_OFF; // Función para asignar el valor 1 al pin del color verde de led RGB y así hacer
que apague
}

void blue_on(){
BLUE_ON; // Función para asignar el valor 0 al pin del color azul de led RGB y así hacer
que encienda
}

void blue_off(){
BLUE_OFF;| // Función para asignar el valor 1 al pin del color azul de led RGB y así hacer
que apague
}

/********************************************************************/

void delay_time(int number){


int cnt;
for(cnt=0;cnt<number;cnt++);
}
3. IDENTIFICANDO EL MICROCONTROLADOR
3. Identificando el microcontrolador
Instrucciones: Revise la documentación pertinente a los microcontroladores Kinetis, serie
KL y responda las siguientes preguntas:

1. Explique a detalle las interfaces que maneja la tarjeta de desarrollo FRDM-KL25Z.


Las interfaces integradas incluyen un LED RGB, un acelerómetro digital de 3 ejes y un
control deslizante táctil capacitivo.
OpenSDA presenta un cargador de arranque de dispositivo de almacenamiento masivo
(MSD), que proporciona un mecanismo rápido y fácil para cargar diferentes aplicaciones
OpenSDA, como programadores flash, interfaces de depuración de control de ejecución,
convertidores de serie a USB y más. Consulte la Guía del usuario de OpenSDA para
obtener más detalles.
Las señales de interfaz de depuración con capacidad SPI y GPIO se utilizan para
conectarse directamente al SWD del KL25Z. Estas señales también se llevan a un
conector estándar de 10 pines (0.05”) Cortex Debug (J6). Es posible aislar la MCU KL25Z
del circuito OpenSDA y usar J6 para conectarse a una MCU externa.
Hay una conexión de puerto serie disponible entre OpenSDA MCU y los pines PTA1 y
PTA2 del KL25Z. Varias de las aplicaciones OpenSDA predeterminadas proporcionadas
por Freescale, incluido el programador Flash MSD y la aplicación de depuración P&E,
proporcionan una interfaz de clase de dispositivo de comunicaciones USB (CDC) que une
las comunicaciones en serie entre el host USB y esta interfaz en serie en el KL25Z.
Los microcontroladores Kinetis KL25 cuentan con un controlador USB de doble función
con transceptores de baja velocidad y velocidad completa en el chip. La interfaz USB en
el FRDM-KL25Z está configurada como un dispositivo USB de alta velocidad. J5 es el
conector USB para esta interfaz.
2. Explique qué es NVIC y la relación que tiene con el microcontrolador KL25Z
En los viejos tiempos, una CPU tendría una, o tal vez dos líneas de interrupción. Tal vez
uno sería una interrupción no enmascarable para cosas críticas, el otro compartido para
todo.
En este caso, se usaría un periférico externo o simplemente un software que verifica
muchos registros de estado para determinar la causa de la interrupción y buscar la
ubicación del controlador correspondiente.
Particularmente en un sistema de tiempo real, el tiempo para llegar a la primera instrucción
real de un controlador de interrupciones es importante, por lo que se introdujeron los
controladores de interrupción de vectores para proporcionar la dirección correcta
directamente al procesador, guardando algunas instrucciones.
El modelo de excepción ARMv6-M y el controlador de interrupción de vector anidado (NVIC)
Implemente una tabla de vectores reubicables que admita muchas interrupciones externas,
una sola interrupción no enmascarable (NMI) y niveles de prioridad.
El NVIC reemplaza los registros de sombra con un sistema equivalente y simplificado
programabilidad El NVIC contiene la dirección de la función a ejecutar para un controlador
particular. La dirección se obtiene a través del puerto de instrucciones que permite paralelo
registrar apilamiento y búsqueda. Las primeras dieciséis entradas se asignan a ARM
fuentes internas con las otras asignaciones a interrupciones definidas por MCU.
4
4. Ejercicios. EJERCICIOS
1. Suponga los siguientes valores para un convertidor analógico-digital: frecuencia de reloj
igual a 1 MHz; 𝑉T =0.1 mV; una salida a escala completa de 10.23 V y una entrada de 10
bits. Determine los siguientes valores:
a. El equivalente digital que se obtiene para 𝑉T =3.728 V
b. El tiempo de conversión
c. La resolución de este convertidor

Si
𝑠𝑎𝑙𝑖𝑑𝑎 𝑎𝑛𝑎𝑙ó𝑔𝑖𝑐𝑎 = 𝐾 ∗ 𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑖𝑔𝑖𝑡𝑎𝑙
entonces
𝑠𝑎𝑙𝑖𝑑𝑎 𝑎𝑛𝑎𝑙ó𝑔𝑖𝑐𝑎
𝑘=
𝑒𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑖𝑔𝑖𝑡𝑎𝑙

Para
salida analógica = 10.23 V y entrada digital = 1111111111BIN = 1023DEC

10.23
𝑘= = 0.01 𝑉
1023
Y si
Salida analógica = 3.728 V

Entonces
𝑠𝑎𝑙𝑖𝑑𝑎 𝑎𝑛𝑎𝑙ó𝑔𝑖𝑐𝑎 3.728 𝑉
𝐸𝑛𝑡𝑟𝑎𝑑𝑎 𝑑𝑖𝑔𝑖𝑡𝑎𝑙 = = = 372.8𝐷𝐸𝐶 = 0101110100𝐵𝐼𝑁
𝑘 0.01 𝑣

b. El tiempo de conversión
Se requirieron 373 intervalos para completar la conversión. Por lo tanto, se produjeron 373
pulsos de reloj a la velocidad de uno cada microsegundo. Esto nos da un tiempo total de
373µs

c. La resolución del convertidor.

𝑟𝑒𝑠𝑜𝑙𝑢𝑐𝑖ó𝑛 = 𝑘 = 0.01 𝑉

2. Explique el proceso de conversión que ejecuta un convertidor de aproximaciones


sucesivas de 4 bits y el valor digital de salida, para una entrada de 12.2 V.
La operación comienza cuando la lógica de control borra a todos los bits de registro para dejarlos
en 0, de manera que Q3= Q2= Q1= Q0= 0 expresaremos esto como Q = 0000. Esto hace que VAX =0
Cuando VAX < VA, la salida del comparador está en ALTO.

En el siguiente intervalo t1 la lógica de control establece el MSB del Registro en 1, de manera que
Q =1000. Esto produce un VAX =8. Como VAX < VA, la salida COMP aún se encuentra en ALTO. Este
nivel ALTO indica a la lógica de control que el ajuste del MSB no hizo que VAX se excediera de VA, por
lo cual el MSB se mantiene en 1.

Ahora la lógica de control procede con el siguiente bit inferior Q2 al que en 1 para producir
Q=1100 y 12 VAX = en el tiempo t2. Como VAX < VA, la salida COMP continúa en alto. nivel ALTO
indica a la lógica de control que el ajuste del MSB no hizo que VAX se excediera de VA, por lo cual el
MSB se mantiene en 1.

Ahora la lógica de control procede con el siguiente bit inferior Q1 al que en 1 para producir Q=1110
y 14 VAX = en el tiempo t3. Como VAX > VA, la salida COMP cambia a BAJO. Este nivel BAJO indica a la
lógica de control que el valor de VAX es demasiado grande, por lo que la lógica de control procede
a borrar Q1 de vuelta a 0 en t4. Por lo tanto, en t4 el contenido del registro se regresa a 1100 y VAX
se regresa a 12V.

El intervalo final ocurre en 5 t en donde la lógica de control establece el siguiente bit Q0 de manera
que Q =1101 y VAX =13. Como VAX > VA, COMP cambia a BAJO para indicar que VAX es demasiado
grande y la lógica de control borra a Q0 de vuelta a 0. En este punto la conversión esta completa y
la lógica de control activa su salida EOC para indicar que el equivalente digital de VA se encuentra
ahora en el registro. Para este ejemplo la salida digital para 12.2 VA = es Q =1100

Referencias
Omega. (2019). Adquisición de datos. Agosto 17, 2019, de Omega Sitio web:
https://mx.omega.com/prodinfo/adquisicion-de-datos.html
PCE Ibérica. (2007). Transductores. Agosto 17, 2019, de P.C.E Ibérica Sitio web:
https://www.pce-iberica.es/instrumentos-de-medida/sistemas/transductores.htm

Você também pode gostar