19. Control PID en PIC Ejemplo 2
5 (100%) 9 votes

En esta entrada veremos un segundo ejemplo de un controlador PID implementado en un microcontrolador PIC. Para esta entrada veremos el funcionamiento de este algoritmo aplicado sobre un proceso real. Recuerda que ya habíamos visto un primer ejemplo totalmente detallado de la implementación de un PID, si todavía no lo has visto da CLIC ACA para ir a la entrada del control PID PIC para un horno, pues usaremos casi que el mismo código que fue explicado en esa entrada.

 

El proceso escogido a ser controlado es conocido como un Motor-Generador y es mostrado en la siguiente fotografía:

Motor-Generador

El funcionamiento del proceso es el siguiente: Este proceso consta de dos motores los cuales están acoplados en sus ejes por medio de poleas. Uno de estos motores funciona propiamente como motor, entonces cuando dicho motor es excitado con un voltaje de alimentación comienza a girar a una velocidad proporcional al voltaje de entrada, el giro del motor hace que el eje del segundo motor (Conocido como generador) comience a girar debido al acople entre ejes. Cuando el eje del generador está en movimiento, este comienza a generar voltaje directo el cual puede ser tomado de los dos terminales del motor.

 

Aquí tenemos un sistema a ser Controlado, como variable manipulada tendremos el Voltaje de Entrada del Motor y como variable controlada tendremos el Voltaje generado por el Generador.

 

Adicionalmente puede ser observado en la fotografía, que el sistema cuenta con dos bombillos que simularan la carga del sistema, esto seria la perturbación que constantemente afectan los sistemas de control. Nuestro control debe ser lo suficientemente robusto para rechazar esas perturbaciones y llevar la variable controlada de nuevo para el Set-Point.

DESCARGAR DIAGRAMA DEL CIRCUITO

El circuito básico de este proceso MOTOR-GENERADOR puede ser descargado en el siguiente archivo de Word dando CLIC ACA.

 

Para este ejemplo inicialmente debemos obtener el modelo matemático del proceso (Identificar la planta) y posteriormente con la función de transferencia identificada haremos el controlador PID. Estos fueron los mismos pasos que utilizamos en la entrada anterior del PID del horno.

 

Identificación del Proceso

Mostraré un procedimiento para realizar la identificación del proceso, pero aquí les dejaré su primera tarea. Lo ideal es que lo siguiente que vamos a ver ustedes lo implementen con una comunicación serial (Click aca para ver entrada de comunicación serial), enviando los datos al computador para poder obtener la curva de reacción del proceso y posteriormente obtener la función de transferencia.

 

Como en este momento no poseo un FT232 para poder comunicar el PIC con mi Computador, decidí por hacer una identificación un poco más manual, utilizando un LCD 4×20. El circuito para realizar la identificación es el siguiente:

PID con PIC

NOTA:

En este circuito se aplica lo aprendido en la entrada del Teclado Matricial 4×4 y como se está utilizando un LCD4x20, ya habíamos visto que el compilador CCS C Compiler ya trae lista la librería para trabajar con este teclado, pero solo está lista para trabajarla conectandola al PUERTO B, por eso en el video de la identificación de Youtube, se muestra como hacer la modificación de la libreria para que trabaje con el PUERTO D.

 

 

La idea de una identificación del proceso consiste en lo siguiente:

Tenemos nuestro proceso MOTOR-GENERADOR, el cual no tenemos idea de cual puede ser su representación matemática para poder sintonizar nuestro controlador PID, pero la idea entonces es obtener ese modelo.

Aquí estamos recayendo sobre la teoría de Control Lineal, por eso estamos obteniendo una Función de Transferencia en el dominio de Laplace.

 

Todos los procesos en la industria y en la vida real en si, son procesos NO LINEALES, recayendo entonces en la teoría no lineal que es mucho mas compleja. Ahora, dado que en la industria en la mayoría de los casos, los procesos siempre están trabajando sombre un punto de operación (Un mismo setpoint) y raramente son movidos para otro punto de operación, podemos aproximar ese proceso no lineal en un modelo Lineal por medio de una función de transferencia.

 

