LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: Salvador em 06 de Setembro de 2013, 18:14

Título: Ler dados eléctricos através de um arduino
Enviado por: Salvador em 06 de Setembro de 2013, 18:14
Caros,

Antes de mais boas tardes.

O que pretendo fazer é ler os dados de eléctricos( tensão e corrente) de uma fonte de energia através do arduino colocando à sua entrada transdutores de corrente e de tensão de forma a ter os 5 V à entrada do arduino.
Poderia fazê-lo através de uma placa de aquisição, por exemplo da National Instruments, mas isso tornaria o projecto caro. Além do arduino, alguém conhece alguma plantaforma que possa substituir a placa de aquisição da NI.

Obrigado a todos
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 06 de Setembro de 2013, 18:20
Para medir a tensão basta um divisor de tensão.

Para ler a corrente basta um resistência ligada ao negativo e em série com a carga a ler. Lendo a tensão nessa resistência tens V/R=I

Claro que há ICs especializados para fazer isto de forma mais precisa. Os exemplos anteriores envolve usar resistências de pelo menos 1% e uma boa referência de precisão para calibrar

Eu fiz isto na minha fonte com um micro de 3.3V:
http://lusorobotica.com/index.php?topic=6526.msg73164#msg73164 (http://lusorobotica.com/index.php?topic=6526.msg73164#msg73164)
Ainda não está acabada devido a imprevistos (lá se foi o PC)
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: beirao em 06 de Setembro de 2013, 19:22
a questão é: que é para ti uma "fonte de energia"? Até podes estar a falar de tensão AC e não sabemos. Para dimensionares o circuito que pretendes deves mencionar qual a tensão e corrente máxima e mínima que queres ler.

 

Título: Re: Ler dados eléctricos através de um arduino
Enviado por: rglove em 06 de Setembro de 2013, 23:29
Mas a resistência vai alterar os valores de tensão da carga, ainda que pouco...
Ou o a resistência fica no positivo e o input do divisor de tensão é a tensão da carga?
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 06 de Setembro de 2013, 23:42
Mas a resistência vai alterar os valores de tensão da carga, ainda que pouco...
Ou o a resistência fica no positivo e o input do divisor de tensão é a tensão da carga?

Eu estou confuso...
A tensão é medida com um divisor de tensão em paralelo. Converte por exemplo 30V para 5V. Assim pode-se ler valores superiores ao possivel do ADC.

Que resistencia?

Título: Re: Ler dados eléctricos através de um arduino
Enviado por: rglove em 06 de Setembro de 2013, 23:45
A resistência que se usa para converter a corrente em tensão...
Ainda que seja muito pequena, vai alterar um pouco a tensão que chega à carga. Não há outra forma de medir a corrente sem haver esta alteração?
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 06 de Setembro de 2013, 23:54
Não que eu saiba...dependendo do que usas para medir e que corrente medes podes usar uma resistencia mais pequena.
Nos meus tenho uma queda de 0.3V máxima. Tipo para um escala até 300mA uso uma resistencia de 1 Ohm, 0.3V no máximo de 0.3A.

Com uma referencia de 1.5V e um ADC de 10bits dá 1.5/1024=0.0014V de resolução. Como é só 1ohm a resolução é de 0.0014A ou 1.4mA
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: rglove em 07 de Setembro de 2013, 00:00
Sim, a alteração não é muita... E há sempre a possibilidade de usar uma resistência muito pequena e amplificar o sinal, assim o erro sempre é menor.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 07 de Setembro de 2013, 00:04
Existe ICs especializados para isso. Tem resolução muito grande e precisão que depois podem ter interfaces com micros para ler a corrente.

E tambem há ADC externos destes:
http://www.ti.com/product/ads1222 (http://www.ti.com/product/ads1222)
Com 24bits dá uma resolução, numa resistência de 1Ohm e referência de 1.5V, de 0,0000000894A ou 89,4nA. Não sei quão preciso é.

