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:
- Calibração automática, encontrando os valores mínimo e máximo em uma determinada janela de análise (~ 30s-2min)
- Calibração explícita usando uma interface de alternância para trem
- ... 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.
Respostas:
Aqui está a ideia básica:
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.
fonte
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:
(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.
fonte
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.
fonte