Ir ao conteúdo
  • Cadastre-se

Divisor de tensão !


ga123

Posts recomendados

@ga123,

Estou supondo que o que você quer mesmo fazer é o seguinte :

voce tem um Arduíno que só pode medir tensões entre 0 e 5 volts, e quer que ele possa medir tensões entre 0 e 24v , é isso ?

Se for, voce precisa também alterar um pouco o programa, para que quando o Arduíno meça 5 volts, voce tem de multiplicar por um número e vai mostrar 24 em vez de 5 !

Esse numero é exatamenta 24 dividido por 5.

Quanto ao divisor resistivo que tem de ser colocado na entrada do Arduíno, a conta é simples : vamos usar dois resistores, sendo R1 o resistor que fica entre a saida da fonte e a entrada do medidor de tensão do Arduíno, e R2 é o resistor que fica entre este ponto e o terra ( gnd ) .

Vamos escolher um valor de 10k para R1.

A conta para acharmos o valor de R2 virá da seguinte equação :

vou = Vi x R2 / ( R1 + R2 ) Onde temos vou=5 e Vi=24 e R1=10k

5 x (10k + R2) = 24 x R2

50k + 5xR2 = 24xR2

50k = 19 x R2

Portanto, R2 = 50000/19 = 2631 aproximado.

Para ajustar direitinho, sugiro que para R2 voce use um resistor de 2,2 K em série com um trimpot de 1k, assim poderá ajustar diretinho, medindo com um multimetro antes de ligar na entrada do Arduino.

Paulo

Link para o comentário
Compartilhar em outros sites

    Em um divisor de tensão você define a corrente base que passa por dois grupos de resistores, um vez conhecida a corrente e os valores do resistores é possível calcular a queda de tensão em cada grupo de resistor.
    Por exemplo se você definir que a corrente total no dois grupos de resistores é 0,001A, com um resistor se 5K você obtém uma queda de tensão de 5v, como 5k não é um valor comercial , coloca dois de 10k em paralelo que a resistência da 5k. Sabem que a fonte fornece 24v e um dos grupos dos resistores dá uma queda de 5v, agora é só calcular o valor para o outro grupo, dá uma queda de 19v (24-5), por segurança e melhor colocar uma margem de sobretensão. Pode ser um fundo de escala de 30v, então 30-5=25v, como esse grupo está em serie com o outro grupo de resistores a corrente é a mesma 0,001A, então 25/0,001A=25K, como também não é um valor comercial vamos colocar um resistor de 24K, que dará uma queda de tensão de 24000*0,001A=24V, com isso o fundo de escala é 5v+24v=29v.
   A resolução do ADC do Arduino é 10 bits, isso representa que 5V=1024Unidades, com uma faixa máxima de 29v, você vai ler 29/1024=0,02V, ou seja sua leitura mínima será de 0,02v até 29v escalonado em 0-5v.
   Para ficar mais fácil a imagem em anexo mostra o circuito.
 

  O código vai ficar mais o menos igual o abaixo:

