TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: fastyx en 13 de Junio de 2006, 20:08:56

Título: duda con la variacion del duty del pwm
Publicado por: fastyx en 13 de Junio de 2006, 20:08:56
Amigos: tenia entendido que si uno colocaba en el timer 2 (div_by_1, 255,1) el numero 255 representaba el 100 % del duty de la variacion a la que se puede aspirar y el 0 % era 0.

pero estoy variando una variable que la introduzco en set_pwm1_duty( variable) que representa el modulo del duty, y los pasos de aumento los veo bien en la terminal (pasos de 10 en 10 hasta 250) pero en el osciloscopio tengo para la variable  250 un duty del 30 %

alguna sugerencia? :lol:
Título: Re: duda con la variacion del duty del pwm
Publicado por: Nocturno en 14 de Junio de 2006, 01:34:51
Es que el duty no acaba en 255, llega hasta 1023 porque es una variable de 10 bits.
Increméntalo hasta ahí, verás como el osciloscopio no te engaña ;-)
Título: Re: duda con la variacion del duty del pwm
Publicado por: GustavoT en 14 de Junio de 2006, 01:42:33
No se en que lenguaje estas programando pero en los pics el PWM tiene una resolución de 1024 , por lo que 250 es un 25% mas o menos, ahora eso también depende de la configuración del timer, en la hoja de aplicación de microchip esta explicado como debes configurar el timer

Suerte

Gustavo Tasquer
Título: Re: duda con la variacion del duty del pwm
Publicado por: fastyx en 16 de Junio de 2006, 08:15:35
Amigos: estoy con mas dudas:

                                                probe cambiar el tipo de dato de la variable del duty (int de 8 bits) y pasa esto:

para 255 de pr en el set del timer 2 , en el osciloscopio el pwm va de 0 a 100 %, pero en la terminal el modulo del duty cuando se incrementa pasa de 120 a -126. sin embargo si no le presto atencion e esto , el pwm se sigue incrementando. Será que debo colocarle a la variable alguna salvedad sobre el signo?

fijense que -126 y 120  sumados da casi 255 y yo tengo incrementos en el programa de 10 en 10 asi que por ahi cunado llega a 120 y el proximo es 130
pasa a -126.

espero haber sido claro.

otra duda: la resolucion de 10 bits no se refiere a la cantidad de divisiones en que podemos dividir el rango de variacion del duty?

Gracias por contestar!!!
Título: Re: duda con la variacion del duty del pwm
Publicado por: Nocturno en 16 de Junio de 2006, 08:47:21
En lugar de int prueba con unsigned int
Título: Re: duda con la variacion del duty del pwm
Publicado por: fastyx en 19 de Junio de 2006, 08:04:38
nocturno: probe con unsigned int pero sigue haciendo lo mismo. voy a aprolijar un poco el programa y lo posteo a ver donde esta jodiendo.....
Título: Re: duda con la variacion del duty del pwm
Publicado por: jfh900 en 19 de Junio de 2006, 09:29:11
Tienes que poner en la visualización:

printf("PWM: %Lu",variable);

Donde: %Lu significa: L => variable Long (16 bits) y u =>     Unsigned.

Un saludo.
Título: Re: duda con la variacion del duty del pwm
Publicado por: fastyx en 19 de Junio de 2006, 12:34:02
ok. es en tipo de dato en la visualizacion donde se arma el embrollo. :-/