
Nota: Os modelos com que trabalho são todos diferenciais, com sufixo “DP” (Differential Pressure). Por exemplo: MPX5010DP, MPX5050DP, MPX5100DP e MPX5700DP. Isso quer dizer que o sensor mede o valor da diferença de pressão entre as duas entradas. Deixando a entrada de vácuo aberta, o valor da pressão medida é a diferença para a pressão atmosférica. Algumas aplicações exigem sensores absolutos (que tem o sufixo “AP” nessa série). Esta nota técnica da Honeywell diz que geralmente só são necessários em altímetros ou barômetros. E este texto da SensorOne sugere que você precisa usar sensores absolutos se quiser ter uma medida precisa em sistemas “fechados”, que não sofrem influência da pressão atmosférica, como a pressão interna de um cilindro de ar para detectar vazamentos. Mas se você quiser medir a pressão de saída do ar, do mesmo cilindro, ou se precisão não for de suma importância, usar sensores diferenciais já seria adequado.
Explicando de outra forma: se você quer medir pressão em recipientes que não estejam hermeticamente fechados (e por isso sofrem influência da pressão atmosférica), como tanques e reservatórios, o sensor diferencial é o mais adequado. Se você usar um sensor absoluto para medir a pressão em uma cisterna, vai ver a pressão mudar o tempo todo porque a pressão atmosférica muda o tempo todo ao nosso redor. Como o diferencial usa como referência a pressão atmosférica, a mesma leitura fica estável.
Você pode identificar os sensores AP facilmente por terem apenas uma entrada. Eu não trabalho com a linha absoluta.
Modelos com que trabalho (links direto para datasheets no site do fabricante):
- MPX5010DP: 0 a 10 kPa (0 a 1,45 psi – 0 a 0,1 bar – 0 a 1m de coluna de agua) – EM FALTA
- MPX5050DP: 0 a 50 kPa (0 a 7,25 psi – 0 a 0,5 bar – 0 a 5m de coluna de agua)
- MPX5100DP: 0 a 100 kPa (0 a 14,5 psi – 0 a 1 bar – 0 a 10m de coluna de agua)
- MPX5500DP: 0 a 500 kPa (0 a 72.5 psi – 0 a 5 bar – 0 a 50m de coluna de agua) – EM FALTA
- MPX5700DP: 0 a 700 kPa (0 a 101.5 psi – 0 a 7 bar – 0 a 70m de coluna de agua)
Esses sensores medem a pressão de qualquer fluido (água, óleo, ar, etc). A principal aplicação é a medição de nível em caixas d’agua, cisternas, máquinas de lavar, etc.
Nota de Aplicação, explicando como se faz o monitoramento de água, usando como exemplo uma máquina de lavar: AN1950. Observe que esta nota se refere a outra série de sensores de pressão, mas ignorando os valores de tensão a informação também se aplica a esta série.
Esta outra nota de aplicação explica como evitar ruído na saída do sensor: AN1646
O que muda entre os modelos é a resolução do sensor, pois o sensor de 5m não perceberá variações que o de 1m perceberia. Para dar uma idéia grosseira, onde o MPX5010 perceber uma variação de 1 litro, o MPX5050 só perceberá de 5 em 5 litros.
Não deixe a quantidade de pinos intimidar você. Apenas três são usados nesse modelo: VCC, GND e OUT. E para evitar confusão é assim que eu despacho o sensor:

