Como isolar galvanicamente o Arduino da porta USB do computador?

Pessoal,

Alguém conhece uma forma simples e barata de isolar eletricamente o Arduíno da porta USB do computador na hora de carregar os sketchs?

A minha ideia é o Arduíno não usar nenhuma energia elétrica do PC mas sim receber apenas informações por luz (optoacopladores) e quem alimentaria a USB do Arduíno seria a própria fonte externa de 5V que uso para alimentar o Arduino (ligo nos pinos VCC e GND do Ardino PRO Mini) e os circuitos ligados nele.

Alguém já viu algum circuito pronto com essas características ou tem ideia de como montar um, de forma simples?


Tenho essa necessidade por 2 motivos:
1-) Evitar que qualquer erro grave em minha montagem eletrônica possa danificar a porta USB do meu computador (por isso gostaria de uma isolação galvânica).

2-) Evitar que o Aruino tente puxar mais corrente do que a porta USB do PC suporta fornecer.
Eu sempre alimento meu Arduino e os demais circuitos com uma fonte externa e um regulador de tensão independente (LM2596), e com muita frequência quando vou desligar minha fonte externa acabo esquecendo o cabo USB do Arduino conectado no PC e nesse curto espaço de tempo o circuito, que consome muito mais energia do que a USB pode fornecer, "fica louco" pois o Arduino tenta alimentar todo mundo pela porta USB e não dá conta... Por isso a ideia é alimentar tudo com a minha fonte externa, inclusive esta comunicação RX e TX da USB e qualquer ligação com o PC se resuma apenas a sinal luminoso.

Em outras palavras, eu quero transformar a USB do PC e do Arduino em uma entrada/saída óptica. Será que usando apenas optoacopladores isso é possível?

Exibições: 1553

Responder esta

Respostas a este tópico

Olá.

  É possivel sim, vc precisa de 3 optoacopladores no TX, RX e dtr. Sd vezes é necessário um quarto, como no ESP, aih entra o quarto opto.

  Considero exagero. Basta usar uma placa como essa abaixo e não ligar o VCC ou ainda usar um hub USB com fonte. Assim ele pega a tensão dessa fonte e não do micro.

  Vide:

Mas existe jeito mais fácil...

Usando o ESP32 vc pode fazer OTA, que é a atualização da programação por wifi. Muito melhor.

https://www.google.com/search?q=esp32+OTA&oq=esp32+OTA

Ref: https://www.danielealberti.it/2013/06/arduino-standalone.html

Fiz o teste aqui (não ligando o VCC do módulo FTDI) e não deu nenhuma diferença não, ou seja, o PC continua alimentando o Arduino e tudo mais. Não entendi como, mas foi isso que aconteceu. Pior é que quando eu desligo minha fonte de bancada da tomada (com o Arduino e os demais circuitos conectados nela) mas esqueço o cabo USB do Arduino ligado no PC, a USB do PC consegue manter até a minha fonte de bancada em funcionamento (coisa de doido, kkkkkk). Levei atém um susto pois nem tirando a fonte da tomada ela desligava, achei que fosse bruxaria, kkkkkkkkk.

O ruim disso (além de poder estragar a USB do PC) é no caso de uma emergência onde eu precise desligar o circuito rapidamente, mesmo eu desligando a fonte de bancada o mesmo permanece ligado se o cabo USB estiver conectado no PC (acho isso muito ruim).

Sobre usar um optoacoplador no TX e RX da USB do PC eu não faço ideia como seria essa ligação. Acho que seria bem complicado de fazer pois teria que alimentar esse TX/RX tanto do lado do PC quanto do lado do Arduíno (e não sei se poderia usar o VCC e GND da USB do PC para isso...)

Olá.

  Verifique sua fiação, se precisar desligue tudo e use o multimetro como teste de continuidade pq se vc desligou o pino VCC do FTDI do seu circuito a FTDI não tem mais como alimentar seu circuito. Tem coisa aih...

  

Rodrigo, 

Já percebi esse problema  também. 

A alimentação vem dos pinos digitais. 

Por isso :

É só desconectar o VCC (5V pin) do FTTDI da sua montagem.

E insira resistores de 100 ohms entre os pinos RX e TX (entre o FTDI e o Arduino). 

Boa noite, Rodrigo, 

Não precisa ficar preocupado dessa forma. 

Existe um fusível no Arduino, para prevenir tal sobrecarga de corrente. 

Sempre que for fazer alguma montagem com Arduino, confira tudo antes de energizar. 

Eu conheço um circuito para isolar porta USB, mas usa chips especiais. 

Mas minha preocupação não é nem tanto com o Arduino em si, que é barato (pago uns R$ 8,00 na China em cada placa) mas sim com o PC (em perder a placa mãe ou até componentes mais caros) e também com os componentes que meu Arduíno está controlando, como displays gráficos ou Nextion (que são caros), sensores, etc.

