[Videograime] Calculando a Autonomia

English Version
Já que iremos alimentar nosso Raspberry com baterias, como podemos calcular a autonomia?

Se você já deu uma olhada em baterias, verá que além da tensão (volts) elas também tem uma informação em mAh (miliamperes-hora). Quando falamos que uma bateria é de 2000mAh, estamos falando que se puxarmos 2000 miliamperes (ou 2 amperes) dela, ela irá durar exatamente 1 hora. E se puxarmos só 1000 miliamperes? Ela vai durar 2 horas!

Sendo assim, fica fácil saber quanto tempo nosso Raspberry irá rodar, se soubermos quanto ele puxa e quantos mAh nossa bateria tem, certo?

Mais ou menos. Lembre-se, estamos utilizando duas baterias 18650 em série, que somam 7.4v nominais. Nosso Raspi funciona em 5v, não em 7.4v. Nosso UBEC irá puxar X miliamperes a 7.4v das baterias, e entregar Y miliamperes a 5v para o Raspi. Sendo assim, não podemos fazer uma conta simples com o consumo do Raspi.

Para simplificar quebramos em etapas.

1) Quanta energia nossa bateria pode armazenar?
2) Qual a potência total do nosso conjunto?
3) Quais as principais perdas?


1) Quanta energia nossa bateria pode armazenar?
Podemos utilizar a seguinte fórmula para calcular o quanto em energia (joules) podemos armazenar em uma bateria:
Energia Total (joules) = Tensão Nominal (volts) * Corrente (Ampere) * 3600 (1h, em segundos)

Nossas duas baterias 18650 (3.7v) afirmam terem capacidade de 2500 mAh. Colocando as duas em série, somamos a tensão, e mantemos a carga, então temos 7.4v (3.7v por bateria), e os mesmos 2500mAh. A fórmula fica assim:

Energia Total = 7.4v * 2500mAh
Energia Total = 7.4v * 2.5Ah // Transformando mAh em Ah
Energia Total = 7.4v * 2.5A * 1h // Retirando o “h” de mAh
Energia Total = 7.4v * 2.5A * 3600s // Transformando o “h” em segundos
Energia Total = 18.5 Watts * 3600s // Multiplicando Tensão por Corrente e encontrando a potência
Energia Total = 66600 joules // Multiplicando pelo tempo que a bateria dura se utilizarmos essa potência

Agora, agora sabemos que podemos armazenar em nossa bateria 66600 joules!


2) Qual a potência total do nosso conjunto?

Nosso conjunto basicamente é composto de um Raspberry Pi modelo A e de um display LCD.
Pesquisei sobre o display que eu comprei (e ainda não chegou), e vi que ele deve consumir em média 350 miliamperes à 5v.
Nosso Raspi (como podem ver na foto) estava consumindo 220 miliamperes enquanto rodava Super Mario.

Raspi modelo A consumindo menos de 250mA

Raspi modelo A consumindo menos de 250mA

Somando os dois, o consumo total à 5v do nosso conjunto é 570 miliamperes. Desse modo, sabemos que a potência total do nosso conjunto é de 2,85 Watts (5v * 0.570A).


3) Quais as principais perdas?
Quando transformamos (através do UBEC) os 7.4v das baterias para 5v temos uma certa perda de energia. Normalmente essa perda é em calor, que é dissipado e não aproveitado. Nosso UBEC tem uma eficiência de 90%, que significa que perdemos 10% da energia para o ambiente em forma de calor.

Ora, se nosso UBEC tem 90% de eficiência, então não temos 66600 joules para usarmos como quisermos, e sim, só 90% disso. Então vamos ajustar nossa variável de “Energia Armazenada”, para refletir essa perda:
Energia Total = Energia Total * Eficiência do UBEC
Energia Total = 66600 joules * 90%
Energia Total = 66600 * 0.9
Energia Total = 59940 joules


Ok, agora temos as duas variáveis que necessitamos para calcular quanto tempo nossa bateria irá durar:
Energia Total = 59940 joules
Potência do Conjunto = 2.85 Watts

Podemos utilizar uma variação da fórmula de cálculo de energia para agora encontrarmos o tempo:
Tempo (segundos) = Energia Total (joules) / Potência do Conjunto (Watts)
Tempo = 59940 joules / 2.85 Watts
Tempo = 21031.57 segundos

