Ir ao conteúdo
  • Cadastre-se

Grupo de TCC

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

1
  1. Os fuses foram configurados sim, porém o programa continua não funcionando... Preciso disso pronto pra esse mês adicionado 1 minuto depois //armazenamento das tensões int tensao1 = 0x00; int tensao2 = 0x00; // declara as variáveis int a, b, x, y; void main() { ANSEL = 0x01;// AN0 como entrada analogica ADCON0 = 0x01;// seleciona a entrada AN0 ADCON1 = 0x00; CMCON0 = 0x07;//desliga os comparadores //configura PORTA TRISA = 0x01;// AN0 entrada PORTA = 0x00;// PORTA em nvl baixo //configura PORTC TRISC = 0x00;// PORTC como saída PORTC = 0x00;// PORTC em nvl baixo tensao1=ADC_Read(0);//leitura registrada a = ((tensao1*4)/100));//4% da tensão nominal b = ((tensao1*7)/100));//7% da tensão nominal x = tensao1-a;//tensão nominal-4% y = tensao1-b;//tensão nominal-7% while(1) { tensao2=ADC_Read(0); //leitura comparada if (tensao2>x)// se a queda estiver menor que 4%, liga o led verde { RA1_bit = 1;//led verde ligado RA2_bit = 0;//led amarelo desligado RC0_bit = 0;//interrupção desligada } else if (tensao2>y && tensao2<=x)// se a queda estiver entre 4% e 7%, liga o led amarelo { RA2_bit = 1;//led amarelo ligado RA1_bit = 0;//led verde desligado RC0_bit = 0;//interrupção desligada } else if(tensao2<y)// se a queda for maior que 7%, liga o circuito de interrupção e o led vermelho { RC0_bit = 0;//interrupção ligada RA1_bit = 0;//led verde desligado RA2_bit = 0;//led amarelo desligado } return 0; } }// end função principal
  2. Não configurei os fuses pois estou usando o MikroC. sim, obrigada... adicionado 5 minutos depois Testando aqui no proteus... os leds ainda não acenderam, configurei o trisc conforme você disse
  3. //armazenamento das tensões int tensao1 = 0x00; int tensao2 = 0x00; // declara as variáveis int a, b, x, y; void main() { ANSEL = 0x01;// AN0 como entrada analogica ADCON0 = 0x01;// seleciona a entrada AN0 ADCON1 = 0x0E; CMCON0 = 0x07;//desliga os comparadores //configura PORTA TRISA = 0x01;// AN0 entrada PORTA = 0x00;// PORTA em nvl baixo //configura PORTC TRISC = 0xFF;// PORTC como saída PORTC = 0x00;// PORTC em nvl baixo tensao1=ADC_Read(0);//leitura registrada a = ((tensao1*4)/100));//4% da tensão nominal b = ((tensao1*7)/100));//7% da tensão nominal x = tensao1-a;//tensão nominal-4% y = tensao1-b;//tensão nominal-7% while(1) { tensao2=ADC_Read(0); //leitura comparada if (tensao2>x)// se a queda estiver menor que 4%, liga o led verde { RA1_bit = 1;//led verde ligado RA2_bit = 0;//led amarelo desligado RC0_bit = 0;//interrupção desligada } else if (tensao2>y && tensao2<=x)// se a queda estiver entre 4% e 7%, liga o led amarelo { RA2_bit = 1;//led amarelo ligado RA1_bit = 0;//led verde desligado RC0_bit = 0;//interrupção desligada } else (tensao2<y);// se a queda for maior que 7%, liga o circuito de interrupção e o led vermelho { RC0_bit = 0;//interrupção ligada RA1_bit = 0;//led verde desligado RA2_bit = 0;//led amarelo desligado } return 0; } }// end função principal Ficou assim, porém no meu circuito os leds não acendem... seria uma má configuração das portas? adicionado 4 minutos depois esse é o circuito. adicionado 5 minutos depois O pic não está mandando sinal high para os leds...
  4. Não entendo muito de programação e os valores de 4% e 7% variam porque leremos a rede de 127 e 220V.
  5. Pessoal, estou com um problema na programação de um dispositivo que detecta quedas de tensão da rede acima de 4%. Eu preciso que a programação calcule as quedas de 4% a 7%, ligando um led verde se está abaixo de 4%, um led amarelo se está entre 4% e 7% e um led vermelho acima de 7%. Segue abaixo o que consegui fazer até agora. //armazenamento das tensões int tensao1 = 0x00; int tensao2 = 0x00; // declara as variáveis int a, b, x, y; void volts() { if (tensao1==0)//tensao1 igual a zero { tensao1 = ADC_Read(0); } //Lê canal AN0 apenas uma vez e transfere seu valor para tensao1 else if (tensão==1)//tensão1 diferente de 0 { tensao2 = ADC_Read (0);//Lê o canal AN0 delay_ms(100);//atualiza a cada 100ms } }//end função volts void main() { ANSEL = 0x01;// AN0 como entrada analogica ADCON0 = 0x01;// seleciona a entrada AN0 ADCON1 = 0x0E; CMCON0 = 0x07;//desliga os comparadores //configura PORTA TRISA = 0xFF;// AN0 entrada PORTA = 0x00;// PORTA em nvl baixo //configura PORTC TRISC = 0xFF;// PORTC como saída PORTC = 0x00;// PORTC em nvl baixo a = (tensao1*(4/100));//4% da tensão nominal b = (tensao1*(7/100));//7% da tensão nominal x = tensao1-a;//tensão nominal-4% y = tensao1-b;//tensão nominal-7% if (tensao2>x)// se a queda estiver menor que 4%, liga o led verde { RA1_bit = 1;//led verde ligado RA2_bit = 0;//led amarelo desligado RC0_bit = 0;//interrupção desligada } else if (tensao2>y && tensao2<=x)// se a queda estiver entre 4% e 7%, liga o led amarelo { RA2_bit = 1;//led amarelo ligado RA1_bit = 0;//led verde desligado RC0_bit = 0;//interrupção desligada } else (tensao2<y);// se a queda for maior que 7%, liga o circuito de interrupção e o led vermelho { RC0_bit = 0;//interrupção ligada RA1_bit = 0;//led verde desligado RA2_bit = 0;//led amarelo desligado } }// end função principal
  6. Gente, essa parte aqui para conversão do sinal lido para tensão em volts estaria certa? void volts { result_ADC = ADC_Read(0); //Lê canal AN0 e armazena em result_ADC voltage = ((result_ADC * 300)/1024); //Converte para tensão em Volts }//end
  7. O sensor de tensão é esse, ele não é o problema, meu professor que me ajudou a montá-lo, o problema é na parte da programação, não sei como fazer para o pic ler a tensão de saída. Obs: ignorem o potenciômetro. adicionado 3 minutos depois Não sei como fazer para o pic converter tensão lida em tensão rms, usei uma parte de uma programação de um voltímetro mas não serviu. Se alguém conhecer algum projeto de um voltímetro AC com pic, ajudaria muito.
  8. Estou usando o Pic 16F688, estou fazendo um trabalho com queda de tensão, preciso ler a tensão da rede e, de acordo com a porcentagem da queda, alguns leds são acesos. No sensor de tensão uso uma ponte retificadora, um divisor de tensão, capacitor e zenner.
  9. Gostaria de fazer uma leitura da tensão da rede, para isso utilizo um sensor de tensão porém não sei como programar o pic para ler essa tensão.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!