Tutorial PIC PWM, Código

  Рет қаралды 80,755

TutoElectro

TutoElectro

Күн бұрын

Si quieres ver el resto de vídeos ordenados visita nuestro blog.
Blog: www.tutoelectro.com
Twitter: TutoElectro

Пікірлер: 69
@danielcabas
@danielcabas 11 жыл бұрын
El video está sencillamente genial. No encontré uno que explicara tan bien. Yo solía tener la calculadora en mano para hacer todas esas fórmulas, pero me dí cuenta que el CCS lo hace todo por ti. Yo uso el PIC18F4550, tiene muchas cosas más que el que usas en el video pero en esencia son lo mismo. De verdad Muchas gracias
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@electromen100 Para controlar un servo es mejor que uses los timers o el modulo de comparación para generar la onda ya que para hacerlo con pwm o le pones un cristal externo se mñas baja frecuencia o bajas la frecuencia del pic lo suficiente para que puedas bajar a 50hz con el pwm pero yo te recomiendo lo primero. Saludos!
@carloszavarce8269
@carloszavarce8269 10 жыл бұрын
Perfecto!!!....Sobre todo la explicación del porque dividir entre 2 la lectura del adc
@Tutoelectro1
@Tutoelectro1 10 жыл бұрын
Gracias!
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
@callecuatro1976 No, solo tienes un ADC y se multiplexan las entradas... en cualquier caso leer dos entradas del adc en un pic normalito suelen ser menos de 100uS si mal no recuerdo para la serie 16
@Tutoelectro1
@Tutoelectro1 11 жыл бұрын
No hay de que. Saludos!
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
El servo si le mandas el pulso hasta que llega a la posición adecuada, el servo se quedará en esa posición siempre y cuando no haya algo que esté tirando del mismo. Si necesitas que aunque tenga peso se mantenga en la misma posición tienes que enviar el pulso de manera continuada. Saludos!
@HunterOfTime
@HunterOfTime 11 жыл бұрын
Muchas Gracias! Eres muy bueno, Saludos desde el Tecnológico de Veracruz desde México.
@Tutoelectro1
@Tutoelectro1 11 жыл бұрын
Gracias.
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
@callecuatro1976 Lo miraré cuando vuelva a casa y tenga internet porque creo que no eres el único que ha tenido problemas. Saludos
@Tutoelectro1
@Tutoelectro1 11 жыл бұрын
Me alegor que te haya gustado. Aunque te recomiendo usar MPLAB y XC8 en tu caso. Saludos!
@userdo25
@userdo25 9 жыл бұрын
Hola buen video, solo te quiero preguntar si es lo mismo para mplab xc8 que en ccs... y si me podrias ayudar con el pwm en mplab xc8 bueno sin mas por el momento me despido y continua con tus videos son muy buenos.
@XxleondesolxX
@XxleondesolxX 9 жыл бұрын
Hola Alex, primero felicitarte por tus vídeos, son muy bueno,aprende mucho de ellos y en esta oportunidad quiero preguntarte si es posible controlar 5 servomotores con 5 entradas analógicas obviamente que funcione cada una independientemente con su potencio metro. Con CCP1 y CCP2 del 18f4550 solo logre obtener 2, yo se que ese proyecto se puede realizar con un Arduino, pero mi interés es el PIC, así que pensé si puede haber un comando en ccs el cual me pueda ayudar o estudiarlo mas a profundidad para poder llegar a mi objetivo. Espero tu consejo. Gracias Alex y que sigan los éxitos con tus vídeos.
@Tutoelectro1
@Tutoelectro1 9 жыл бұрын
Carlos humpiri rojo Buenas, Por lo general, lo que se hace es que pones un timer de 20 ms y 5 registros (en tu caso) donde almacenas el valor del timer para el pulso que tu quieres en cada motor (dependerá de las lecturas del ADC). Luego simplmente vas comparando en todo momento el valor del timer con la de tus registros, si alguno coincide tienes que cambiar el estado del pin de ese servo y comprobar si hay algún otro que también coincide. Esa sería la idea, luego la puedes implementar de una manera mejor usando un CCP y cargandole el valor de compare del valor del registro del servo que tiene el más bajo y esperar la interrupción, luego el segundo más bajo y así sucesivamente. Tienes que tener en cuenta los retardos de las interrupciones, etc. Saludos!
@XxleondesolxX
@XxleondesolxX 9 жыл бұрын
TutoElectro Gracias Alex, me salvaste, por favor no dejes de hacer vídeos.
@gisellamonterorecald
@gisellamonterorecald 13 жыл бұрын
hoka querido amigo un solo favor te pido que te acerques al microfono y vocalices bien las palabras, porque hay momentos que no te entiendo soy de Ecuador , me gusta tus videos me han ayudado mucho. gracias,
@miguelangel-nv5tj
@miguelangel-nv5tj 12 жыл бұрын
hola!, una pregunta En caso de que fuera un servo y quisiera moverlo en una sola posicion ( como por ejemplo hacerlo girar 90 grados y que permanezca quieto en esa posicion final) es necesario mandarle la señal pwm continuamente dentro de un bucle while(1) con un valor de duty constante?? o el valor del duty cycle se declara fuera del bucle while. como seria la estructura del program?? . Gracias estan muy buenos los tutoriales
@jogomez1988a
@jogomez1988a 7 жыл бұрын
Gracias por compartir esta información. Me has sacado de buenos problemas.
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Me algro. Saludos!
@jogomez1988a
@jogomez1988a 7 жыл бұрын
Ya tuve un avance pero no se por que se cuelga el programa. Trato de controlar un modulo ultrasonido de HC SR04 con un PIC12f683 y la forma de sacar el valor de la distancia lo necesito sacar por medio de PWM por el pin 2. pero no se por que se cuelga, se atora y necesito apagar el modulo para volver a ponerlo en operación.
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Has usado el debugger para ver donde se para? Tienes el código?
@jogomez1988a
@jogomez1988a 7 жыл бұрын
no, apenas estoy empezando a usarlo.
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Entonces tienes trabajo :)
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
@13ellalito De CA para regular la velocidad se varia la frecuencia de la señal de alimentacion. Busca al respecto, esta no es la forma de hacerlo. Saludos!
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@gisellamonterorecald El problema es que hace falta un micro mejor pero los buenos son demasiado caros.
@xreme
@xreme 12 жыл бұрын
.Hola, que buen vídeo Quisiera saber que potenciometro y que transistor utilizas Gracias por tu ayuda
@alejandrocortegosomartinez5149
@alejandrocortegosomartinez5149 11 жыл бұрын
Muchas gracias! muy util
@XiuaElectronics
@XiuaElectronics 9 жыл бұрын
Amigo, genial tu video hace tiempo maneje CCS es buen lenguaje. Bueno te queria pedir ayuda, estoy tratando de manejar un pwm atravez de comunicación serial (USART) y actualemnte manejo XC8, el Pwm lo manejo sin librerias es decir configuro bit por bit en XC desde luego, mi idea era agregarle a CCPR2L la lectura de un numero enviado desde un terminal, osea, CCPR2L + ReadUSART(); donde CCPR2L = 0; y pues ir sumandole valores, pero a la hora de la prueba no suma ; que me podrias recomendar?, y otra cosa, en dado caso que se oprima una tecla no la lea como numero obvio si no es. Muchas gracias!
@Tutoelectro1
@Tutoelectro1 9 жыл бұрын
breisman rueda No lo sumes directamente. Hazte un protocolo para que puedas enviar el dato completo de 10 bits y lo pasas a los registros que tocan. Créeme te llevará más tiempo pero aprenderás bastante y con ese tipo de diseño lo podrás usar para enviar los datos que necesites en ambas direcciones sin problemas y de manera fácil.
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@2000100felipe Si, es muy interesante :)
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
.... como que como lo encuentras???
@rodrigopostigo264
@rodrigopostigo264 7 жыл бұрын
Hola muy bueno el video , ahora se que si habilito la opcion pwm en mi pic16f886 puedo usar una salida variable , te consulto , tengo un programa ya hecho que me hicieron hace tiempo y mi amigo ya no hace mas nada , se puede hacer el agregado de este pwm en mi programa y al entrar a una opcion de menu que me muestra los ajustes en un lcd y que ahi me muestre de 0a100% una opcion y me guarde esos datos donde estan ajustes mueva el pwm y guerde , te agradeceria la ayuda ya que de programacion no entiendo nada , si fuera que podes ayudarme te paso el programa para que lo veas y lo agregaras , muchas gracias por el momento
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Cómo poder se puede. Yo no te puedo ayudar ya que no tengo tiempo para solventar problemas de cada persona que me escribe en youtube. Sólo respondo a preguntas concretas. Saludos!
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@electromen100 Utilizando el modulo compare del CCP.
@13ellalito
@13ellalito 12 жыл бұрын
amigo este pwm es el pulso vdd variable y ya con este puedo controlar lo q seria un motor de ca con un puente H separando las etapas con relevadores para evitar el corto ¿¿o me equivo??
@jogomez1988a
@jogomez1988a 7 жыл бұрын
Ok Dices que con solo ponerle al valor de duty del PWM con eso lo toma literal. Pero Cuando tienes un valor calculado, ¿Qué formato debe de tener para que lo tome tal cual? A una variable no puedo ponerle la L
@andreeyehamir3613
@andreeyehamir3613 7 жыл бұрын
Buen vídeo Podrías complementar acerca del SPWM ? Al menos para poder simular una señal alterna de 60 hz Saludos
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Lo siento pero hace años que no hago videos de PIC. Saludos!
@Tutoelectro1
@Tutoelectro1 12 жыл бұрын
Pot de 1K a 500K lo que quieras. Transistor de proposito general. El que te de la gana. xD
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@callecuatro1976 Que te ocurre exactamente?
@Tutoelectro1
@Tutoelectro1 13 жыл бұрын
@sandejoe Cuando tenga tiempo quizás.
@franciscoaldana5476
@franciscoaldana5476 7 жыл бұрын
Amigo puedo aplicar este mismo proceso para controlar el backligth de una pantalla lcd? Con el pic16f877a? Gracias
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Si claro. Saludos!
@JorgeAPC
@JorgeAPC 6 жыл бұрын
Francisco Aldana aqui hay un ejmeplo de programacion PWM para el 16F877A kzbin.info/www/bejne/i6aypmyVmpWcn6s
@FerDiazdeLeon
@FerDiazdeLeon 7 жыл бұрын
Es el mismo proceso si estoy utilizando un pic18f4550?
@Tutoelectro1
@Tutoelectro1 7 жыл бұрын
Si siempre y cuando ajustes la configuración para tu pic :)
@oscarismael47
@oscarismael47 8 жыл бұрын
cuantos pwm puedo manejar en el pic, por ejemplo si quisiera controlar la intensidad de led de manera individual
@Tutoelectro1
@Tutoelectro1 8 жыл бұрын
+ismael perez Puedes hacer muchos usando un timer y contadores pero es por software.
@oscarismael47
@oscarismael47 8 жыл бұрын
+TutoElectro ok, gracias
@giancarloconcha1971
@giancarloconcha1971 9 жыл бұрын
ola disculpa yo copie todo lo que dice en tu ejemplo , y lo compile , pero me salen 3 errores k me dicen que falta definir duty y que long es "una expresión numérica debe aparecer aquí
@Jobfox645
@Jobfox645 13 жыл бұрын
@Twistx77 podrían explicar algún ejemplo de CCP ? cc @electromen100
@carlosgallegos1458
@carlosgallegos1458 9 жыл бұрын
como consigo el codigo para la programacion del motor, ya que ocupo programar un pic 18f4550
@Tutoelectro1
@Tutoelectro1 9 жыл бұрын
No lo consigue, lo haces. Para eso muestro el ejemplo...
@JORGEDK1000
@JORGEDK1000 10 жыл бұрын
como puedo hacerle si tengo una señal analogica pero en la salida necesito la señal analogica pero su amplitud sea la mitad que la original es posible con el pwm
@Tutoelectro1
@Tutoelectro1 10 жыл бұрын
Para que usar un micro? Si lo puedes hacer con un simple divisor resistivo o un opamp por ejemplo....
@JORGEDK1000
@JORGEDK1000 10 жыл бұрын
tengo que hacer un programa para estar monitoriando la entrada de un señal senoidal, triangular y estar controlando la señal pero en la salida obtener la señal pero su amplitid que sea a la mitad de la original esto estara en el micro y estar controlandolo con comunicacion serie...
@JORGEDK1000
@JORGEDK1000 10 жыл бұрын
si tengo 4 volts pico -pico de la señal en la salida obtener 2 volts pico-pico o estar moviendo la señal de salida
@Tutoelectro1
@Tutoelectro1 10 жыл бұрын
jorge sanchez Pues si usas un PIC barato tendrás que usar el ADC para samplear la entrada y luego el valor lo divides entre dos y lo sacas por un DAC hecho con resistencias y un opamp en caso de no disponer de DAC integrado.
@JORGEDK1000
@JORGEDK1000 10 жыл бұрын
si grasias ya le entiendo mas a la programacion con pic
@andresvarela3726
@andresvarela3726 11 жыл бұрын
viejo podrias colgar el link del codigo?
@rienqui
@rienqui 12 жыл бұрын
como encuentro el PR2??
@IgnacioAccount
@IgnacioAccount 10 жыл бұрын
Como haces que se active el pwm ?
@Tutoelectro1
@Tutoelectro1 10 жыл бұрын
Tienes que ser más específico.
@ericnicolaschitanescobar5459
@ericnicolaschitanescobar5459 9 жыл бұрын
como le envio el pwm desde visual?
@Tutoelectro1
@Tutoelectro1 9 жыл бұрын
Eric Nicolas Chitan Escobar ¿?
@andresvarela3726
@andresvarela3726 11 жыл бұрын
viejo podrias colgar el link del código?
☑️ 13.1. PWM with PIC (Pulse Width Modulation) ☑️ PIC Program in CCS C (PIC C)
23:29
Tutorial Microcontroladores PIC 2: Introducción 2
9:39
TutoElectro
Рет қаралды 47 М.
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,7 МЛН
How do Cats Eat Watermelon? 🍉
00:21
One More
Рет қаралды 14 МЛН
Who’s the Real Dad Doll Squid? Can You Guess in 60 Seconds? | Roblox 3D
00:34
小丑家的感情危机!#小丑#天使#家庭
00:15
家庭搞笑日记
Рет қаралды 29 МЛН
JWT авторизация. Основы JWT - механизма.
6:45
Хочу вАйти
Рет қаралды 11 М.
Tutorial PIC en C, Timer, Código (CCS) 2/3
18:02
TutoElectro
Рет қаралды 32 М.
What are the Differences between DCS and SCADA?
9:16
RealPars
Рет қаралды 483 М.
PLC Analog Inputs and Signals
8:55
RealPars
Рет қаралды 711 М.
Новый CSS! 2024
18:06
Как пройти в IT?
Рет қаралды 19 М.
PID Balance+Ball | full explanation & tuning
13:13
Electronoobs
Рет қаралды 749 М.
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,7 МЛН