Índice:
- Etapa 1: Demonstração
- Etapa 2: Recursos usados
- Etapa 3: Por que medir a pressão?
- Etapa 4: A família MPX de sensores de pressão
- Etapa 5: O MPX5700DP
- Etapa 6: para a demonstração
- Etapa 7: Calibrar o ESP ADC
- Etapa 8: Calculando a pressão
- Etapa 9: Montagem
- Etapa 10: Código Fonte
- Etapa 11: Arquivos
Vídeo: Aprenda aqui sobre um sensor extremamente importante !: 11 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Como você pode saber sobre o nível de água em um tanque de água? Para monitorar esse tipo de coisa, você pode usar um sensor de pressão. Este é um equipamento muito útil para automação industrial em geral. Hoje, vamos falar sobre esta família exata de sensores de pressão MPX, especificamente para medição de pressão. Apresentarei o sensor de pressão MPX5700 e realizarei uma montagem de amostra usando o ESP WiFi LoRa 32.
Não vou usar comunicação LoRa no circuito hoje, nem WiFi nem Bluetooth. Porém, optei por esse ESP32 porque já ensinei em outros vídeos como usar todos os recursos que discuto hoje.
Etapa 1: Demonstração
Etapa 2: Recursos usados
• Sensor de pressão diferencial MPX5700DP
• potenciômetro de 10k (ou trimpot)
• Protoboard
• Fios de conexão
• Cabo USB
• ESP WiFi LoRa 32
• Compressor de ar (opcional)
Etapa 3: Por que medir a pressão?
• Existem inúmeras aplicações onde a pressão é uma variável de controle importante.
• Podemos envolver sistemas de controle pneumático ou hidráulico.
• Instrumentação médica.
• Robótica.
• Controle de processos industriais ou ambientais.
• Medição de nível em reservatórios de líquido ou gás.
Etapa 4: A família MPX de sensores de pressão
• São transdutores de pressão em tensão elétrica.
• Baseiam-se em um sensor piezo-resistivo, onde a compressão é convertida em uma variação da resistência elétrica.
• Existem versões capazes de medir pequenas diferenças de pressão (de 0 a 0,04atm) ou grandes variações (de 0 a 10atm).
• Eles aparecem em vários pacotes.
• Eles podem medir a pressão absoluta (em relação ao vácuo), a pressão diferencial (a diferença entre duas pressões, p1 e p2) ou manômetro (em relação à pressão atmosférica).
Etapa 5: O MPX5700DP
• A série 5700 apresenta sensores absolutos, diferenciais e de manômetro.
• O MPX5700DP pode medir uma pressão diferencial de 0 a 700kPa (aproximadamente 7atm).
• A tensão de saída varia de 0,2 V a 4,7 V.
• Sua alimentação é de 4,75 V a 5,25 V
Etapa 6: para a demonstração
• Desta vez, não faremos uma aplicação prática utilizando este sensor; iremos apenas montá-lo e realizar algumas medições como uma demonstração.
• Para isso, usaremos um compressor de ar direto para aplicar pressão na entrada de alta pressão (p1) e obter a diferença em relação à pressão atmosférica local (p2).
• O MPX5700DP é um sensor unidirecional, o que significa que ele mede diferenças positivas onde p1 deve ser sempre maior ou igual a p2.
• p1> p2 e a diferença será p1 - p2
• Existem sensores diferenciais bidirecionais que podem avaliar diferenças negativas e positivas.
• Embora seja apenas uma demonstração, poderíamos facilmente usar os princípios aqui para controlar, por exemplo, a pressão em um reservatório de ar, alimentado por este compressor.
Etapa 7: Calibrar o ESP ADC
• Como sabemos que a conversão analógico-digital do ESP não é completamente linear e pode variar de um SoC para outro, vamos começar fazendo uma determinação simples de seu comportamento.
• Usando um potenciômetro e um multímetro, vamos medir a tensão aplicada ao AD e relacioná-la ao valor indicado.
• Com um programa simples de leitura do AD e coleta das informações em uma tabela, pudemos determinar a curva de seu comportamento.
Etapa 8: Calculando a pressão
• Embora o fabricante nos forneça a função com o comportamento do componente, é sempre aconselhável realizar uma calibração quando se trata de fazer medições.
• No entanto, por se tratar apenas de uma demonstração, usaremos diretamente a função encontrada na ficha técnica. Para isso, vamos manipulá-lo de forma que nos dê a pressão em função do valor do ADC.
* Lembre-se que a fração da tensão aplicada ao ADC pela tensão de referência deve ter o mesmo valor que o ADC lido pelo ADC total. (Desconsiderando a correção)
Etapa 9: Montagem
• Para conectar o sensor, procure o entalhe em um de seus terminais, que indica o pino 1.
• Contando a partir daí:
O pino 1 fornece saída de sinal (de 0 V a 4,7 V)
O pino 2 é a referência. (GND)
Pino 3 para alimentação. (Vs)
• Como o sinal de saída é 4,7 V, usaremos um divisor de tensão para que o valor máximo seja equivalente a 3 V3. Para isso, fizemos o ajuste com o potenciômetro.
Etapa 10: Código Fonte
Código-fonte: #Includes and #defines
// Bibliotecas para utilização do display oLED # include // Necessário apenas para o Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo que #include "SSD1306Wire.h" // Os pinos do OLED estão conectados ao ESP32 pelos seguintes GPIO's: // OLED_SDA - GPIO4 // OLED_SCL - GPIO15 // OLED_RST - GPIO16 #define SDA 4 #define SCL 15 #define RST 16 // RST deve ser usado por software
Fonte: Variáveis globais e constantes
Display SSD1306 (0x3c, SDA, SCL, RST); // Instanciando e ajustando os pinos do objeto "display" const int. = 10000; // número de coletadas para a média const int pin = 13; // pino de leitura const float fator_atm = 0,0098692327; // fator de conversão para atmosferas const float fator_bar = 0.01; // fator de conversão para bar const float fator_kgf_cm2 = 0.0101971621; // fator de conversão kgf / cm2
Código Fonte: Configuração ()
void setup () {pinMode (pin, INPUT); // pino de leitura analógica Serial.begin (115200); // inicia um serial // Inicia o display display.init (); display.flipScreenVertically (); // Vira a tela verticalmente}
Código-fonte: Loop ()
void loop () {float medidas = 0,0; // variável para manipular como medidas float pressao = 0,0; // variável para armazenar o valor da pressão // inicia a coleta de propriedade do ADC para (int i = 0; i
Código fonte: Função que calcula a pressão em kPa
float calculaPressao (float medida) {// Calcula a pressão com o // valor do AD corrigido pela função corrigeMedida () // Esta função foi escrita de acordo com dados do fabricante // e NÃO LEVA EM CONSIDERAÇÃO OS POSSÍVEIS DESVIOS DO COMPONENTE (erro) retorno ((corrigeMedida (medida) / 3,3) - 0,04) / 0,0012858; }
- IMAGENS
Código fonte: função que corrige o valor AD
float corrigeMedida (float x) {/ * Esta função foi obtida através da relação entre a aplicação aplicada no AD e valor lido * / return 4.821224180510e-02 + 1.180826610901e-03 * x + -6.640183463236e-07 * x * x + 5.235532597676e-10 * x * x * x + -2.020362975028e-13 * x * x * x * x + 3.809807883001e-17 * x * x * x * x * x + -2.896158699016e-21 * x * x * x * x * x * x; }
Etapa 11: Arquivos
Baixe os arquivos:
EU NÃO
Recomendado:
Extremamente básico, bússola servo não calibrada: 7 etapas
Bússola Servo Extremamente Básica e Não Calibrada: Esta é apenas uma bússola básica instrutível para um projeto no qual estou trabalhando. Este não está calibrado e é um protótipo muito básico feito para a aula. Em um instrutível posterior, mostrarei como calibrá-lo. Eu não esperaria muita grandeza disso se eu fosse você, isso
Uma maneira extremamente simples de começar com automação residencial usando módulos DIY: 6 etapas
Uma maneira extremamente simples de começar a usar a automação doméstica usando módulos DIY: Fiquei agradavelmente surpreso quando decidi tentar adicionar alguns sensores DIY ao assistente doméstico. Usar o ESPHome é extremamente simples e neste post, aprenderemos como controlar um pino GPIO e também obter a temperatura & dados de umidade de um n
Robô SCARA: Aprendendo sobre cinemática progressiva e inversa !!! (Plot Twist Aprenda a fazer uma interface em tempo real no ARDUINO usando PROCESSING !!!!): 5 etapas (com imagens)
Robô SCARA: Aprendendo sobre cinemática progressiva e inversa !!! (Plot Twist Aprenda a fazer uma interface em tempo real no ARDUINO usando PROCESSING !!!!): Um robô SCARA é uma máquina muito popular no mundo da indústria. O nome significa Braço do robô de montagem compatível com seletiva ou Braço do robô articulado com conformidade seletiva. É basicamente um robô de três graus de liberdade, sendo os dois primeiros displ
SaQai: telefone extremamente acessível: 11 etapas
SaQai: Telefone extremamente acessível: Olá, obrigado por se interessar por nosso projeto, chamado SaQai (pronuncia-se Say-Qwah). Nosso objetivo é ajudá-lo a recriar este projeto e em empreendimentos futuros envolvendo impressão 3D, programação e design de hardware. Eu sou Sam Conklin e sou co
Sismômetro caseiro barato extremamente sensível: 8 etapas (com fotos)
Sismômetro caseiro barato extremamente sensível: Sismômetro Arduino sensível, fácil de construir e barato