Tem como o arduino medir tensão alternada?

1,840 views
Skip to first unread message

Eduardo Prado

unread,
Oct 4, 2011, 11:26:25 AM10/4/11
to arduino-...@googlegroups.com
Ai galera estou com um problema para o arduino ler um tensão.
 
Na imagem em anexo mostra o circuito que estou montando, so que o arduino fica lendo tensões alternadas, ou seja, fica em 0 depois 0,1 depois 0,2.
 
Como que eu faço para que eu deixo essa onda constante para que o arduino possa ler normal?
 
Ou o arduino tem como medir tensao alternada?
 
Me ajudem ai.
 
Lembrando que a onda que entra no arduino e a da saida do amp-op que é a onda mais alta pois tem um ganho da onda de entrada.
 
Valeu

--
Att,

Eduardo Prado


Sem título.png

Marcelo Boá

unread,
Oct 4, 2011, 11:46:05 AM10/4/11
to arduino-...@googlegroups.com
Veja no datashet qual a velocidade que o amp op trabalha, eu sei que geralmente os TTL's mais rápido possuem um HS no final (High Speed), mas acho que não eh o caso do amp op, então o certo seria ver os limites de frequencia na entrada e na saida já que o Arduino trabalha com 16MHz acredito que o amp op esteja trabalhando numa frequencia menor... não tenho tanta certeza do que falo, pois na eletronica existe muito de seguir a intuição com base no raciocinio lógico.



--
Você recebeu esta mensagem porque está inscrito no
Grupo "arduino-brasília" nos Grupos do Google.
E-mail: arduino-...@googlegroups.com
Url: http://groups.google.com.br/group/arduino-brasilia?hl=pt-BR
Sair: arduino-brasil...@googlegroups.com

Marcelo Boá

unread,
Oct 4, 2011, 11:53:05 AM10/4/11
to arduino-...@googlegroups.com
Qual é o amp op que vc está usando mesmo? Mais uma coisa, tem como tirar um print da parte dos resitores para eu ver os valores deles? Em geral, na pratica, resitores de baixo valor costumam se alterar mais rápidamente e queimam antes porque a corrente que passa neles geralmente é mais alta, mesmo que hajam outros resitores em paralelo, 220V acho muito pra 1 ohm, mesmo sendo um resitor de potencia, esse cara mais baixo vai ser o que vai queimar primeiro na pratica... mas até lá vai levar um bom tempo.

Marcelo Boá

unread,
Oct 4, 2011, 12:03:46 PM10/4/11
to arduino-...@googlegroups.com
Ah esqueci de perguntar, vc ta usando o software so pra simular ou está usando componentes físicos? Pq se for so no software então tudo que eu falei antes pode desconsiderar. O que falei só vai ser válida pra parte física mesmo.

Eduardo Prado

unread,
Oct 4, 2011, 12:04:32 PM10/4/11
to arduino-...@googlegroups.com
O meu circuito e desse mesmo jeito ai.

Pow são 10 resistencias de 1ohm em paralelo para queima-las eu teria que usar algo que consuma mais de 10A de corrente.

O amp-op que estou usando atualmente e o LM358N. Estou tentando milhares de amp-op, cada dia eu tento com um diferente.rsrsrsrsrs

Ontem eu utilizei desse mesmo jeito ai e conseguir encontrar essas duas ondas ai no osiloscopio.

O problema agora e como fazer para o arduino medir a tensão alternada?



Em 4 de outubro de 2011 12:53, Marcelo Boá <marcelo...@gmail.com> escreveu:



--
Att,

Eduardo Prado


Marcelo Boá

unread,
Oct 4, 2011, 12:14:17 PM10/4/11
to arduino-...@googlegroups.com
Entendo, o cálculo bate! Mas na prática existe um tempo de "recarga", então o primeiro resistor ( que estiver mais próximo da entrada 220V ) vai sofrer o impacto 220V primeiro, que vai fazer com que a resistencia comece a subir sensivelmente pra 1,1 ohm depois 1,2 ohms até abrir... Eu trabalhei numa empresa de medição de equipamentos, posso procurar alguma coisa em casa... tem que setar uma das saidas/entradas pra fazer uma leitura analogica... procura um tutorial sobre Wiring que é a linguagem do Arduino e descubra como setar isso aih facil... o que eu não sei eh se da pra fazer usando esse software aih pq não manjo de simuladores de circuitos.

