Arduino Progetto Flussometro e altro
marcop20 (autore)
8
- 1/479
Per molto tempo ho cercato dei flussometri tipo navman o lowrance, ma considerando i costi e la quasi impossibilità nel reperirli ho pensato di costruirmelo da solo.
Inizio col dire che ho acquistato un comunissimo sensore di flusso con segnale in uscita ad onda quadra
Le sue specifiche sono:
Capacità di lettura da 0.03 a 1.8 litri per minuto
8500 impulsi per litro
funzionamento da 5V a 24V
precisione con errore massimo del 2%
Ripetibilità dell' errore pari allo 0.5%
Pressione massima sopportabile di 10Bar
funzionamento tra -20°C e +80°C
Se mi è concesso pubblico anche il sito dove l'ho acquistato.
Inizio col dire che ho acquistato un comunissimo sensore di flusso con segnale in uscita ad onda quadra
Le sue specifiche sono:
Capacità di lettura da 0.03 a 1.8 litri per minuto
8500 impulsi per litro
funzionamento da 5V a 24V
precisione con errore massimo del 2%
Ripetibilità dell' errore pari allo 0.5%
Pressione massima sopportabile di 10Bar
funzionamento tra -20°C e +80°C
Se mi è concesso pubblico anche il sito dove l'ho acquistato.
marcop20 (autore)
- 2/479
Ho interfacciato tutto su Arduino Uno e il suo shield LCD 16X2
Ho scritto anche due righe di codice prendendo spunto da terze parti per le funzioni di lettura e visualizzazione dati
Premetto che ad ora in questa versione molto beta funziona tutto ma ovviamente non essendo un genio, ma solo uno che si diletta chiedo il vostro aiuto per perfezionare tutto e aggiungere nuove funzioni
Allo stato attuale ho solo due dati
Consumo istantaneo in L/h e consumo totale in L fino allo spegnimento di Arduino
Ho scritto anche due righe di codice prendendo spunto da terze parti per le funzioni di lettura e visualizzazione dati
Premetto che ad ora in questa versione molto beta funziona tutto ma ovviamente non essendo un genio, ma solo uno che si diletta chiedo il vostro aiuto per perfezionare tutto e aggiungere nuove funzioni
Allo stato attuale ho solo due dati
Consumo istantaneo in L/h e consumo totale in L fino allo spegnimento di Arduino
marcop20 (autore)
1
- 3/479
Allego il codice che sto usando
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
volatile float time = 0;
volatile float time_last = 0;
volatile int impulsi_array[5] = {0,0,0,0,0};
//All'accensione imposto a 0 le variabili
int impulsi = 0;
int litri_tot = 0;
void setup()
{
//Pin 2 impostato come ingrsso digitale interrupt
attachInterrupt(0, fan_interrupt, FALLING);
//Impostazione LCD
lcd.begin(16, 2);
lcd.setCursor(0, 1);
lcd.print("Istantaneo");
lcd.setCursor(0, 0);
lcd.print("litri tot.");
// abilito una resistenza di pull up sul pin 2
digitalWrite(2, HIGH);
}
//Main Loop
void loop()
{
int consumo_istantaneo = 0;
while(1){
//Slow Down The LCD Display Updates
delay(400);
litri_tot = (impulsi/8500);
//Visualizzo su LCD i litri totali consumati
lcd.setCursor(11, 0);
lcd.print(litri_tot);
//Visualizzo su LCD il consumo istantaneo
lcd.setCursor(11, 1);
lcd.print(" ");
lcd.setCursor(11, 1);
lcd.print(consumo_istantaneo);
//Aggiorno il consumo_istantaneo
if(time > 0)
{
//5 array per calcolare la media del cosumo istantaneo
impulsi_array[0] = impulsi_array[1];
impulsi_array[1] = impulsi_array[2];
impulsi_array[2] = impulsi_array[3];
impulsi_array[3] = impulsi_array[4];
impulsi_array[4] = 60*(8500/(time));
consumo_istantaneo = (impulsi_array[0] + impulsi_array[1] + impulsi_array[2] + impulsi_array[3] + impulsi_array[4]) / 5;
}
} //chiusura while
}
//Lettuara degli interrupt
void fan_interrupt()
{
impulsi = impulsi ++;
time = (micros() - time_last);
time_last = micros();
}
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
volatile float time = 0;
volatile float time_last = 0;
volatile int impulsi_array[5] = {0,0,0,0,0};
//All'accensione imposto a 0 le variabili
int impulsi = 0;
int litri_tot = 0;
void setup()
{
//Pin 2 impostato come ingrsso digitale interrupt
attachInterrupt(0, fan_interrupt, FALLING);
//Impostazione LCD
lcd.begin(16, 2);
lcd.setCursor(0, 1);
lcd.print("Istantaneo");
lcd.setCursor(0, 0);
lcd.print("litri tot.");
// abilito una resistenza di pull up sul pin 2
digitalWrite(2, HIGH);
}
//Main Loop
void loop()
{
int consumo_istantaneo = 0;
while(1){
//Slow Down The LCD Display Updates
delay(400);
litri_tot = (impulsi/8500);
//Visualizzo su LCD i litri totali consumati
lcd.setCursor(11, 0);
lcd.print(litri_tot);
//Visualizzo su LCD il consumo istantaneo
lcd.setCursor(11, 1);
lcd.print(" ");
lcd.setCursor(11, 1);
lcd.print(consumo_istantaneo);
//Aggiorno il consumo_istantaneo
if(time > 0)
{
//5 array per calcolare la media del cosumo istantaneo
impulsi_array[0] = impulsi_array[1];
impulsi_array[1] = impulsi_array[2];
impulsi_array[2] = impulsi_array[3];
impulsi_array[3] = impulsi_array[4];
impulsi_array[4] = 60*(8500/(time));
consumo_istantaneo = (impulsi_array[0] + impulsi_array[1] + impulsi_array[2] + impulsi_array[3] + impulsi_array[4]) / 5;
}
} //chiusura while
}
//Lettuara degli interrupt
void fan_interrupt()
{
impulsi = impulsi ++;
time = (micros() - time_last);
time_last = micros();
}
marcop20 (autore)
- 4/479
Prima di proseguire attendo dei commenti in merito
gianpippo
- 5/479
Ciao, la cosa è molto molto molto interessante. Se non vuoi scriverlo qui, mi manderesti il link al minuratore di flusso in privato? Ho un arduino UNO che uso solo per "giocare" e il desiderio di avere un flussometro a buon prezzo. Chissà che non riesca anche io a coniugare le due cose
--
G
--
G
gianluca88
- 6/479
Mi accodo anche io alla richiesta del link.
Ciao e grazie.
Ciao e grazie.
gianpippo
- 7/479
Una domanda a tutto il forum e in particolare a te che lo stai usando: ho letto che il sistema di rilevazione del flusso è "a turbina", non è che questo influisce sul flusso di benzina come un restringimento?
--
G.
--
G.
marcop20 (autore)
- 8/479
beh.... Restringimento......
Tieni presente che lascia passare 1,8 litri per minuto
Neanche una ferrari da F1 consuma così tanto
e poi.... è lo stesso principio di funzionamento che adottano i più blasonati flussometri prodotti da Lowrance, Navman, Northstar ecc.....
Tieni presente che lascia passare 1,8 litri per minuto
Neanche una ferrari da F1 consuma così tanto
e poi.... è lo stesso principio di funzionamento che adottano i più blasonati flussometri prodotti da Lowrance, Navman, Northstar ecc.....
tanomanci
- 9/479
Quanto costerebbe anche così comè ?
scuba , traina
marcop20 (autore)
- 10/479
per quanto riguarda il link, considerando che me lo chiedete in molti...
eccolo.... https://www.conrad.it/ce/it/product/150392/Flussometro-Misuratore-di-flusso-FCH-m-POM-LC-003-30-lmin-BIO-TECH-eK-FCH-M-POM-LC-AD-6-MM-con-ugello-16-mm?ref=searchDetail
Non credo di infrangere alcuna regola del forum in quanto la mia non è pubblicità, ma solo il modello che io ho acquistato per fare le mie prove.
Se così non fosse chiedo scusa ai moderatori e si può oscurare
eccolo.... https://www.conrad.it/ce/it/product/150392/Flussometro-Misuratore-di-flusso-FCH-m-POM-LC-003-30-lmin-BIO-TECH-eK-FCH-M-POM-LC-AD-6-MM-con-ugello-16-mm?ref=searchDetail
Non credo di infrangere alcuna regola del forum in quanto la mia non è pubblicità, ma solo il modello che io ho acquistato per fare le mie prove.
Se così non fosse chiedo scusa ai moderatori e si può oscurare
Argomenti correlati