Autor Tema: Duda con CCP PWM y RB0  (Leído 4141 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Duda con CCP PWM y RB0
« en: 17 de Septiembre de 2011, 21:33:11 »
Saludos!! Bueno, mi duda es acerca de la utilización del uso del CCP en modo PWM, ya que cuando lo utilizo y lo desactivo no puedo volver a utilizar ese pin, como que queda desactivado.
El PIC utilizado es un 16F88, y el pin por el que sale el PWM es el RB0, la idea de mi programa de prueba es primero activar el PWM durante un tiempo, de ahí desactivarlo durante otro tiempo, y de ahí mantenerlo en estado alto o bajo. Pero cuando lo pruebo, no puedo volverlo a ponerlo en alto, siempre se mantiene en bajo. Hay alguna forma de hacerlo??

Mi código de prueba es el siguiente::

#include <16f88.h>
#use delay (clock=4M)
#fuses xt, nowdt

#byte PortA=0x05
#byte PortB=0x06

void main ()
{
   int16 i;
   int8 j,aux;
   set_tris_a(0x03);
   set_tris_b(0x00);
   PortA=0;
   PortB=0;
   
   i=512;
   
   do
   {
      setup_timer_2(T2_DIV_BY_16,249,1);
      setup_ccp1(ccp_pwm);
      set_pwm1_duty(i);
      delay_ms(2000);
     
      set_pwm1_duty(0);     
      setup_ccp1(ccp_off);
     
      aux=1;
      for (j=0;j<=8;j++)      //Pequeño ciclo para probar cada pin del puerto B
      {
         PortB=aux;
         delay_ms(1000);
         if (aux==256)
            aux=0;
         else
            aux<<=1;
      }
   }
   while(true) ;
 }


De antemano. gracias!!

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Duda con CCP PWM y RB0
« Respuesta #1 en: 17 de Septiembre de 2011, 23:13:52 »
Lo estas simulando o probando en físico ?

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #2 en: 17 de Septiembre de 2011, 23:22:30 »
Gracias por responder.. Lo estoy simulando en Proteus!! Todavía no lo pruebo fisicamente!!

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Duda con CCP PWM y RB0
« Respuesta #3 en: 17 de Septiembre de 2011, 23:38:22 »
Gracias por responder.. Lo estoy simulando en Proteus!! Todavía no lo pruebo fisicamente!!

Ah  :mrgreen: , no te fies de proteus!

No se que versión tengas , pero fallaba mucho ese modulo en algunas versiones.

Ami ni me funcioaba el PWM. :/

Saludos!

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #4 en: 17 de Septiembre de 2011, 23:39:58 »
Ahhhh excelente!!.. eso me da un aliento.. ahora mismo lo pruebo.. y aviso que tal!! saludos y gracias!! :)

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #5 en: 18 de Septiembre de 2011, 00:02:57 »
Oye... lo acabo de probar fisicamente... y tampoco funciona!!...  :5].. Alguna idea de que pueda ser??

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Duda con CCP PWM y RB0
« Respuesta #6 en: 18 de Septiembre de 2011, 00:50:05 »
Simule tu programa pero no cambia de estado el pin CCP! , osea por donde manda el PWM , siempre se queda en 0 .

Cambie la frecuencia por si ese era el problema y tampoco funciona , probé un programa que funciona al 100% en fisico y en proteus igual no me da PWM.

Esta raro.

Mira que lo voy a montar en protobaord , que me dio curiosidad. :/

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #7 en: 18 de Septiembre de 2011, 00:57:09 »
jajaja.. gracias!!... Eso es amor a la electrónica!!.. muchas gracias!!! estoy atento!!... Aunque a mi si me funciona el PWM... lo unico que no funciona es el Pin CCP1 despues de la desactivacion.. solo queda en estado bajo y cuando se repite el programa... vuelve a funcionar el PWM, repito solo apartir de q lo desactivo deja de funcionar el PIN CCP1, com un pin normal.. Saludos

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Duda con CCP PWM y RB0
« Respuesta #8 en: 18 de Septiembre de 2011, 01:01:57 »
Pues es raro , a mi no me funciona el PWM en proteus , pero si funciona como PIN normal.

Al inicio se queda en 0 durante el tiempo que le diste.Luego ya enciende y empieza a rotar por el puerto.

Que wea tan fea :/

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #9 en: 18 de Septiembre de 2011, 01:04:20 »
mmm... y ahora que hago?? jajajaja!. Cambiando de tema, me sugierieron que chekara los pines que se habilitan para el PWM para ver si se puede activar o desactivar, no sé!!.. Que tal.. tiene alguna idea?? o algo más que pudiera probar?

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #10 en: 18 de Septiembre de 2011, 03:12:55 »
Hey AKENAFAB.... Sabes!!... estaba tan obstinado en querer apagar el modulo CCP y volver a controlar el PIN, que me cerré el mundo, y como no encuentro otra solución... se ocurre simplemente... para obtener un cero, usar set_pwm1_duty(0);    y para obtener un 1 utilizar set_pwm1_duty(1024); .... como ves mi idea???.. Aunque debo decirte.. que ese modulo CCP, si que me está sacando canas verdes... porq... no funciona realmente como quiero.. pero bueno...  ni osciloscopio tengo para probar fisicamente las señales!!... solamente proteus es mi aliado!!

Y hasta estoy pensado en utilizar interrupciones para lograr el PWM, en vez del modo PWM del CCP... pero bueno.. gracias por todo.. seguiré probando.. y sigo escuchando opciones.. y comentarios!!... gracias!!

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Duda con CCP PWM y RB0
« Respuesta #11 en: 18 de Septiembre de 2011, 14:03:30 »
Un Dato que me llevo mucho tiempo :/

Cuando pongo PWM=0 , sigue el pwm pero al minimo minimo,cuando no tendria que enviar nada de nada.

A veces cuando lo apagaba se quedaba en 1.

La otra es del CCS, El registro que le cargues al PWM debe ser de int16 , si lo trabajas como int8,char , etc... usa los 8bits más altos de los 10b,entonces cuando tu calculas cierto DUty no cuadra.Pero si lo manejas como int16 , lo hace como corresponde.
Esto tambien depende de la resolucion que te de el PWM.


Revisa paso por paso lo del pwm , debe de funcionar como deseas.
Yo lo manejo así en un pic12F683

Saludos!

Desconectado b.stronger

  • PIC10
  • *
  • Mensajes: 45
Re: Duda con CCP PWM y RB0
« Respuesta #12 en: 18 de Septiembre de 2011, 18:03:23 »
Ahh gracias por compartir esos datos... sobre todo el de int16... anoche mientras probaba.... me daba unos errores porq le asignaba datos directamente.. pero probaré lo del int16.. muchas gracias.. por compartir tus conocimientos conmigo.. gracias y saludos


 

anything