Arduino Forum

International => Portugues => Topic started by: wesleyvm on Sep 16, 2019, 08:51 pm

Title: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 16, 2019, 08:51 pm
Olá,
estou precisando criar um manômetro para ler pressão diferencial no inicio e final de uma tubulação de PVC e vi que o MPX2050DP fornece um bom range de pressão. Porem vi em alguns post que é necessário usar um amplificador para aumentar o nível de saída para melhor leitura do arduino e não tenho experiencia com amplificadores. É realmente necessário o uso de um amplificador? (visto que preciso de trabalhar com quase todo o range de pressão que o sensor fornece). Se sim qual seria o modelo mais prático de trabalhar?
Datasheet do MPX2050: https://br.mouser.com/datasheet/2/302/MPX2050-1152068.pdf
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 16, 2019, 09:23 pm
Sim, precisarias dum amplificador.

Uma coisa que o datasheet não é muito claro é se podes alimentar o sensor com 5V e se sim qual o efeito na saída dele. O datasheet refere 10V de alimentação.

Como podes ver, a gama de saída são 40mV no máximo... o que dificilmente registará no AD do Arduino.

Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 16, 2019, 09:31 pm
bubulindo, poderia me indicar qual amplificador usar?
Então a alimentação do sensor teria de ser feita com alimentação externa de 10V?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 16, 2019, 10:40 pm
Não sei acerca da alimentação poder ser feita com menos de 10V. Para isso terias de testar mesmo com 5V.

Quanto ao amplificador, diria que um LM358 funcionaria.

https://www.onsemi.com/products/amplifiers-comparators/operational-amplifiers-op-amps/lm358

Para funcionar, podes usar a montagem 3 do site em baixo:

https://www.arrow.com/en/research-and-events/articles/fundamentals-of-op-amp-circuits

Quanto às resistências, a tensão de saída é 40mV ou seja 0.04V, para fazer o interface com o Arduino queres que a tensão chegue a 5V. Isso vai ser impossível porque alimentando o amplificador, vais sempre perder cerca de um Volt, então o melhor é apontares à tua saída estar algures nos 1.1V.

1.1V é o valor da referência interna do Arduino. Como podes ver aqui.
https://www.arduino.cc/en/Reference.AnalogReference

Ok, então fazendo as contas, Vo = Vi *(1 + R1/R2)

1.1 = 0.04 (1+ R1/R2)
Resolvendo, fica:
R1/R2 = (1.1 - 0.04)/0.04 = 26.5

Então R1 = 26.5 * R2

Se escolheres uma resistência de 1k para R1, R2 terá de ser 26.5k. Convém que R2 seja maior que 26.5k para garantir que o teu sinal fica sempre dentro de 1.1V. Não sei que lojas tens perto para arranjar resistências, então deixo isso ao teu cargo.

Podes também reverter o cálculo para descobrir qual vai ser o máximo que o ganho que escolheres dá para depois ser mais simples de calcular a pressão no Arduino.

É estranho porque eu lembro-me de ter um sensor parecido a estes, mas não me lembro de usar um amplificador... mas eu estava a medir pressão atmosférica, logo pode ser por isso.
Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 17, 2019, 01:30 am
Não sei acerca da alimentação poder ser feita com menos de 10V. Para isso terias de testar mesmo com 5V.

Quanto ao amplificador, diria que um LM358 funcionaria.

https://www.onsemi.com/products/amplifiers-comparators/operational-amplifiers-op-amps/lm358

Para funcionar, podes usar a montagem 3 do site em baixo:

https://www.arrow.com/en/research-and-events/articles/fundamentals-of-op-amp-circuits

Quanto às resistências, a tensão de saída é 40mV ou seja 0.04V, para fazer o interface com o Arduino queres que a tensão chegue a 5V. Isso vai ser impossível porque alimentando o amplificador, vais sempre perder cerca de um Volt, então o melhor é apontares à tua saída estar algures nos 1.1V.

1.1V é o valor da referência interna do Arduino. Como podes ver aqui.
https://www.arduino.cc/en/Reference.AnalogReference

Ok, então fazendo as contas, Vo = Vi *(1 + R1/R2)

1.1 = 0.04 (1+ R1/R2)
Resolvendo, fica:
R1/R2 = (1.1 - 0.04)/0.04 = 26.5

Então R1 = 26.5 * R2

Se escolheres uma resistência de 1k para R1, R2 terá de ser 26.5k. Convém que R2 seja maior que 26.5k para garantir que o teu sinal fica sempre dentro de 1.1V. Não sei que lojas tens perto para arranjar resistências, então deixo isso ao teu cargo.

Podes também reverter o cálculo para descobrir qual vai ser o máximo que o ganho que escolheres dá para depois ser mais simples de calcular a pressão no Arduino.

