Sommario:
- Passaggio 1: dimostrazione
- Passaggio 2: risorse utilizzate
- Passaggio 3: perché misurare la pressione?
- Passaggio 4: la famiglia di sensori di pressione MPX
- Passaggio 5: MPX5700DP
- Passaggio 6: per la dimostrazione
- Passaggio 7: calibrazione dell'ADC ESP
- Passaggio 8: calcolo della pressione
- Passaggio 9: assemblaggio
- Passaggio 10: Codice sorgente
- Passaggio 11: file
Video: Scopri qui un sensore estremamente importante!: 11 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Come si può conoscere il livello dell'acqua in un serbatoio dell'acqua? Per monitorare questo tipo di cose, puoi usare un sensore di pressione. Si tratta di apparecchiature molto utili per l'automazione industriale, in generale. Oggi parleremo di questa esatta famiglia di sensori di pressione MPX, specificamente per la misurazione della pressione. Ti presenterò il sensore di pressione MPX5700 ed eseguirò un assemblaggio campione utilizzando ESP WiFi LoRa 32.
Non userò la comunicazione LoRa nel circuito oggi, né WiFi né Bluetooth. Tuttavia, ho optato per questo ESP32 perché ho già insegnato in altri video come utilizzare tutte le funzionalità di cui parlo oggi.
Passaggio 1: dimostrazione
Passaggio 2: risorse utilizzate
• Sensore di pressione differenziale MPX5700DP
• Potenziometro 10k (o trimpot)
• Scheda prototipi
• Cavi di collegamento
• Cavo USB
• ESP WiFi LoRa 32
• Compressore d'aria (opzionale)
Passaggio 3: perché misurare la pressione?
• Esistono numerose applicazioni in cui la pressione è un'importante variabile di controllo.
• Possiamo coinvolgere sistemi di controllo pneumatici o idraulici.
• Strumentazione medica.
• Robotica.
• Controllo dei processi industriali o ambientali.
• Misura di livello in giacimenti liquidi o gassosi.
Passaggio 4: la famiglia di sensori di pressione MPX
• Sono trasduttori di pressione in tensione elettrica.
• Si basano su un sensore piezo resistivo, dove la compressione viene convertita in una variazione della resistenza elettrica.
• Esistono versioni in grado di misurare piccole differenze di pressione (da 0 a 0,04 atm), o grandi variazioni (da 0 a 10 atm).
• Appaiono in più pacchetti.
• Possono misurare la pressione assoluta (relativa al vuoto), la pressione differenziale (la differenza tra due pressioni, p1 e p2), o relativa (relativa alla pressione atmosferica).
Passaggio 5: MPX5700DP
• La serie 5700 è dotata di sensori assoluti, differenziali e di misura.
• L'MPX5700DP può misurare una pressione differenziale da 0 a 700kPa (circa 7atm).
• La tensione di uscita varia da 0,2V a 4,7V.
• La sua potenza va da 4,75 V a 5,25 V
Passaggio 6: per la dimostrazione
• Questa volta non faremo un'applicazione pratica utilizzando questo sensore; lo monteremo solo ed eseguiremo alcune misurazioni a titolo dimostrativo.
• Per questo, utilizzeremo un compressore d'aria diretto per applicare la pressione all'ingresso dell'alta pressione (p1) e ottenere la differenza rispetto alla pressione atmosferica locale (p2).
• L'MPX5700DP è un sensore unidirezionale, il che significa che misura differenze positive dove p1 deve essere sempre maggiore o uguale a p2.
• p1> p2 e la differenza sarà p1 - p2
• Esistono sensori differenziali a due vie in grado di valutare differenze negative e positive.
• Sebbene sia solo una dimostrazione, potremmo facilmente utilizzare i principi qui riportati per controllare, ad esempio, la pressione in un serbatoio d'aria, alimentato da questo compressore.
Passaggio 7: calibrazione dell'ADC ESP
• Poiché sappiamo che la conversione analogico-digitale dell'ESP non è completamente lineare e può variare da un SoC all'altro, iniziamo con una semplice determinazione del suo comportamento.
• Utilizzando un potenziometro e un multimetro, misureremo la tensione applicata all'AD e la mettiamo in relazione con il valore indicato.
• Con un semplice programma per leggere l'AD e raccogliere le informazioni in una tabella, siamo stati in grado di determinare la curva del suo comportamento.
Passaggio 8: calcolo della pressione
• Sebbene il produttore ci fornisca la funzione con il comportamento del componente, è sempre consigliabile eseguire una calibrazione quando si tratta di effettuare misurazioni.
• Tuttavia, essendo solo una dimostrazione, utilizzeremo direttamente la funzione che si trova nel datasheet. Per questo, lo manipoleremo in un modo che ci dia la pressione in funzione del valore ADC.
* Ricordare che la frazione della tensione applicata all'ADC dalla tensione di riferimento deve avere lo stesso valore dell'ADC letto dall'ADC totale. (Trascurando la correzione)
Passaggio 9: assemblaggio
• Per collegare il sensore, cercare la tacca in uno dei suoi terminali, che indica il pin 1.
• Contando da lì:
Il pin 1 fornisce l'uscita del segnale (da 0V a 4.7V)
Il pin 2 è il riferimento. (GND)
Pin 3 per l'alimentazione. (V)
• Poiché l'uscita del segnale è 4,7V, utilizzeremo un partitore di tensione in modo che il valore massimo sia equivalente a 3V3. Per questo, abbiamo effettuato la regolazione con il potenziometro.
Passaggio 10: Codice sorgente
Codice sorgente: #include e #definisce
//Biblioteca per l'utilizzo del display oLED#include // Necessario accesso per Arduino 1.6.5 e posterior #include "SSD1306.h" // o mesmo che #include "SSD1306Wire.h" //Os pinos fa OLED estão conectados ao ESP32 segue i GPIO: //OLED_SDA -- GPIO4 //OLED_SCL -- GPIO15 //OLED_RST -- GPIO16 #define SDA 4 #define SCL 15 #define RST 16 //RST deve ser ajustado por software
Fonte: variabili e costanti globali
Display SSD1306 (0x3c, SDA, SCL, RST); //Instanciando e ajustando os pinos do objeto "display" const int amostras = 10000; //número de amostras coletadas para a média const int pin = 13; //pino de leitura const float fator_atm = 0.0098692327; //fattore di conversazione per le atmosfere const float fator_bar = 0.01; //fattore di conversazione per la barra const float fator_kgf_cm2 = 0.0101971621; // fattore di conversione kgf/cm2
Codice sorgente: Setup ()
void setup(){ pinMode(pin, INPUT); //pino de leitura analógica Serial.begin(115200); //iniciando un seriale //Inizia o display display.init(); display.flipScreenVerticalmente(); //Vira a tela verticalmente }
Codice sorgente: Ciclo ()
void loop(){ float medidas = 0.0;//variável para manipolare as medidas float pressao = 0.0; //variável para armazenar o valor da pressão //inicia a coleta de amostras do ADC for (int i = 0; i
Codice sorgente: Funzione che calcola la pressione in 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) ritorno ((corregeMedida(medida) / 3.3) - 0.04) / 0.0012858; }
-- IMMAGINI
Codice sorgente: funzione che corregge il valore AD
float corrigeMedida(float x) { /* Esta função foi obtida através da relação entre a tensã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; }
Passaggio 11: file
Scarica i file:
IO NO
Consigliato:
Scopri quando qualcuno è entrato in una stanza utilizzando il sensore radar Xyc-wb-dc: 7 passaggi
Scopri quando qualcuno è entrato in una stanza utilizzando il sensore radar Xyc-wb-dc: In questo tutorial impareremo come scoprire quando qualcuno è entrato in una stanza utilizzando il modulo RTC, il sensore radar xyc-wb-dc, il display OLED e arduino. video dimostrativo
Bussola servo estremamente semplice e non calibrata: 7 passaggi
Bussola servo estremamente semplice e non calibrata: questa è solo una guida di base per un progetto su cui sto lavorando. Questo non è calibrato ed è un prototipo molto semplice fatto per la classe. In un successivo tutorial, mostrerò come calibrarlo. Non mi aspetterei molta grandezza da questo se fossi in te, è
Un modo estremamente semplice per iniziare con l'automazione domestica utilizzando i moduli fai-da-te: 6 passaggi
Un modo estremamente semplice per iniziare con l'automazione domestica utilizzando i moduli fai-da-te: sono rimasto piacevolmente sorpreso quando ho deciso di provare ad aggiungere alcuni sensori fai-da-te all'assistente domestico. L'utilizzo di ESPHome è estremamente semplice e in questo post impareremo come controllare un pin GPIO e anche ottenere temperatura e amp; dati di umidità da un n
SaQai: telefono estremamente conveniente: 11 passaggi
SaQai: Telefono estremamente conveniente: Ciao, grazie per esserti interessato al nostro progetto, chiamato SaQai (pronunciato Say-Qwah). Il nostro obiettivo è di assistervi nella ricreazione di questo progetto e negli sforzi futuri che coinvolgono la stampa 3D, la programmazione e la progettazione dell'hardware. Sono Sam Conklin e sono cu
Sismometro fatto in casa economico estremamente sensibile: 8 passaggi (con immagini)
Sismometro casalingo economico estremamente sensibile: sismometro Arduino sensibile facile da costruire ed economico