LusoRobótica - Robótica em Português

Electrónica => Electrónica Geral => Tópico iniciado por: SJD22 em 13 de Maio de 2012, 01:48

Título: CI para monitorizar bateria
Enviado por: SJD22 em 13 de Maio de 2012, 01:48
Alguém sabe de um CI de fácil utilização para monitorizar a tensão de uma bateria? A bateria tem no máximo 4.2V.

Queria ligá-lo depois à porta analogia do Arduino e assim fazer a monitorização.

Obg.
Título: Re: CI para monitorizar bateria
Enviado por: andre_f_carvalho em 13 de Maio de 2012, 03:07
olha também estou interessado num desse tipo mas para 24v e que também consigo monitorizar a corrente que se puxa pela mesma
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 13 de Maio de 2012, 05:17
Não é que eu tenha a resposta, mas não podes pedir isso sem pelo menos dizer qual é a quimica da bateria (embora me pareça LiPO de RC) e dizer que tipo de monitorização queres...
Título: Re: CI para monitorizar bateria
Enviado por: SJD22 em 13 de Maio de 2012, 10:58
Sim esqueci-me, é LIPO. Monitorização quero saber qual a tensão nos seus terminais.
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 13 de Maio de 2012, 13:03
Ligas o negativo da lipo ao GND do arduino, o positivo directamente a uma entrada analógica através de uma resistência de 10K, e um condensador de 100nF entre a entrada e o GND e tá feito, podes medir até 5V (mais precisamente até à tensão de alimentação do AVR) com uma entrada analógica. A resistência e o condensador fazem um filtro passa-baixo que mantém a tensão na entrada analógica mais estável e absorve alguns picos de tensão que possam surgir.
Título: Re: CI para monitorizar bateria
Enviado por: SJD22 em 13 de Maio de 2012, 16:40
Pois, é boa ideia. A questão é que eu já tenho sensores ligados ao Atmega1280 e o meu AVREF é 2.56V e sendo assim teria de mudar para 5V.
Título: Re: CI para monitorizar bateria
Enviado por: senso em 13 de Maio de 2012, 17:05
Divisor resistivo e tens o problema resolvido.
Título: Re: CI para monitorizar bateria
Enviado por: andre_f_carvalho em 13 de Maio de 2012, 19:05
e para monitorizar tensões de 24v?
Título: Re: CI para monitorizar bateria
Enviado por: senso em 13 de Maio de 2012, 23:48
Divisor resistivo e um condensador, tal e qual.
Título: Re: CI para monitorizar bateria
Enviado por: andre_f_carvalho em 14 de Maio de 2012, 00:16
mesmo que a entrada analogica seja max. [size=78%]5v?[/size]
Título: Re: CI para monitorizar bateria
Enviado por: senso em 14 de Maio de 2012, 00:35
Tens 42v, metes um divisor resistivo para teres á saida desse divisor entre 0 e 5v.
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 14 de Maio de 2012, 02:21
Podes meter um divisor de tensão como disse o senso ou podes simplesmente mudar a referência do ADC antes de fazer a medição. A referência do ADC não precisa de estar sempre o mesmo valor, podes mudar quando te apetecer e fazer uma leitura (tem alguns detalhes, como um certo tempo de espera, mas a datasheet e as appnotes dizem tudo).

Já agora, já experimentaste medir o valor exacto da tua referência de "2.56V" :)? (podes medir fazendo enable do pino AREF e medir nesse pino).
Título: Re: CI para monitorizar bateria
Enviado por: almamater em 14 de Maio de 2012, 10:31
Reparei neste tópico e se calhar vai.me dar jeito tb :)

Pelo que percebi posso saber se uma bateria está ainda com carga suficiente ou não e saber o seu estado certo? ou seja, uma bateria por exemplo de 12v (0v a 12v) fico com o equivalente de 0v a 5v no pino analógico é isso?  (aos 5v está fixe (carregada e com 12v) e abaixo disso começa a perder carga)
 
Se for assim, qual a melhor forma de calcular a resistência a aplicar? (para n fazer asneira)
Título: Re: CI para monitorizar bateria
Enviado por: beirao em 14 de Maio de 2012, 12:50
Em aplicações como as que se vão vendo por aqui (robots e outros equipamentos de baixa potência) podes considerar que a tensão da bateria é proporcional ao estado de carga (SoC) da bateria. Por exemplo, em veículos eléctricos o mesmo já não acontece, e não consegues saber o SoC apenas através do valor da tensão da bateria.