Entonces lo que haremos es exitar el sistema con un set-point o un escalón del mismo valor a nuestro punto de operación, para este ejemplo yo exité el sistema con un escalón del 40%, colocando entonces un PWM en la salida del CCP1 un ancho de pulso proporcional al 40% (Ver entrada del PWM con PIC). Adicionalmente establezco el tiempo de muestreo que quiero tomar datos del MOTOR-GENERADOR (Dado que este sistema es sumamente Rápido, coloque un periodo de muestreo de 10mS). De esa manera el PIC exita el motor por causa de los 40% del PWM y comienza a guardar los valores de voltaje generados por el generador cada 10mS. Estos datos los guarda en un vector de 45 posiciones. Una vez las 45 posiciones son llenadas, el PIC coloca el PWM en Cero y muestra todos los datos en la pantalla del LCD. Este código de identificación se encuentra al Final de este Post o también en el Video de Youtube, donde se explica en detalle.

 

Como la Planta MOTOR-GENERADOR solo acepta en su entrada voltaje de 0 a 5 voltios, y nosotros estamos generando un PWM, es necesario transformar ese PWM en un valor de voltaje continuo que dependa del ancho de pulso. Para eso se implementa el siguiente filtro pasa bajos que hace esa función.

Filtro Pasa Bajos

 

Los datos de voltaje mostrados en el LCD, los copie en un archivo de excel junto con los datos de tiempo (periodo de muestreo) y los datos de entrada o escalón (que son los 40%). Estos datos los muestro tanto en Voltaje como en Porcentaje. (Click aca para bajar el archivo en Excel)

 

La respuesta obtenida en porcentaje se muestra a continuación:

Identificacion del Motor-Generador

Tipicamente, todo proceso industrial es representado por funciones de transferencia de primer o segundo orden. A continuación es expuesto un modelo de primero orden sobre el cual vamos a trabajar para poder modelar el comportamiento de nuestra planta.

P(s)=\dfrac{Ke^{-\theta s}}{\tau s +1}

El modelo está representado en su forma continua, es decir en el dominio de Laplace. donde K es la ganancia del sistema, \tau es la constante de tiempo del proceso y \theta es el retardo del proceso.

Vemos que la gráfica el voltaje generado (linea azul) comienza en 0% y llega hasta 32% y que para conseguir esta respuesta tuvimos que alimentar el motor con una exitación del 40% (linea naranja). Así podemos obtener la ganancia del proceso con la siguiente formula:

K=\dfrac{Y_{final}-Y_{inicial}}{U_{final}-U_{inicial}}

K=\dfrac{32-0}{40-0}=0.8

Notemos que el voltaje generado (linea zul), al comienzo ella se demora en comenzar a subir, ese tiempo que ella se queda en cero, es conocido como el retardo del sistema y en este caso equivale a 0,03 segundos o 30mS

\theta=30

Observemos que el voltaje generado en la gráfica, se comienza a estabilizar mas o menos a los 0.26 segundos, pero debemos restarle los 0,03 segundos del retardo, entonces el tiempo de establecimiento seria 0,23 segundos, así podemos obtener la constante de tiempo de la variable temperatura con la siguiente formula:

T_{establecimieto}=4\tau

Osea que el \tau=57,5.

 

Así que en términos generales, nuestro proceso del MOTOR-GENERADOR está representado por la siguiente función de transferencia:

P(s)=\dfrac{0,8e^{-30 s}}{57,5 s +1}

Con nuestro proceso identificado podemos calcular los parámetros del controlador (k_p,t_i,t_d), para eso utilizamos cualquiera de las tres técnicas vistas en la entrada el PID del horno.

Si te está sirviendo de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




Para Brasil

Se você está em Brasil pode utilizar o botão que está aqui em baixo, para realizar o convite em Reais.




Algoritmo del PID

PID sintonia

Una ves tenemos nuestro modelo matemático que representa nuestro proceso MOTOR-GENERADOR en el escalón del 40%, podremos calcular nuestro control PID para que controle adecuadamente el proceso en ese punto de operación.

 

 

Para este caso PARTICULAR de mi MOTOR-GENERADOR, es un proceso de muy baja NO LINEALIDAD, es decir que tiene un comportamiento casi lineal, entonces voy a poder controlar con facilidad el proceso en cualquier punto de operación diferente a el 40%. Esto en la mayoría de los procesos NO sucede.

 

Utiliza el control discreto PID que vimos en la entrada pasada  dado por:

C(z^{-1})=\dfrac{u(k)}{e(k)}=\dfrac{q_0+q_1z^{-1}+q_2z^{-2}}{1-z^{-1}}

donde:

q_0=k_p\left [ 1+\dfrac{T}{2t_i}+\dfrac{t_d}{T} \right ] q_1=-k_p\left [ 1-\dfrac{T}{2t_i}+\dfrac{2t_d}{T} \right ] q_2=\dfrac{k_pt_d}{T}