A saída é analógica, de 0V a Vcc, proporcional à pressão aplicada. No Arduino, basta alimentar, conectar à entrada A0 (mas pode ser qualquer uma das entradas analógicas) e rodar o exemplo 03.Analog->AnalogInOutSerial do Arduino. Para traduzir o valor lido em litros é preciso que você calcule como a faixa de leitura do sensor (0-1024) mapeia para o volume do seu reservatório. Se você souber calcular volume e usar uma regra de três, já sabe quase tudo o que é necessário.
Também é possível medir vácuo, usando a outra entrada do sensor (mas é complicado e não recomendo). Inclusive é possível medir velocidade de fluxo do fluido, usando-se as duas entradas.
Este sensor é caro e delicado por isso merece atenção
Muito cuidado ao aplicar pressão no sensor. Com a seringa e o tubo que forneço, teoricamente você não vai conseguir aplicar mais pressão que a suportada pelo sensor. Mas basta reduzir o tamanho do tubo ou trocar a seringa por uma maior para pôr o sensor em risco. Sempre faça os testes de olho nos valores lidos, para evitar sobrecarga. O sensor parece ter uma certa proteção contra isso, mas eu não arriscaria algo desse valor só para ver até onde ele vai.
Lembre-se de que o ar é compressível e os líquidos não são. Se você encher a seringa de líquido o sensor vai reagir com um movimento muito menor.
Devido à sensibilidade do sensor, apertar o tubo com os dedos provocará uma variação grande na leitura. O mero movimento do tubo pode ser registrado no modelo MPX5010DP.
Segundo o datasheet, as entradas são protegidas com um gel, o que permite que eventualmente haja entrada de líquido no sensor sem dano imediato. Porém o “meio” recomendado pela Freescale para contato com o sensor é ar seco, por isso você deve deixar uma coluna de ar (quanto menor, melhor) entre o fluido que você quer medir e o sensor. Mesmo água pura pode danificar o sensor se houver contato prolongado. Estude a AN3728 (Media Compatibility for IPS PRT Pressure Sensors) para maiores informações.
Dos seis terminais, que são padrão nesse encapsulamento, apenas três são usados. Eu tomei a liberdade de isolar os terminais inúteis para reduzir as chances de engano na hora de ligar.
Os terminais de pressão e vácuo são idênticos e você não deve aplicar pressão no terminal de vácuo e vice-versa. Para evitar que você se confunda, eu etiquetei claramente o terminal de pressão.
Este sensor parece ter proteção contra inversão de polaridade. Se você ligar ao contrário, a alimentação fica em curto, o que de qualquer forma não é aconselhável. Tomei o cuidado de identificar os três terminais com cores.
Teste/exemplo
Ligue a saída do sensor no pino A0 do Arduino e rode o sketch Examples->Analog->AnalogInOutSerial. Observe a leitura pelo Monitor Serial.
O primeiro valor para um MPX5010DP deve começar por volta de 33 (não exatamente, mas sempre será um valor baixo). Esse é o valor na pressão ambiente. Esse valor deveria ser zero se o sensor fosse perfeito, mas não é. Procure no datasheet do modelo escolhido o valor Voff para ter uma idéia de qual o valor mínimo na saída do sensor. Você pode mudar a faixa de valores reportados usando o comando “map”, conforme o exemplo.
Conecte uma seringa na entrada de pressão do sensor. Se você estiver usando um modelo sensível como o MPX5010 o simples fato de conectar a seringa já causará uma mudança no valor medido. Pressione o êmbolo e os valores devem subir proporcionalmente.
Eu não posso dar um exemplo com saída em litros, porque isso depende do volume do seu reservatório. 1cm de água em um copo ou numa piscina olímpica dão exatamente a mesma pressão e o mesmo valor de saída do sensor. Você precisa fazer os cálculos para determinar quantos litros correspondem a cada mm de coluna d’água no seu reservatório e depois mapear isso para os valores de saída do sensor.
Exemplo com calibração simplificada
O sensor não precisa ser calibrado, mas o equipamento que vai usá-lo precisa. De modo grosseiro o equipamento pode ser calibrado da seguinte forma:
- Deixe as entradas desconectadas, para que o o sensor só sinta a pressão atmosférica. Leia o valor que a saída produz e registre esse valor como a constante “valorZero”;
- Conecte o sensor ao sistema a medir e simule a máxima pressão. Se for uma caixa de água, encha-a. Leia o valor que a saída produz e registre esse valor como a constante “alturaMaxima”.
Digamos que você tenha instalado o sensor rente ao fundo do reservatório e que cheio esse reservatório tenha 800mm de água. Para saber quantos mm de água tem o reservatório num dado instante você pode usar a função map como a seguir:
mmDeAgua = map(saidaDoSensor, valorZero, alturaMaxima, 0, 800);
Essa função vai mapear todos os valores medidos entre os valores da calibração pra os valores “reais”.
Lembre-se: este é um exemplo simplificado. Sua aplicação pode exigir calibração e mapeamentos mais complexos.
Informação acrescentada por um visitante:
Para medir a vazão e/ou velocidade, consulte este texto. A vazão (e, obviamente, a velocidade) podem ser expressadas a partir da raiz quadrada da pressão diferencial, uma vez que os outros parâmetros são fixos e deverão ser determinados experimentalmente…
Autor: | Freescale |
Data: | 7 de abril de 2013 |
Autor: | Freescale |
Data: | 7 de abril de 2013 |
Comentários