Com isto podes usar uma resistência menor porque consegues ler voltagens tão baixas como 89,4nV.
Aqui tambem era preciso muito bom filtro de ruido
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: dio123 em 07 de Setembro de 2013, 11:33
Se por qualquer motivo a tensão maxima da fonte diminuir, ou oscilar, o divisior de tensão já não vai dar a medida certa? ou estarei errado?
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 07 de Setembro de 2013, 12:37
Não. Isto funciona como um voltímetro logo podes medir vários valores. O valor máximo é como nas escalas que escolhes num voltímetro.
Se oscilar muito ele só te dá a média como muitos voltímetros. Acho que uns com True RMS (TRMS) já ultrapassam isso melhor mas nada bate um osciloscopio nisso.

O divisor permite ler uma escala de por exemplo 30V numa escala de 5V ou 1.5V, depende da referência que usas.
No meu ADC10, que usa 1.5V de referência, uma escala de 1.5V dá uma resolução de 1.5/1024.
Usando o divisor de tensão para 30V ser o máximo (1.5V) a resolução é 20/1024.

O máximo equivale a 1.5V neste divisor. Qualquer valor entre 30 e 0 equivale a um valor entre 1.5 e 0 no divisor tensão (na segunda resistência).


Ora então vê, usando resistências de 100k e 5k.
Se fizeres as contas 30/105k=I. I*5k=1.4V. (Não dá mesmo 1.5V para poder ler).

Se leres 10V: 10/105k=I. I*5k=0.47V. Isto é o que o micro vê no ADC.

Não sei se dá para entender
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: senso em 07 de Setembro de 2013, 12:48
Tu dimensionas o divisor de tensão para a voltagem máxima possivel mais 10 ou 20% de margem para ter a certeza que não rebentas nada.
Quanto á corrente, é precisamente assim que se mede em qualquer fonte, com uma resistencia de baixo valor.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 07 de Setembro de 2013, 12:50
Tu dimensionas o divisor de tensão para a voltagem máxima possivel mais 10 ou 20% de margem para ter a certeza que não rebentas nada.
Quanto á corrente, é precisamente assim que se mede em qualquer fonte, com uma resistencia de baixo valor.

Já vi usarem zeners para proteger.

Mas o Njay disse que ia afectar os dados puxando mais corrente (não devia apenas puxar corrente quando polariza?)
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: Salvador em 07 de Setembro de 2013, 13:10
Antes de mais gostaria de agradecer o feedback e tentar contextualizar o que pretendo fazer ( que deveria ter feito logo no primeiro post).

Tenho um grupo de paineis fotovoltaicos e geradores eólicos a produzir energia, e quero monitorizar os dados eléctricos deste conjunto de dispositivos para poderem ser monitorizados.

A leitura dos dados será feita após o inversor, ou seja, em AC. Eu utilizei os seguintes transdutores de corrente e de tensão para medir, respectivamente:

http://www.alldatasheet.com/datasheet-pdf/pdf/180934/LEM/AKR-B420L.html (http://www.alldatasheet.com/datasheet-pdf/pdf/180934/LEM/AKR-B420L.html)

http://www.lem.com/hq/en/component/option,com_catalog/task,displayserie/serie,LV%2025-P/output_type,/ (http://www.lem.com/hq/en/component/option,com_catalog/task,displayserie/serie,LV%2025-P/output_type,/)

O problema aqui principalmente no transdutor de tensão é que necessita de um alimentação de +-15VDC, mas funciona.

