Está en la página 1de 9

Instituto Tecnolgico de Morelia

Departamento de Ingeniera Electrnica

Control Digital

Practica 2
Discretizacin de Sistemas

Dr. Enrique Reyes Archundia


Elaborado por:
Jos Armando Lara Ramos
10560372
Carlos Eduardo Aguilera Astudillo
10120908
Jorge Enrique Lpez Casillas
10121387

Morelia, Mich. 05 de Diciembre del 2014

1.0 Introduccin
La discretizacin de sistemas es la llave de entrada de lo que es el control digital ya que a partir de la
funcin de transferencia de un sistema se puede obtener una ecuacin de diferencias para
implementarla en un circuito digital. El discretizar un sistema ahorra el uso de componentes
externos ya que realiza labores como las de un controlador, un filtro y la combinacin de estos para
sistemas ms complejos.
Actualmente la discretizacin de sistemas es usada en controladores de orden fraccional, los cuales
son filtros infinitos lineales y estn siendo muy utilizados en teora de control. En una investigacin
actual se muestra que son comnmente usados dos tipos de discretizacin: directa e indirecta donde
el operador Tustin es el ms utilizado en sistemas continuos. Especficamente ahora el mtodo de
Tustin es utilizado para mtodos de discretizacin para diferenciadores fraccionales (2014, Baoye
Song). De igual manera en biomdica, para problemas de imagenologa, es necesario obtener
soluciones numricas, la discretizacin del sistema puede ser un factor importante para la precisin
al momento de obtencin de imgenes. En una tomografa, se analiza con trabajos que se han hecho
actualmente, la precisin de la fluoresencia de una tomografa ptica difusa, donde se modelan
longitudes de onda y considera la discretizacin de elemento finito. La discretizacin de sistemas
tiene varias y muy amplias aplicaciones, y en general pueden ser complejas.
En el desarrollo de la prctica se presentar como se obtuvo una respuesta deseada al modelar el
filtro RC y la seal de salida actuando como un filtro debido a la ecuacin de diferencias que se
obtuvo y se implement de manera digital en un uc (2010, Guven)

1.1Objetivo.
El alumno comprobar que los sistemas analgicos pueden ser discretizados con el empleo de un
microcontrolador.

2.0 Desarrollo
A partir de un circuito de un filtro pasa altas, configurar como seal de entrada una seal cuadrada a
una frecuencia de acuerdo al valor de RC para el que se disear el filtro y periodo de muestreo.

Figura 2.1. Filtro RC pasa altas.


Se desarroll la funcin de transferencia a partir del circuito del filtro RC mostrado en la figura 2.1.
Primero se pas al dominio de Laplace, luego se represent la funcin en el dominio del tiempo y
teniendo esa ecuacin se pudo discretizar el sistema al sustituir la representacin de una diferencial
por la ecuacin de diferencias.

Para obtener la ecuacin de diferencias (ecuacin 1) que describa el sistema se despej Vo[n] y se
tom a como una constante de acuerdo al valor de RC y del periodo de muestreo que se va a proponer.
()

=
=
()
+ 1/ + 1/
() +

1
() = () ( )

()
1
()
+
() =

[] [ 1]
1
[] [ 1]
+
[] =
()

[] (

1
1
[ 1]
+ )
( )

[] = [] [ 1] + [ 1]

( 1)

Posteriormente fue necesario disear un programa en el uc para representar la ecuacin de


diferencias del sistema. El programa consiste en implementar un filtro RC pasa altas que ser
representado a travs del muestreo de una seal cuadrada.

2.1 Diseo del programa en el uc para simular el sistema discreto.


En el siguiente diagrama a bloques se muestra el procedimiento para el diseo del programa en el
uc.
Configurar timer, ADC,
canal analgico de ADC, y
reloj interno del uc.
Inicializar valores: Vi=0,
Vi_1=0, Vo=0, Vo_1=0 ya que
describen la ecuacin de
diferencias del filtro RC.

Configurar el timer
mediante registro CCR0 de
acuerdo al ts deseado.

