Beruflich Dokumente
Kultur Dokumente
Resumen: Este articulo trata sobre el diseo un filtro (PWM) del PIC se pretende filtrar para obtener una seal
digital (FIR) con un ancho de banda 150Hz. Este se analgica igual a la de entrada, tomamos como partida
simulo en MATLAB y se implemento en un dsPIC de 16 que dicho filtro paso bajo RC tendr un ancho de banda
bits de la familia de la MICROCHIP (dsPIC 33), de 1KHz el cual es suficientemente bajo para filtrar las
especficamente el microcontrolador 33FJ32GP202. En componente de alta frecuencia de la PWM. Al igual que
este articulo se presentan las ecuaciones que soporten el la frecuencia de muestreo de la seal analgica se
diseo, la frecuencia de corte escogida y el tiempo de estableci en 800 Hz (ts=1/800Hz=1.25ms) por debajo de
muestreo con que trabaja el ADC1CON del dsPIC. este valor de corte del filtro paso bajo. Ya con estos
valores desarrollamos el siguiente cdigo en MARLAB:
Palabras claves: DSPIC, Muestro de Seales, Filtros
Digitales, TIMER, Conversor A/D. %-- Parametros y Datos del Diseo para el LAB3
de microprocesadores--
%-- Azocar Elias, Angel Granado. 2013
PLLFBD = 47; // M = 47
CLKDIVbits.PLLPOST=1; // N2 = 1:4
CLKDIVbits.PLLPRE=0; //N1 = 1:1
__builtin_write_OSCCONH(0x01);
__builtin_write_OSCCONL(0x01);
while (OSCCONbits.COSC != 0b001); // Espera
cambio de oscilador
while(OSCCONbits.LOCK != 1) {}; // Espera
locking del PLL @ 45 MHz
FIGURA 2. Seales del SCOPE del Esquematico El clculo para la frecuencia de reloj es la siguiente:
(SEAL DE ENTRADA, SEAL DE RUIDO, SUMA
ANALOGICA, SUMA DIGITAL Y SEAL
DIGITAL FILTRADA)
int i; EC.1
unsigned int ciclo_util;
float coeficientes[40]={-0.001154412436649,-
0.001475327440166,-0.001461133111894,- Ya habiendo definidos estos valores en el cdigo se
0.000744826150118, 0.001029303401916, calcula la frecuencia (Fosc)
0.003765012429954, 0.006554921026110,
0.007716817379204, 0.005388685047182,-
0.001443211352180, -0.011900119471930,- DATO FIN=7,37 (Mhz) FREC (Mhz) FMIN FMAX
0.022702147556861,-0.028623831967585,- 0 N1 2 3,685 0,8 8
0.023977933552263,-0.004724729012360,
0.029556760288523, 0.074671334051049,
47 M 49 180,565 100 200
0.122335277338945, 0.162227940946325, 0 N2 4 45,14125 80
0.184961620142798, 0.184961620142798,
0.162227940946325, 0.122335277338945,
0.074671334051049, 0.029556760288523, - Como cada ciclo de instruccin es la mitad de la
0.004724729012360,-0.023977933552263,- frecuencia Fosc. Se puede determinar el TCY
0.028623831967585,-0.022702147556861,-
0.011900119471930, -0.001443211352180,
0.005388685047182, 0.007716817379204, TCY (ns) FCY (Mhz)
0.006554921026110, 0.003765012429954, 44,305374 22,570625
0.001029303401916,-0.000744826150118,-
DISEO CON MICROCONTROLADORES
while(1){
while(!AD1CON1bits.DONE){}; // Espera conversion
for(i=39;i>-1;i--){
entrada[i]=entrada[i-1]; //Desplazamiento en
bufer x[n] n=[1..39]
}