- Sensor de força ou resistor sensível à força
- Componentes necessários
- Diagrama de circuito e explicação de trabalho
Neste projeto estaremos desenvolvendo um divertido circuito usando sensor de força e Arduino Uno. Este circuito gera som linearmente relacionado à força aplicada no sensor. Para isso vamos fazer a interface do sensor FORCE com o Arduino Uno. No UNO, vamos usar o recurso ADC (Conversão Analógico para Digital) de 8 bits para fazer o trabalho.
Sensor de força ou resistor sensível à força
Um sensor FORCE é um transdutor que muda sua resistência quando a pressão é aplicada na superfície. O sensor FORCE está disponível em diferentes tamanhos e formas. Vamos usar uma das versões mais baratas porque não precisamos de muita precisão aqui. O FSR400 é um dos sensores de força mais baratos do mercado. A imagem do FSR400 é mostrada na figura abaixo. Eles também são chamados de resistor sensível à força ou FSR, pois sua resistência muda de acordo com a força ou pressão aplicada a ele. Quando a pressão é aplicada a este resistor de detecção de força, sua resistência diminui, ou seja, a resistência é inversamente proporcional à força aplicada. Portanto, quando nenhuma pressão é aplicada sobre ele, a resistência do FSR será muito alta.
Agora é importante observar que o FSR 400 é sensível ao longo do comprimento, a força ou peso deve ser concentrado no labirinto no meio do olho do sensor, conforme mostrado na figura. Se a força for aplicada em momentos errados, o dispositivo pode danificar permanentemente.
Outra coisa importante saber é que o sensor pode acionar correntes de alto alcance. Portanto, tenha em mente as correntes motrizes durante a instalação. Além disso, o sensor tem um limite de força de 10 Newtons. Portanto, podemos aplicar apenas 1Kg de peso. Se forem aplicados pesos superiores a 1Kg, o sensor pode apresentar alguns desvios. Se aumentar mais de 3Kg. o sensor pode danificar permanentemente.
Como dito anteriormente, este sensor é usado para detectar as mudanças na pressão. Portanto, quando o peso é aplicado em cima do sensor FORCE, a resistência é alterada drasticamente. A resistência do FS400 sobre o peso é mostrada no gráfico abaixo,
Conforme mostrado na figura acima, a resistência entre os dois contatos do sensor diminui com o peso ou a condutância entre os dois contatos do sensor aumenta. A resistência de um condutor puro é dada por:
Onde, p- Resistividade do condutor
l = comprimento do condutor
A = área do condutor.
Agora considere um condutor com resistência “R”, se alguma pressão for aplicada no topo do condutor, a área no condutor diminui e o comprimento do condutor aumenta como resultado da pressão. Portanto, pela fórmula, a resistência do condutor deve aumentar, pois a resistência R é inversamente proporcional à área e também diretamente proporcional ao comprimento l.
Então, com isso, para um condutor sob pressão ou peso, a resistência do condutor aumenta. Mas essa mudança é pequena em comparação com a resistência geral. Para uma mudança considerável, muitos condutores são empilhados juntos. Isso é o que acontece dentro dos Sensores de Força mostrados na figura acima. Olhando de perto, pode-se ver muitas linhas dentro do sensor. Cada uma dessas linhas representa um condutor. A sensibilidade do sensor está em números de condutores.
Mas neste caso a resistência vai diminuindo com a pressão porque o material usado aqui não é um condutor puro. Os FSR aqui são dispositivos robustos de filme espesso de polímero (PTF). Portanto, esses não são dispositivos de material condutor puro. São constituídos por um material, que apresenta diminuição da resistência com o aumento da força aplicada na superfície do sensor. Este material apresenta características conforme mostrado no gráfico do FSR.
Essa mudança na resistência não pode servir de nada, a menos que possamos lê-los. O controlador em mãos só consegue ler as chances na tensão e nada menos, para isso vamos usar um circuito divisor de tensão, com isso podemos derivar a variação da resistência como variação da tensão.
O divisor de tensão é um circuito resistivo e é mostrado na figura. Nesta rede resistiva temos uma resistência constante e outra resistência variável. Conforme mostrado na figura, R1 aqui é uma resistência constante e R2 é o sensor FORCE que atua como uma resistência. O ponto médio do ramo é medido. Com a mudança de R2, temos mudança em Vout. Então, com isso, temos uma mudança de voltagem com o peso.
Agora, uma coisa importante a se notar aqui é que a entrada obtida pelo controlador para a conversão ADC é tão baixa quanto 50 µAmp. Este efeito de carregamento do divisor de tensão baseado em resistência é importante porque a corrente retirada de Vout do divisor de tensão aumenta a porcentagem de erro aumenta, por enquanto não precisamos nos preocupar com o efeito de carregamento.
Como verificar um sensor FSR
O resistor de detecção de força pode ser testado usando um multímetro. Conecte os dois pinos do sensor FSR ao multímetro sem aplicar nenhuma força e verifique o valor da resistência, ele estará muito alto. Em seguida, aplique alguma força em sua superfície e veja o decréscimo no valor da resistência.
Aplicações do Sensor FSR
Os resistores de detecção de força são usados principalmente para criar "botões" de detecção de pressão. Eles são usados em uma variedade de campos, como sensores de ocupação de carros, touch-pads resistivos, pontas de dedos robóticas, membros artificiais, teclados, sistemas de pronação de pé, instrumentos musicais, eletrônicos incorporados, equipamentos de teste e medição, kit de desenvolvimento OEM e eletrônicos portáteis, esportes. Eles também são usados em sistemas de Realidade Aumentada, bem como para aprimorar a interação móvel.
Componentes necessários
Hardware: Arduino Uno, fonte de alimentação (5v), capacitor 1000 uF, capacitor 100nF (3 peças), resistor 100KΩ, campainha, resistor 220Ω, sensor de força FSR400.
SOFTWARE: Atmel studio 6.2 ou Aurdino noturno
Diagrama de circuito e explicação de trabalho
A conexão do circuito para fazer a interface do Resistor de detecção de força com o Arduino é mostrada no diagrama abaixo.
A tensão no sensor não é completamente linear; será barulhento. Para filtrar o ruído, um capacitor é colocado em cada resistor no circuito divisor, conforme mostrado na figura.
Aqui vamos pegar a tensão fornecida pelo divisor (tensão que representa o peso linearmente) e alimentá-la em um dos canais ADC do UNO. Após a conversão, vamos pegar esse valor digital (representando o peso) e relacioná-lo ao valor PWM para acionar a campainha.
Assim, com o peso, temos um valor PWM que muda sua relação de trabalho dependendo do valor digital. Quanto maior o valor digital, maior a relação de trabalho do PWM e, portanto, maior o ruído gerado pela campainha. Então, relacionamos o peso com o som.
Antes de prosseguir, vamos falar sobre o ADC do Arduino Uno. ARDUINO possui seis canais ADC, como mostra a figura. Nestes, qualquer um ou todos eles podem ser usados como entradas para tensão analógica. O UNO ADC tem resolução de 10 bits (portanto, os valores inteiros de (0- (2 ^ 10) 1023)). Isso significa que ele mapeará tensões de entrada entre 0 e 5 volts em valores inteiros entre 0 e 1023. Então, para cada (5/1024 = 4,9 mV) por unidade.
Aqui vamos usar A0 de UNO.
Precisamos saber algumas coisas.
|
Em primeiro lugar, os canais UNO ADC têm um valor de referência padrão de 5V. Isso significa que podemos fornecer uma tensão de entrada máxima de 5 V para conversão ADC em qualquer canal de entrada. Como alguns sensores fornecem tensões de 0-2,5 V, com uma referência de 5 V obtemos menos precisão, portanto, temos uma instrução que nos permite alterar esse valor de referência. Portanto, para alterar o valor de referência, temos (“analogReference ();”) Por enquanto, deixamos como.
Como padrão, obtemos a resolução máxima do ADC da placa que é 10bits, esta resolução pode ser alterada usando a instrução (“analogReadResolution (bits);”). Essa mudança de resolução pode ser útil em alguns casos. Por enquanto, deixamos como.
Agora, se as condições acima forem definidas como padrão, podemos ler o valor do ADC do canal '0' chamando diretamente a função "analogRead (pino);", aqui "pino" representa o pino onde conectamos o sinal analógico, neste caso, seria “A0”. O valor de ADC pode ser convertido em um número inteiro como “int SENSORVALUE = analogRead (A0); ”, Por esta instrução o valor após ADC é armazenado no inteiro“ SENSORVALUE ”.
O PWM do Arduino Uno pode ser alcançado em qualquer um dos pinos simbolizados como “~” na placa PCB. Existem seis canais PWM no UNO. Vamos usar o PIN3 para nosso propósito.
analogWrite (3, VALOR); |
Da condição acima, podemos obter diretamente o sinal PWM no pino correspondente. O primeiro parâmetro entre colchetes é para escolher o número do pino do sinal PWM. O segundo parâmetro é para escrever a taxa de serviço.
O valor PWM de UNO pode ser alterado de 0 a 255. Com “0” como o mais baixo para “255” como o mais alto. Com 255 como taxa de serviço, teremos 5 V no PIN3. Se a taxa de serviço for de 125, obteremos 2,5 V no PIN3.
Agora temos o valor 0-1024 como saída ADC e 0-255 como relação de trabalho PWM. Portanto, ADC é aproximadamente quatro vezes a proporção de PWM. Então, ao dividir o resultado do ADC por 4, obteremos a razão aproximada do dever.
Com isso teremos um sinal PWM cuja razão de trabalho muda linearmente com o peso. Sendo dado a buzina, temos gerador de som dependendo do peso.