É estranho porque eu lembro-me de ter um sensor parecido a estes, mas não me lembro de usar um amplificador... mas eu estava a medir pressão atmosférica, logo pode ser por isso.
Vi em outro post alguém explicando que talvez seria melhor usar um amplificador INA128 ou parecido pois a precisão seria maior e mai indicado pra essa aplicação. Tem algum conhecimento disso?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 17, 2019, 09:42 pm
Sim, o INA128 é um amplificador de instrumentação. Ou seja tem uma montagem inteira dentro do chip que facilita bastante e tem melhor performance que uma simples montagem como a que fiz.

Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 20, 2019, 09:38 pm
Sim, o INA128 é um amplificador de instrumentação. Ou seja tem uma montagem inteira dentro do chip que facilita bastante e tem melhor performance que uma simples montagem como a que fiz.


E teria de montar algum circuito como o que vc me disse acima?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 22, 2019, 01:09 pm
Com o INA128, o circuito básico é mais simples do que o anterior.
Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 22, 2019, 04:38 pm
Com o INA128, o circuito básico é mais simples do que o anterior.
Você poderia me mostrar um exemplo de circuito se possível?

Outra pergunta, poderia ao invés de usar um amplificador, usar um módulo de conversão AD tipo Ads1115 que é de 16 bits que me daria uma resolução maior?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 23, 2019, 08:43 am
Página 18 deste ficheiro:

http://www.ti.com/lit/ds/symlink/ina128.pdf

Eu não faria isso. 16 bits normalmente são bastante difíceis de atingir devido a ruídos, etc...

Depois 0.04V são cerca de 1% de 3.3V. Ou seja, irias ter o teu AD a converter apenas dentro de 1% da sua escala o que iria deteriorar a leitura ainda mais.



Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 24, 2019, 02:52 am
Estou testando o sensor sem amplificador com a leitura sem a conversão para pressão e P1 e P2 aberto a atmosfera e a tensão de alimentação do Arduíno de 5V, mas leitura não sai do 512.

Não sei se estou utilizando os pinos corretamente, o datasheet também não explica muito como os utilizar (https://br.mouser.com/datasheet/2/302/MPX2050-1152068.pdf - na pagina 8 primeiro diagrama).
Não entendi pra que serve o pino - OUTPUT. o +OUTPUT não seria a saida de dados do sensor que vai no analog do arduino?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Sep 24, 2019, 07:40 pm
- output vai ao GND
+ output ao pino do Arduino.
Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Sep 26, 2019, 08:20 pm
Encontrei um circuito usando AD620 (Desse código : https://github.com/BioelectronicaB/SENSOR-DE-PRESION-DIFERENCIAL-/blob/master/SENSOR_DE_PRESION.INO).
Esse amplificador serial equivalente ou melhor que o INA128?
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Oct 05, 2019, 06:03 pm
Não é melhor... Esse é semelhante ao que propus no primeiro post.

Tens o circuito aí à mão?
Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Oct 21, 2019, 07:57 pm
Não é melhor... Esse é semelhante ao que propus no primeiro post.

Tens o circuito aí à mão?
Este é o esquema que estou utilizando:

(https://i.ibb.co/BntrkHx/MPX2050-DP-e-AD620a.jpg)


Este é o codigo que estou utilizando só para ver se funciona:

int sensor=0;
float valorSensor;

void setup()
{
Serial.begin(9600);
pinMode(sensor,INPUT);
}

void loop()
{
valorSensor=analogRead(sensor);
Serial.print(valorSensor);

delay(200);

}

Porém não estou conseguindo fazer leitura, não sei o circuito está certo.
Alguém pode me ajudar? É para meu TCC.
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Oct 22, 2019, 07:20 pm
Porque é que estás a alimentar isso com uma fonte externa?

Que chip estás a utilizar?

Porque é que tens apenas uma resistência? O primeiro esquema que coloquei tinha mais que uma resistência para todas as montagens... Nota que te falta a parte mais importante dum amplificador que é o feedback.

Volta ao meu segundo post e vê o que eu disse antes de tu decidires que sabes mais do que eu.
Title: Re: manômetro diferencial com MPX2050DP
Post by: wesleyvm on Oct 23, 2019, 01:04 am
Porque é que estás a alimentar isso com uma fonte externa?

Que chip estás a utilizar?

Porque é que tens apenas uma resistência? O primeiro esquema que coloquei tinha mais que uma resistência para todas as montagens... Nota que te falta a parte mais importante dum amplificador que é o feedback.

Volta ao meu segundo post e vê o que eu disse antes de tu decidires que sabes mais do que eu.
A fonte externa é um MT3608, para alimentação do MPX já que no datasheet pede para alimenta-lo com 10 a 16v
A parte do Feedback não entendi.
Porem está meio complicado trabalhar com esse AD620
Title: Re: manômetro diferencial com MPX2050DP
Post by: bubulindo on Oct 24, 2019, 09:07 am
Os meus posts iniciais mostravam esquemas para usar um amplificador operacional... O segundo post dizia qual o que eu escolheria devido a ser optimizado para funcionar entre 0V e outra tensão ao contrário do AD620. Não que seja impedimento, mas não é a melhor escolha.

Eu fui também ao ponto de calcular as resistências para usares numa montagem específica... tu depois decidiste que sabias mais do que eu e andaste às voltas até arranjares esse amplificador e depois vires aqui perguntar de novo o que te foi dito.

Lamento, mas não vejo o que posso fazer mais que não tenha feito já nos primeiros dois posts sem ser ir fazer a montagem a tua casa.