Dentro de interrupcin del


timer leer valor del ADC,
declarar ecuacin de
diferencias y darle valores a
las variables cada vez que el
ADC lee un valor.

El ADC del microcontrolador es activado y el valor que lee de la seal en ADC10MEM se convierte en
Vi y los dems valores como Vo_1 y Vi_1 estn inicializados en cero.
Despus se escribe la ecuacin de diferencias con los valores actuales y ahora si despus de obtener
el primer valor de Vo, Vo_1 y Vi_1 ya podrn obtener nuevos valores en el siguiente muestreo. En
resumen, lo que se tiene que hacer es un muestreo de la seal, donde los valores iniciales se
convertirn en los valores anteriores y se irn modificando de acuerdo al muestreo de la seal y a la
ecuacin de diferencias que describe el sistema.
Posteriormente se tiene que elegir el periodo de muestreo en base al tiempo de carga y descarga del
capacitor.
=RC
Sabiendo que la descarga del capacitor dura 5, entonces se sabe la carga y descarga del capacitor
durarn en total 10 .
Ahora en lo que se tiene que pensar es en el nmero de muestras que se quieren tomar dentro de esa
ventana de tiempo que dura la descarga del capacitor. Algo ideal son 10 muestras por lo que es
necesario dividir 5 /10 para obtener el periodo de muestreo necesario para el programa. Cabe
mencionar que es necesario conocer la frecuencia de la seal de entrada y proponer el valor de RC
para as poder obtener el valor de periodo de muestreo.
El periodo de muestreo elegido fue de 200us y la frecuencia de corte del sistema fue de 100 hz.
En la figura 2.2 se muestra un breve ejemplo de apuntes en clase de control digital.

Figura 2.2. Como elegir el periodo de muestreo adecuado para el filtro RC.

3.0 Resultados
En esta seccin se colocaron las puntas del osciloscopio a la salida del microcontrolador para ver el
comportamiento del sistema digital que representaba el filtro pasa altas y tambin se colocaron las
puntas en el sistema analgico para poder observar el comportamiento del filtro analgico.
En la figura 3.1 se observa de naranja la forma de onda del filtro analgico y de color azul la forma de
onda del filtro digital y tambin como hay un pequeo retardo debido al tiempo que le lleva al
microcontrolador realizar las operaciones para desplegar la seal de salida.

Figura 3.1. Seales de salida del filtro digital y analgico.

Figura 3.2 Seales de salida del filtro digital y analgico.


Los resultados fueron los esperados ya que la seal de salida es la misma que la del filtro analgico y
con esto se puede apreciar como un sistema digital se puede representar de igual manera que un
sistema analgico pero sin la necesidad de componentes externos, a partir de la ecuacin de
diferencias implementada en un microcontrolador.

4.0 Conclusiones
Carlos Eduardo Aguilera
Lo realizado en esta prctica permiti desde mi perspectiva, aprender a implementar una ecuacin de
diferencias que es la funcin de transferencia que describe un circuito de manera digital. Esto abre la
pauta para aplicar pequeos bloques que pueden formar parte de un circuito ms complejo ya que
por lo general un sistema analgico puede llevar muchos componentes. Como estudiante de
ingeniera en electrnica y el control digital puede ser una herramienta muy poderosa, ahora puedo
imaginar circuitos y aplicaciones donde se puede llegar a combinar control digital y analgico
dependiendo de las circunstancias y condiciones donde se desea usar algn circuito. El entendimiento
de discretizacin de sistemas permite manipular sistemas para aplicar filtros, controles ,etc con menos
componentes fsicos.
Jorge Enrique Lpez Casillas
En esta prctica se implement una ecuacin de diferencias obtenida a travs de la ecuacin de
transferencia del sistema en un micro controlador el cual al aplicarle una entrada se logr replicar el
sistema de manera digital. Esto demostr que una funcin de transferencia puede discretizarse y ser
representada en una ecuacin de diferencias y esto a su vez en una ecuacin discreta. Cabe
mencionar que cual quiere sistema que se pueda obtener su ecuacin de diferencias se puede
implementar de manera digital, un ejemplo sera filtros digitales para los cuales se puede pasar una
seal digital discretizada y rechazar ruidos de la seal muestreada.
Jos Armando Lara Ramos

