Autor Tema: Consulta sobre implementar DAC con PWM  (Leído 5442 veces)

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

Desconectado juanml

  • PIC10
  • *
  • Mensajes: 30
Consulta sobre implementar DAC con PWM
« en: 01 de Junio de 2012, 19:01:54 »
Tengo un problema, estoy tratando de implementar un DAC mediante PWM. Estoy usando una tabla con valores de una onda senoidal, pero lo que pasa es que la onda resultante tiene como "saltos". Esto que digo se puede ver mejor en este video:


El código es el siguiente:

Código: [Seleccionar]
unsigned char i = 0;
unsigned char sine[256]={
127,130,133,136,139,143,146,149,152,155,158,161,164,167,170,173,176,178,181,184,187,190,192,195,198,200,203,205,208,210,212,215,217,219,221,223,225,227,229,231,233,234,236,238,239,240,
242,243,244,245,247,248,249,249,250,251,252,252,253,253,253,254,254,254,254,254,254,254,253,253,253,252,252,251,250,249,249,248,247,245,244,243,242,240,239,238,236,234,233,231,229,227,
225,223,221,219,217,215,212,210,208,205,203,200,198,195,192,190,187,184,181,178,176,173,170,167,164,161,158,155,152,149,146,143,139,136,133,130,127,124,121,118,115,111,108,105,102,99,
96,93,90,87,84,81,78,76,73,70,67,64,62,59,56,54,51,49,46,44,42,39,37,35,33,31,29,27,25,23,21,20,18,16,15,14,12,11,10,9,7,6,5,5,4,3,2,2,1,1,1,0,0,0,0,0,0,0,1,1,1,2,2,3,4,5,5,6,7,9,10,11,
12,14,15,16,18,20,21,23,25,27,29,31,33,35,37,39,42,44,46,49,51,54,56,59,62,64,67,70,73,76,78,81,84,87,90,93,96,99,102,105,108,111,115,118,121,124};

void interrupt VectorNumber_Vtpm1ovf tpm1ovf_isr(void)
{
TPM1SC_TOF = 0;
TPM1C0V=sine[i];
i++;
if (i==256)
{
 i=0;
}
}

void main(void)
{

  TPM1SC = 0b01101000;
  TPM1C0SC = 0b00101000;
  TPM1MOD = 0x00FF;
  TPM1C0V = sine[i];
  EnableInterrupts;  // enable interrupts
  while (1)
  {
  }
}

Estoy usando un SH8 con una frecuencia de bus de 8Mhz con el oscilador interno.
Tienen idea cuál puede ser el problema?
« Última modificación: 01 de Junio de 2012, 19:47:15 por juanml »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Consulta sobre implementar DAC con PWM
« Respuesta #1 en: 01 de Junio de 2012, 19:35:20 »
El if( i==256 ) no tiene sentido. Si declaras i como una variable de 8-bits y además el buffer tiene 256 posiciones, entonces solo debes incrementar i. Después veo que en los extremos colocas varios intervalos repetidos, es por alguna razón?


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado juanml

  • PIC10
  • *
  • Mensajes: 30
Re: Consulta sobre implementar DAC con PWM
« Respuesta #2 en: 01 de Junio de 2012, 19:40:24 »
El if( i==256 ) no tiene sentido. Si declaras i como una variable de 8-bits y además el buffer tiene 256 posiciones, entonces solo debes incrementar i. Después veo que en los extremos colocas varios intervalos repetidos, es por alguna razón?


Saludos!

Tenés razón con lo del if! Pasa que primero estaba usando tablas con menos valores entonces si tenía que hacer la comparación.

A que te referís con lo de varios intervalos repetidos?

Gracias por responder!

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Consulta sobre implementar DAC con PWM
« Respuesta #3 en: 01 de Junio de 2012, 19:45:00 »
Perdón, era valores repetidos. 254,254,254.... Por ahi cuando creas el vector podes disminuir la amplitud.
No contesto mensajes privados, las consultas en el foro

Desconectado juanml

  • PIC10
  • *
  • Mensajes: 30
Re: Consulta sobre implementar DAC con PWM
« Respuesta #4 en: 01 de Junio de 2012, 20:18:09 »
Probé con vectores de menos puntos y también con amplitudes más chicas, pero sigue pasando lo mismo. Me tiene medio perdido esto.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Consulta sobre implementar DAC con PWM
« Respuesta #5 en: 01 de Junio de 2012, 21:02:43 »
Yo tampoco veo nada que genere ese problema en el código que muestras  :tongue:
No contesto mensajes privados, las consultas en el foro

Desconectado juanml

  • PIC10
  • *
  • Mensajes: 30
Re: Consulta sobre implementar DAC con PWM
« Respuesta #6 en: 01 de Junio de 2012, 22:57:04 »
Ya está! Era un problema con el watchdog.

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Consulta sobre implementar DAC con PWM
« Respuesta #7 en: 02 de Junio de 2012, 14:23:49 »
Muy buen ejercicio juanml, me podrias explicar tu o RICHI777, como interpreto esa serie numerica ?, como una tabla que se va barriendo en forma concecutiva?y se van cargando en TPM1C0V?

Porque esa serie? como es que con esa serie se logra conformar una señal senoidal? es prueba y error  o hay un metodo?

Gracias.
« Última modificación: 02 de Junio de 2012, 14:30:06 por cicloide2 »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Consulta sobre implementar DAC con PWM
« Respuesta #8 en: 02 de Junio de 2012, 15:39:55 »
Muy buen ejercicio juanml, me podrias explicar tu o RICHI777...

 :D

como una tabla que se va barriendo en forma concecutiva?y se van cargando en TPM1C0V?

Si, eso mismo.

Porque esa serie? como es que con esa serie se logra conformar una señal senoidal? es prueba y error  o hay un método?

Porque quieres una senoidal. Primero que nada debes entender como es el tema del PWM, que pasa si le aplicas un filtro pasabajos, entonces vas a entender porque esa serie. Luego no es prueba y error, mediante algún programa puedes crear esa tabla en base a una senoidal. Un programa conocido por todos para usar sería el Excel.


Saludos!



No contesto mensajes privados, las consultas en el foro

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Consulta sobre implementar DAC con PWM
« Respuesta #9 en: 02 de Junio de 2012, 22:42:58 »
Bueno debi poner Juanml, RICHI777 y..... Suky

Gracias ;-)

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Consulta sobre implementar DAC con PWM
« Respuesta #10 en: 03 de Junio de 2012, 12:02:55 »
Hola, borrame de la lista. Yo no hubiese podido ayudarte.

Saludos !

Desconectado cicloide2

  • PIC18
  • ****
  • Mensajes: 359
Re: Consulta sobre implementar DAC con PWM
« Respuesta #11 en: 03 de Junio de 2012, 13:04:34 »
Yo creo que hay mucho craneos por aca, y si es por ser umilde se agradece tambien pero creo que tu perteneces a ese grupo

Salu00010 :-/

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Consulta sobre implementar DAC con PWM
« Respuesta #12 en: 03 de Junio de 2012, 13:39:48 »
Hola, gracias por el halago, pero hay muchos temas que no domino, el PWM es uno de ellos.


Saludos !


 

anything