Con esto, la ley de control que vamos a ingresar a nuestro PIC sale del control PID discreto (Despejando u)

u(k)(1-z^{-1})=q_0e(k)+q_1z^{-1}e(k)+q_2z^{-2}e(k)

u(k)-u(k)z^{-1}=q_0e(k)+q_1z^{-1}e(k)+q_2z^{-2}e(k)

u(k)=u(k)z^{-1}+q_0e(k)+q_1z^{-1}e(k)+q_2z^{-2}e(k)

aplicando transformada inversa Z obtenemos la ecuacion en diferencias:

u(k)=u(k-1)+q_0e(k)+q_1e(k-1)+q_2e(k-2)

Como tiempo de muestreo para el control PID utilizamos el criterio:

T=\dfrac{\tau}{20}=\dfrac{57,5}{20}=2,87\approx 3mS

NOTA

Como vemos el tiempo de muestreo debe ser de 3mS, o sea que realmente debe ser rápido nuestro microcontrolador para poder alcanzar tal velocidad, para ello por la alta velocidad lo más recomendable es usar un cristal externo de 20.000Mhz. En mi caso personal, no cuento con este cristal, entonces voy a tener que implementarlo con un cristal de 4.000Mhz, por lo que no voy a poder cumplir el criterio del tiempo de muestreo. Esto me puede traer serios problemas de estabilidad, pero al hacer las pruebas, mi periodo de muestreo alcanzado fue de 11mS y el sistema consiguió responder adecuadamente, principalmente porque todavía es 5 veces menor que  la constante de tiempo. Si se hubieran presentado problemas de estabilidad por causa que no puedo respetar el periodo de muestreo, lo que hubiera hecho es ponderar un poco el error del controlador PID, es decir multiplicar el error por valores entre (0 – 1).

 

Código de Implementación:

A continuación se presenta el código para que lo copies y lo pegues en tu compilador y puedas reproducirlo. Recuerda que para ver el código debes compartir el contenido de este blog para que más personas se beneficien de esta información.

> Descargar los Archivos de PICC y PROTEUS 8 (Click aca) <<<

Descargar librería del LCD4x20 para puertoD: LCD420D.C

Código de la Identificación

 

Código del Control PID para MOTOR-GENERADOR

 

Si te sirvió de algo la información de la pagina, podrías invitarme a un café y ayudarme a seguir manteniendo en pie el sitio WEB. Solo cuesta $2USD y me ayudarías enormemente a seguir con mi trabajo. Muchas Gracias por tu visita.




Para Brasil

Se você está em Brasil pode utilizar o botão que está aqui em baixo, para realizar o convite em Reais.