Que bateria de 12V tens? Se for de chumbo-ácido, poderá ir até ao 13.6V carregada (isto as dos carros por exemplo, as mais pequenas chega a uma tensão mais baixa).
 - dimensionas a resistência para o valor máximo (por exemplo os 13.6V), sendo que queres 5V para a tensão máxima: com Vcc--R2--R1--GND, tens que 5V = R1/(R1+R2) *13.6V, e sabes os valores de R1 e R2. Tipicamente coloca resistências altas (nada de resistências de 100 Ohms por exemplo) pois a corrente fica muito alta para o que o uC aguente; e a tensão que vais ler no ADC é a tensão aos terminais de R1.

Deves colocar também um optoacoplador (http://www.datasheetcatalog.org/datasheet/toshiba/2233.pdf (http://www.datasheetcatalog.org/datasheet/toshiba/2233.pdf), por exemplo) de modo a garantires que nunca vais ter mais de 5V no ADC do uC
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 14 de Maio de 2012, 19:32
Não para saber o estado de carga só pela tensão se a bateria for LiFePo4 (como as A123, Tundersky (agora Winston), CALB, Headway e outras).

Citar
pois a corrente fica muito alta para o que o uC aguente
O uC não tem nada a ver com isto e não é afectado, a corrente não entra pelo pino do ADC a dentro. O problema é causar descarga na bateria e eventual aquecimento das resistências (calor só é bom em aquecedores :) ).

Quanto ao optoacopolador, fico à espera de um exemplo prático do beirão :o ;D...
Título: Re: CI para monitorizar bateria
Enviado por: andre_f_carvalho em 14 de Maio de 2012, 19:55
boas, encontrei isto


http://www.thebackshed.com/forum/forum_posts.asp?TID=2443 (http://www.thebackshed.com/forum/forum_posts.asp?TID=2443)


será fiável?
Título: Re: CI para monitorizar bateria
Enviado por: beirao em 14 de Maio de 2012, 20:09
Não para saber o estado de carga só pela tensão se a bateria for LiFePo4 (como as A123, Tundersky (agora Winston), CALB, Headway e outras).

Citar
pois a corrente fica muito alta para o que o uC aguente
O uC não tem nada a ver com isto e não é afectado, a corrente não entra pelo pino do ADC a dentro. O problema é causar descarga na bateria e eventual aquecimento das resistências (calor só é bom em aquecedores :) ).

Quanto ao optoacopolador, fico à espera de um exemplo prático do beirão :o ;D...

epa esquece ;) o optoacoplador neste caso não dá!! :D burro eu :) assim só tinhamos 0V ou 5V! é o que faz responder sem pensar...

usa um zenner (como no link que indicaram antes) ou então também podes usar um buffer que seja alimentado com uma tensão igual à de Vref do ADC (certo Njay?:P)
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 14 de Maio de 2012, 20:12
O zener não é preciso e na verdade está a estragar-lhe as medições, tornando-as não lineares no extremo superior do intervalo de medida. Os uC têm uns diodos internos de protecção, e se a resistência cá fora for grande o suficiente, até centenas de Volt podes medir com ele. A própria ATMEL tem uma appnote em que liga um pino dum AVR directamente aos 230V da rede eléctrica através de uma resistência para detectar quando a tensão (que é sinusoidal) passa por zero (mas não se ponham a fazer isto que há "detalhes").

Quanto ao optoacopolador, fico à espera de um exemplo prático do beirão :o ;D...

epa esquece ;) o optoacoplador neste caso não dá!! :D burro eu :) assim só tinhamos 0V ou 5V! é o que faz responder sem pensar...

O problema não é esse :)! O opto é um dispositivo completamente analógico e portanto permite "dosear", apesar de em geral se utilizar em funções "digitais" (usa-se muito de forma analógica em fontes comutadas, até de PC, para feedback isolado da rede).

usa um zenner (como no link que indicaram antes) ou então também podes usar um buffer que seja alimentado com uma tensão igual à de Vref do ADC (certo Njay?:P)

Fora com o zener. Uma coisa que é preciso perceber é que os zener, e na verdade, qualquer semicondutor, não passa de 0 para 1 nem de 1 para 0 instantaneamente.

Eu colocava apenas um condensador de 100nF em paralelo com a resistência inferior do divisor de tensão para absorver algum pico mais rápido (provocado por exemplo por um motor ou por um dispositivo com mau desacoplomento da alimentação) e dimensionava as resistências para serem relativamente altas como sugeriste (não demasiado altas senão as leituras passam a ser facilmente influenciadas por "ruído").
Título: Re: CI para monitorizar bateria
Enviado por: beirao em 14 de Maio de 2012, 20:51
Concordo em tudo o que disseste, mas:

 - o optoacoplador que referi só dá 0V ou 5V, certo? existem os analógicos, mas com aquele que referi (TLP521) podemos dosear a corrente de saída? com um transistor podemos dosear a corrente que conduz, mas neste caso o diodo interno ou conduz ou não conduz certo?

 - tens razão quanto ao zenner, mas a minha ideia (tanto do optoacoplador como do zenner) era proteger o adc. o condensador protege de picos mas imaginando que há um curto circuito ou por qualquer avaria o sinal sobre muito a tensão, estava protegido. Ok, o arduino aguenta centenas de volts (em situações especiais) mas essa não sabia ;)