E por fim, transformando esses segundos em horas temos finalmente a autonomia do nosso projeto utilizando as baterias em questão: 5:50

[Videograime] Raspberry Pi Sobre Baterias

English Version
De acordo com o FAQ, o Raspberry Pi não foi criado para ser alimentado por baterias. Ele precisa ser alimentado com 5v, estáveis. Qualquer coisa abaixo de 4,8v fará com que ele reinicie ou se comporte de maneira estranha. Muito mais que 5v e você irá danificá-lo ou destruí-lo.

Isso é particularmente complicado com baterias, pois quando estão totalmente carregadas a tensão delas é maior do que a nominal, e conforme vão descarregando a tensão chega a valores inferiores ao nominal. Ou seja, uma bateria de 3,7v quando totalmente carregada chega aos 4.2v, e totalmente descarregada baixa para 2,7v. Como regular essa loucura para 5v estáveis?

Uma das formas é com a utilização de um UBEC (Universal Battery Eliminator Circuit), sigla em inglês para “Circuito Eliminador de Baterias”. Esse componente é responsável por estabilizar a tensões de entrada variáveis em uma tensão fixa de saída.

O UBEC que estou utilizando é este, facilmente encontrado no Ebay ou afins. Ele pode ser alimentado com tensões entre 5.5v e 26v, regulando a saída para 5v ou 6v, selecionáveis através de um jumper. No meu caso, estou utilizando duas baterias 18650, com tensão nominal de 3,7v, como essas.

As duas, em série somam 7.4v, mas note que quando totalmente carregadas temos mais que 8.2v!

Sem UBEC 8.2v!

Sem UBEC 8.2v!

Mas tudo bem, nosso UBEC irá normalizar isso para 5V. Quando ligamos as baterias no UBEC, temos uma saída estabilizada em 5.2v.

Com UBEC 5.2v!

Com UBEC 5.2v!

Ok, não deveria ser 5v? Sim, mas é normal esse desvio, e 5.2v AINDA não fritou meu Raspberry, e creio que não irá fazê-lo (já não posso garantir o que acontecerá com o seu…). Com a saída estabilizada, é só ligar nos pinos correspondentes (VCC e GND) do Raspi…

Diretamente nos pinos VCC e GND dos GPIO. CUIDADO!

Diretamente nos pinos VCC e GND dos GPIO. CUIDADO!

e voilá:

Lindo!

Lindo!

Sim, já estamos rodando Pokemon Yellow e hackeamos um controle de Playstation para testes. Mas esses são assuntos para outros posts =).

Aprendi sobre isso aqui e aqui.

[Videograime] Projeto

English Version
Um dos projetos que tenho trabalhado é o de criar um dispositivo portátil para jogar videogame, para que eu possa matar tempo quando estou em uma situação bloqueante, como esperar no aeroporto, fila do banco ou quando minha namorada demora um pouquinho a mais para se aprontar.

Claro que poderia utilizar o meu tablet (na verdade uso), mas não é a mesma experiência que jogar com um videogame portável como um PSP ou GameBoy. Portanto levantei os requisitos que desejo e criei o projeto que chamo de Videograime.

Sei que vou aprender bastante com cada desafio que enfrentar, e pretendo passar aqui no blog tudo que for interessante durante essa jornada.


Os requisitos

  • Portátil
    • Rodar sobre baterias
    • Ser pequeno, como um PSP.
  • Rodar plataformas retrô. Ao menos:
    • SNes (Super Nintendo)
    • GameBoy
    • PSX (Playstation 1)
  • Utilizar botões de controles SNes ou PSX. Nada de push-buttons barulhentos.
  • Auto falantes externos e saída para fones.
    • Os auto falantes devem silenciar automaticamente ao plugar um fone.
    • Controle de volume.

Requisitos fora da primeira versão:

  • Alavanca analógica.
  • Controle de brilho da tela.

Não diferente das referências, a escolha foi de utilizar um Raspberry Pi como plataforma para rodar os emuladores. Após uma pesquisa rápida percebi que a parte de software terá uma grande ajuda, visto que existe um projeto chamado RetroPie, que é uma imagem pro Raspberry que já tem todos os emuladores instalados, dentre outras coisas legais como uma interface de controle e configuração.

Referências:

Ben Heck
Kaushlesh Chandel
Mr Walkway