Marcelo Boá

unread,
Oct 4, 2011, 12:26:26 PM10/4/11
to arduino-...@googlegroups.com
analogRead()
http://wiring.org.co/reference/

Ele transforma um valor de 0 a 5V em um valor proporcional entre 1 e 1024... como a senoide sobe e desce o tempo inteiro então são feitas várias leituras rápidas, ou seja tem que usar o loop().

Emerson Machado

unread,
Oct 4, 2011, 12:25:20 PM10/4/11
to arduino-...@googlegroups.com
É normal você ler tensão alternada, pois a tensão que você está recebendo é alternada, como eu falei no email anterior. Você pode retificar este sinal (passar para DC) e depois medi-lo, só que é mais fácil você programar o Arduino para pegar a tensão RMS atual. Um algoritmo de detecção no Arduino beeeeeem simples (até demais) é:

Comparar o valor atual (Xa) com o valor passado (Xp) da seguinte forma:
  1. Pegar pico positivo:
    1. Se Xa >= Xp, Xp = Xa (guardar o valor atual)
    2. Senão, retorne Xp (este é o valor de pico positivo)
  2. Pegar pico negativo:
    1. Se Xa <= Xp, Xp = Xa (guardar o valor atual)
    2. Senão, retorne Xp (este é o valor de pico negativo)
  3. Com os dois picos, você calcula a tensão RMS atual

2011/10/4 Eduardo Prado <eduardo...@gmail.com>

Eduardo Prado

unread,
Oct 4, 2011, 12:27:22 PM10/4/11
to arduino-...@googlegroups.com
Ah ta entendir.

Poxa muito dificil mexer com ac no arduino. Não tem nada na internet que fale a respeito.

Me falaram que um filtro passa alta funcionaria. O que você acha?

Você teria algum modelo de filtro passa alta ou passa baixa para eu utilizar nesse caso?

Em 4 de outubro de 2011 13:14, Marcelo Boá <marcelo...@gmail.com> escreveu:



--
Att,

Eduardo Prado


Eduardo Prado

unread,
Oct 4, 2011, 12:29:44 PM10/4/11
to arduino-...@googlegroups.com
Como que eu retifico esse sinal para DC?

Marcelo Boá

unread,
Oct 4, 2011, 7:49:25 PM10/4/11
to arduino-...@googlegroups.com
Depende onde vc quer retificar Eduardo e como vc vai fazer teu sistema de medição. O amp op tem uma opção que vc não precisa usar alimentação negativa desde que vc grampeie o sinal num valor DC equivalente ao meio do valor do terra e da alimentação. Uns 10 anos atras eu fiz uma disciplina de projetos e posso te garantir que o amp op é o mais sinistro dos eletrônicos porque é ele que faz todas as ligações entre circuitos diversos, quando vc tem uma saída CMOS e uma entrada TTL é ele que vc vai usar para calibrar os valores de forma proporcional, alem de ser usado como comparador, amplificador, buffer de corrente, oscilador, filtro, multiplicador de tensão, conversor DA/AD... O amp op eh sinistro!!
Na minha simplicidade eu diria pra vc esquecer o software e comprar um protoboard e uma fonte de alimentação ou utilizar algum laboratório e fazer a coisa acontecer na pratica que é o quente.
Quanto ao arduino a leitura eh bem simples, quando vc recebe o valor entre 1 e 1024 vc joga numa equação e transforma de novo no valor entre 0 e 5V usando uma regra de tres

valorLido / 1024 = ValorConvertido / 5

e o valor convertido vc manda imprimir... faça isso dentro do loop e a coisa acontecerá a 16Mhz de velocidade... tempo suficiente pra capturar subidas e descidas dos 60hz da rede...
e estude mais o amp op.
Reply all
Reply to author
Forward
0 new messages