Leia Tensão positiva e negativa no Arduino [fechado]

11

É uma história longa, mas eu desmontei um carro de RC e queria que o Arduino usasse analogRead()para obter os valores dos meus motores e direção. Medi com o meu multímetro que a tensão no meu carro com controle remoto varia de -6v a 6v.

No entanto, o Arduino suporta apenas leitura de 0v a 5v no máximo. Existe uma maneira de converter o -6v e + 6v para 0v e 5v? Ouvi dizer que isso poderia ser feito usando um amplificador operacional. Algumas pessoas também me disseram para usar um divisor de tensão. Em outras palavras, se eu não estivesse controlando o carro RC, o Arduino deveria ver 2,5 volts.

De qualquer forma, não sei exatamente como eu faria isso. Alguém pode me recomendar um Op Amp adequado com um circuito para este cenário específico?

OU, se possível, alguém pode me mostrar como ler a tensão negativa e positiva usando dois pinos do Arduino? Por exemplo, se houver -6v fornecido, o pino analógico 0 retornará 1023. Se houver 0v fornecido, os pinos analógicos 0 e 1 dirão 0. E se houver + 6v fornecido, o pino analógico 1 retornará 1023 Como posso fazer um circuito que funcione assim?

Agradeço se você tiver um diagrama de circuito para isso. Obrigado!

solutionhacker
fonte
1
Quando você diz que o sinal de saída do carro RC varia de +6 a -6 Volts, a que leitura é essa referência? Em que ponto você está aplicando a sonda de aterramento do multímetro?
Anindo Ghosh
@AnindoGhosh Acabei de pegar as duas pontas do multímetro e toquei uma sonda em cada fio do motor.
solutionhacker
2
Votar para fechar como a própria premissa desta questão é fundamentalmente errado. O que deve ser lido não é analógico; na melhor das hipóteses, pode ser digital na largura de pulso, mas realmente não faz muito sentido usar um Arduino para ler um sistema RC herdado bruto, quando você pode facilmente criar um sistema digital moderno usando módulos do tipo nRF24L01 de US $ 1.
Chris Stratton
Bem-vindo ao EE.SE! Parece ser uma pergunta de engenharia reversa, modificação ou reparo. Esteja ciente de que essas perguntas devem envolver etapas específicas de solução de problemas e demonstrar um bom entendimento do design subjacente do dispositivo que está sendo discutido, para que você possa fazer perguntas específicas e focadas que possam ser respondidas de forma concisa. Caso contrário, a questão é muito ampla. Mais informações podem ser encontradas aqui: Está perguntando como consertar um circuito defeituoso no tópico? .
Dave Tweed

Respostas:

18

Três resistores padrão fazem o trabalho, desde que o motor veja -6V com referência ao terra e não ao outro terminal do motor.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Ao variar Vm de -6 a 6V, a saída varia de 0 a 4,9V.

jippie
fonte
@AnindoGhosh ah, e eu não ficaria surpreso se a tensão do motor fosse medida no motor em vez de referenciada ao terra, para que você também tenha uma boa resposta. Também eu não conta para PWM ...
jippie
Como posso calcular os valores do resistor, considerando uma tensão de entrada conhecida? Por exemplo, eu tenho uma situação semelhante, mas meu sinal de entrada é de -2 a +2 volts. Essa é uma topologia interessante, mas eu gostaria de entender a teoria por trás dela para modificá-la, não apenas copiar.
robm
@robm Estabeleci primeiro as proporções para os resistores, depois usei alguns cálculos em uma grande tabela de planilha para selecionar os resistores correspondentes mais próximos. Foi o uso das fórmulas na planilha porque eu não elaborei o método exato que provavelmente deveria ter. Suponho que vale a pena uma pergunta por si só: Método padrão para escolher valores de resistores para este caso de uso específico.
jippie
Presumo que você analisou o circuito e selecionou valores algo assim? electronics.stackexchange.com/a/252473/36877 Ainda não entendi bem como se analisa o circuito quando a entrada é de 6V para obter 4.887V como saída.
precisa saber é o seguinte
4

Quando o motor é acionado a partir de uma ponte H completa e você deseja o seu Arduino na mesma referência de terra que o resto do carro, você pode usar o seguinte:

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Ambas as saídas variam de 0 a 2V4 e você deve definir a tensão de referência interna do Arduino para 2V56. Ao conectar as duas saídas à sua própria entrada analógica, você pode calcular a tensão do motor subtraindo-as. Os capacitores estão lá para sinais PWM médios, para que possam ser medidos pelo ADC.

jippie
fonte
-1

Aqui está uma solução sem amplificador operacional. Você precisará de um pino de entrada extra no Arduino para este.

Se o pino de entrada indicar 0, a tensão do ADC é positiva. Caso contrário, a tensão é negativa.

Devido à queda de tensão no retificador da ponte, você resolveu o problema de baixar 6V para 5V. Agora você terá 6 - 2 * 0,7 = 4,6 V no máximo. D5 é opcional e existe apenas por razões de segurança.

A desvantagem é que a tensão deve ser maior que + 1,4V ou menor que -1,4V para ser medido.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

Cornelius
fonte
2
Você também precisará isolar o terra do Arduino do circuito RC. Isso significa que eles precisarão de fontes de alimentação separadas.
DoxyLover 29/04