Esta entrada tiene 63 comentarios

  1. Una última pregunta….puedo sustituir el 2N3019 y 2N3055 por el MPSA13 o hay diferencia?
    Este último, también va conectado a 12v?

    1. No estoy seguro Daniel, debes buscar en el manual de reemplazos para ver si cumplen con la misma característica. Saludos

  2. El LM324 el pin 4 va a positivo (+12) y el 11 va a tierra o a -12v?

    1. Hola Daniel, el cxto es tal cual como está ahí. LM324 (+12) y GND. Para el generador el es donde debe ir a fuente dual (+12) y (-12) Saludos

  3. Hola…
    Lo que pasa es que regulo la ganancia del motor a 5v para que sea lo más qie pueda recibir el pic….Al momento de la toma de datos pongo el set point al 40% y la T en 10 ms….
    Cuándo me empieza a dar los datos del muestreo empieza por ejemplo así
    1- 4.95
    2- 4.87
    3- 4.9
    4- 0.007
    5- 0.009
    6- aquí ya empieza todo normal
    .
    .
    .
    35+ también me marca 4.95
    Se tienen que regular ambos potenciómetro o sólo el de la ganancia ( entiendo que es el de 5k)…
    O con eso datos que me arroja puedo hacer mi función?

    1. Estas usando una fuente Dual para los amplificadores operacionales? Eso ahi parece mas ruido que otra cosa, prueba filtrando tu fuente de alimentación dual, mira que los potenciometros tengan buena conexión o coloca trimmer. El cxto no es para hacer eso, sin embargo puedes intentar considerar ese ruido inicial como retardo y probar que tal te va con una FT calculada asi.

  4. Hola, por qué el valor máximo que me arroja al momento del muestreo es de 1.18… estoy utilizando motores de 12v y setpoint de 40%

    1. debes ajustar la ganancia del circuito que recibe el voltaje del generador. Lo que debes hacer es activar primero el motor al 100% y con el potenciometro ajustar que el voltaje de salida sea aproximadamente 5V (Conecta el multimetro a la salida antes de mandar ese voltaje al PIC) con eso garantizas que la máxima tensión generada sean 5V y no vayas a quemar tu PIC.

      1. Ok, muchas gracias lo verificaré…y el potenciómetro de 50k para que se utiliza?

        1. Ese regula la velocidad del motor.

          1. Ya hice lo de regular la ganancia, pero ahora cunado pido el muestreo…los primeros tres datos me los arroja muy elevados(más que el setpoint) y de ahí en adelante también en los últimos datos igual se pasa del setpoint
            Qué podría estar mal?

          2. Tendrá mucha ganancia tu motor? Eso parece problema de ruido. No entendi si Solo son los 3 primeros datos y solo los ultimos datos que sufren ese fenomeno. Que sea mayor que tu setpoint no tiene problema ninguno, pues vos no estas controlando, estás es identificando, eso solo nos indica que el sistema tiene una ganancia mayor que uno.

  5. Hola….cuando haces tú muestreo…el motor debe prender hasta que pones el setpoint y el periodo de muestreo???
    Por qué a mí me prende enseguida que enciendo la fuente???

    1. A la entrada del amplificador operacional que controla el motor (donde debe ir el PWM de tu pic con el filtro pasa bajos) debes asegurarte si colocandolo a GND el motor se queda detenido. (estoy considerando que estás copiando el código que hay aqui), si no se detiene el motor debes tener algún problema en esa etapa del circuito.

  6. Hola
    Por qué en los circuitos de la imágen tienes tantos capacitores, si en el archivo de word, solo aparecen 2, también hay más resistencias y componentes extras que en el archivo no hay?

    1. Hola Daniel, es porque en el PCB además del circuito mostrado en el documento de Word, tiene montado la fuente de alimentación DUAL para los amplificadores operacionales. El circuito mostrado aqui antiguamente yo lo montaba en protoboard y hacia controles pero lo alimentaba con mis fuentes de alimentación externa. Despues de un tiempo le pasé los circuitos a una persona para que me lo montara en un PCB junto con la fuente de alimentación integrada, para simplemente conectar y desconectar el circuito. Saludos.

  7. Hola buen día
    Me podrías pasar los archivos PCB para reimprimirlos?
    Por favor

    1. Hola Daniel, no tengo los archivos del PCB.

  8. Qué marcas de motores utilizaste?

    1. Desconozco la marca, son motores que compre en una chatarrería. Puedes usar cualquier motor de 12 VDC o incluso si lo deseas puedes usar esos motores pequeños de Juguete de 5VDC. Saludos.

  9. excelente proyecto…me podrías mandar una lista de los componentes eléctricos/electrónicos que utilizaste así como sus diagramas de conexión?
    en mi escuela debo implementar un proyecto para controlar una variable, y este que muestras aquí me resultó interesante para realizarlo.

    saludos desde México

    1. Hola Daniel, el diagrama del circuito esta al comienzo del post, es un documento en WORD con el circuito del MOTOR-GENERADOR. Saludos.

      1. Estarías interesado en vender tu proyecto?

        1. Hola Daniel, en el momento NO, porque es una planta didáctica con la cual enseño teoría de Control. Saludos.

  10. Hola!! muy bueno el proyecto! Una consulta, las lamparitas funcionan con el voltaje que genera el generador?? O están alimentadas con la fuente del motor?

    1. Hola Carmen, Si funcionan con el voltaje que genera el motor generador. Saludos.

  11. Por favor la descripción de los motores que usaste gracias.

  12. Hola sergio, interesante contenido. Podrias decirme la descripción de los motores que utilizastes, por favor gracias

    1. Adrian, usé motores de 12VDC, lo encontré en una chatarrería, pero puedes usar motores pequeños si quieres, esos de 5VDC de juguete.

  13. sergio que tal? quisiera saber de cuanto voltage son los motores que utilizas

    1. Jmar, son motores de 12VDC. Saludos.

  14. Hola Sergio, excelente contenido tienes en la página, muy simple e intuitiva de usar. Felicidades.

    1. Hola Vanessa, que bueno que te ha servido y te haya gustado la pagina. Saludos.

  15. Hola Sergio C.
    Primero, te felicito por tus tutoriales, no solamente tienes claro el procedimiento y como explicar su desarrollo, si no también tienes una capacidad de dar orden y lo mantienes en tus explicaciones, concluyo que tienes memoria fotográfica e inteligencia para su aplicación, te podría dar también más elogios. Agradezco tus tutoriales y no sabes cuanto más, pero soy un profesional de la vieja guardia ( voy a cumplir 70 años), pero sigo estudiando y leyendo acerca de mi profesión (telecom), y por eso te pido, si es posible, que si puedes, simplifiques tus pantallas, están tan saturadas de info y publicidad que es un tormento tratar de descargar algún archivo, yo uso win 7 en mis portátiles y tengo otros con win8.
    No podrías simplificar algo el tema de las descargas? manteniendo tus intereses para personas como yo?
    Mi otra pregunta es si puedo usar como base tus archivos, (con mención de la fuente, por supuesto), puedo instruir a mis alumnos, para el desarrollo de la tecnología PID la cual, yo creo, será la tecnología dominante en el este siglo, que será sin dudas, de los androides.

    Gracias por tu atención, pero espero tu opinión.

    Saludos cordiales desde Chile

    1. Hola Juan, gracias por el comentário. La verdad es que trato de que la página sea bastante clara. Mi pregunta es Si Conseguiste descargar los archivos??? El sistema implementado en la pagina de compartir para obtener los códigos es para ayudar a difundir la página web y llegar a más personas.
      Claro que puedes usar como base los archivos, están ahí justamente para ayudar a las personas a crecer a nivel profesional e intelectual, es un honor para mi que quieras usar mis archivos para enseñar a otras personas.
      Cuéntame si has podido bajar los archivos después de haber visto el video de como descargarlos?? Si no, te los mando por email entonces. Saludos!!

  16. Sergio hize este proyecto con el pic17F877A es bastante parecido al 16877, te cuento que cuando subo el código del Controlador PIC16F877A se atonta todo el sistema. no sabes por que pueda ser, Si el código es el mismo.

    1. Hola Jhimmy ya te respondi en YouTube. Saludos.

  17. Sergio, antes que nada un enorme saludo, excelente blog y muy buenos aportes, quisiera poder contactarme contigo por algunas dudas y asesorias, ¿podrias pasarme algun medio de contacto?

    1. Hola Henry, en la parte superior de la página hay una sección de Contacto. Saludos.

  18. Hola, disculpa la molestia, de casualidad podrías orientarme de como realizar el codigo PID pero en Code Composer Studio, ya que estoy utilizando Tiva C, y deseo controlar un Balancín con Helice.

    1. Eddy yo nunca usé ese compilador, pero sigue siendo lenguaje C, por lo que el código es práticamente lo mismo. Lo único que debe cambiar son las funciones e instrucciones propias del compilador para configurar el PIC, pero la función del PID se mantendría casi que intacta. Saludos y buena suerte.

  19. Hola Sergio muy importante tu apoyo quisiera saber si existe la posibilidad de saber si los datos que se producen pueden ser dibujados en Matlab? Gracias espero poder realizar un aporte economico en tu bloc con tu respuesta. Gracias

    1. Hola César, claro que se puede, es más, es mucho más interesante hacerlo en MATLAB que en Excel. Por ejemplo, lo ideal es realizar una comunicación serial con el PIC para comunicarse con MATLAB y asi enviarle los datos del proceso. En matlab se procesa la grafica y se pueden hacer todos los análisis pertinentes al sistema como tal, incluso hasta podrias usar el Toolbox de identificación del propio matlab para generar tus funciones de transferencia. Saludos.

  20. Hola Sergio, Soy nuevo en esto de los PiCS, solo quiero felicitarte y agradecer que compartas tus conocimientos con todos ! esto nos ayudara a que como pais vayamos desarrollando tecnologia propia, y es uno de los caminos para salir del tercermundismo, te reitero mis felicitaciones y agradecimiento, iré contribuyendo en tu blog en la medida de mis conocimientos y experiencias adquiridos. Saqludos

    1. Hola Domingo, muchas gracias por el comentario y por el apoyo. me alegra que te haya gustado el blog y que te esté ayudando a aprender sobre este mundo fascinante de los microcontroladores. Te deseo el mejor de los éxitos en esta curva de aprendizaje. Un fuerte abraso.

  21. Una pregunta. Es posible hacer un programa y que se requiere, para poder tomar lectura de sensores y que ademas te diga la fecha exacta en que fue tomada la muestra??

    1. Hola Mario, claro que si!! puedes hacer eso con un microcontrolador. Para conseguirlo basicamente necesitaras de un reloj calendario DS1307 usando comunicación I2C, que de diga la hora y fecha y también de una memoria EEPROM externa para que vayas almacenando todos los datos de tus sensores. Si sigues todo el curso de Microcontroladores que tengo montado en la pagina, estarás en las condiciones de implementar tu proyecto. Te dejo aqui el link con todo el curso> Click AQUI. Saludos y éxitos en tu proyecto.

  22. Sergio llevo tiempo siguiendo tu blog tan interesante. Me motivaría mucho ver un pid en un motor Brushless (como los motores que usan los drones). En la red hay vídeos pero nadie dice nada del pid con pic. Gracias

    1. Buen proyecto, voy a tenerlo en cuenta. Saludos.

  23. Hola Sergio
    Felicitaciones por el excelente trabajo y explicación, quisiera pedirle el favor de darme unas pautas de como migrarlo su programa al pic 16F877A,es posible?, Ya que en el la ciudad donde vivo solo encontré este pic
    he estado viendo todos sus vídeos y aun no puedo lograr dominarlo bien el compilador PIC C (CCS Compiler) soy nuevo en esto de microcontroladores

    1. Solo necesitas cambiar el encabezado y agregar la libreria del 16f877a, esos dos pics son identicos
      #INCLUDE <16F877a.h>

      1. Gracias por responderme lo hare y ya te cuento

      2. Hola Sergio:
        disculpe que le moleste de nuevo, cambie el encabezado como me indico pero ahora no compila me sale este error
        >>>Warning 208 “PID Contro.c” line 103(6,13):Function not void and does not return a value escalon

        *** error 12 “PID Contro.c” line 14(20,24) Undefined identifier sANO
        Es mismo codigo de Ud, solo lo cambie el encabezado

        1. Es la forma de configurar el ADC, para ese PIC si no estoy mal es setup_adc_ports(AN0);

          1. Gracias mil Sergio si ya me funciono eres un genio una vez mas gracias por tu tiempo

  24. Hola ¿como estas?, excelente trabajo, ha sido de mucha ayuda para un proyecto que estoy realizando, tengo una pregunta ¿como puedo obtener la función de transferencia de un motorreductor que compro en el mercado ?.

    1. Es basicamente hacer lo mismo visto en el ejemplo. Debes tener un sensor que esté midiendo tu variable de interes, aplicar un escalón, tomar los datos, graficar la respuesta y obtener la FT. Más adelate, cuando tenga algo de tiempo, comenzaré a explicar temas de identificación de sistemas. Suerte con tu proyecto.

      1. eso de identificar sistemas estará genial, lo espero con ansias!

  25. Hola 🙂
    Como estas?
    Espero que bien.
    Sabes son nuevo en esto y por fin encontré a alguien que explicara bien, te felicito.
    Ya baje los programas en C y el proyecto en proteus para hacer algunos ejercicios.
    Pero que crees?
    Cuando compilo el programa, SE QUEDA TRABADO ….. TENGO QUE ABORTARLO
    Lo intenté con ambos programas y pasa lo mismo.
    Compile unos programas que he hecho, y no se traba.
    Que podrá ser?
    GRACIAS…

    1. Hola Oscar. no entendi muy bien tu pregunta. El compilador se esta quedando trabado cuando compilas mis códigos? No se a que pueda deberse. Intenta ejecutar el compilador como administrador o utilizar otro equipo para ir descartando problemas. Pero una excelente noticia es que SI compilan tus códigos y el objetivo del blog es dar una inducción y que realmente uds hagan sus propios códigos para que realmente aprendan. Saludos y muchos éxitos en tus proyectos.

  26. Sergio excelente proyecto mas aun tu excelente explicación la verdad no savia como sacar los datos iniciales de una proceso físico , gracias.

    en manera de lo posible me gustaría me mandaras el plano del tarjeta que utilizas, lo pienso realizar físico.

    de antemano muchas gracias.

    Att: emerson palacio
    correo: [email protected]

    1. Emerson ahi en el Blog esta el plano de la tarjeta para que la reproduzcas.

      1. a si sergio es el que esta en el documento en word, que pena parcero gracia por su pronta respuesta.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

19. Control PID en PIC Ejemplo 2
17. Control PID con microcontrolador PIC
Cerrar menú