Pages: [1] 2 3   Go Down
Author Topic: Contatore volumetrico per liquidi  (Read 2421 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

vorrei collegare un contatore volumetrico per l'acqua ad arduino uno, ma non ho idea di che tipo di oggetto devo acquistare e dove (su internet sarebbe meglio).
Ho cercato un po' in giro per il web senza però capirci molto, non avendo una base su cui far riferimento... potreste darmi qualche consiglio?

Grazie,
Manuel
Logged

0
Online Online
Shannon Member
****
Karma: 132
Posts: 10495
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

dipende da cosa vuoi fare. o vai a peso (cella di carico), oppure usi un vaso di espansione per mantenere la pressione costante e una elettrovalvola di cui conosci la portata (magari trovata appunto col metodo del peso).

è necessaria l'ettrovalvola perchè a lungo andare l'errore cresce, quindi l'unica è fermare il flusso e ricominciare da 0. ovvio che se devi tenere per esempio un serbatoio sempre pieno il sistema non va bene (l'errore si somma e ti ritrovi con serbatoio vuoto o strabordante), ma va bene per irrigare un campo, per esempio (se esce un poco d'acqua in più o in meno chissene)

per il serbatoio o vai a peso o usi un galleggiante
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao Lesto,

il contatore dovrebbe monitorare il flusso, ossia monitorare quanto liquido passa attraverso un tubo, tipo il contatore dell'acquedotto.
Logged

0
Online Online
Shannon Member
****
Karma: 132
Posts: 10495
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

allora ti serve un flussimetro http://it.wikipedia.org/wiki/Misuratore_di_portata
per esempio
http://www.futurashop.it/allegato/7300-WFSENSOR.asp?L2=SENSORI&L1=COMPONENTI%20ELETTRONICI&L3=&cd=7300-WFSENSOR&nVt=&d=13,00
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-red l'avevo scritto che non avevo idea del tipo di oggetto che mi serviva...  smiley-mr-green

quello che mi hai indicato sarebbe perfetto, se ne avessero in stock. Ti ringrazio per l'indicazione, ora ho un riferimento!

Guardando un po' in giro... i prezzi vanno da 13 euro a ... parecchie centinaia fino ad arrivare a oltre 1000 euro per caratteristiche simili. A cosa può essere dovuto tale differenza?
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 17
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

fai attenzione perchè il prodotto in vendita presso Futurashop ha delle limitazioni in quanto a pressione di esercizio. Ora non ricordo esattamente ma su un sito USA (forse Sparkfun), che vende lo stesso prodotto, ci sono dei commenti su questo aspetto. Ti conviene dargli un'occhiata prima di acquistare
Ciao
Aldo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

fai attenzione perchè il prodotto in vendita presso Futurashop ha delle limitazioni in quanto a pressione di esercizio. Ora non ricordo esattamente ma su un sito USA (forse Sparkfun), che vende lo stesso prodotto, ci sono dei commenti su questo aspetto. Ti conviene dargli un'occhiata prima di acquistare
Ciao
Aldo

La scheda parla di una portata max di 1,2 MPa = 12 bar. Dici che è una balla?

Logged

0
Online Online
Shannon Member
****
Karma: 132
Posts: 10495
:(){:|:&};:
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

la scheda del sito non so, le schede tecniche (datasheet) sono affidabili per definizione.
Logged

sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Offline Offline
Newbie
*
Karma: 1
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti.. Approfitto del post creato per chiedervi una mano a riguardo. Il problema è pressochè lo stesso o almeno parliamo dello stesso ambito. Praticamente il problema è il seguente: devo misurare la portata volumetrica attraverso una tubazione. Ho gia a disposizione il misuratore di portata, che emette un impulso ogni litro di fluido (in questo caso acqua) passato. Ho provato a scrivere uno sketch (scopiazzando qua e la!!) che riesce a contare qualcosa, però in modo casuale. E' come se nn leggesse l'impulso. Vi posto il programma, magari riuscite a capire dov'è l'errore premesso che è da poco che utilizzo Arduino. smiley-wink

Code:
int impulso = 52;
int contatore = 0;
int val = 0;
int old_counter = 0;
void setup() {
  pinMode(impulso, INPUT);
  Serial.begin(9600);
}

void loop() {
 old_counter = contatore;
if(digitalRead(impulso == HIGH)){
contatore +=1;
}
if(contatore > old_counter){
              
Serial.println(contatore);
}
delay(500);

}


« Last Edit: April 03, 2014, 03:15:30 pm by leo72 » Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7182
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ci sono degli errori nello sketch. (che tra l'altro devi scrivere con i tag CODE - vedi punto 7 del regolamento)

Code:
const int impulso = 52; // suppongo sia un'Arduino MEGA
int contatore = 0;
int val = 0;  // non è usato nello sketch
int old_counter = 0;

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

void loop() {
 old_counter = contatore;
   if(digitalRead(impulso) == HIGH){
      contatore ++;
   }
   
   if(contatore > old_counter) {
      Serial.println(contatore);
   }
   // delay(500);

}

Com'è fatto il circuito?
Potrebbe servire una resistenza di pull'up o pull'down, altrimenti legge anche se ci passi la mano vicino.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 1
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si..inizialmente era un arduino mega, poi sono passato ad un arduino due!
Il val=0 hai ragione, era in più, l'avevo utilizzato in precedenza ma poi ho effettuato delle modifiche e lho dimenticato! smiley-grin

Mi risulta difficile farti vedere il collegamento, non ho immagini. Comunque ho collegato il tutto su una basetta alimentando anche il sensore di portata in quanto mi richiedeva una certa alimentazione (se non ricordo male max 30v e 0.2 A).

Quindi secondo te il problema dei valori continui è solamente dato dalla mancanza di resistenze??

e se provassi ad utilizzare una funzione pulseIN??
Cosi avrei la portata in litri al secondo che è proprio quella che mi viene richiesta.
Con lo sketch scritto in precedenza invece mi calcolavo solamente i litri (che venivano conteggiati ad ogni impulso) mentre potrei scrivere si i litri, ma anche quanti secondi passano da un impulso ad un altro! Che dite, è fattibile come cosa?
Logged

Offline Offline
Full Member
***
Karma: 3
Posts: 135
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Se l'alimentazione del sensore è separata ricordati di mettere i gnd in comune... Se non usi resistenze di pull-down, puoi usare la pull-up interna invertendo la logica... più o meno così:
 
Code:
const int impulso = 52; // suppongo sia un'Arduino MEGA
int contatore = 0;
// int val = 0;  // non è usato nello sketch
int old_counter = 0;

void setup() {
  pinMode(impulso, INPUT_PULLUP);
  Serial.begin(9600);
}

void loop() {
 old_counter = contatore;
   if(digitalRead(impulso) == LOW){
      contatore ++;
   }
   
   if(contatore > old_counter) {
      Serial.println(contatore);
   }
   // delay(500);

}
Logged

Offline Offline
Newbie
*
Karma: 1
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie a tutti per le dritte...domani avrò l'attrezzatura a disposizione e sperando di non fare danni con i collegamenti elettrici, vi saprò dire di più...!! smiley-razz smiley-razz Spero che riesca a contare qualcosa, poi vi chiederò informazioni in più riguardo alla lettura del tempo!  smiley-zipper smiley-zipper
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 114
Posts: 7182
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Attento che l'Arduino DUE funziona a 3V3. Se gli arriva il segnale diretto del sensore a 30V si brucia.
Qual'è la sigla del sensore? Hai il datasheet?

Per la lettura dei litri al secondo puoi usare gli interrupt ne più ne meno di come si usano per calcolare gli RPM dei motori.
Ci sono tanti esempi sul forum.
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Conegliano
Offline Offline
Full Member
***
Karma: 5
Posts: 222
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
attenzione, mi sembra, che dopo un po' (40 giorni circa?)arduino si resetta , ma questo te lo diranno gli specialisti del software, io sono ancora agli inizi.
Non è che Arduino si resetti, se utilizzi la funzione millis() dopo un paio di mesi va in overflow e ritorna a zero, per cui se non gestisci correttamente il confronto, la condizione affinchè la tua funzione periodica venga effettuata viene a mancare, e quindi lo sketch non funziona correttamente. Se cerchi nel forum ci sono diverse discussioni su questo.

I contatori più diffusi sono solitamente a turbina con un reed che chiude il contatto ogni X litri, in base alla caratteristiche descritte nel data sheet. Attenzione perchè se interrompi il flusso mentre il contatto è chiuso, questo resterà in tale stato finchè non ci sarà un ulteriore passaggio di liquido e sposterà il magnete del reed.
Ci sono contatori più costosi che lavorano ad ultrasuoni ed hanno maggiore precisione e non sono soggetti a sporcamenti o blocchi meccanici, ma non credo ci siano queste necessità....
Logged

Pages: [1] 2 3   Go Up
Jump to: