TIMER 1 modo PWM 🔥 frecuencia 2, 5 y 10 KHz 💥 ARDUINO con Registros ATMega328P - tiempo MUERTO
Vložit
- čas přidán 20. 08. 2024
- En este video se explica como programar el Timer 1 en un Arduino Uno, pero accediendo a los registros del microcontrolador ATMega328P usando el manual, en modo PWM,, paso a paso. Ademas como simular en Proteus con un archivo .HEX. Frecuencias de 2, 5 y 10 KHz. PWM negada canal B, como inlcuir tiempo muerto.
¿Porque programar con registros?
Porque si lo programas directamente NO❌ puedes tener mucho control en Ancho de Pulso, Frecuencias exactas y en las aplicaciones REALES necesitas EXACTITUD.
💣TERMINA💣 con solo saber digitalWrite();
Revisa nuestras redes sociales:
✅ Facebook: cutt.ly/Facebo...
✅ Instagram: cutt.ly/InstaWolf
✅ Tienda Online: cutt.ly/Tienda...
✅ Correo electrónico: info@wolfelectronics.net
#Arduino #Registros #atmega328p #robotica #sensores #hex #proteus #PWM #Timers #frecuencia
Excelente forma de explicar , haces ver mas sencillo. Espero sigas compartiendo sus conocimientos de manejo de registros. Gracias
El video el bueno. En mi caso, no obtenía ninguna salida por el pin determinado (D9), a pesar del tener el código igual. Luego de muchos intentos, probé agregar la línea "pinMode (9, OUTPUT)" en el "void setup" y el problema se corrigió. Aun así, buen video.
Tenía el mismo problema, muchas gracias.
Wow tengo buen rato buscando sin poder entender y en este video lo entendi full Hey muchas gracia!
EXCELENTE CONTENIDO AMIGO ESPERO QUE SIGAS COMPARTIENDO MAS CONTENIDO SERIA GENIAL APLICAR ESTO EN LOS PROYECTOS QUE MENCIONAS
exelente explicacion y muy entendible clara y presisa gracoas por el aporte saludos de matamoros tamaulipas mexico saudos
Super esta genial estaré atento al próximo video💯
Muito bom seu video amigo, @arduinomaquinas agradece e compartilha ❤😉👍👏👏👏
Excelente explicación profesor, lo felicito por ser experto en la materia y manejar a la perfección la ejecución de la temporización y el lenguaje assembler. Me gustaría me aclarará unas dudas, si utilizo la temporización sin inversión para trabajar con una etapa de potencia, no necesitaría igualmente conectar diodos de protección para evitar cualquier tipo de inversión de corriente?, o con está configuración es suficiente para mi segunda etapa?,gracias de antemano.
genial men, estaba programando el pwm por el modo PWM_Fast y no me daba, aplique este modo y me resulto solo que tuve que usar otro preescaler ya que ese de Fclk/1 no me va bien en el proteus asi que usae la de 1024 y me dio muy buenos resultados, incluso no use interrupcioes. haa y un dato muy importante, si no pongo el registro DDRB = 0B00000010; NO FUNCIONA ya que dice que el pin digital tiene que ser salida.
Si es verdad se debe declarar a los pines OC1A y OC1B como salidas. Claro también se puede hacer con el modo fast PWM pero no te permite controlar la frecuencia. Solo el ciclo de trabajo.
Excelente tutorial, cuando subirán el próximo tutorial???
Gracias amigo, @arduinomaquinas subscrito 🇧🇷😉👍👏👏👏👏👏
HOOO GENIAL MEN LO ESTABA ESPERANDO JAAJAJJA ERES EL MEJOR (Y) AVER ESE NIVEL
Ayudanos compartiendo para que más personas sepan, que NO solo existe el digitalWrite();
Muy buen video y explicación. Esperando el próximo!!
Gracias por tu comentario. Nos incentiva a seguir compartiendo contenido y a mejorar. Si te gustaría un video de algún tema dejarnos un comentario.
@@wolfelectronics6063 soy electrónico de la vieja escuela, cuando se programaba los Motorola HC908JK1, así que esto de Arduino es relativamente nuevo para mí. Estoy aprendiendo poco a poco. Saludos!!
espero la continuacion del video con ansias
Se agadece gracias por el tutorial saludos de peru
Que buena explicación (en chino) la voy a volver a ver cuando lo aprenda
buenas tardes excelente tu video quisiera contactarte para unas consultas que tengo sobre ese pwm que generaste
muy buen video, aunque tengo un par de dudas en cuanto al valor de la frecuencia ya que no tiene en cuenta la resolución del adc, si no solo el del prescaler
Muy interesante el video, sobre todo para los que queremos avanzar un poco más allá en la programación. Imagino que el objetivo del video es didáctico, pero entonces no entiendo porqué explicas tan rápido, si es para que el vídeo se vea muchas veces por una misma persona, puedes estar seguro que consigues tu objetivo. Pero entonces el motivo didáctico no es lo principal, ya que entonces explicarías de forma más lenta e incluso repetirías las partes más importantes, o lo que tu considerarses más importante. No se nos debería exigir demasiado a los que queremos avanzar en la programación con Arduino, sobre todo si se va a utilizar otro lenguaje de programación como es el ensamblador, para ti tal vez no sea difícil entender un lenguaje de programación nuevo, de echo seguro que dominas varios, pero no es así para la mayoría de los mortales. Es más, puedo asegurar que la gran mayoría que recurrimos a youtube para aprender somos autodidactas y que no se nos pasó por la mente en la vida hacer una carrera universitaria de ingeniería informática.
Después de todo lo dicho, tengo que agradecerte con el corazón en la mano que intentes instruirnos para que avancemos en nuestros conocimientos sobre la programación en Arduino, así podremos abarcar proyectos más complicados y espero que sigas haciéndolo, aunque te pediría humildemente que bajaras la velocidad explicativas, si es necesario hacer dos vídeos sobre un tema, pues adelante, mejor así que estar pausando el vídeo continuamente para no perderte nada. De nuevo gracias.
Saludos Ingeniero
Por medio de la presente me podría indicar como obtengo una frecuencia eficiente para iluminación LED
en corriente directa
Agradeciendo su atención y apoyo, gracias
consulta,hay alguna diferencia si lo hago en arduino nano? porque lo probe tal cual el codigo pero no me anda,no tengo ninguna salida pwm en ningun puerto del arduino
Hola como estás, excelente video, muchas gracias.
Tengo una duda, me podrías ayudar por favor.
Estoy haciendo una lampara que se encienda y apague con sonido, aplausos o voz. Pero no sé como hacer para que se apague con un timer. Intenté con un delay pero me funcionó. Cómo podría integrar las dos cosas, agradecería tu ayuda.
Quedo atento. Muchas gracias.
y si quiero tener otros dos pares de pwm , como seria, pues en arduino tienen diferente frecuencia sus puetos pwm , podrias hacer un video así, con su tiempo muerto
Hola muy bueno el video. Quería comentarte y consultarte que estoy usando tu programa y anda bien . Pero no me deja usar un conversor(ads1115) que manda los datos por i2c al arduino. Puse en el loop una rutina que toma datos de ese sensor y da el valor medio. Pero no responde el ads1115 en cambio sin configurar la interrupcion en el setup si funciona la toma. Es una limitacion que tiene esta configuración o estoy haciendo algo mal? Gracias
buen video, podrias hacer un tutorial pero para el attiny85? aun me confunden eso de los registros
Pues a mi no me funciona ese codigo, lo he copiado tal cual y subido al arduino y en el osciloscoipo no sale ninguna PWM.
a mi tampoco quiero ver si alguien sabe algo
@@brayandanielduranflores87 Lo pudiste solucionar?
la forma en la que lo solucioné que tampoco me daba la salida PWM fue poniendo el led que tiene ahí al final del video con la resistencia y ya después de poner eso si me dio la señal PWM, alguno sabe porque?@@brayandanielduranflores87
Buenas, como se podria hacer para ejecutar una interupcion interna justo antes de que acabe el ciclo del pwm para hacer una lectura de un sensor hall. es para hacer un levitador electromagnetico, necesito hacer la medida siempre cuando el pwm pase por 0 si no las medidas se ven afectadas.
lo resolviste ?
@@yautomationjean No, el levitador lo tengo abandonado
exelente amigo.si necesitamos unos 20Khz que se puede hacer
Cambiar el prescalador para obtener la de 20KHz.
por que necesitas esa frecuencia en especifico ?? o para que la necesitabas ?
Por favor ayuda compile el programa igual al suyo pero no tengo ninguna salida en el pin 9, estoy usando Arduino uno, con cual Arduino funciona. Gracias
me pasa lo mismo
pero en arduino nano
lo probé con el Arduino UNO, me funciono
no me funciono, tengo el codigo tal cual esta en el video
@@yautomationjean
o serias tan amable de pasarlo @@yautomationjean
¿Se puede hacer esto mismo pero con una frecuencia de 25KHz?
Claro que si todo depende del prescalador
Claro que si, basta con modificar la frecuencia al valor deseado utilizando el registro ICR1 como se indica en el video. Puedes colocar la freqeuncia que desees para la PWM. Tu la configuras.
por que necesitas esa frecuencia en especifico ?? o para que la necesitabas ??