Nas minhas montagens eu geralmente uso o Arduíno Pro Mini 5V alimentado por fonte externa e alimento tudo que vai conectado nas portas do Arduíno pela fonte externa também (não gosto de alimentar nada pelo próprio Arduíno), conforme esquema abaixo:

Esse esquemático acima é só ilustrativo (só para ilustrar como eu alimento o Arduino e os demais circuitos ligados à ele). Não estou usando os componentes mostrados acima no momento (display gráfico, módulo de voz e RTC DS3231) mas sim outros componentes que consomem mais energia que esses ilustrados.

Dessa forma, sou obrigado a ter que desconectar primeiro o cabo USB do PC sempre que for desligar a fonte externa, pois ao contrário, tudo que está ligado na protoboard tenta puxar corrente da porta USB através do módulo FTDI, e como geralmente a USB não suporta fornecer tanta corrente, o display gráfico fica todo zuado, se tiver buzzer ligado, fica apitando, a fita led fica toda desconfigurada, enfim "dá a louca" no circuito todo.

Talvez exista uma maneira para impedir que o Arduíno tente alimentar tudo quando está conectado apenas pela porta USB através do FTDI. Em projetos com cargas "leves" não há nenhum problema, mas meus projetos costumam ter cargas mais pesadas, como fitas de LED RGB endereçáveis, alto falantes com amplificadores, vários sensores, display Nextion ou LCD gráfico, relés, atuadores, etc. Enquanto está na protoboard até dá para desconectar o jumper do pino VCC do Arduíno mas depois do projeto definitivo montado, toda vez que eu precisar atualizar o sketch será um problema se a USB sempre tentar alimentar tudo...

Boa noite, 

"Talvez exista uma maneira para impedir que o Arduíno tente alimentar tudo quando está conectado apenas pela porta USB através do FTDI."

É só desconectar o VCC (5V pin) do FTTDI da sua montagem.

E insira resistores de 100 ohms entre os pinos RX e TX (entre o FTDI e o Arduino). 

Vocês são feras mesmo! Muito obrigado! Solucionaram o meu "problema" com perfeição.

A solução foi de fato eliminar o VCC da saída do módulo FTDI (não soldando nenhum fio ali) e usar um resistor de 100Ω no TX e um outro de 100Ω no RX. Dessa forma o resultado que se obtém é que o Arduíno (e consequentemente todos os demais componentes ligados nele) deixa de ser alimentado pela USB do computador, mesmo com o cabo USB conectado, e passa a utilizar somente a energia da fonte externa, que era exatamente o que eu queria.


O esquema de ligação fica desta forma:
É a mesma ligação padrão do FTDI, porém sem ligar a saída VCC do mó...

E na prática ficou assim:
Depois dessa foto eu isolei os resistores com termo retrátil de 2,5mm e conectei esses fios soltos em um conector kk fêmea.

Obs: Só vale ressaltar que agora, para carregar um sketch no Arduíno, o mesmo precisa estar energizado pela fonte externa, já que a USB não alimenta mais ele, ou seja, só com a USB conectada o Arduíno permanece desligado (o que é exatamente o esperado desta configuração).


Valeu, Eduardo Marcondes e José Gustavo por proporcionarem esta solução tão eficaz e barata de se fazer!

Rodrigo, satisfação garantida ou seu dinheiro de volta! 

KKKKK

44 anos de eletrônica nas costas. 

Boa tarde RD,

(se não gostar que eu use as iniciais do seu nome, me avise).

Eu gravei um vídeo, e desenhei um esquema que mostra o que ocorre com o Arduíno.

Eu usei um Arduíno mini, mas ocorre com outros também.

Ele fica ligado e com o Blink funcionando só com a bateria ligada  entre o GND e o A0,

e tem em série um resistor de 1,5 Ohms .

ligada entre o A0 e o GND, e o restante todo desligado.

O esquema está abaixo e o vídeo neste link:

http://labdegaragem.com/video/battery-test

RV

Tudo bem RV?

Esse "fenômeno"  de alimentar o microcontrolador pela entrada analógica, pode ser explicado da seguinte forma, observe o circuito equivalente de um pino de I/O.

Note que existem dois diodos reversamente polarizados, ele estão aí para proteger a entrada dos GPIOs, contra sobretensão e subtensão.

Agora vamos olhar o seu circuito:

Observe agora que o diodo superior, criou um caminho para a circulação de corrente, saindo do terminal positivo da bateria (sentido convencional de corrente), entrando pelo pino GPIO (Pin), passando pelo diodo superior e indo para os demais circuitos internos do microcontrolador e é claro retornando para a bateria pelo terminal GND.

No final das contas, você tem um diodo em série com a alimentação do microcontrolador.

Bom dia  FH,

comigo está tudo ótimo, obrigado. E com você, tudo bem.

Muito boa a sua explicação.

Eu postei o esquema é o vídeo para que o amigo RD, vise na pratica este efeito.

RV

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço