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

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

КОМЕНТАРІ • 124

  • @SergioACGiraldo
    @SergioACGiraldo  6 років тому +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

  • @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 2 роки тому

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

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

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

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

    Muchas gracias por tus videos!!

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

    Muchas gracias. Excelente profesor

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

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

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

    excelente como siempre sergio

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

    Me ayudo mucho su video. Muchas gracias xD.

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

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

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

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

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

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

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

    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

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

    Tremendo capo, bravo

  • @ubaldoserraldemartinez4172
    @ubaldoserraldemartinez4172 2 роки тому +1

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

  • @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.

  • @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.

  • @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

  • @JL-ek9mi
    @JL-ek9mi 4 роки тому

    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.

  • @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

  • @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

  • @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.

  • @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 !!!!!!!!

  • @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 3 роки тому

    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 UA-cam o hay otros videos en algún otro sitio web? Muchas gracias de antemano.

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

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

  • @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.

  • @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

  • @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

  • @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.

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

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

  • @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

  • @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.

  • @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.

  • @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.

  • @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.
      ua-cam.com/video/luOaSZSaar8/v-deo.html

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

    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  4 роки тому +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 4 роки тому

      @@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  4 роки тому

      Si es el mismo. Pic c ccs c.

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

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

  • @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

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

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

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

    buen sensei

  • @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:
      ua-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

  • @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.
      :)

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

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

  • @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.

  • @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

  • @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.

  • @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

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

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

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

      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 6 років тому

      Gracias @@SergioACGiraldo

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

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

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

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

  • @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.

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

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

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

    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  6 років тому

      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 6 років тому

      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!

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

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

  • @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.

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

    No está el código en lenjuage ensamblador

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

    como podria modificarlo a km/h?

  • @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.

  • @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

  • @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 ua-cam.com/video/-vAxXwLKzkI/v-deo.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.

  • @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.

  • @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.