Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Grupo de TCC

C Como faço a leitura de uma tensão alternada no pic?

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta elaborar mais essa questão, existe um tópico direto para microcontroladores, o pessoal aqui só conseguira sanar suas duvidas se você postar o seu código e duvidas relacionado a C,C++ ou C#.

LEIA ESSE ARTIGO: http://autocorerobotica.blog.br/aprenda-utilizar-o-sensor-de-tensão-com-arduino/

Editado por TYSQUARE89
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fale ai o nome ou posta o link de onde tem esse sensor sensor para a gente ter ideia. Mas é provável que seja algum sinal analógico que possa tanto ler direto, com uso de amplificador operacional ou em outro caso reduzir a tensão ... Enfim como dito ai em cima precisamos de informação... fale também o pic que você está usando nesse projeto

 

^^

adicionado 10 minutos depois

-OFF TÓPICO-

 

estranho a mim mesmo que não entro na parte de programação (C e variantes ) da comunidade ^^  hehehe talvez seja que a programação minha de micro controladores ainda não exigiu tanto ^^ mas enfim... tenho que estudar mais códigos. T_T

Editado por Bommu Perneta

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Ou seja você fez um circuito e não comprou um módulo sensor pronto.

    Seria uma boa você postar o circuito com algum software ou desenhar.

     

    Se você está usando algum circuito de forma invasiva (tipo não usando trafo na rede) tem risco de você queimar teu microcontrolador/arriscado pois não é isolado. Tem sensores que não precisam que você ligue na rede que você quer medir e sim chegar perto.

     

    Coloque o valor de saída do teu circuito e entrada. Lembrando que o microcontrolador aceita de 0 a 5V.

    adicionado 2 minutos depois

    Dá para isolar o circuito com um acoplador ótico e com resistência adequada. E o sinal que sai dele dá para medir com o micro controlador por exemplo.

    adicionado 3 minutos depois

    nas entradas analógicas é claro.

    Editado por Bommu Perneta
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Essencialmente qualquer trafinho p.ex. 220V 12+12 + diodos + capacitor pode dar certo pra captar a tensão da rede. Ou nem: podes medir "direto" da rede e sem risco bastando resistores de altos valores em série com ela, algo como 2M2.

     

    Realmente precisas passar + informação sobre o projeto e sobre ti: desenhos, esquemas, fontes, linguagem que dominas, se já fizeste um pisca led com mc e principalmente etc

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    -ON -OFF topic .

    Um dos meus professores está fazendo um projeto de leitor de tensão na rede de forma invasiva... usando acoplador e resistores de alto valor(fazendo um divisor de tensão para passar pouca corrente) + um micro controlador ... Não sei no que deu ^^ mas ele já estava em outro projeto da última vez que o vi.

    Ele não queria colocar um trafo como sugeri para ele huauhahua

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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.sensor.thumb.png.3242fbae4041c7e4749b50ff50cc3bfb.png

    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. :)

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Qual tensão está saindo nele no final desse teu sensor? está dentro do 0 a 5V(diodo zener)? Não vá queimar a porta ai que não lê mais nada ^^

     

    Só fazer leitura normal da porta analógica... declara a porta como entrada, coloca ela como analógica e faz a leitura. você pode colocar em um lcd o valor lido para você ter ideia. No caso o valor vai ser constante já que o circuito a cima é DC como esses valores você relaciona com a leitura do teu multímetro e faz uma função tipo valorlido*contante=tensão da rede. 

     

    aqui abaixo um exemplo qualquer de leitura analógica... dá uma estudada para ver se você entende. Cada linha com registradores dá para você encontrar no datasheet do PIC18F688.

    No caso foi usado o programa Mikroc. Dá para passar também para o proteus para você simular com o binário gerado...

    http://www.electronics-lab.com/project/pic16f688-digital-voltmeter/

     

    Ou espera outro lhe ajudar ai em baixo X)

    Editado por Bommu Perneta
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Da maneira que está o circuito, o que será medida é a tensão de pico... o que pode ser feito é calcular o divisor resistivo para obter o fator de conversão de tensão de pico para tensão RMS. Parece ser um daqueles casos de simples regras de três entre a medida obtida no conversor A/D e a tensão RMS da rede.

     

    Paulo

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    O gnd que está nos diodos não está nada bom... Mostre e confirme com seu professor (pra ele saber que está procurando ajuda aqui se é que já não sabe)

     

    Além do ...

    1 hora atrás, aphawk disse:

    divisor resistivo para obter o fator de conversão de tensão de pico para tensão RMS

    ... alguma matematicazinha no sw pode fazê-lo. De fato penso que é até mais fácil: regra de 3 no sw mómoleza ... hw não é 'mole' não

     

    2 horas atrás, Grupo de TCC disse:

    parte de uma programação de um voltímetro

    Publique-a. E também os resultados que obtiveste e o que pretendias obter. É preciso entrar na tua mente...

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • 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

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Está aparecendo algum erro? 

    Isso aí só está jogando o valor lido para uma variável e com ela é feito um cálculo... O projeto dele é diferente do teu se você está trabalhando com resistências diferentes pode dar alguma discrepância, o ideal seria olhar isso e faça mudanças na formula se quiser.

     

    Outra coisa é que você quer acender os leds... só colocar um if(result_ADC > valor quer você quer) {liga led} 

    Isso para você ligar um led caso o valor ADC fica acima de tal tensão ou leitura que você quer... e por ai vai.

     

    Editado por Bommu Perneta

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    10 horas atrás, Grupo de TCC disse:

    conversão do sinal lido para tensão em volts estaria certa?

    Sim e talvez. Depende do circuito. Podes fazer ajuste na constante ou no potenciômetro

    De novo...

    quais...

    18 horas atrás, Isadora Ferraz disse:

    resultados que obtiveste e o que pretendias obter

    ??

    De fato para leds nem é necessária fórmula de conversão alguma desde que você saiba o valor resultado ad de determinada V ou faixa de entrada. P.ex. você ajusta o trimpot de modo que quando tem 220Vac o ad leia 1023 (ou tenha 5Vdc na entrada). Então quando ele estiver lendo 512 (ou 2.5Vdc na entrada) só pode ter 110Vac na rede né? Manipule os leds de acordo com o 0 a 1023.

    P.ex 10 leds nos ports B e C de 0 a 220Vac com 22Vac cada acendida:

    unsigned int r;
    for(;;)
    {
    r=adc_read(0)/102;
    RB0=r>>0;
    RB1=r>>1;
    RB2=r>>2;
    RB3=r>>3;
    RB4=r>>4;
    RB5=r>>5;
    RB6=r>>6;
    RB7=r>>7;
    RC0=r>>8;
    RC1=r>>9;
    }

    Ou faça com os if´s como quiser

    Digitei o supramencionado quase por impulso. Por gentileza entenda isso, entenda aquilo e confirme

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×