Opções simples de amplificador adaptável para interfaces de sensor

8

Relacionado : ADC de alta resolução para sensores ruidosos em condições variáveis


Estou construindo uma interface usando sensores resistivos baseados em têxteis que podem ter diferentes faixas de resistência, dependendo das condições ambientais. Para melhor utilizar meus conversores A / D, gostaria de explorar o uso de um amplificador adaptável que ajudará a compensar o desempenho não confiável dos sensores.

Quais são minhas opções aqui? Ou você pode me indicar algumas referências sobre o assunto?

Posso pensar em dois esquemas gerais que seriam úteis:

  1. Calibração automática, encontrando os valores mínimo e máximo em uma determinada janela de análise (~ 30s-2min)
  2. Calibração explícita usando uma interface de alternância para trem
  3. ... Existem esquemas alternativos em que não estou pensando?

Algumas restrições

  • Deve ser uma solução de um chip (pequena), se possível (como chips de detecção capacitiva)
  • Deve ser fácil de configurar e usar (não sou engenheiro e não estou sendo pago)
  • Provavelmente haverá um microcontrolador por perto

Ainda melhor seria um chip faça tudo com ponte de Wheatstone / divisor de tensão, filtro passa-baixo e amplificador.

Mais sobre minha configuração particular

  • Os conversores A / D serão os conversores integrados em um chip Atmel (podem ser ATtiny85 ou ATmega32u4) ou os conversores integrados em um rádio XBee série 2. Eu nunca usei chips A / D dedicados antes - não tenho certeza se haveria algum benefício em fazer isso.
  • O sensor será um pedaço de lycra condutora dopada com polímero da Eeonyx. A resistência muda em cerca de 1 ordem de grandeza a 30% de extensão.
  • A coisa toda será montada na mão de um artista, por isso deve ser pequena e fisicamente robusta. Há uma boa chance de que seja sem fio.
  • Precisão é importante. A interface será usada para variar continuamente os efeitos de áudio em tempo real, ou seja, não é uma opção.
terraço
fonte
Você pode fornecer mais detalhes sobre sua configuração atual? ie: tipo de ADCs usados, qual sensor de toque, qual controlador de toque.
19411 tyblu
Qual é o tamanho da variação que você espera obter das mudanças no ambiente?
Jpc #
Que tipo de resolução de bits você precisa? Eu pergunto porque acho que seria mais simples aumentar as especificações dos seus ADCs em 4 bits (x16) e fazer a adaptação no software. Isso deve ser suficiente para capturar uma única variação de magnitude. Obviamente, se você já precisa de 16 ou 20 bits de resolução, será muito caro.
precisa
@ anthony137 é uma ideia interessante. Eu estive pensando em termos de conversores de 10 bits, já que é isso que os microcontroladores geralmente incorporam, mas vou dar uma olhada nos conversores de alto rez.
terrace
@ jpc eu vou ter que testar. Eu gostaria de ter um sistema que possa se adaptar a uma ampla gama de condições desconhecidas, mas posso obter alguns números aproximados.
terrace

Respostas:

5

Aqui está a ideia básica:

sensor

V1 é a saída PWM filtrada e R2 é o seu sensor. U1 é um conversor de tensão para corrente, sendo a corrente através da carga R1 I = V1 / R2. Isso significa que a tensão através de R1 depende de ambas as entradas. U2 e U3 é um amplificador de instrumentação com ganho 10, que amplifica a tensão através de R1.

Com R1 = 100 Ohms e V1 = 0..5V, o circuito funciona para R2 = 50..5000, por exemplo, em duas ordens de grandeza, que pelo que você diz devem ser suficientes.

O que você faz é retirar e compará-lo com a tensão de referência (4V seria apropriado aqui para a faixa dinâmica máxima) e usar a aproximação sucessiva em V1 para chegar o mais próximo possível da tensão de referência. A partir de V1 e queda de tensão conhecida em R1 (por exemplo, tensão de referência), agora você pode calcular o valor de R2, seu sensor. Obviamente, isso resultará apenas na resolução do PWM, mas você pode usar o segundo amplificador de instrumentação para amplificar o erro (diferença entre a tensão de saída e a referência) para obtê-lo dentro do alcance do ADC do seu microcontrolador e obter bits adicionais de resolução.

Você precisa de dois opamps (U1 e comparador) e dois amplificadores de instrumentação. Use reais, em vez de fazê-los de opamps, porque as imprecisões de resistores e opamps introduzirão erros.

Se duas ordens de magnitude não forem suficientes, você poderá substituir R1 pelo potenciômetro digital para obter outro grau de liberdade. Eu nunca trabalhei com um, então não sei quão precisos eles são e se essa solução precisaria de alguma calibração ou não.

Além disso, devo mencionar que foi o jpc quem veio com a ideia.

ATUALIZAR:

Ok, tenho que concordar com o OP que essa não é realmente a resposta para sua pergunta (embora resolva o problema tecnicamente). Eu me deixei levar pelo "amplificador adaptável" no título como uma desculpa para fazer algum design analógico. Esqueça tudo o que está escrito acima, a menos que você queira aprender algo (pouco) sobre opamps. Aqui está, espero, uma resposta melhor e uma solução muito mais simples:

Use um divisor resistivo alimentado por um regulador de tensão (para separá-lo do ruído de outros circuitos), com o resistor superior configurado para a resistência máxima que seus sensores podem ter (Rmax) e com o resistor inferior sendo o sensor.

Defina a tensão de referência do seu ADC para metade da saída do regulador de tensão.

