muestreo de señales analógicas - mdp · muestreo de señales analógicas 2 instrumentaciÓn...

23

Upload: others

Post on 18-Mar-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería
Page 2: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Muestreo de señales analógicas

2

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Principal requerimiento que surge al muestrear una señal continua:

• Definir el periodo de muestreo con suficiente exactitud.

• Ajustar el mismo a un valor adecuado de acuerdo al tipo de señal

que se desea adquirir.

Page 3: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

• El microcontrolador debería entonces adquirir un dato cada un delta

de tiempo determinado.

• ¿Cómo se hace esto en forma confiable…?

Muestreo de señales analógicas

3

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

• Con interrupciones:

Las interrupciones son recursos o mecanismos del microcontrolador

para responder a eventos, permitiendo suspender temporalmente el

programa principal, para ejecutar una subrutina de servicio de

interrupción (ISR por sus siglas en inglés Interrupt Service Routine);

una vez terminada dicha subrutina, se reanuda la ejecución del

programa principal.

Page 4: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Gestión de Interrupciones en un microcontrolador

4

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

INICIO

CONFIGURACIÓN DE INTERRUPCIONES

CICLO CONTINUO (EJECUCIÓN DEL

PROGRAMA PPAL.)

INICIO DE INTERRUPCIÓN

ENTRADAS

PROCESOS

SALIDAS

FIN DE INTERRUPCIÓN

Page 5: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Tipos de Interrupciones

5

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Interrupciones externas Corresponden a eventos externos que generan un cambio del estado

lógico de un pin de entrada digital. La transición se detecta por cambio

en el nivel de tensión, por flanco ascendente o por flanco descendente.

Se evita así el pooling, técnica ineficiente que consiste en sensar

constantemente el estado de las entradas digitales del

microcontrolador dentro de un bucle infinito.

Ejemplo:

Page 6: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Tipos de Interrupciones

6

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Interrupciones por software

Tanto los PICs como los Atmega disponen de interrupciones por tiempo

que podemos aprovechar para generar intervalos (dt) de una manera

“precisa”. Cada vez que se dispare una interrupción tomaremos una

muestra.

Interrupción

Interrupción

Page 7: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Interrupciones en PIC

7

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Generación de dt para producir Interrupciones por software Tipos de Timers

En los PIC 18F2550 se dispone de 4 Timers.

• Timer 0: puede funcionar como temporizador o contador. Tiene16 bits

(contará como máximo hasta 65535).

• Timer 1 y 3: pueden funcionar como temporizadores o contadores

dependiendo del estado de unos registros de control asociados a ellos.

Tienen16 bits. Se pueden utilizar para programar interrupciones por tiempo

mediante unos módulos denominados CCP.

• Timer 2: contador o temporizador de 8 bits (contará como máximo hasta

255). Se puede utilizar para generar señales PWM también con CCP.

Page 8: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Interrupciones en PIC

8

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Generación de dt para producir Interrupciones por software Cada Timer del PIC 18F2550 cuenta pulsos de una señal de clock cuya

frecuencia se fija previamente.

Ejemplo:

Si el PIC trabaja con un oscilador de 20MHz por medio de una

elemento de hardware denominado PLL la frecuencia de reloj del

sistema será de 48MHz.

Existe un divisor de frecuencia configurable por el usuario denominado

“prescaler” que puede tomar los valores 1, 2, 4 u 8.

Por lo tanto la frecuencia de la señal de clock aplicada a un Timer será:

Page 9: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Interrupciones en PIC

9

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Generación de dt para producir Interrupciones por software

Por lo tanto dependiendo del valor dado al prescaler, se tendrá:

Prescaler Período de la

señal de clock

Cantidad máxima de pulsos

que se pueden contar por

ejemplo el Timer 1

Tiempo

máximo

transcurrido

1 0,08333333 us 65535 5461,33 us

2 0,16666666 us 65535 10299,67 us

4 0,33333333 us 65535 21845,33 us

8 0,66666666 us 65535 43690,67 us

Page 10: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Interrupciones en PIC

10

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Producido un dt disparamos una interrpción con el

módulo CCP1

El módulo CCP1

• El módulo CCP1 se puede asociar al Timer 1. (mediante un registro de

control asociado a CCP1).

• Mediante ese mismo registro de control asociado a CCP1 se lo puede

configurar en tres modos de funcionamiento. “compare, capture, o PWM”

• El CCP1 configurado en modo compare “dispara” una interrupción cuando

el valor del Timer 1 iguala a un valor seteado en CCP1.

Page 11: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Ejemplo : se quiere leer con el PIC dos entradas analógicas 500 veces cada 0,5 ms (2000 muestras/s)

11

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

continua

Page 12: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Ejemplo : se quiere leer con el PIC dos entradas analógicas 500 veces cada 0,5 ms

12

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Page 13: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Guía de

Ejercicios

N° 10

13

Page 14: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Interrupciones en Arduino

14

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Generación de dt para producir Interrupciones por

software

Tipos de Timers

En los chips AVR Atmega 328 (Arduino UNO) se dispone de 3 timers, mientras

que en los Atmega 2560 (Arduino MEGA) se cuenta con 6 timers.

• Timer 0: contador de 8 bits (contará como máximo hasta 255). Se utiliza en

las funciones delay() y millis().