Con esta prctica se entendi el concepto de Discretizacin, es decir, la capacidad de representar de


manera digital un circuito analgico con base en los mtodos numricos. Para poder hacer este
proceso se utilizaron conocimientos varios tales como el manejo de expresiones en el dominio del
tiempo, la frecuencia y Z. Las ventajas de los circuitos digitales con respecto al analgico son la
capacidad de versatilidad y fcil configuracin, se puede pasar de un circuito a otro con solo cambiar
algunas lneas de cdigo, se reducen costos ya que se necesitan menos componentes electrnicos y
tambin se reduce en espacio. Las desventajas son que la respuesta es ms lenta que un circuito
digital y el ancho de banda queda limitado por la frecuencia de muestreo. Tambin para circuitos
discretizados con bastante precisin se necesitan otro tipo de procesadores tales como
procesadores digital de seales (DSP).

5.0 Referencias
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=6920529&queryText%3Ddiscretizati
on
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?tp=&arnumber=5405649&pageNumber%3D2%26qu
eryText%3Ddiscretization

Simulacin del sistema en el uc.


//-------------------------------------------------------------//Librerias y definiciones generales
#include <msp430g2553.h>
//#include<stdio.h>
//#include<math.h>
//-------------------------------------------------------------//-------------------------------------------------------------//Seccion de inicializacion de variables globales

//VAriables para hacer las ecuaciones de estado


double Vi=0, Vi_1=0, Vo=0, Vo_1=0;
int entVo, Vo_dac;

float a = 0.8823529412;//= ( RC )/ (RC+ (1/fs) );

//-------------------------------------------------------------//Programa principal

void main(void)
{
//.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.//Seccion de configuracion
WDTCTL = WDTPW + WDTHOLD;

// Detiene el Watchdog Timer

BCSCTL1 = CALBC1_16MHZ;

// Configura el oscilador interno

DCOCTL = CALDCO_16MHZ;

// precalibrado a 1MHz

P2SEL = 0x00;

//Desasociamos los perifericos, para utilizar P2.6 y P2.7

P1DIR = 0x00;
P2DIR = 0xFF;

TACTL = TASSEL_2 + MC_1;


CCTL0 = CCIE;

// SMCLK, modo UP

// Habilita interrupcion de timer CCR0

CCR0 = 3200;

// Valor al que llega el timer TACCR0

//
//
ADC10CTL1 = INCH_0;

// Canal de entrada A0

ADC10CTL0 &= ~REFON;//Deshabilita generador de referencia


ADC10CTL0 = SREF_0 ;//Selecciona la referencia de alimentacin,
ADC10CTL0 = ADC10ON; //Enciende ADC
ADC10AE0 |= 0x01;

_BIS_SR(GIE);

// P1.0 como periferico A0

// Activa las interrupciones globales del mC

//.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.//Ciclo Principal
while (1)
{
}
}

// ciclo infinito que no hace nada

//-------------------------------------------------------------//-------------------------------------------------------------//Seccion de vectores de interrupcion


// Timer A0 interrupt service routine
#pragma vector=TIMER0_A0_VECTOR
__interrupt void Timer_A (void)
{
ADC10CTL0 |= ENC + ADC10SC;

//Habilita convesion e inicia conversion

while (ADC10CTL1 & ADC10BUSY); //Espera a que termine de hacer la conversion


Vi=ADC10MEM;
//Vi=(3.3*Vi)/1023;
ADC10CTL0 &= ~ENC;
Vo=(a*Vi)-(a*Vi_1)+(a*Vo_1);
entVo=Vo;
Vo_dac=(entVo / 8) + 128;
P2OUT=Vo_dac;
Vo_1=Vo;
Vi_1=Vi;

}
//--------------------------------------------------------------

También podría gustarte