O que fiz foi usar um circuito com estes dois transdutores para ter à saída 10VDC max, (porque estava a usar uma NI USB 6008: http://sine.ni.com/nips/cds/view/p/lang/en/nid/201986 (http://sine.ni.com/nips/cds/view/p/lang/en/nid/201986)).

O que eu pretendo agora é mudando o circuito para ter um tensão máxima de saída 5VDC e usar um arduino para ler os dados eléctricos.

A minha dúvida agora é substituir a DAQ.

Título: Re: Ler dados eléctricos através de um arduino
Enviado por: senso em 07 de Setembro de 2013, 13:48
O teu inversor não tem saida de dados série, é muito comum terem algum modo de comunicação precisamente para monitorizar essas coisas.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: LuísR.A. em 07 de Setembro de 2013, 14:01

http://www.alldatasheet.com/datasheet-pdf/pdf/180934/LEM/AKR-B420L.html (http://www.alldatasheet.com/datasheet-pdf/pdf/180934/LEM/AKR-B420L.html)

Citar
Vc Supply voltage (Loop powered) 24 V DC
RL
Load resistance see power supply diagram
Vb Rated voltage (CAT III, PD2) 150 V AC
Vd RMS Isolation voltage test, 50 Hz, 1mn 3 kV AC
f Frequency bandwith 10-400 Hz

Parece que é 24VDC para a alimentação.

Este é que é 15VDC certo?
http://www.lem.com/hq/en/component/option,com_catalog/task,displayserie/serie,LV%2025-P/output_type,/ (http://www.lem.com/hq/en/component/option,com_catalog/task,displayserie/serie,LV%2025-P/output_type,/)

Alimentaste os dois com 15VDC?

Título: Re: Ler dados eléctricos através de um arduino
Enviado por: Salvador em 07 de Setembro de 2013, 14:35
Alimentei um a 15 VDC e outro a 24VDC.

Sim Senso tens razão a maior parte dos inversores tem ligação serie para leitura de dados e existem muitos que até têm asoftware próprio para o tratamento dos dados, mas interessa-me fazer uma coisa diferente e não usar isso.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: Njay em 07 de Setembro de 2013, 14:46
Se é esse 1º sensor do qual o Luis deixou a datasheet, a saída é em corrente, 4 a 20mA, portanto tens que a ligar a uma resistência à massa, medindo então a tensão na saída.

Para uma saída simples até 5V a resistência tem que ser tal que 20mA (ou um nadinha mais, para margem) não causem sobre ela uma queda superior a 5V. Pode ou não ser possível arranjar um valor adequado, não sei, não fiz as contas. Mas não vais ter 0V pois o mínimo são 4mA (ou talvez até consigas, ligando a resistência à tensão negativa, se for estável).

Algo mais "adaptado" já envolve uma conversão com OPAMPs.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: senso em 07 de Setembro de 2013, 14:50
É que medir corrente e voltagem em 230v AC não é nem de perto nem de longe tão facil ou seguro para quem pouco percebe do que medir 10v DC.
Se é AC o melhor para corrente é um sensor inductivo.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: Salvador em 07 de Setembro de 2013, 15:30
Relativamente à obtenção dos sinais de tensão e corrente tenho tudo a trabalhar a receber valores e a fazer o tratamento de dados (calculo de energia e por ai adiante) a questão que gostava de fazer e onde não estou ainda muito à vontade é a questão de utilizar o arduino para recolha de dados em vez de uma placa de aquisição.
Título: Re: Ler dados eléctricos através de um arduino
Enviado por: Tayeb em 08 de Setembro de 2013, 10:24
Não sei se viu o post que publiquei aqui sobre UNO32 e LabVIEW. Por UNO32 ser compatível com Arduino creio que o código funcionará. Se não, pelo menos com o tutorialpode usar o código para ligar ao seu Arduino seguindo os passos que indico.

O link está no post: http://lusorobotica.com/index.php?topic=6680.msg74859;topicseen#new (http://lusorobotica.com/index.php?topic=6680.msg74859;topicseen#new)

Dê um feedback se o tutorial lhe ajudar a alcançar os seus objetivos. O LabVIEW é uma potente ferramenta e está muito apoiado com muita partilha de conhecimentos e ideias na Web