Electroncia

Solo disponible en BuenasTareas
  • Páginas : 4 (799 palabras )
  • Descarga(s) : 7
  • Publicado : 29 de junio de 2010
Leer documento completo
Vista previa del texto
//EJEMPLO 16. CONTROL DIGITAL. //Guia del Compilador C. PIC16C74A. 4 de marzo del 2001. //Realizar un controlador PID digital. //Solucion: //Se utilizara el algoritmo de control PID tipo posicion quemaneja el libro //"Sistemas de Control en Tiempo Discreto", de K. Ogata (capitulo 3, Funcion //de transferencia de pulsos de un controlador PID digital, en forma de posicion). //Funcion detransferencia de pulsos, forma de posicion: //Gd(z) = Kp + Ki/(1-z-1) + Kd(1-z-1) //donde: // Kp = K - KT/2Ti = Ganancia proporcional (controlador digital). // Ki = KT/Ti = Ganancia integral. // Kd = KTd/T =Ganancia derivativa. // Ti = Tiempo integral (o tiempo de restablecimiento, segundos). // Td = Tiempo derivativo (o tasa de tiempo, segundos). // K = Ganancia proporcional (controlador analogico). // T= Periodo de muestreo (segundos). //Los parametros anteriores, junto con otras se¤ales, seran capturados //utilizando los canales de entrada analogica de los puertos A y E en el //siguiente orden://Ti Canal A/D 0 (Tiempo integral, segundos, PA0). //Td Canal A/D 1 (Tiempo derivativo, segundos, PA1). //K Canal A/D 2 (Constante proporcional, segundos, PA2). //SP Canal A/D 3 (Set Point, PA3). //RETROCanal A/D 4 (Retroalimentacion, PA5). //T Canal A/D 5 (Periodo de muestreo, segundos, PE0). //Para la salida de control del PID, se utilizara la operacion PWM del modulo CCP1 //(pin PC2). Esta salidanos indica la magnitud en 8 bits de la accion de control. //El signo de la accion de control se muestra en el pin PC0 (0 positivo, 1 negativo). //Directivas. #include //Especificando dispositivo autilizar y constantes generales (pag. 47). #fuses XT,NOWDT,NOPROTECT,PUT //Fusibles de configuracion de hardware (pag. 31). #use delay(clock = 4000000) //Base de tiempo para retardos (pag. 17). #usefast_io(C) //Directiva para el manejo normal de puertos (pag. 13). #byte portc = 0x07 //Declarando la direccion del puerto C. #bit PC0 = 0x07.0 //Apuntando como una constante al bit de un puerto (pag....
tracking img