Autor Tema: Falla de Onda Seno en la Segunda Salida del Pic 18F2550  (Leído 2661 veces)

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

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
Falla de Onda Seno en la Segunda Salida del Pic 18F2550
« en: 20 de Enero de 2020, 22:17:21 »


amigos del foro un cordial saludos y un feliz año nuevo

Tengo un trabajo en la universidad en realizar un inversor de voltaje con onda seno, bueno ya tengo una parte del programa y me funciona correctamente con frecuencia de 60 Hz, y mi profesor me asigno a que el pic 18f2550 tuviera otra salida para otra onda con la misma frecuencia y agregarle una luz indicadora osea un  led para que indique el que programa esta funcionando, y en otro programa similar a este pero  con frecuencia de 50 Hz

este es el codigo en MikroC

const muestras=120;
 unsigned int onda[]={347,366,384,402,420,438,455,473,490,506,522,538,553,567,581,594,607,619,630,640,649,658,666,673,679,684,688,691,693,694,694,694,692,689,686,681,676,669,662,654,645,635,624,613,601,588,574,560,545,530,514,498,481,464,447,429,411,393,375,356,338,320,302,283,265,248,230,213,197,180,164,149,134,120,107,94,82,70,59,50,41,32,25,19,13,9,5,2,1,0,0,1,4,7,11,16,22,29,36,45,54,65,76,88,100,113,127,142,157,172,188,205,222,239,257,274,292,311,329,347};

unsigned int es,toca;






//para variables
char LEEBIT (unsigned int port, char bit1)
{

    if ((port & (1 << bit1))>0) return (1);
    else return (0);
}


void interrpcion() iv 0x0008 ics ICS_AUTO

{

  if (TMR2IF_bit==1)
{
toca++;
if (toca>=muestras-1) toca=0;

es=onda[toca];
   // carga los 9 bit ciclo util
 CCPR1L=es >> 2;// carga parte baja
DC1B1_bit=LEEBIT(es,1);// carga bit 1
DC1B0_bit=LEEBIT(es,0);  // carga bit 0
TMR2IF_bit=0;
}



}

void main()
{



//Todo Digital
adcon1=0b1111;


INTCON=0b01000000;

//configuracon de los pines
TRISA=0;
trisc=0;// salida pwm


CCP1CON=0b00101100;// configura como pwm;

//configuracion frecuencia.
T2CON=0;

//programa frecuencia.
// PREESCALAODR A 4
T2CKPS1_bit=0;  //prescalador time 2
T2CKPS0_bit=1;  //prescalador time 2
PR2=173;            //registro pr2


  toca=0;

 es=onda[toca];
 // aramr el ciclo util deseado a 9 bits
 CCPR1L=es >> 2;

    if ((es & (1 << 1))>0) DC1B1_bit=1;
    else DC1B1_bit=0;

    if ((es & (1 << 0))>0) DC1B0_bit=1;
    else DC1B0_bit=0;

    // habilita int del timer2
TMR2IF_bit=0;
TMR2IE_bit=1;
GIE_bit=1;
TMR2ON_bit=1;//prende pwm

while (1)
{

}

}

adjunto la imagen de la onda seno con falla, bueno amigos espero y me puedan ayudar para mi trabajo en la U, ya casi lo tengo terminado, pero me hace un ayudita si,  :(

gracias

Jose Luis 

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Falla de Onda Seno en la Segunda Salida del Pic 18F2550
« Respuesta #1 en: 21 de Enero de 2020, 01:28:07 »

Ahí el error parece estar en la etapa amplificadora, no en el programa.

Desconectado pic_877a

  • PIC16
  • ***
  • Mensajes: 172
Re:Falla de Onda Seno en la Segunda Salida del Pic 18F2550
« Respuesta #2 en: 21 de Enero de 2020, 09:46:00 »


amigo gracias por responder, si te fijas en la primera esta amplificadora la onda seno esta perfecta y en la segunda etapa utiliza la misma salida del pin C. es decir en la misma salida del Pic estoy utilizando una salida para obtener la onda seno, pero veo que No me esta funcionando, así que mi idea es que el pic tenga 2 salidas para amplificar la onda seno a 60 Hz.

y en otro programa similar al primero obtener la onda seno a 50 Hz.


espero y me puedas ayudar

gracias

jose

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:Falla de Onda Seno en la Segunda Salida del Pic 18F2550
« Respuesta #3 en: 21 de Enero de 2020, 10:55:58 »
amigo gracias por responder, si te fijas en la primera esta amplificadora la onda seno esta perfecta y en la segunda etapa utiliza la misma salida del pin C. es decir en la misma salida del Pic estoy utilizando una salida para obtener la onda seno, pero veo que No me esta funcionando, así que mi idea es que el pic tenga 2 salidas para amplificar la onda seno a 60 Hz.
.........

Si amigo, pero si te fijas,  en el fragmento de circuito que subiste las etapas amplificadoras no son iguales, además en una tenés 4Vpap y en la otra (la saturada) 7Vpap .   

Desconectado Ruco

  • PIC12
  • **
  • Mensajes: 62
Re:Falla de Onda Seno en la Segunda Salida del Pic 18F2550
« Respuesta #4 en: 25 de Abril de 2020, 18:35:29 »
 
Á mi me gustaría pasar ese código que puso pic877 a ccs c. Ya que estoy más familiarizado con el ccs.

Será posible?.

Se me complica por que no conozco mikroc, pero alguien que tenga conocimientos de ambos compiladores que me oriente por favor a pasarlo a ccs.

Creo que este es el vídeo del código fuente en mikroc.

https://m.youtube.com/watch?v=LRiqppeqUO4
« Última modificación: 26 de Abril de 2020, 03:26:36 por Ruco »


 

anything