Então você experimenta a voltagem no sensor com o seu ADC. Dessa forma, você precisa de apenas um canal de extremidade única por sensor. Eu fiz a recomendação da ADC no outro post.

Se você usar ADC de 10 bits integrado nos microcontroladores que você mencionou, você não terá muito alcance dinâmico. O aprimoramento do alcance usando circuitos analógicos, como o que eu publiquei originalmente, adicionaria muitas peças adicionais, e é por isso que eu recomendo simplesmente usar um ADC de 24 bits, como o ADS1256 que eu recomendo no outro post, porque isso lhe dará baixo ruído e alta faixa dinâmica, em um único chip (mais a referência, que é pequena, e o regulador de tensão, que também pode ser pequeno - você também pode tentar deixar o regulador de fora e ligar o divisor resistivo diretamente a partir da referência - isso lhe privará 1 bit de resolução, mas existem muitas delas de qualquer maneira). Você precisará fazer uma trituração numérica ("Auto-calibração encontrando valores mínimo e máximo em uma determinada janela de análise" - é uma boa idéia),

Espero que isso seja um pouco mais útil.

ATUALIZAÇÃO 2:

Este é o último: eu já passei por microcontroladores MSP430 da TI e descobri que alguns deles têm ADC sigma-delta de 16 bits com referência interna. Nomeadamente MSP430F2003 e MSP430F20013 . Essa seria sua solução de um chip se você estiver disposto a desistir da Atmels. Potência muito baixa também. E eles possuem microcontroladores em fila com 24 ADCs, mas eles ainda não estão em produção. Além disso, também existem microcontroladores PSoC da Cypress, que possuem ADCs sigma-delta de 20 bits ( séries PSoC 3 e PSoC 5 ), também com referência. Estes seriam ainda melhores.

Jaroslav Cmunt
fonte
@ Jaroslav Não sei se entendi. Em um conversor de tensão para corrente, V1 geralmente é do sensor - nesse caso, como R2 é o sensor, qual é o efeito de U1? O que são U3 e U2? Eles são os amplificadores de instrumentação? O que eles estão diante? Finalmente, você diz algo sobre como medir a queda de tensão em R1. Como faço para medir essa queda e por que preciso dela? Por fim, que tipo de esquema de calibração você tem em mente (veja as duas opções que apresento no post)? Obrigado!
terraço
@Jaroslav Ah, acho que você respondeu à postagem errada. Veja aqui: electronics.stackexchange.com/questions/11978/…
terrace
Obrigado pelo reconhecimento, mas para ser sincero, estava imaginando algo mais simples. :) Eu acho que você realmente não está usando muito o ADC aqui?
JPC
@jpc fato, 3 op-amps levará de dois muito de qualquer maneira o espaço (8 canais, pulso-montado)
terraço
@jpc Sua solução realmente não aumenta a faixa dinâmica. Simule ou meça para descobrir o porquê. Além disso, possui uma não linearidade durante os primeiros 0,6V ou mais devido ao diodo emissor-base.
Jaroslav Cmunt
3

Se as alterações na resistência do sensor forem grandes (> 50%), você poderá usar um circuito divisor de tensão em vez da ponte Wheatstone (mais complicada). Você pode melhorar facilmente a faixa dinâmica variando a tensão de alimentação.

A tensão de alimentação ajustável pode ser facilmente obtida a partir do PWM em seu microcontrolador, juntamente com um filtro RC e uma fonte de corrente controlada por tensão.

Aqui está um esquema aproximado da minha ideia:

Esquemático(da Socratic Electronics por Tony R. Kuphaldt )

Em seguida, conecte a tensão PWM filtrada à entrada não inversora (+) do amplificador operacional.

Para multiplexação rápida, você pode criar duas dessas fontes atuais. Se você conectar todos os sensores pares a um e todos os ímpares ao outro, poderá alterar a tensão no próximo sensor enquanto o ADC ainda estiver amostrando.

Você deve usar uma referência de tensão de precisão para o ADC. Você também pode obter 1 ou 2 bits usando um filtro de média móvel em seu software.

PS. Gostaria de agradecer a Jaroslav Cmunt por suas vastas melhorias nesta resposta.

jpc
fonte
3

Você leu este site?

Existem muitos exemplos de eletrônicos vestíveis, incluindo alguns com tecidos Eeonyx. O site possui exemplos de circuitos sensores (ardunio e xbee).

Você não precisa de muitos componentes para construir uma ponte Wheatstone e provavelmente terá um circuito de detecção multiplexado para os 8 sensores; você ainda pode obter 100 amostras por segundo ou mais facilmente em cada entrada. Use uma placa de circuito impresso (verifique novamente o site acima) para criar a ponte. Ou simplesmente passe os fios dos sensores até a luva e coloque todos os componentes eletrônicos em um pacote montado em cinto. A maioria dos 'sensores' de tecido que eu já vi têm resistência relativamente alta; os 0,1 ohms que você pode obter do fio entre a unidade de correia e as luvas não importam.

Coloque um sensor de temperatura em cada luva e use o resultado para fazer uma correção no software, se necessário, para se adaptar às mudanças ambientais. Talvez calibre as luvas antes de cada uso, pode não ser necessário, dependendo da inteligência do intérprete.

Presumo que o módulo Xbee transmita para um computador, construa a função de calibração no computador, na verdade, faça o processamento possível, como correção de temperatura, no computador.

Pontos de bônus se você apenas usar uma rede neural para converter a entrada do sensor em uma ação. Isso facilitará o treinamento e se adaptará aos movimentos das mãos de diferentes pessoas.

Marca
fonte