int valorTensaoLeitura;double TensaoTotal;void setup(){  Serial.begin(9600);//Declara porta Serial}void loop(){  valorTensaoLeitura=analogRead(A0);//Entrada da Leitura da tensão  TensaoTotal=valorTensaoLeitura*0.0283203125;//Escalonamento 0-5 (1024)//0-29v  Serial.println(TensaoTotal);// coloca na porta serial a leitura da tensão do circuito  delay(100);//pausa só para teste, não ficar lendo muito rápido}

post-653675-0-08759000-1395110605_thumb.

Link para o comentário
Compartilhar em outros sites

Galera esse esquema aqui encontrei na internet ele resolve meu problema ?


 

    Em um divisor de tensão você define a corrente base que passa por dois grupos de resistores, um vez conhecida a corrente e os valores do resistores é possível calcular a queda de tensão em cada grupo de resistor.
    Por exemplo se você definir que a corrente total no dois grupos de resistores é 0,001A, com um resistor se 5K você obtém uma queda de tensão de 5v, como 5k não é um valor comercial , coloca dois de 10k em paralelo que a resistência da 5k. Sabem que a fonte fornece 24v e um dos grupos dos resistores dá uma queda de 5v, agora é só calcular o valor para o outro grupo, dá uma queda de 19v (24-5), por segurança e melhor colocar uma margem de sobretensão. Pode ser um fundo de escala de 30v, então 30-5=25v, como esse grupo está em serie com o outro grupo de resistores a corrente é a mesma 0,001A, então 25/0,001A=25K, como também não é um valor comercial vamos colocar um resistor de 24K, que dará uma queda de tensão de 24000*0,001A=24V, com isso o fundo de escala é 5v+24v=29v.
   A resolução do ADC do Arduino é 10 bits, isso representa que 5V=1024Unidades, com uma faixa máxima de 29v, você vai ler 29/1024=0,02V, ou seja sua leitura mínima será de 0,02v até 29v escalonado em 0-5v.
   Para ficar mais fácil a imagem em anexo mostra o circuito.
 

  O código vai ficar mais o menos igual o abaixo:

int valorTensaoLeitura;double TensaoTotal;void setup(){  Serial.begin(9600);//Declara porta Serial}void loop(){  valorTensaoLeitura=analogRead(A0);//Entrada da Leitura da tensão  TensaoTotal=valorTensaoLeitura*0.0283203125;//Escalonamento 0-5 (1024)//0-29v  Serial.println(TensaoTotal);// coloca na porta serial a leitura da tensão do circuito  delay(100);//pausa só para teste, não ficar lendo muito rápido}

Amigo como vai ficar a programação se eu colocar um lcd 16x2 com as seguintes informaçoes:

Fonte Regulavel
Volt    00,00

post-716065-0-99453700-1395182723_thumb.

Link para o comentário
Compartilhar em outros sites

   Não sei se você vai alimentar o arduino com uma tensão indireta ou direto com uma fonte ou pela própria USB, se for usar ele direto na USB, ou uma fonte direto nele, usa ele mesmo para alimentar o LCD, agora caso você deseje fazer um circuito para alimentar coloca um

LM805, no entanto o LM7805 só aguenta uma entrada máxima de 18v, logo para ligar ele em

24V você vai ter que dar uma queda de tensão para pelo menos 18v para então enviar para o

LM7805, se não ele queima, o circuito que deixei em anexo esse resistor e o R3, junto a entrada do LM7805.

   O no circuito que deixei em anexo eu estou utilizado o programa Proteus

 

  Deixei em anexo uma imagem do circuito, uma imagem do circuito simulando e os arquivos para você simular. Fiz uma fonte simples com o LM317 (não sei o circuito de sua fonte só fiz para simular), para alterar a tensão de saída manipule-o valor do potenciômetro “RV1”. Caso você deseje ligar o Microcontrolador do arduino direto em uma PCB o link abaixo te ensina:

- http://engenheirando.com/arduino/montando-arduino-na-protoboard/

- http://www.hobbytronics.co.uk/image/data/tutorial/arduino-hardcore/atmega328-arduinopinout.jpg

   No circuito em anexo está mostrando cada porta do Arduino no ATMEGA328.

   O Display LCD, você pode ver em funcionamento na simulação, tomei a liberdade de dar uma melhorada ao colocar um resistor em Serie com o circuito para ler a corrente do mesmo no arduino, como falei o circuito da fonte é só uma simulação pois não sei seu circuito da fonte, mas o divisor de tensão para enviar o valor da tensão da saída está certo, a leitura de corrente também , juntamente com o arduino e LCD.

    Falando em LCD, você usa uma biblioteca a "LiquidCrystal" para escrever o valor nesse display, está em anexo, caso queira um lcd com botão incluso recomendo:

- http://www.aliexpress.com/item/LCD-Keypad-Shield-of-the-LCD1602-character-LCD-inputand-output-expansion-board-For-ARDUINO-Free/1140257363.html (Site chinês paga no boleto)

   Outro lcd que tem biblioteca pronta e gráfico é o abaixo:

- http://www.aliexpress.com/item/FREE-SHIPPING-84X48-Nokia-5110-LCD-Module-withbacklight-adapter-PCB/724221286.html
- https://www.youtube.com/watch?v=zo_ZA-SmXtg

   Se quiser colocar uma matrix de botão:

- http://www.aliexpress.com/item/4-x-4-Matrix-Keypad-Membrane-Switch-8-pins-connectorSCM-Outside-enlarge-Keypad-For-Arduino/1221663819.html

 

   Circuito

Arduino_voltmetro_e_ampermetro.jpg?lgfp=

 

Simulação
Arduino_voltmetro_e_ampermetro.jpg?lgfp=

 

 

    Para escrever no LCD é bem simples, você escreve igual quanto fazer com a porta Serial, você usa a biblioteca, Declara uma variável do Tipo do objeto da biblioteca, define os pinos do LCD, depois define a linha e coluna que vai escrever e manda escrever.

/*----------------------------------------------------- Bibliotecas -----------------------------------------------------*/#include <LiquidCrystal.h> //Inclui a biblioteca do LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //declara variavel do tipo da biblioteca e define os pinos do lcd/*----------------------------------------------------- Variaveis de Leitura de Tensão e Corrente -----------------------------------------------------*/int valorTensaoLeitura;//Le a Tensãodouble TensaoTotal;//Tensão escalonadaint valorCorrenteLeitura;//Le a Correntedouble CorrenteTotal;//Corrente escalonada/*----------------------------------------------------- void setup -----------------------------------------------------*/void setup(){  lcd.begin(16, 2); //Inicia o LCD 16x2(Colunas x Linhas)}/*----------------------------------------------------- void loop -----------------------------------------------------*/void loop(){  valorTensaoLeitura=analogRead(A0);//Entrada da Leitura da tensão  TensaoTotal=valorTensaoLeitura*0.0283203125;//Escalonamento 0-5 (1024)//0-29v  valorCorrenteLeitura=analogRead(A1);//Entrada da Leitura da corrente  CorrenteTotal=valorCorrenteLeitura/1.024;//Escalonamento 0-5v (1024)//0-1A  //-----------------------------------------------------  // LCD Escreve  //-----------------------------------------------------  lcd.setCursor(0, 0); // seta o cursor no lcd para linha 0 coluna 0  lcd.print("V Saida(V):");//Escreve no lcd  lcd.setCursor(11, 0);// seta o cursor no lcd para linha 0 coluna 11  lcd.print(TensaoTotal);//escreve o valor da tensão  lcd.setCursor(0, 1); // seta o cursor no lcd para linha 1 coluna 0  lcd.print("I Saida(mA):");//Escreve no lcd  lcd.setCursor(12, 1);// seta o cursor no lcd para linha 1 coluna 12  lcd.print(CorrenteTotal);//escreve o valor da corrente  delay(100); //somente para simulação}

Arduino Voltímetro e Amperímetro com LCD(Proteus).rar

Arduino_Voltimetro Código.rar

Biblioteca.rar

post-653675-0-04690200-1395203064_thumb.

post-653675-0-98163700-1395203078_thumb.

Link para o comentário
Compartilhar em outros sites

 

   Não sei se você vai alimentar o arduino com uma tensão indireta ou direto com uma fonte ou pela própria USB, se for usar ele direto na USB, ou uma fonte direto nele, usa ele mesmo para alimentar o LCD, agora caso você deseje fazer um circuito para alimentar coloca um

LM805, no entanto o LM7805 só aguenta uma entrada máxima de 18v, logo para ligar ele em

24V você vai ter que dar uma queda de tensão para pelo menos 18v para então enviar para o

LM7805, se não ele queima, o circuito que deixei em anexo esse resistor e o R3, junto a entrada do LM7805.

   O no circuito que deixei em anexo eu estou utilizado o programa Proteus

 

  Deixei em anexo uma imagem do circuito, uma imagem do circuito simulando e os arquivos para você simular. Fiz uma fonte simples com o LM317 (não sei o circuito de sua fonte só fiz para simular), para alterar a tensão de saída manipule-o valor do potenciômetro “RV1”. Caso você deseje ligar o Microcontrolador do arduino direto em uma PCB o link abaixo te ensina:

- http://engenheirando.com/arduino/montando-arduino-na-protoboard/

- http://www.hobbytronics.co.uk/image/data/tutorial/arduino-hardcore/atmega328-arduinopinout.jpg

   No circuito em anexo está mostrando cada porta do Arduino no ATMEGA328.

   O Display LCD, você pode ver em funcionamento na simulação, tomei a liberdade de dar uma melhorada ao colocar um resistor em Serie com o circuito para ler a corrente do mesmo no arduino, como falei o circuito da fonte é só uma simulação pois não sei seu circuito da fonte, mas o divisor de tensão para enviar o valor da tensão da saída está certo, a leitura de corrente também , juntamente com o arduino e LCD.

    Falando em LCD, você usa uma biblioteca a "LiquidCrystal" para escrever o valor nesse display, está em anexo, caso queira um lcd com botão incluso recomendo:

- http://www.aliexpress.com/item/LCD-Keypad-Shield-of-the-LCD1602-character-LCD-inputand-output-expansion-board-For-ARDUINO-Free/1140257363.html (Site chinês paga no boleto)

   Outro lcd que tem biblioteca pronta e gráfico é o abaixo:

- http://www.aliexpress.com/item/FREE-SHIPPING-84X48-Nokia-5110-LCD-Module-withbacklight-adapter-PCB/724221286.html

- https://www.youtube.com/watch?v=zo_ZA-SmXtg

   Se quiser colocar uma matrix de botão:

- http://www.aliexpress.com/item/4-x-4-Matrix-Keypad-Membrane-Switch-8-pins-connectorSCM-Outside-enlarge-Keypad-For-Arduino/1221663819.html

 

   Circuito

Arduino_voltmetro_e_ampermetro.jpg?lgfp=

 

Simulação

Arduino_voltmetro_e_ampermetro.jpg?lgfp=

 

 

    Para escrever no LCD é bem simples, você escreve igual quanto fazer com a porta Serial, você usa a biblioteca, Declara uma variável do Tipo do objeto da biblioteca, define os pinos do LCD, depois define a linha e coluna que vai escrever e manda escrever.

/*----------------------------------------------------- Bibliotecas -----------------------------------------------------*/#include <LiquidCrystal.h> //Inclui a biblioteca do LCD LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //declara variavel do tipo da biblioteca e define os pinos do lcd/*----------------------------------------------------- Variaveis de Leitura de Tensão e Corrente -----------------------------------------------------*/int valorTensaoLeitura;//Le a Tensãodouble TensaoTotal;//Tensão escalonadaint valorCorrenteLeitura;//Le a Correntedouble CorrenteTotal;//Corrente escalonada/*----------------------------------------------------- void setup -----------------------------------------------------*/void setup(){  lcd.begin(16, 2); //Inicia o LCD 16x2(Colunas x Linhas)}/*----------------------------------------------------- void loop -----------------------------------------------------*/void loop(){  valorTensaoLeitura=analogRead(A0);//Entrada da Leitura da tensão  TensaoTotal=valorTensaoLeitura*0.0283203125;//Escalonamento 0-5 (1024)//0-29v  valorCorrenteLeitura=analogRead(A1);//Entrada da Leitura da corrente  CorrenteTotal=valorCorrenteLeitura/1.024;//Escalonamento 0-5v (1024)//0-1A  //-----------------------------------------------------  // LCD Escreve  //-----------------------------------------------------  lcd.setCursor(0, 0); // seta o cursor no lcd para linha 0 coluna 0  lcd.print("V Saida(V):");//Escreve no lcd  lcd.setCursor(11, 0);// seta o cursor no lcd para linha 0 coluna 11  lcd.print(TensaoTotal);//escreve o valor da tensão  lcd.setCursor(0, 1); // seta o cursor no lcd para linha 1 coluna 0  lcd.print("I Saida(mA):");//Escreve no lcd  lcd.setCursor(12, 1);// seta o cursor no lcd para linha 1 coluna 12  lcd.print(CorrenteTotal);//escreve o valor da corrente  delay(100); //somente para simulação}

Vou colocar um 7805 na fonte regulavel para alimentar o arduino

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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