Medir Velocidad RPM de un Motor Encoder con PIC 🚗 [PIC C en CCS C] # 029

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ต.ค. 2024
  • Interrupción EXTERNA PIC: En esta entrada aprenderemos a utilizar el flanco de subida y el flanco de bajada en un microcontrolador PIC para la lectura de ENCODERS. Como ejemplo realizaremos un medidor o sensor de velocidad de un motor DC.
    Para obtener el Código Visita: bit.ly/3zkk4Ub
    Link PWM: wp.me/p5P46A-9d
    Manejo de LCD: wp.me/p5P46A-4M
    Lista de Reproducción del Curso Completo: goo.gl/5riyKn
    *************************************************
    La página web:
    controlautomat...
    Facebook:
    / controlautom. .
    Instagram:
    / sergio.cast. .
    Twitter:
    / conautedu
    _________________________________________________________________
    Te ha servido esta información y quieres que siga aportando más contenido gratuito y de calidad. Podrias invitarme un Café y ayudarme a seguir pagando los servidores del sitio web.
    👉 Invitar un Café a Sergio: bit.ly/2VqAdSX ☕️☕️☕️
    __________________________________________________________________

ความคิดเห็น • 124

  • @SergioACGiraldo
    @SergioACGiraldo  5 ปีที่แล้ว +9

    ❤️ Curso de PIC: goo.gl/5riyKn
    💙 Curso de ARDUINO: bit.ly/2q7Ln1c
    🧡 Curso de MATLAB: bit.ly/2AtFZvr
    😱 Como ser Experto en PIC en 7 Días 👉 bit.ly/2OTkNry

  • @davidgavilanes6868
    @davidgavilanes6868 2 ปีที่แล้ว

    Excelente Informacion Gracias a ud aprendi todo lo que me quedo dudas en las clases universitarias

  • @baar2321
    @baar2321 9 หลายเดือนก่อน

    Muchas gracias por tus videos!!

  • @alfonsoalfredocamacho8502
    @alfonsoalfredocamacho8502 7 ปีที่แล้ว

    Aprovecho Sergio para decirte que he visto otros videos y los tuyos son los mas didacticos gracias por tu ayuda y conocimientos que explicas bastante claro

  • @johnlenimanchenofreire9865
    @johnlenimanchenofreire9865 ปีที่แล้ว

    Gracias por compartir valiosa información, muy bien explicado.

    • @SergioACGiraldo
      @SergioACGiraldo  ปีที่แล้ว

      Gracias a vos John por tomarte el tiempo en comentar. saludos.

  • @marcostexoquipa6876
    @marcostexoquipa6876 2 ปีที่แล้ว

    Me ayudo mucho su video. Muchas gracias xD.

    • @SergioACGiraldo
      @SergioACGiraldo  2 ปีที่แล้ว +1

      Excelente Marcos, que bueno que el video te fue de utilidad. Saludos y muchos éxitos!

  • @sebastianrodriguez1506
    @sebastianrodriguez1506 2 ปีที่แล้ว

    Muchas gracias. Excelente profesor

    • @SergioACGiraldo
      @SergioACGiraldo  2 ปีที่แล้ว

      Gracias Sebastian, que bueno que te ha gustado. Saludos.

  • @saraemanuel1
    @saraemanuel1 7 ปีที่แล้ว +2

    excelente como siempre sergio

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Gracias Emerson. Un abrazo grande para vos.

  • @bayron1251
    @bayron1251 5 ปีที่แล้ว

    gracias por toda la información que nos brinda severo dios lo bendiga....

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      de nada Bayron, que bueno que te haya servido. Saludos!

  • @ubaldoserraldemartinez4172
    @ubaldoserraldemartinez4172 2 ปีที่แล้ว +1

    excelente viedo. tendrás al gun video de como conectar un encoder fisicamente a un motor dc?

  • @anthonyinostroza3433
    @anthonyinostroza3433 5 ปีที่แล้ว

    Tremendo capo, bravo

  • @EduardoKnight
    @EduardoKnight 7 ปีที่แล้ว

    Hola excelente video me ha ayudado bastante, una duda si podrías resolverla, cómo hacer un control PID de posición de un motor con encoder, cómo obtener la función de transferencia? Muchas gracias ! excelentes aportaciones las que haces

  • @adolfooteroanton2106
    @adolfooteroanton2106 4 ปีที่แล้ว

    Hola Sergio. Es un gusto siempre ver tus videos pues aprendo y reafirmo mis conocimientos. Bien en este video me surge una duda en cuanto a la explicación del código referente a el flanco programado. En la programacion pones flanco de subida pero explicas como flanco de bajada. ¿Estoy entendiendo mal la programación del Pic? Por tu atención de antemano te agradezco saludos.

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว

      Hola Adolfo, disculpa, fue un error al momento de hacer el video. En el sitio web siempre está toda la información actualizada, dale un vistazo que allá está corregido. Saludos.

  • @dragon81454
    @dragon81454 3 ปีที่แล้ว

    No está el código en lenjuage ensamblador

  • @videoszolution5380
    @videoszolution5380 ปีที่แล้ว

    Sergio cordial saludo. Estoy tratando de hacer esta programacion con el pic12f1822 y este tiene CCP1 en 2 pines RA0 y RA5, podrias por favor decirme como lo configuro para determinado pin, gracias.

  • @entregallinas
    @entregallinas 6 ปีที่แล้ว +1

    buen sensei

  • @JL-ek9mi
    @JL-ek9mi 3 ปีที่แล้ว

    Buenas tardes Sergio, sobre este circuito tengo una duda, el modelo de PIC, usted lo elaboro o esta dentro de los modelos de Proteus, le comento ya que hace días soy su seguidor, corrí este archivo desde Proteus y el PIC 16F877 no corrió, lo intente con su archivo (bajándolo) y corre de 10, sabría usted decirme que sucede, por favor, por otro lado felicidades, amigo es usted un genio, tiene un Don, un fuerte abrazo desde México.

  • @israelsanchez8750
    @israelsanchez8750 5 ปีที่แล้ว +1

    ¿Cómo saber si esta girando hacia adelante o hacia atrás?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว +1

      La respuesta está en el minuto 7:47 dale click para que te lleve al momento exacto.

    • @israelsanchez8750
      @israelsanchez8750 5 ปีที่แล้ว

      @@SergioACGiraldo pero en este caso se deberia meter la segunda señal del encoder, para esto se necesitaria otra interrupcion externa?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      Vas a tener que habilitar la interrupción externa por pines rb4-rb7 para conectar los otros motores y tendrás que programar que solo lea el flanco de bajada. Con un if (bit_test(portb,4)==0) dentro de la interrupción lo puedes lograr.

  • @joseeduardosanchezsalazar7200
    @joseeduardosanchezsalazar7200 6 ปีที่แล้ว

    excelente vídeo ingeniero !!!!! siempre es grato aprender de usted, tengo unas dudas.
    ¿¿¿como puedo habilitar mas de 1 interrupción en el PIC 18F4550???, ya que requiero controlar 2 motores.
    y la corrección en cuanto a la precision de la velicidad, ¿¿ como se puede mejorar??

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว +1

      Hola Jose, visita el blog que alli coloque las interrupciones del 16f887 que son parecidas a las del 18f4550. wp.me/p5P46A-4f Vas a tener que habilitar la interrupción externa por pines rb4-rb7 para conectar los otros motores y tendrás que programar que solo lea el flanco de bajada. Con un if (bit_test(portb,4)==0) dentro de la interrupción lo puedes lograr.
      Para llamar varias interrupciones desde el main:
      enable_interrupts(int_EXT); //Activa interrupcion por RB0
      enable_interrupts(int_RB); //Activa interrupcion por RB4-RB7
      enable_interrupts(global); //Habilita interrupciones de forma global
      y creas las funciones globales para cada una
      #INT_EXT
      .
      .
      .
      #INT_RB
      .
      .
      .
      Saludos

    • @joseeduardosanchezsalazar7200
      @joseeduardosanchezsalazar7200 6 ปีที่แล้ว

      excelente!!! muchs gracias por sus aportaciones, buen dia y gracias !!!!!!!!

  • @jorgeorlandomirandanahui1977
    @jorgeorlandomirandanahui1977 7 ปีที่แล้ว

    muchas gracias broh esta muy buenos tus videos ,si quiero identificar a ese motor como una planta y obtener su funcion de transferencia , que criterio sobre el tiempo de muestreo debo tener en cuenta ,

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      La mismas que hemos hecho. Debes estimular el sistema y ver la velocidad de respuesta. Obtener la constante de tiempo y puedes por ejemplo dividir esa constante de tiempo por 20, ya eso te dará un criterio del periodo de muestreo a utilizar.

  • @Ventedtax0
    @Ventedtax0 4 ปีที่แล้ว

    hola queria saber el diodo de que tamaño es??

  • @oscarmora9914
    @oscarmora9914 7 ปีที่แล้ว

    Hola, Felicidades por tu video, muy pero muy bien explicado, de hecho me surgió una duda que espero me puedas resolver.
    Tengo una maquina con dos motores, que se sincronizan a mano (apagando y prendiendo el del producto final).
    Si yo quisiera contar las vueltas del motor primario con un sensor óptico y contar las vueltas del secundario con un sensor magnético.
    Necesito DOS interrupciones externas, una interrupción de subida y la otra de bajada.
    Como configuro esto en un PIC16F88 ?, Se puede? o necesito dos pic's? o como?
    Porque todos hablan de UNA interrupción, pero no he encontrado quien hable de DOS O MAS. Seria interesante.... :)
    SALUDOS
    P.D.
    Visite su pagina, muy bien armada y muy profesional, pero tiene errores en la redacción (ojo).

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Hola Oscar, para eso necesitaras los 2 pics, pues solo cuentas con una interrupción externa. Otra forma es utilizar otro pic, uno de la familia 18 por ejemplo el pic18f4550, ese cuenta con 3 interrupciones externas.
      Gracias por el comentario, soy conciente de los errores ya me lo han dicho, jeje, es por causa de vivir en Brasil por tantos años el portugues extragó mi español. Pero voy a intentar tener más cuidado. Saludos.

    • @oscarmora9914
      @oscarmora9914 7 ปีที่แล้ว

      Ok... entonces el pic18f4550, voy a investigas sobe ese pic para hacer la practica, a ver como me sale, espero que bien y si tubiera alguna duda..... pues te estaré molestando.
      Muchas gracias por compartirnos de tu conocimiento.
      FELICIDADES.
      Y GRACIAS......
      P.D.
      Lo de tu pagina .... Todo muy bien, solo son detalles.... pero todo muy bien.
      :)

  • @ANTONIOSTAR
    @ANTONIOSTAR 5 ปีที่แล้ว

    Muy Bueno, como adicionar um botão para inverter o sentido do motor?

  • @osmarluna3843
    @osmarluna3843 4 ปีที่แล้ว

    Como podría implementar este programa pero en lenguaje ensamblador?

  • @marcelalopez4407
    @marcelalopez4407 4 ปีที่แล้ว

    Hola, excelente video, me sirvió para mi proyecto, pero tengo una pregunta, ¿ hay alguna manera de poder agregar una banda para poder indicar la posición?

    • @marcelalopez4407
      @marcelalopez4407 4 ปีที่แล้ว

      Tambien me gustaria saber si hay alguna forma de invertir el giro del motor

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว

      @@marcelalopez4407 No entiendo a que te refieres con una banda. Una de las formas de medir la posición de forma eléctrica es con el encoder, tal vez con una banda te refieras a algo mecánico acoplado al motor? También podrías acoplarle un potenciometro lineal y medir la resistencia, claro evitando que el motor gire continuamente.
      Para cambiar el giro del motor, puedes usar un Puente H.

  • @dayanagonzalezsanchidrian2149
    @dayanagonzalezsanchidrian2149 2 ปีที่แล้ว

    Hola, Sergio. Quisiera saber cuál es el último video del curso de microcontroladores PIC. ¿Es el número 55 de la lista de reproducción de TH-cam o hay otros videos en algún otro sitio web? Muchas gracias de antemano.

    • @SergioACGiraldo
      @SergioACGiraldo  2 ปีที่แล้ว

      Dayana por ahora es hasta el número 55, más adelante seguiré colocando más videos.

  • @henriqueamorim7605
    @henriqueamorim7605 2 ปีที่แล้ว

    A las 16:43 abriste una ventana de Proteus, ¿cómo llegaste a ella?

    • @SergioACGiraldo
      @SergioACGiraldo  2 ปีที่แล้ว

      Eso es cuando cargas el programa en el PIC, en lugar de cargar el .hex, cargas el otro archivo que es mas pesado. Así cada vez que le des pause a la simulación te aparece la ventana con el código del pic

  • @lugoxy1597
    @lugoxy1597 4 ปีที่แล้ว

    Buenas , soy nuevo en esto y estoy tengo disponible un Dspic33, servira la misma analogia? se q el codigo cambia pero no se si servira o es diferente. saludos

  • @almamg1365
    @almamg1365 7 ปีที่แล้ว

    Hola, excelente video... solo una duda para probar el codigo en otro Pic basta con cambiar entradas y salidas en el código o hay alguna función especial?

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Generalmente es solo cambiar el encabezado, colocando la libreria del PIC que vas a trabajar. Y colocar la dirección de memoria de los puertos. Puede que algunos fusibles no existan en determinados PICs por lo tanto debes borrarlos tambien.

  • @michaelsantafe7117
    @michaelsantafe7117 5 ปีที่แล้ว

    como hago para medir las rpm sin encode... con un optocoplador?

  • @sebasA
    @sebasA 5 ปีที่แล้ว

    si inicializo otra entrada de datos, las interrupcion no se haria tambien por ejemplo cuando active la otra entrada?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      Hola Sebastian, visita el blog que alli coloque las interrupciones del 16f887: wp.me/p5P46A-4f Vas a tener que habilitar la interrupción externa por pines rb4-rb7 para conectar los otros motores y tendrás que programar que solo lea el flanco de bajada. Con un if (bit_test(portb,4)==0) dentro de la interrupción lo puedes lograr.

  • @andressaucedoguadian7932
    @andressaucedoguadian7932 3 ปีที่แล้ว

    el video es muy pero muy bueno, el problema que tengo e que cuando quiero modificar la programacion, ya no me velve a correr siendo que solo le quite la multiplicacion por 60/10 y ademas aun que nada más compile el mismo archivo en c por curiosidad ya no me vuleve a trabajar el circuito, que pued hacer?

    • @SergioACGiraldo
      @SergioACGiraldo  3 ปีที่แล้ว +1

      Hola Andres, ya te había respondido en el sitio web. Yo probé el código en mi computador, compilé de nuevo y a mi me está funcionando perfectamente. Borré la multiplicación y sigue funcionando. Que versión del CCS estás usando? Mi version del CCS C es la 5.076. Saludos

    • @andressaucedoguadian7932
      @andressaucedoguadian7932 3 ปีที่แล้ว

      @@SergioACGiraldo creo entonces ha de ser el compilador, estoy usando el PIC c compiler, supongo que es por eso que no e corre el programa

    • @SergioACGiraldo
      @SergioACGiraldo  3 ปีที่แล้ว

      Si es el mismo. Pic c ccs c.

    • @andressaucedoguadian7932
      @andressaucedoguadian7932 3 ปีที่แล้ว

      @@SergioACGiraldo aa entonces es la versión 4.1 crees que sea por eso?

  • @luismaravilla2555
    @luismaravilla2555 4 ปีที่แล้ว +1

    Hola buen proyecto, disculpa yo no cuento con el programa donde se hace el codigo pero si tengo proteus y me gustaria utilizarlo para simular un proyecto, podrias pasar el .hex para ponerlo en mi proteus porfavor :3

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว +1

      Está en el sitio web para descarga: wp.me/p5P46A-4f

    • @luismaravilla2555
      @luismaravilla2555 4 ปีที่แล้ว

      @@SergioACGiraldo Muchas gracias ya pude :D

  • @luisjeraldyramosmunoz6133
    @luisjeraldyramosmunoz6133 5 ปีที่แล้ว

    Hola, buen video, una pregunta, esto me sirve para un motor bruhsless y su control de velocidad?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      no, para eso la mejor opción es conseguir un ESC para regular el brushless

  • @estudianteelectrico6728
    @estudianteelectrico6728 6 ปีที่แล้ว

    Olá Sergio . Somente hoje eu consegui entender a contagem do numero de pulsos para calcular a velocidade. Minha duvida era a seguinte: a cada interrupção do timer2 ocorrida pela mudanca de nivel de sinal vindo do encoder do motor, a variável pulso incrementa e vai subindo até atingir 65535. Porém o programa le o numero de pulsos em apenas 1 segundo. a cada segundo é lido o numero de pulsos. Um detalhe o timer2 possui um overflow de 996us ou 0,996 segundo. Overflow = PR2 * Ciclo maquina* Prescaler* Postscaler. Obrigado novamente.

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Olá estudante elétrico tudo bom!!! Eu não entendi muito a tua dúvida mas vamos lá. No exemplo deste video, a gente não utilizou o Timer2. A gente utilizou a interrupção externa por o pino RB0. Ou seja que cada que o pino RB0 deteta um flanco de descida ele entra na interrupção. Ai eu criei um contador que ele vai fazendo a conta do numero de flancos de descida do encoder do motor. Só que para fazer o calculo da velocidade eu preciso saber o tempo, por isso eu coloco um delay de quase 1 segundo. Enquanto o PIC está no delay ele só esta entrando na interrupção e fazendo a contagem. Uma vez o delay passa, o PIC vai ver quantos pulsos ele conseguiu pegar e faz o cálculo da velocidade e zera nuevamente o contador para repetir o processo novamente.

  • @vladimirmendez2721
    @vladimirmendez2721 4 ปีที่แล้ว

    Buenas noches Ingeniero, disculpe una consulta. Logré realizar un tacometro usando timer0 y el pin6 T0CKI , ahora quiero hacer un pwm con el pin2 AN0 como el de su video, pero me da error en sAN0, uso el pic16f877a, como podría hacerlo?

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว +1

      Hola Edson, el 16F877A no admite el sAN0, tienes que quitar el "s" y colocarlo así: AN0. No entendí si quieres hacer un PWM en el pin 2??? Ese PIN No es de PWM. Los pines de PWM son el RC1 y RC2 pines 16 y 17 respectivamente. Saludos.

    • @vladimirmendez2721
      @vladimirmendez2721 4 ปีที่แล้ว

      @@SergioACGiraldo gracias por la pronta respuesta ingeniero, repliqué su video de medir RPM pero con timer0 y con el pic16f877a quiero configurar en AN0 el potenciómetro y en TOCKI el generador de pulsos, pero el programa no me funciona

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว

      Tienes que ver que error te marca, por lo menos ya pudiste quitar el primer error que era el sAN0. Debes empezar por partes, primero que te haga la conversión ADC, luego piensas en hacer el pulso con el timer. Acá en el canal hay un video donde hicimos un tren de pulsos con el timer 0, en esa ocasión lo hicimos para controlar un servomotor, quizas te pueda servir.
      th-cam.com/video/luOaSZSaar8/w-d-xo.html

  • @TheAgustin1991
    @TheAgustin1991 6 ปีที่แล้ว

    que me puedas ayudar a hacer unos programas que no entiendo porfa??

  • @jhonny4036
    @jhonny4036 7 ปีที่แล้ว

    Buenas Noches
    Sergio una gran pregunta con respecto a este vídeo.
    ¿Cómo saber si esta girando hacia adelante o hacia atrás?
    En realidad estoy haciendo un contador de vueltas, pero solo cuenta hacia adelante y quiero implementar que al invertir el sentido de giro empiece a restar las vueltas que lleva.

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Para implementar lo del sentido de giro, tienes que usar otra señal de encoder, así como lo tiene el componente del proteus como lo explique en el video, puedes dar un vistazo a la ayuda en el proteus del componente que explica bastante bien. Si un encoder está en nivel alto, el otro estará en nivel bajo y viceversa, así sabrás el sentido en que está girando el motor.

  • @javiercodutti7667
    @javiercodutti7667 6 ปีที่แล้ว

    Hola Sergio!!!, muy bueno tu video, solo queria preguntarte como puedo utilizar el PWM y el encoder para que gire a una cierta velocidad y se mantenga constante sin utilizar el potenciometro. De otra manera, quiero poder programar la velocidad a la quiero que gire el motor y que se mantenga constante. Desde ya muchas gracias!!!

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Hola Javier, para dejar fija la velocidad solo debes declarar el "set_pwm1_duty(X);" donde la X la reemplazas por un numero del 0 al 1000. Siguiendo la configuración del video. Siendo 1000 la máxima velocidad y 0 velocidad nula.

    • @javiercodutti7667
      @javiercodutti7667 6 ปีที่แล้ว

      Muchas Gracias Sergio!! Voy a seguir tus pasos, gracias por responder, lo que quiero hacer seria mas un PID que juato encontre en otros videos tuyos, un abrazo grande!!

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Excelente Javier, es solo seguir los videos de PID de mi canal. Abrazos.

  • @Jorg0996
    @Jorg0996 7 ปีที่แล้ว

    Hola buenas noches, antes que nada muchas gracias por compartir tan buena información, tengo una duda ojalá me puedas apoyar, si quisiera ocupar el otro pulso que me da el encoder para determinar su posición como lo puedo conectar si solo cuento con solo una interrupción externa ? Saludos y muchas gracias por el aporte

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Hola Jorge, no entiendo bien, si capturas los pulsos ya puedes saber la posición, sin necesidad de utilizar otra señal, en este ejemplo podemos saber la posición, yo simplemente tome esa posición y con base en el tiempo consegui la velocidad, no necesitarias otro señal para eso. Con este pic no consigues usar otro señal pues no cuentas con mas interrupciones externas, podrias intentar con interrupciones por cambio de estado RB4-Rb7 pero no estoy seguro si funciona, nunca lo he hecho. En un caso asi la recomendación es usar un pic de la familia 18. Esos pics manejan creo hasta 3 interrupciones externas. Saludos.

    • @Jorg0996
      @Jorg0996 7 ปีที่แล้ว

      Sergio Castaño hola muchas gracias por responder, me refería al sentido de giro, saber si está en un sentido horario o anti horario, así ocupar los dos pulsos que me da el encoder pero como podría emplearlos con solo una interrupción ?

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Jorge, lo mejor es que uses otro pic, por ejemplo el 18f4550, ese pic cuenta con 3 interrupciones externas. Saludos.

    • @Jorg0996
      @Jorg0996 7 ปีที่แล้ว

      Sergio Castaño muchas gracias Sergio lo pondré en practica EXCELENTES VIDEOS

  • @juampyhdr5966
    @juampyhdr5966 4 ปีที่แล้ว

    Excelente video amigo, pero tengo una duda. Si llego a una velocidad de 100RPM, 200RPM y 500 RPM en vez de utilizar el LCD y utilizar solo luces LED Verde, Amarillo y Rojo. ¿Como puedo realizar la programación? Gracias.

    • @SergioACGiraldo
      @SergioACGiraldo  4 ปีที่แล้ว

      Con condicionales y activando y desactivando las salidas digitales del PIC. Saludos.

  • @yairettien3974
    @yairettien3974 5 ปีที่แล้ว

    Hola disculpa al momento de implementarlo no me agarra el potenciometro para controlar la velocidad, ayúdame ploxx

  • @chrisguerrero6679
    @chrisguerrero6679 7 ปีที่แล้ว

    Amigo y si quisiera usar un puente h en vez del mosfet, cambiaria en algo la programacion del pic?

    • @soniamartinez1576
      @soniamartinez1576 6 ปีที่แล้ว

      Chris Guerrero no nada la salida del pwm osea el ccp1 lo conectas al enable de un l239d

  • @user-yomero
    @user-yomero 5 ปีที่แล้ว

    Hola en que programa esta hecho?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      El programa está hecho en PIC C Compiler y la simulación en Proteus.

  • @fernandofraga1505
    @fernandofraga1505 6 ปีที่แล้ว

    En caso de querer hacerlo con una fuente externa que se usaria para evitar el uso de relés. Seria triac u optó acoplador?

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Fernando no entendi la pregunta. Para el circuito se usa una fuente externa que alimenta el microcontrolador PIC y alimenta el circuito de potencia conformado por el Mosfet y el Motor. En el circuito no hay ningún relé. Saludos.

    • @fernandofraga1505
      @fernandofraga1505 6 ปีที่แล้ว

      Sergio Castaño solo quiero saber cómo sería la aplicación con una fuente de alimentación externa para el motor

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Ok Fernando, seria la fuente, conectada al motor con un diodo en paralelo para evitar las corrientes inversas, conectada al mosfet, conectada a tierra. Mira en el video en el minuto 6:52 sale el circuito. Si observas verás un triangulo de color Azul, ese triangulo es la fuente de alimentación externa que tu quieres colocar. Saludos.

  • @legendario340
    @legendario340 5 ปีที่แล้ว

    hola, estoy usando el pic18f452 con un cristal de 10 Mhz ya agregue la librería del micro y le coloque HS en fuses, pero me genera error en la linea 31, undefined identifer, que puede ser, ayuda x favor

  • @jessicacrispinvillalva3853
    @jessicacrispinvillalva3853 4 ปีที่แล้ว

    como podria modificarlo a km/h?

  • @emelyjose
    @emelyjose 7 ปีที่แล้ว

    hola buenas noche amigo sergio... sergio si lees este mensaje me gustaria tu respuesta en cuanto a una ayuda, y pues, asi nos ayudas a todos los interesados con respecto al mismo tema...
    podrias realizar un tutoria...un manual...o un video de como realizar una libreria en ccs pic que no exista. en especial la de comunicacion I2c . la motiva a esta solicitud es que tengo ya un buen tiempo queriendo realizar un proyecto de incubadora de huevos de haves, pero la verdad es que no consigo leer una temperatura estable con el lm35... y pues me gustaria implementar en especial el adc mcp3421 por su tamaño que posee mayor resolucion de lectura .
    te escribo por estre medio por que no se por donde mas contactar contigo. gracias y pues espero puedas ayurame segun dispongas tiempo...gracias

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Hola emelyjose, el tutorial N°17 hace justamente eso, aqui explico como hacer librerias para 3 dispositivos. El tutorial 17 es justamente sobre comunicación i2c y cuenta con 2 videos. Espero te sirva, te dejo aqui el link:
      controlautomaticoeducacion.com/18-comunicacion-i2c/
      Te dejo adicionalmente la lista de reproducción de todo el curso de microcontrolaores:
      th-cam.com/play/PLF-qcfymUY4VvPaoquGoQ5auW_n968P4N.html
      Saludos.

    • @emelyjose
      @emelyjose 7 ปีที่แล้ว

      sergio muchas gracias, dejame ver los videos.... en cuanto adelante el programa te lo comparto para que me des tu opinion ...ya que esto lo estoy haciendo con conocimiento empirico . gracias

  • @juanpirpoca
    @juanpirpoca 7 ปีที่แล้ว

    Gracias Sergio , ¿se podría usar un encoder externo de 2500 ppv , 5 v ?

    • @SergioACGiraldo
      @SergioACGiraldo  7 ปีที่แล้ว

      Yo diria que si, simplemente colocar el tren de pulsos en la interrupción externa que es bastante rápida y precisa no deberias tener problema.

    • @juanpirpoca
      @juanpirpoca 7 ปีที่แล้ว

      Como siempre muy buenas tus clases. gracias

  • @soniamartinez1576
    @soniamartinez1576 6 ปีที่แล้ว

    Lo puedo configurar para que me trabaje con el 18f4550

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว +1

      Si, es solo cambiar el encabezado:
      #include
      Y las direcciones de memoria de los puertos:
      #byte porta = 0xf80 // Identificador para el puerto A.
      #byte portb = 0xf81 // Identificador para el puerto B.
      #byte portc = 0xf82 // Identificador para el puerto C.
      #byte portd = 0xf83 // Identificador para el puerto D.
      #byte porte = 0xf84 // Identificador para el puerto E.

  • @jcelectronicaytelecomunica9805
    @jcelectronicaytelecomunica9805 4 ปีที่แล้ว

    15:30 se Lee el flanco de subida L to H

  • @juancabascangob6353
    @juancabascangob6353 5 ปีที่แล้ว

    Disculpa como encuentro ese cono azul que esta encima del motor?

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      Eso es la fuente de alimentación de 12VDC, puedes reemplazarlo por un vsource o simplemente puedes colocar esa punta azul buscandola en la parte izquierda donde hay una onda sinosuidal que dice "generator mode" colocas el DC, y lo configuras a 12V

    • @juancabascangob6353
      @juancabascangob6353 5 ปีที่แล้ว

      Gracias @@SergioACGiraldo

  • @wilsonfabiandiazmartinez1968
    @wilsonfabiandiazmartinez1968 6 ปีที่แล้ว

    Amigo en la vida real que tipo de motor puede ser

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Wilson lo puedes usar en cualquier motor. Ya venden motores con el encoder integrado, o tu mismo podrías adaptarle el encoder a tu motor. Saludos.

  • @josephvelasquez4852
    @josephvelasquez4852 5 ปีที่แล้ว

    una consulta! cuando corro el programa me sale error, que hay mucha carga en la pc y nno esta corriendo a tiempo real y el resultado que me bota es 0 porque no lee ni un flanco de bajada! ya que en ese tiempo aun no se mueve el encoder! como podria arreglarlo! lo hice con PIC 16F877A!

    • @SergioACGiraldo
      @SergioACGiraldo  5 ปีที่แล้ว

      Lo del tiempo real es una advertencia del proteus, sin embargo te debería ejecutar el código solo que un poco mas lento.

    • @josephvelasquez4852
      @josephvelasquez4852 5 ปีที่แล้ว

      ya vi mi error! no se porque mi proteus esta mal! no compila algunas cosas y si lo hace lo hace con error! no se si sea mi proteus o mi lpatop pero no es el codigo! gracias por responder! Mas bien si tienes alguna solucion para lo que me esta pasando seria xvr!! instale otros proteus y sigue sin funcionar! no se que pueda estar pasando!

  • @mariosaenz4075
    @mariosaenz4075 7 ปีที่แล้ว +1

    hola yo leo las dos señales del encoder para saber en que dirección se movió y el tercer pin yo lo utilizo para saber a que RPM tiene el motor donde puedo subir el programa para que lo descarguen..... lo realice es CCS compiler

    • @victorlopez4805
      @victorlopez4805 6 ปีที่แล้ว

      Hola disculpa me interesa tu proyecto podrias compartirmelo por favor

    • @soniamartinez1576
      @soniamartinez1576 6 ปีที่แล้ว

      Compártelo wfdiaz59@misena.edu.co

    • @wylseb5180
      @wylseb5180 6 ปีที่แล้ว

      De cuanto son las resistencias

  • @fernandofraga1505
    @fernandofraga1505 6 ปีที่แล้ว

    Para una aplicación real como seria la fuente de poder?

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Hola Fernando, en una aplicación real necesitarás que tu fuente entregue 5V DC para alimentar el microcontrolador y que entregue el voltaje para el motor. En el ejemplo, el motor es de 12V DC, entonces tu fuente necesita entregar 5V DC y también 12 V DC. Saludos.

    • @fernandofraga1505
      @fernandofraga1505 6 ปีที่แล้ว

      Sergio Castaño y cual sería el máximo voltaje que soportaría este MOSFET

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      El Mosfet aguanta unos 55V segun el Datasheet. Saludos.

  • @estudianteelectrico6728
    @estudianteelectrico6728 6 ปีที่แล้ว

    Amigo, estoy empezando a programar. Tengo una duda. tengo un kit de estudio con un PIC16F877A y sólo un pin libre, el RC0. Es posible utilizar la iteración del timer1, conectando la señal de un sensor óptico H21A1 en el perno RC0, configurado para T1CK1, leer las muñecas del timer1 por el recuento de los pulsos del sensor óptico, y así conocer la velocidad? Este vídeo th-cam.com/video/-vAxXwLKzkI/w-d-xo.html muestra el sensor que quiero utilizar. Gracias.

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Olá Estudante Elétrico. Realmente o mais recomenável é utilizar a interrupção externa, mas como vc só tem livre o RC0 talvez funcionaria sim, lendo os pulsos do sensor óptico. Mas na tua plaquinha de estudo o que vc tem ligado na porta RB0 e nas RB4-RB7? Eu nunca testei o projeto sem interrupções mas eu acredito que a gente consiga fazer sim, é só fazer o ensaio e experimentar. Qualquer dúvida é só perguntar. Abs.

    • @estudianteelectrico6728
      @estudianteelectrico6728 6 ปีที่แล้ว

      Beleza Sergio, obrigo pela atenção e ajuda. Vou tentar fazer o código aqui. Inicialmente nao vejo problema, pois a interrupcao le o sinal do encoder e faz uma variável contar a cada pulso, ou seja estara lendo os pulsos e incrementando a variavel. Isto pode ser feito com o T1CK1 configurado, ou seja estara tambem lendo os pulsos e incrementando o timer. Vou tentar assim até ter uma nova placa, melhor com mais funcionalidades. Já fiz um teste e contou manualmente, porem ainda não utilizei um motor. Estou trabalhando nisto agora.
      Em CNC's como pode um microcontrolador controlar as leituras simulataneas de 4, 5, 6, 7 encoders de eixos ao mesmo tempo? Será que projetam para trabalhar vários microcontroladores simultaneamente?

    • @SergioACGiraldo
      @SergioACGiraldo  6 ปีที่แล้ว

      Olá Estudante Elétrico, agora que li bem, vc está usando o timer 1 para contabilizar os pulsos. Perfeito!! é uma boa forma de levar a contagem e calcular a velocidade do motor. Ela funciona bem porque vc pode configurar a interrupção por timer1. O importante na leitura da velocidade de motores é fazer ela com alguma interrupção para evitar perder pulsos quando eles acontecerem. No caso da CNC, elas são feitas com motores de passo, e é possível fazer a contagem de passos para saber a posição dos eixos. Também são empregados chaves de fim de curso para maior segurança. Sucessos com teu projeto. Grande abraço.

    • @estudianteelectrico6728
      @estudianteelectrico6728 6 ปีที่แล้ว

      Valeu Sergio, muito obrigado pelas respostas e ajuda nas duvidas. Estou acompanhando seu canal. Abraço.

  • @SergioACGiraldo
    @SergioACGiraldo  6 ปีที่แล้ว

    Para obtener el Código Visita: wp.me/p5P46A-4f
    Link PWM: wp.me/p5P46A-9d
    Manejo de LCD: wp.me/p5P46A-4M
    Lista de Reproducción del Curso Completo: goo.gl/5riyKn