segunda-feira, 23 de dezembro de 2013

Raspberry Pi Projetos: Extensão USB com fonte

Projeto para Raspberry Pi




Quando se fala em Raspberry Pi, projetos diversos vem a nossa mente. Mas muitos já devem ter se deparado com o fato de que, nem tudo pode ser ligado diretamente nas portas USB do Raspberry Pi, isso se deve a principalmente no caso da revisão 1.0 da placa, ao limite de corrente nas portas. As primeiras placas modelo B rev1 por exemplo, contam com um polyfuse para cada porta USB, eles são como fusíveis porém resetáveis sem intervenção humana. Oficialmente cada porta USB do Raspberry Pi Model B rev1 tem um limite de 100mA por porta.

Portanto oficialmente recomenda-se (na rev1) que não se ultrapasse a corrente especificada, mouses, teclados, pendrives em geral não o fazem, mas muitos dongles wi-fi, alguns receptores de teclados/mouses wireless e HD's externos ultrapassam o limite bem acima do especificado. Caso venha a ultrapassar o limite, o polyfuse poderá se abrir e pode demorar horas, dias e até anos que ele se recupere totalmente¹, mas isso não quer dizer que não será usável novamente em minutos ou horas, somente que a resistência(ohm) interna dele já não será a mesma do original.


O requerimento oficial mínimo para fonte do Raspberry Pi Model B é de 700mA, 100mA por porta USB já estão computados nesse valor.

Um das soluções para se mitigar o problema dos 100mA na revisão 1.0 está em fazer uma ponte, pulando os polyfuses e assim retirando o limite imposto².

No Raspberry Pi Modelo B revisão 2.0 os polyfuses da USB foram removidos, mas isso não quer dizer que você pode sair conectando uma torradeira elétrica USB na placa. Tanto na revisão 1.0 como 2.0 existe um outro polyfuse na entrada e sua corrente máxima segura está especificada como 750mA. Ou seja, digamos que seu Raspberry Pi esteja consumindo 400mA, lhe sobra somente 350mA teóricos no total para a USB. Mas além do limite, outros problemas podem existir, há relatos de que ao conectar alguns dispositivos com o Raspberry Pi ligado, que precisam de "muita" corrente, o mesmo tende a resetar, pois quando se liga esses dispositivos a corrente inicial consumida por eles causam um vdrop(voltage drop) e essa queda de tensão gera a instabilidade na placa, resetando ou travando.

Tudo isso vai variar de quanto o dispositivo consome, é sempre bom ficar atento nas especificações qual o máximo de corrente do dispositivo que você quer plugar no USB.

Uma outra solução usada por alguns nesse caso é fazer um jumper antes desse polyfuse diretamente no pino do USB.

As solução mais fácil e largamente utilizada é a de um hub USB com fonte, como eu não disponho de uma no momento resolvi utilizar um outro método, que é uma extensão usb com os conectores mas ligado a uma fonte. O mais fácil naturalmente seria cortar o fio do dispositivo e ligar na fonte ou então utilizar fios extensores usb e fazer o mesmo.

Na minha solução eu reutilizei uma placa usb frontal de um velho PC, como cada placa varia de pc para pc, cada uma deve ser adaptada de forma diferente. Utilizei somente uma das portas USB para dados, com a outra servindo  como fonte de energia se preciso.


Construção


Depois de retirada a placa frontal do pc, o primeiro passo é remover o que não irá se utilizar, em meu caso remover o chicote e dessoldar os pinos que levavam a conexão usb até a placa mãe.

Placa USB frontal de PC
Placa USB frontal de PC

Placa USB frontal de PC (verso)
Placa USB frontal de PC (trilha)

Após remover os pinos
Após remover os pinos

Pinos
Pinos

Uma das coisas que procurei antes de começar, era um case compatível e que não fosse tão rústico. Como não encontrei nada que me agradasse resolvi faze-lo de lego e cortei a placa para que coubesse no menor local possível, obviamente somente as partes da trilha que não iria utilizar.


PCB Cortada
PCB Cortada

Cortei parte de um cabo USB antigo que não iria utilizar, para ser usado na ligação ao Raspberry Pi. Um detalhe é que iremos utilizar apenas o data+, data- e GND dele como referência.

Cabo USB com as pontas já descascadas.
Cabo USB com as pontas já descascadas.

Cabo da fonte
Cabo da fonte


Soldamos os 3 fios, sendo o pino 1 na esquerda GND e os seguintes abaixo data+ e data- , outras placas naturalmente podem ter o circuito e ordem diferentes mas você pode se guiar pelos fios que iam até a placa mãe. Infelizmente acabei rompendo uma trilha ao soldar na fileira de cima, então acabei usando os contatos abaixo.



Fios do CABO usb soldados
Fios do cabo usb soldados


Utilizei um led para indicar que tudo estava ligado, com um resistor de 1K para que o mesmo não ficasse tão forte pois ele é de alto brilho.


Led e resistor de 1K
Led e resistor de 1K

 Ao soldar os fios da fonte na placa, aproveitei para soldar junto o resistor com o GND da fonte, o VCC foi soldado no quarto contato.

Fios da fonte soldados
Fios da fonte soldados

Primeiro teste para ver se tudo está certo, não se trata de um pendrive, somente um dongle que fiz anos atrás para testes.


Primeiro teste
Primeiro teste

O led se encaixou perfeitamente na parte de baixo de uma das peças de lego.

Led vs lego
Led vs lego

Vista de cima placa
Vista de cima

Para isolar os contatos do led, utilizamos 2 finos pedaços de termo retrátil.


Termo retrátil
Termo retrátil

Led isolado
Led isolado



Solda finalizada
Solda finalizada



Após soldar o led no furo do vcc que sobrou e no resistor é preciso entortar os contatos do led de forma que tudo feche e fique alinhado com a "tampa", a peça de lego que ele irá encaixar.


Alinhando led
Alinhando led

Led alinhado
Led alinhado

Projeto finalizado e ligado na fonte
Projeto finalizado e ligado na fonte



Teste no Raspberry Pi
Teste no Raspberry Pi

Referências:

[1] http://www.te.com/content/dam/te/global/english/products/Circuit-Protection/knowledge-center/documents/circuit-protection-psw-fundamentals.pdf
[2] http://raspi.tv/wp-content/uploads/2012/09/polyfuse-1024x861.jpg
http://www.te.com/catalog/pn/en/RF1404-000
http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=5830&hilit=polyfuse&start=200


Está gostando do blog? Ajude-nos a divulgar e curta nossa página no Facebook ou siga-nos no Twitter.


4 comentários:

  1. Não tem algo mais detalhado??é um usb que não recebe energia?

    ResponderExcluir
    Respostas
    1. Olá, a parte que vai ligada ao Raspberry Pi é realmente um usb que não recebe energia, se isso fosse feito diretamente no cabo usb, bastaria cortar o VCC( ou + ) que vai ao raspberry pi e ligar o gnd e vcc que vai para o dispositivo na fonte externa de 5v. Qualquer dúvida só falar.

      Excluir
  2. Olá.

    Onde/como você compra lego?

    Observação: não encontrei um post mais adequado para a pergunta.

    ResponderExcluir
    Respostas
    1. Sem problemas. O lego que utilizei tenho desde pequeno, mas você encontra em lojas de brinquedo, pra esses tipos de coisas é bom aquelas caixas cheio de peças de vários tamanhos, por exemplo: http://www.rihappy.com.br/6177-lego-bricks-more-pecas-basicas-luxo/p único problema dessa é a espessura das peças que parecem iguais.

      Excluir