Cómo modelar una planta y hacer un controlador PID para un motor en Arduino

Поділитися
Вставка
  • Опубліковано 1 гру 2024

КОМЕНТАРІ • 99

  • @rafaelgc9754
    @rafaelgc9754  6 років тому +8

    Una disculpa pero no puedo compartir el PDF por derechos de autor, les sugiero el libro de Ogata para obtener info similar.

  • @electromatic2014
    @electromatic2014 4 роки тому +3

    Por favor más videos de este tópico, el mejor video que he encontrado

    • @mm_ca4mgn
      @mm_ca4mgn 4 роки тому +1

      te estoy viendo jsjsjs.

    • @electromatic2014
      @electromatic2014 4 роки тому

      @@mm_ca4mgn los libros aburren aveces jeje

  • @PARISAROMAN
    @PARISAROMAN 5 років тому +7

    Excelente video Rafael, soy ingeniero de control y realmente aprecio tu trabajo. Sigue haciendo videos como este y te aseguro que serán muy bien recibidos en la comunidad de ingenieros de todas las especialidades. Saludos.

  • @valentindoroteolucas7404
    @valentindoroteolucas7404 3 роки тому +1

    El mejor video que eh visto realmente, muchas gracias por el aporte y espero hagas más videos de esta categoría!!!

    • @rafaelgc9754
      @rafaelgc9754  3 роки тому

      Gracias Valentín, necesito encontrar la motivación para volver a los videos 😅

  • @PA-hl4ix
    @PA-hl4ix 6 років тому +4

    En verdad es muy bueno tu vídeo, tienes razón, difícilmente las personas dan este tipo de explicación, verdadera ingeniería de control. 👌

  • @negrinnegrin
    @negrinnegrin 6 років тому +4

    Excelente video, como comentarios para identificar si el sistema es de 1er orden además del sobrepico debe tenerse en cuenta la concavidad de la señal, también es de mencionar que se debe comenzar las mediciones de condiciones estacionarias tanto en principio como en el fin del ensayo, y que la amplitud de movimiento de la salida debe ser mayor a la banda de ruido. Por otro lado también habría que mencionar como se eligió el periodo de muestreo. Mencionar que esto es una forma de control ya que también se podría diseñar en control digital directo el PID. Igualmente hacen falta más vídeos como este de control.Muchas gracias.

  • @yashiro333
    @yashiro333 7 років тому +6

    Excelente video amigo... Tienes razón en tu parte introductoria... La mayoría de videos de sistemas de control que hay en youtube omiten el análisis dinámico de un sistema, siempre van al grano con el control y lo ajustan a ensayo y error... Ojalá suba más. Videos explicativos empezando desde sistemas básicos.. Gracias por tu aporte

    • @rafaelgc9754
      @rafaelgc9754  7 років тому +2

      Cesar Z gracias, pienso subir en un par de semanas uno sobre cómo hacer un PID y dos controladores no convencionales (Dahlin y One step) de un estabilizador con hélice

    • @yashiro333
      @yashiro333 7 років тому

      +Rafael G esperaré tus aportes...
      Una consulta sobre la parte del código arduino, ¿la función que hallas para la planta no se aplica en arduino? ¿Solo la ecuación del controlador? Esa parte no me queda clara... Ojalá puedas resolver mi inquietud...

    • @rafaelgc9754
      @rafaelgc9754  7 років тому +1

      Cesar Z se podría decir que va implícita en los valores de ganancias (kp, ki, kd) que obtienes al sintonizar el controlador para la planta por los métodos IAE o ITAE. En el Arduino sólo te quedaría una ecuación de diferencias que considera las ganancias aplicadas a error actual o pasados y a manipulaciones pasadas

    • @yashiro333
      @yashiro333 7 років тому

      +Rafael G creo que entiendo =D... Y para el Caso donde se tenga un modelo a realizarle el Control por ejemplo una barra donde hay que posicionar una bola en X posición ... Al Obtener la función de transferencia y estimar las constantes pid... Como se llevaría eso (planta y controlador) al microcontrolador...

    • @rafaelgc9754
      @rafaelgc9754  7 років тому

      Cesar Z eso ya es algo más complejo, tendrías que caracterizar tu planta en base a qué posición termina la bola dependiendo X ángulo que giras el motor. yo me imagino una pruebita de identificación de la planta dándole un escalón de X grados y de alguna manera medir la posición de la bola

  • @VictorHugoBenitez
    @VictorHugoBenitez 2 роки тому

    Hola Rafa, tu video es tan bueno que lo recomendaré a mis alumnos en la UNISON, como complemento a las clases teóricas; espera muchas visitas!!! Saludos

    • @rafaelgc9754
      @rafaelgc9754  2 роки тому

      Saludos Doctor, qué bueno que les sirva de referencia, me da mucho gusto!

  • @emiliocolon3245
    @emiliocolon3245 6 років тому +4

    Gracias Rafael GC, ha sido muy interesante ver que alguien utiliza metodos de control, yo sugiero que consigan el libro en ingles o español, Practical Process Control by Cecil L. Smith Capitulo 8 aun que todo el libro es muy bueno.

  • @electromatic2014
    @electromatic2014 4 роки тому

    Más videos de estos por favor!, explicas muy bien la temática, me hubiera encantado aprender esto en la universidad! jajaja. saludos, espero más videos

    • @rafaelgc9754
      @rafaelgc9754  4 роки тому +1

      Gracias, quizá pronto vuelva a hacer videos. Ya terminé mi posgrado y ahora tengo más tiempo libre de nuevo 😅

    • @electromatic2014
      @electromatic2014 4 роки тому

      Geniaal, posgrado en que?

    • @rafaelgc9754
      @rafaelgc9754  4 роки тому +1

      @@electromatic2014 maestría en ciencias, enfocado a materiales avanzados

  • @RodrigoHernandez-cr6nd
    @RodrigoHernandez-cr6nd 5 років тому

    Muchas gracias por compartir tu conocimiento. Me ayudo bastante. Ojala pudieras seguir subiendo videos de teoria de control y aplicaciones ya que la verdad muchos videos en you tube que explican estos temas de control no son muchos y no explican tan bien como tu.

    • @rafaelgc9754
      @rafaelgc9754  5 років тому

      Qué bueno que te sirvió, saludos

    • @RodrigoHernandez-cr6nd
      @RodrigoHernandez-cr6nd 5 років тому

      @@rafaelgc9754 Una pregunta amigo, la entrada que debo de generar debe llegar hasta el setpoint que se supone mi PID va a regular? o le meto una entrada a escalon de cualquier valor? gracias.

    • @rafaelgc9754
      @rafaelgc9754  5 років тому +1

      @@RodrigoHernandez-cr6nd puede ser cualquier valor

    • @RodrigoHernandez-cr6nd
      @RodrigoHernandez-cr6nd 5 років тому

      @@rafaelgc9754 MUCHAS GRACIAS DE NUEVO!

  • @ronaldalberto8995
    @ronaldalberto8995 6 років тому

    buen video... justo tengo que diseñar una y no sabia por donde empezar, gracias!!!

  • @electrolabs337
    @electrolabs337 6 років тому

    muy buen vídeo Ingeniero. gracias por su tiempo y esfuerzo!!!

  • @drcastro08
    @drcastro08 Рік тому +1

    Buenas noches, me podría explicar que hizo con el exp -0.1? Muchas gracias

  • @sosalazarojosue5795
    @sosalazarojosue5795 5 днів тому

    amigo podrías hacer un tutorial de como poder controlar un servomotor con PWM

  • @franciscomora6938
    @franciscomora6938 6 років тому

    👏👏👏👏👏 Justo este video estaba buscando, muchas gracias.

  • @mrcamssys
    @mrcamssys 6 років тому

    estas usando ZOH, es muy bueno el metodo, pero digamos usando tusting o la transformacion bilineal es el mismo camino o con ese retardo seria imposible?

  • @ricardoromero5706
    @ricardoromero5706 6 років тому

    Hola podrías explicar un poco más sobre el tema de la transformada z y el desarrollo y en que caso se utiliza cual gracias?

    • @rafaelgc9754
      @rafaelgc9754  6 років тому

      Ricardo Romero quiero retomar los tutoriales pronto, gracias por la sugerencia quizá haga un video sobre eso, no olvides suscribirte a mi canal

  • @wiliamquispecanales2449
    @wiliamquispecanales2449 6 років тому +1

    hola;
    Seguí tus pasos con un motor reductor con encoder (3840 cuentas por vuelta), modele mi planta tomando datos desde arduino(PWM:15-255 vel:0-35rad/seg y tiempo) y esos datos lo lleve a matlab (APPS ->PID TUNER) y obtuve la función de transferencia en tiempo continuo del motor y de pasada también la FT del control(PI en mi caso) de tal manera que no tenga sobrepico y oscilacion.
    El valor del control PI lo discretize y opere (s=(z-1)/(T*z)) y lo que obtuve grabe en mi arduino.
    hice las pruebas y el motor da vueltas sin la necesidad de que haga variar la Referencia. Y aunque varié la referencia después, el motor sigue girando de la misma forma (no hace caso a la referencia). QUE PUEDE ESTAR PASANDO?.
    Espero tu respuesta!!
    Saludos

    • @EdwardYamunaque
      @EdwardYamunaque 6 років тому

      Solucionaste el probema? como lo lograste?

  • @ericleal1397
    @ericleal1397 5 років тому

    la simulación en simulink con los parámetros que usted obtuvo, al simular no da la gráfica esperada que aparece en el vídeo, sería bueno explicar como fue el ingreso de los parámetros a cada bloque

    • @rafaelgc9754
      @rafaelgc9754  5 років тому

      Sí da, revisa los sampling times de los bloques.

  • @EdwardYamunaque
    @EdwardYamunaque 6 років тому

    con la función de transferencia que hallaste Gp(s) que si no me equivoco es la relación de la salida (velocidad angular del motor )y como entrada pulsos pwm, se podría hacer un control de posición con la misma función de transferencia Gp(S) , que tendría que hacer?. buen video,saluds

  • @armandolopezespinoza3823
    @armandolopezespinoza3823 4 роки тому

    Que tipo de metodo es ese Cecil Smith, tiene alguna relacion con Zegird y Nicols?

  • @correouno2572
    @correouno2572 3 роки тому

    Oye disculpa sabes si es correcto usar (error actual- error anterior)/(tiempo de muestreo ) como el integrador.
    Por lo que he leído no es correcto ya que se debe discretizar el integrador pero bueno no soy experto en estos temas.

    • @rafaelgc9754
      @rafaelgc9754  3 роки тому

      Sería una forma muy básica de implementar un control ya que no considera la dinámica de tu planta.

  • @luisr9176
    @luisr9176 4 роки тому

    Disculpa mi ignoracia pero es lo mismo con un servomotor?

  • @ericarmenta7483
    @ericarmenta7483 5 років тому

    Muy buen video amigo, una pregunta, a la salida de tu rduino la mandas a un transistor para que controle el motor?

    • @rafaelgc9754
      @rafaelgc9754  5 років тому +3

      Sí, a un circuito de potencia

    • @ericarmenta7483
      @ericarmenta7483 5 років тому

      @@rafaelgc9754 y utilizas un convertidor de frecuencia a voltaje para medir las rpm de tu motor y realimentarla al ADC de tu arduino? o qué utiliza Ingeniero?

    • @rafaelgc9754
      @rafaelgc9754  5 років тому +1

      @@ericarmenta7483 encoder

  • @emmanuelfernandez5073
    @emmanuelfernandez5073 7 років тому +1

    QUE BUEN APORTE AMIGO MUCHAS GRACIAS

  • @RaulHernandez-uf6xn
    @RaulHernandez-uf6xn 6 років тому +1

    Excelente así es como se diseña

  • @azalope3768
    @azalope3768 Рік тому

    ¿Creen que sea viable?
    determinado el voltaje del motor, aplicó un pequeño escalon cada cierto tiempo de 10 v, para ver la respuesta que me arroja en el osiloscopio, capturo la imagen y determinó la Tau

  • @cristianandresportillomora956
    @cristianandresportillomora956 4 роки тому

    ¿Cómo logra el encóder rotativo lograr las mediciones ideales en un tiempo de muestreo de 0.001 seg a RPM bajas? Porque para obtener valores acertados en el error, el encoder debe estar sensando cada 0.001 seg. la velocidad

  • @diegofernandoramirezjimene6485
    @diegofernandoramirezjimene6485 5 років тому

    Hola Rafael, excelente trabajo, el código lo puedes compartir? gracias.

  • @DanielFelRomero
    @DanielFelRomero 4 роки тому

    Hola por favor podrías orientarme cómo hacer el modelado de la planta de un motor paso a paso?

  • @armandolopezespinoza3823
    @armandolopezespinoza3823 4 роки тому

    Como determinar de que orden es tu planta??

  • @didierherrera
    @didierherrera 6 років тому

    Rafael muchas gracias por compartir esta información, tomé atenta nota de todo lo expuesto en el video pero me perdí en el minuto 8:00 cuando se convierte a Z empleando roc, no si tu u otras persona que este viendo el video me puedan confirmar si la función de transferencia de la planta en z quedaría:
    HGp(z) = [K(1-e^(-T/τ))]/[(z^N)(z-e^(-T/τ)] de nuevo, muchas gracias !

  • @ricardoromero5706
    @ricardoromero5706 6 років тому

    Me refiero que si tienes el libro cual es el nombre, en el que está basado el Tutorial, porque la verdad el de ogata da muchas cosas por sentado y es confuso, parece ser que este en el que se está basando es mucho más explicativo, quiero leerlo gracias.
    Por último si seria muy útil la explicación de las transformaciones pues para mi que estoy iniciando me sería muy util

    • @rafaelgc9754
      @rafaelgc9754  6 років тому +1

      Ricardo Romero no usé ningún libro además de Ogata. Son notas del departamento de automatización y mecatrónica de la universidad donde estudié (por derechos de autor no las puedo compartir), y pues apuntes míos de cuando llevé las clases de control

  • @luismiqv2933
    @luismiqv2933 7 років тому +1

    como recolectas los datos de velocidad del motor?

    • @rafaelgc9754
      @rafaelgc9754  7 років тому +1

      Luis Quispe Valencia monitoreando el encoder en el monitor serial del micro

  • @nils1693
    @nils1693 6 років тому

    una duda como hiciste para graficar los pulsos del encoder en señal analogica asi como se ve en la grafica de excel???

    • @rafaelgc9754
      @rafaelgc9754  6 років тому +1

      La salida del monitor serial, luego los pegas en Excel con el tiempo de muestreo definido.

    • @nils1693
      @nils1693 6 років тому

      Ok muchas gracias no me habia pensado en eso pegar el serial con delay de 0.1sg ya estaba queriendo usar labview jeje
      Otra duda, la tranasformada z que utilizaste fue solo para el bloque de control pi cierto?

  • @tronicscbasic2989
    @tronicscbasic2989 6 років тому

    Hola, El metodo funciona si el escalon aplicado es de 0 a 100% ?

    • @rafaelgc9754
      @rafaelgc9754  6 років тому +2

      Puede funcionar, dependiendo de tu planta, pero en general no te recomendaría ese escalón tan brusco porque estás mandando una manipulación de nulo a todo.

    • @tronicscbasic2989
      @tronicscbasic2989 6 років тому

      Rafael GC hay problema si mi tiempo muerto es igual al periodo de muestreo?

  • @Jotate70
    @Jotate70 6 років тому

    Hola intente simular la misma función de transferencia pero me tira error (The sample time after propagation is [0, 1]. Enter a discrete sample time in 'Punto/Discrete Transfer Fcn'.)

  • @ricardoromero5706
    @ricardoromero5706 6 років тому

    Disculpa también cual es el nombre de este libro para comprarlo

    • @rafaelgc9754
      @rafaelgc9754  6 років тому

      Ricardo Romero disculpa, ¿en qué minuto sale en el video?

  • @ZoNiCoR23
    @ZoNiCoR23 7 років тому

    Hola amigo, ¿qué bibliografía usas? Un saludo

    • @rafaelgc9754
      @rafaelgc9754  7 років тому +1

      Algunas notas del departamento de mecatrónica y automatización del Tecnológico de Monterrey y apuntes de clases. Igual te recomiendo los libros de Ogata, pero el contenido a veces es muy denso.

    • @EdwardYamunaque
      @EdwardYamunaque 6 років тому

      Hola, buen video, podrias decir que motor usaste , para comprarlo, gracias.

  • @romulocortez6168
    @romulocortez6168 5 років тому

    gracias amigo

  • @CheoChamarripa1
    @CheoChamarripa1 6 років тому

    Hola donde te puedo contactar? Estoy buscando un desarrollador para un proyecto!!

    • @rafaelgc9754
      @rafaelgc9754  6 років тому

      Cheo Chamarripa ¿en qué ciudad?

    • @CheoChamarripa1
      @CheoChamarripa1 6 років тому

      Rafael G estoy en Ciudad de Mexico, por el sur, Delegación Tlahuac

    • @rafaelgc9754
      @rafaelgc9754  6 років тому

      Cheo Chamarripa yo vivo en Hermosillo, Sonora

    • @CheoChamarripa1
      @CheoChamarripa1 6 років тому

      Mmmm si esta lejos....y de casualidad conoces a alguien por acá que nos pueda apoyar???

  • @eugeniarotela5041
    @eugeniarotela5041 6 років тому

    alguien me pasaria el codigo para arduino?

  • @wiliamquispecanales2449
    @wiliamquispecanales2449 7 років тому

    Hola Rafael G
    Muy bueno el vídeo, mi duda es: si yo tengo funcionando el sistema con un cierto valor de set point, después detengo el sistema y lo vuelvo a hacer funcionar, pero con otro valor de set point; la respuesta del sistema tendrá el mismo valor del nuevo set point y se establecerá a ese valor?, y asi de nuevo haga las variaciones del set point, la salida se establecerá siempre al set point o tengo que hallar nuevas constantes kp, ki?
    Amigo podrías proporcionarme tu PDF, por favor!!
    Mis correos son: wil_15_k@hotmail.com // wquispecanales@gmail.com
    Gracias por tu video, espero tu respuesta y/o comentario
    Saludos desde PERU!

    • @rafaelgc9754
      @rafaelgc9754  7 років тому

      Wiliam quispe canales se tiene que establecer, por eso es un sistema de control. Cuando modelas lo haces tomando la planta, no un setpoint. También la sintonización es respecto a la planta

    • @wiliamquispecanales2449
      @wiliamquispecanales2449 7 років тому

      Rafael G por despejarme esa duda gracias; podrias compartirme tu PDF, por favor!

    • @wiliamquispecanales2449
      @wiliamquispecanales2449 7 років тому

      Pense que el PDF era información que encontraste en internet. Ahora me doy cuenta que es sobre el tema que tu realizaste en este vídeo. Realizare mi propio controlador por mi cuenta y buscare mas información, cualquier duda espero contar contigo!
      Saludos

    • @wiliamquispecanales2449
      @wiliamquispecanales2449 7 років тому

      Una consulta, para realizar un control PI para temperatura es necesario contar con el tiempo muerto o no?
      Ya que la respuesta es lenta en este caso a comparación del control del motor en tu video.