Título: Re: CI para monitorizar bateria
Enviado por: Njay em 14 de Maio de 2012, 21:19
- o optoacoplador que referi só dá 0V ou 5V, certo? existem os analógicos, mas com aquele que referi (TLP521) podemos dosear a corrente de saída? com um transistor podemos dosear a corrente que conduz, mas neste caso o diodo interno ou conduz ou não conduz certo?

Homessa, mas onde é que ouviste isso :)? Um opto "espelha" no transistor uma percentagem (CTR) da corrente no díodo (LED). Se meteres 1mA no LED, tens CTR x 1mA de Ic no transístor. Optos que "só dão 0V ou 5V" é coisa de que nunca ouvi falar...

- tens razão quanto ao zenner, mas a minha ideia (tanto do optoacoplador como do zenner) era proteger o adc. o condensador protege de picos mas imaginando que há um curto circuito ou por qualquer avaria o sinal sobre muito a tensão, estava protegido. Ok, o arduino aguenta centenas de volts (em situações especiais) mas essa não sabia ;)

Fica protegido pelos díodos internos de protecção dos pinos que os uC têm (e mtos CI digitais também), juntamente com a resistência. Atenção: o arduino não aguenta centenas de Volts. Os díodos de protecção fazem com que circule uma corrente do ou para o pino através da resistência, e essa corrente na resistência causa a queda da tensão "excedente", de forma a que a tensão no pino não passa de Vcc + queda-no-díodo (0.5V no caso do AVR) (ou GND - 0.5). Isto é fácil de perceber com um desenho mas os fóruns são coxos para isso. Essa corrente pode ser no máximo dos máximos 1mA para um AVR - daí que, se queres proteger o AVR de um acidente em que o sensor debita digamos 50V e o AVR está alimentado a 5V, a resistência em série com o pino deverá ser maior que (50V - (5V + 0.5V)) / 1mA = 44.5 KOhm. Faz sentido? Há mais um pequeno detalhe mas não vale a pena mencionar agora para não complicar.
Título: Re: CI para monitorizar bateria
Enviado por: beirao em 14 de Maio de 2012, 21:23
Epa tinha mesmo a ideia que era "totalmente digital" o optoacoplador! Tenho de investigar isso ;)
Título: Re: CI para monitorizar bateria
Enviado por: andre_f_carvalho em 14 de Maio de 2012, 22:02
- o optoacoplador que referi só dá 0V ou 5V, certo? existem os analógicos, mas com aquele que referi (TLP521) podemos dosear a corrente de saída? com um transistor podemos dosear a corrente que conduz, mas neste caso o diodo interno ou conduz ou não conduz certo?

Homessa, mas onde é que ouviste isso :) ? Um opto "espelha" no transistor uma percentagem (CTR) da corrente no díodo (LED). Se meteres 1mA no LED, tens CTR x 1mA de Ic no transístor. Optos que "só dão 0V ou 5V" é coisa de que nunca ouvi falar...

- tens razão quanto ao zenner, mas a minha ideia (tanto do optoacoplador como do zenner) era proteger o adc. o condensador protege de picos mas imaginando que há um curto circuito ou por qualquer avaria o sinal sobre muito a tensão, estava protegido. Ok, o arduino aguenta centenas de volts (em situações especiais) mas essa não sabia ;)

Fica protegido pelos díodos internos de protecção dos pinos que os uC têm (e mtos CI digitais também), juntamente com a resistência. Atenção: o arduino não aguenta centenas de Volts. Os díodos de protecção fazem com que circule uma corrente do ou para o pino através da resistência, e essa corrente na resistência causa a queda da tensão "excedente", de forma a que a tensão no pino não passa de Vcc + queda-no-díodo (0.5V no caso do AVR) (ou GND - 0.5). Isto é fácil de perceber com um desenho mas os fóruns são coxos para isso. Essa corrente pode ser no máximo dos máximos 1mA para um AVR - daí que, se queres proteger o AVR de um acidente em que o sensor debita digamos 50V e o AVR está alimentado a 5V, a resistência em série com o pino deverá ser maior que (50V - (5V + 0.5V)) / 1mA = 44.5 KOhm. Faz sentido? Há mais um pequeno detalhe mas não vale a pena mencionar agora para não complicar.


podes salientar todos os detalhes, neste tópico já começa a conter muita informação importante