• Timer 1: contador de 16 bits (contará como máximo hasta 65535). Es

utilizado por la librería servo.

• Timer 2: contador de 8 bits. Similar al Timer 0. Es utilizado por la función

tono.

• Timer 3, 4 y 5: son tres contadores de 16 bits similares al Timer 1,

disponibles en la Arduino MEGA.

Page 15: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

15

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Configuración del Timer 1 para adquisición de señales analógicas

Debemos modificar sus registros en memoria:

TCCR1A (Timer Counter Control Register)

TCCR1B

TIMSK (Timer/counter Interrupt Mask Register)

OCR1A (Output Compare Register)

Interrupciones en Arduino

Generación de dt para producir Interrupciones por

software

Page 16: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

16

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Configuración del Timer 1 para adquisición de señales analógicas

Interrupciones en Arduino

Page 17: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

17

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Configuración del Timer 1 para adquisición de señales analógicas

𝑓𝑐𝑙𝑘 = 16 𝑀𝐻𝑧 (frecuencia de clock proveniente del cristal)

𝑓𝑐𝑜𝑛𝑡𝑒𝑜 =𝑓𝑐𝑙𝑘

𝑝𝑟𝑒𝑠𝑐𝑎𝑙𝑒𝑟 (frecuencia de clock del contador)

𝑇𝑐𝑜𝑛𝑡𝑒𝑜 =1

𝑓𝑐𝑜𝑛𝑡𝑒𝑜 (tiempo entre cada conteo)

𝑇𝑠, 𝑓𝑠 =1

𝑇𝑠 (periodo o frecuencia de muestreo deseados)

𝑁𝑚𝑎𝑥 =𝑇𝑠

𝑇𝑐𝑜𝑛𝑡𝑒𝑜− 1 =

𝑓𝑐𝑜𝑛𝑡𝑒𝑜

𝑓𝑠− 1 (valor máximo de reset del contador)

Interrupciones en Arduino

Page 18: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Guía de

Ejercicios

N° 10

18

Page 19: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Muestreo de señales analógicas

19

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Una vez finalizada la adquisición:

• es una alternativa que implica guardar los datos

en la memoria de la placa para luego enviarlos a la

PC

• la tasa de muestreo dependerá de la velocidad

del conversor A/D pero la cantidad de datos a tomar

de la memoria de la placa.

Mientras la adquisición está en curso:

• es la alternativa que estuvimos analizando

• aprovecha el dt (una pausa) entre muestra y

muestra para enviar los datos a la PC

• la tasa de muestreo dependerá además de la

velocidad del conversor A/D de la velocidad de la

comunicación.

Alternativas

para la

transferencia

de datos entre

la placa y la PC

Page 20: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Frecuencia de Muestreo: Caso Arduino

20

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Tiempo de conversión del ADC

𝑓𝑐𝑙𝑘 = 100 𝑘𝐻𝑧 ⇒ 𝑇𝑐𝑙𝑘 = 1. 10−5 𝑠

𝑐𝑖𝑐𝑙𝑜

𝑡𝑐𝑜𝑛𝑣 ≅ 14 𝑐𝑖𝑐𝑙𝑜𝑠 . 1. 10−5 𝑠

𝑐𝑖𝑐𝑙𝑜= 1,4. 10−4 𝑠 ⇒ 𝑓𝑠 𝑚á𝑥 ≅ 7,1𝑘𝐻𝑧

Page 21: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Tiempo para el envío de las muestras: Caso Arduino

21

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Tiempo de envío de datos

Por cada canal muestreado, se envían 2 bytes en cada interrupción a una velocidad de 115200 baudios:

𝑡𝑒𝑛𝑣𝑖𝑜 =2

𝑏𝑦𝑡𝑒𝑠𝑐𝑎𝑛𝑎𝑙

. 10𝑏𝑖𝑡𝑠𝑏𝑦𝑡𝑒

115200 𝑏𝑖𝑡𝑠

𝑠

≅ 1,73. 10−4𝑠

𝑐𝑎𝑛𝑎𝑙 ⇒ 𝑓𝑠 𝑚á𝑥 ≅ 5,7𝑘𝐻𝑧

Page 22: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Aspectos a tener en cuenta para medir una alterna

con la placa PIC o Arduino

22

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Limitaciones A TENER EN CUENTA

1. El rango de conversor A/D del PIC 18F2550 es: 0 V – 5 V (tensión de alimentación) pero en nuestro caso, como hay unos diodos de protección la tensión de alimentación no es 5V sino unos 4,2V) 0V = 0 en el conversor 4,2V=1023 en el conversor

2. El rango de conversor A/D del Arduino es: 0 V – 5 V (tensión de alimentación) 0V = 0 en el conversor 5V=1023 en el conversor

Page 23: Muestreo de señales analógicas - MdP · Muestreo de señales analógicas 2 INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería

Aspectos a tener en cuenta para medir una alterna

con la placa PIC o Arduino

23

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica

Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Limitaciones A TENER EN CUENTA

3. El PIC o el Arduino no pueden medir tensiones negativas. Debemos acondicionar la señal a medir para eliminar los valores negativos

Tensión en PIC

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Vx

-1.5

-1

-0.5

0

0.5

1

1.5

Circuito básico propuesto para superponer una continua de valor Vcc/2 a Vx: