Donde value es el valor cargado en CCPR1LCCP1CON54 8bits \u00f3 10bits El Duty Cycle

Donde value es el valor cargado en ccpr1lccp1con54

This preview shows page 4 - 8 out of 16 pages.

Donde value es el valor cargado en CCPR1L:CCP1CON<5:4> (8bits ó 10bits). El Duty Cycle puede se establecido usando la instrucción: set_pwm1_duty(value); La instrucción: Setup_timer_2(mode, P, postscale) permite establecer el periodo del PWM dado un valor de PR2 entre 0 y 255. Este valor determina cuando timer2 se resetea iniciando así un ciclo de PWM. Postscale es un número entre 1 y 16 que determina cuantas veces el timer2 se resetea antes de ocurrir una interrupción. Carlos A. Narváez V, 2008
Image of page 4
Ejemplo: Si clock = 20MHZ y PR2 = 127, entonces, un ciclo de PWM dura: Periodo = 1/20000000)*4*1*128 = 25.6 us Luego usando la instrucción: setup_timer_2(T2_DIV_BY_1, 127, 5); Tenemos que Timer2 se incrementa cada 200nseg, reset cada 25.6 useg y genera una interrupción cada 25.6 * 5 = 128 useg. Además si hacemos PR2 igual a 100, un valor de 45 en CCPR1L crea un duty cycle de 45%, un valor de 65 en CCPR1L crea un duty cycle de 65%. Tacómetro digital El tacómetro se construyó usando un foto-interruptor CNZ1021 a través del cual se hace pasar un disco de acetato codificado colocado en la parte posterior del eje del motor. La fig. 5 muestra un disco codificado de 12 pulsos/rev. Los pulsos emitidos se hacen pasar por el Smith- trigger 7414 y realimentados al microcontrolador para así calcular la velocidad de rotación del motor. Fig. 5 Disco Codificado 12 Pulsos/revolución La fig. 6, muestra el circuito del tacómetro construido utilizando un foto-interruptor CNZ1021 y un acondicionador de señal Smith Trigger 7414. 10K 7414 1 2 CNZ1021 +5VDC 180 Señal Fig. 6 Tacómetro Carlos A. Narváez V, 2008
Image of page 5
Implementando un Control PID La acción de control PID en controladores analógicos esta dada por: + + = dt t de Td dt t e Ti t e K t u t ) ( ) ( 1 ) ( ) ( 0 (1-1) Donde e(t) es la entrada al controlador (señal de error), u(t) es la salida del controlador, K es la ganancia proporcional, Ti es el tiempo integral (o tiempo de reajuste) y Td es el tiempo derivativo (o tiempo de adelanto). Para obtener la función de pulso del controlador PID digital, se puede discretizar la ecuación 1.1 aproximando el término integral mediante la sumatoria trapezoidal y el término derivativo mediante diferencias de dos puntos, así se obtiene: ) ( ) 1 ( ) 1 ( 2 1 ) ( 1 1 Z E T Z Td Z Ti T Ti T K Z U + + = (1.2) ó ) 1 ( 1 ) ( ) ( 1 1 + + = Z Kd Z Ki Kp Z E Z U (1.3) donde: 2 2 Ki K Ti KT K Kp = = Ganancia Proporcional Ti KT Ki = Ganancia Integral T KTd Kd = Ganancia Derivativa y T es el periodo de muestreo. Carlos A. Narváez V, 2008
Image of page 6
Nótese que la ganancia proporcional para el controlador PID digital es más pequeña que la ganancia K para el controlador PID analógico por un factor de Ki/2. La ecuación 1.3 puede ser realizada utilizando programación paralela como indica la figura 7. Fig. 7 Realización paralela de un controlador PID Se puede implementar en un computador digital usando el siguiente seudo-código: BEGIN DO FOREVER Obtenga el set point: r(kT) Obtenga la salida del sistema: y(kT) Calcule el error: e(kT)=r(kT)–y(kT) Calcule el término I: P(kT)=Ki.e(kT)+p(kT-T) Calcule el término D: q(kT)=Kd.e(kT)–Kd.e(kT-T) Calcule la Salida PID: u(kT)=p(kT)+Kp.e(kt)+q(kT) Envíe control al motor Guarde variables: p(kT-T)=p(kT) e(kT-T)=e(kT) Espere hasta próximo periodo de muestreo ENDDO END Carlos A. Narváez V, 2008 e(kT) Ki Kp Kd T T u(kT) q(kT) p(kT) + + + + + -
Image of page 7
Image of page 8

You've reached the end of your free preview.

Want to read all 16 pages?

  • Winter '19
  • Pedro Mora
  • Computadora, Aritmética, Freno, Interrupción, Modulación por ancho de pulsos

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture