Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Elettronica - Calcolo di pressione
Forum - Elettronica - Calcolo di pressione

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2005
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:18
Venerdì, 17/07/2020
Buongiorno ragazzi, apro questo thread perché non ho la più pallida idea di come calocare
il valore di un sensore in un risultato che sia leggibile come pressione :(

il sensore in questione è questo

https://www.ebay.it/itm/383090081114

è possibile ottenere la lettura sia di pressione che di suzione.
a me in particolare serve quella di suzione ( vacuum )

facendo dei test, ovviamente mi rileva la pressione ambientale che è pari a 387 (int)
aspirando con bocca il valore scende fino a 220 / 260 dipende dalla forza.
viceversa, soffiando forte il valore sale.

ora non conosco perfettamente i nomi tecnici di come vengono chiamati i valori.

ipotizzo Bar per pressione Pounds o inches qualcosa del genere.
come posso fare ad ottenere un valore preciso per la misurazione di questi valori?

esempio:
Come faccio a sapere che int 400 equivale a 2 bar? tanto per dirne una.

Ultima modifica effettuata da Thejuster il 17/07/2020 alle 12:20


PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 662
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 14:47
Venerdì, 17/07/2020
La misura che restituisce il tuo sensore sembra inH2O (pollici d'acqua)
Se fosse vero per avere i bar, devi dividere il valore restituito dal sensore per 402
Hai detto che a pressione atmosferica hai 387; 387/402=0.961, quasi un bar.

per le conversioni vedi https://www.google.com/search?client=firefox-b-d&q=inh2o+to ...

Per avere una certezza devi fare dei test con delle misure campione, anche un compressore con un manometro ti può aiutare, se sul cellulare hai il sensore della pressione, puoi verificare la pressione atmosferica con la app Z-DeviceTest.
Per pressioni più basse di 1bar, avrai bisogno dell'aiuto di un frigorista o installatore di aria condizionata, che ti può far verificare il tuo sensore con un vacuometro.

Solitamente tali sensori entro il range di funzionamento hanno una scala lineare, e trovato il coefficiente di conversione che non sarà molto diverso da 402, sei a posto.

Ultima modifica effettuata da Carlo il 17/07/2020 alle 15:13


in programmazione tutto è permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2005
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 18:07
Venerdì, 17/07/2020
uhm ottimo grazie carlo.
per la pressione ho un bel compressore potente quindi non dovrei avere problemi per la misurazione.
anzi più che altro devo stare attento a non dare troppa pressione per danneggiare il dispositivo.

il problema sta nell'aspirazione.
Il progetto è basato sulla misurazione di carburatori per moto.
piu che altro serve a valutare se il carburatore aspira correttamente o gli altri carburatori rispettano una certa scala o soglia di aspriazione.


PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 662
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 19:17
Venerdì, 17/07/2020
Ottimo e attenzione.
Aggiungo che il manometro di un compressore restituisce la pressione relativa, cioè non considera la pressione atmosferica.

Come primo approcio leggerei in contemporanea il valore del sensore es: 387, e il valore della pressione atmosferica con il cellulare es: 991,3mB.

387/991,3=0,390 (coefficiente per trovare i millibar) oppure 390 (coefficiente per trovare i bar)


Carlo ha allegato un file: Z-DeviceTest_mB.jpg (363120 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da Carlo il 17/07/2020 alle 19:21


in programmazione tutto è permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2005
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:47
Lunedì, 20/07/2020
uhm non credo che vada bene come esempio.
ti spiego cosa deve fare

Il mio manometro è questo

https://media.discordapp.net/attachments/278928749246939136 ...

vorrei trasformalo in digitale per la pressione va bene grazie carlo per il tuo aiuto.
Ma per l'aspirazione?
come ottengo il calcolo in psi?

in alto c'è scritto KG per centimetro quadrato.
ma suppongo che il tuo esempio dei coefficienti vada benissimo.

per l'aspirazione invece? cosa mi consigli?
come posso fare per calcolare tale valore?


ho trovato questo esempio in rete.
Ma non capisco bene perché il tizio fa quei calcoli sul voltaggio

Codice sorgente - presumibilmente C++

  1. int mapsen = 0; // Set MAP sensor input on Analog port 0
  2. int NUM_SAMPLES=300;  // number of samples
  3. float sum = 0;                    // sum of samples taken
  4. int sample_count = 0; // current sample number
  5. float input_voltage = 4.90; //measured with multimeter
  6.  
  7. void setup() {
  8.  Serial.begin(9600);
  9. }
  10. void loop() {
  11.   sum = 0;
  12.   sample_count = 0;
  13.   while (sample_count LESS_THAN NUM_SAMPLES) {
  14.         sum += float(analogRead(mapsen));
  15.         sample_count++;
  16.         delay(0.5);
  17.     }
  18.  float out_voltage = (sum / NUM_SAMPLES * input_voltage) / 1024;
  19.  float Pabs = out_voltage2705.8824/input_voltage-16.4706; //absolute pressure in mbar
  20.  //Bosch 20-250 kPa MAP sensor min pressure measured: 200mbar with 0.4V (typical)
  21.  //Bosch 20-250 kPa MAP sensor max pressure measured: 2500mbar with 4.65V (typical)
  22.  //Bosch 20-250 kPa MAP sensor linear model formula is:
  23.  //Ua=Uv(Pabs0.85/230 + 0.0061); Uv=supply voltage; Ua=output voltage; Pabs is absolute pressure
  24.  //Ua is proportional to the supplied voltage, so Ua is always divided by Uv
  25.  //from this formula the linear model for absolute pressure in mbar:
  26.  //slope = dy/dx = (2500mbar-200mbar) / (Ua_max-Ua_min)/Uv_input = 2300mbar / (4.65V-0.4V)/5V = 2300/0.85 ~2705.882353
  27.  //generalised linear model y=ax+b; then the y-intercept (b) is calculated as follows with Uv=5V:
  28.  //200=(0.4/5)(2300/0.85)+b; b=200-(0.4/5)(2300/0.85)=200-0.082705.8824=200-216.4706=16.4706
  29.  //slope = dy/dx ~ 2705.8824; y-intercept ~ -16.4706, so y=ax+b or y(abs pressure in mbar)=2705.8824*(Ua/Uv)-16.4706
  30.  
  31.  Serial.println(Pabs);
  32.  //Serial.print("\t");
  33.  //Serial.println(out_voltage,4);
  34. }




PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 662
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 9:49
Martedì, 21/07/2020
Il programma che hai trovato imposta il sensore in modalità analogica, o usa la porta analogica, in tale modalità invece di un dato numerico hai una tensione.

Vorrei renderti partecipe di un ragionamento.
In assoluto non esiste differenza tra aspirazione e compressione, viviamo in un pianeta dove abbiamo sempre una pressione di un Bar circa, se in un ambiente confinato per compressione ne aumentiamo la pressione di un Bar, all'interno dell'ambiente confinato avremo 2 Bar, oppure come segna un manometro +1 Bar (rispetto alla pressione atmosferica). Chiarito questo concetto sappiamo che possimo aumentare la pressione a dismisura.
L'aspirazione si ottiene togliendo aria da un ambiente confinato, e se come riferimento zero abbiamo la pressione atmosferica avremo dei Bar negativi. Chiaro questo concetto sappiamo che non possiamo diminuire a dismisura la pressione, perché al massimo possiamo creare il vuoto -1 Bar circa.

Nel tuo caso il tuo sensore nel vuoto dovrebbe restituire un intero = 0 (in pratica forse no, a pressioni così basse perderà la sua linearità)

Per il calcolo in psi: 14,5038 psi (Libbre per pollice quadrato) = 1 Bar
Il calcolo con il coefficiente ipotetico di 390 diventa: 387/390*14,5038=14,39 psi (assoluti)
Se hai bisogno della misura relativa: 14,28-14,5038 = -0,114 psi (relativi alla pressione atmosferica 1 bar = 14,5038 psi)

Il tuo manometro nella scala esterna segna i vacuum inches of mercury, che sono 0 pollici a pressione atmosferica e 29,96 pollici nel vuoto (nel manometro approssimato a 30)

Il calcolo diventa: 29,96-387/390*29,96=0,23 vacuum inches of mercury (un po' meno della pressione atmosferica)

quando con la bocca hai aspirato nel sensore portando il valore dell'intero a 220:
29,96-220/390*29,96=13,06 vacuum inches of mercury

Per il coefficiente ho messo 390, ma lo devi trovare tu.
Il valore 390 è per trovare i bar, poi dai bar trovi tutte le altre scale, nessuno ti vieta di trovare il coefficiente per una conversione diretta al valore della scala che vuoi senza passare per i bar.

Ho messo i ragionamenti così nel tuo software sei in grado di mettere tutte le scale che vuoi, relative e assolute.

Ultima modifica effettuata da Carlo il 23/07/2020 alle 23:36


in programmazione tutto è permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2005
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:51
Martedì, 21/07/2020
Grazie infinite Carlo. Sei stato la mia salvezza era proprio quello che cercavo. Ancora grazie


PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 662
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 2:27
Mercoledì, 22/07/2020
Prego, questa mattina ho postato dal cellulare e al lavoro tutto il giorno ho ripensato a quello che avevo scritto, con il dubbio di aver detto qualche sciocchezza.
Anche se sono rincasato tardi, per verificare l'esattezza delle mie affermazioni ho scritto un programma in C#, progetto VisualStudio. Per scrivere il programma, veramente minimale, ho impiegato 10 minuti, per disegnare il manometro ho impiegato 1 ora... :rotfl::k:

Il programma dimostra che i calcoli sono esatti, e il manometro nel lato Vacuometro è preciso, nel lato pressione un po' meno andrebbe aggiustato il disegno. ;)

Allegato progetto.

EDIT: modificato manometro per scala esatta e non ambigua


Carlo ha allegato un file: Pressione.zip (826645 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da Carlo il 22/07/2020 alle 14:45


in programmazione tutto è permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2005
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 12:08
Venerdì, 24/07/2020
fantastico carlo, tutto perfetto grazie mille.


PM Quote