Rilevamento pompa azionata da Arduino

Ciao a tutti, sono un aspirante utilizzatore di arduino con scarsa preparazione in elettronica. Sono interessato a fare una cosa analoga a quella discussa in questo topic, nel mio caso vorrei rilevare da arduino, assieme ad altre cose se è azionata una pompa di circolazione del riscaldamento che va a 220V. Mi sembra che l'idea dell'optoisolatore sia comoda e adatta a questo. Scusate la domanda ingenua, ma nello schema cosa significa HDR?

Ho spostato questo post in una nuova discussione perché non aveva niente a che fare col precedente.

Per rilevare il funzionamento di una pompa di circolazione del riscaldamento mi vengono in mente le seguenti cose: Controllo alimentazione pompa: * Relé da 230V AC messo in paralello alla pompa; i contatti sono chiusi/aperti quando la pompa é alimentata. Svantaggio: non rileva rotture / blocaggio della pompa.

Controllo flusso liquido: * Flussimetro: Rileva il funzionamento dell pompa. Svantaggio: necessaria modifica del circuito idraulico per montare il flussimetro. * controllo temperature del liquido riscaldant di mandata/ritorno: vantaggio: sono da montare 2 sensori di temperatura. Svantaggi: gestione piú complicata della elaborazione dati; sistema lento.

Ciao Uwe

Oppure puoi mettere un pressostato sulla mandata della pompa. La misura sarebbe immediata, ma comunque richiede di modificare il circuito dell'acqua, come per il flussimetro.

Grazie per le risposte, nel frattempo mi sono informato meglio sul relè necessario, mi sembra che a differenza di soluzioni con optoisolatori dal punto di vista elettronico sia la soluzione più semplice. Nel mio caso non sono interessato a rilevare malfunzionamenti ma a misurare l'energia immessa, usando anche due sensori di temperatura sulla mandata e sul ritorno. Inserire un flussimetro mi è troppo complicato.

Ciao,

se vuoi misurare l'energia immessa (o meglio la potenza) oltre al delta T dell'acqua devi misurare necessariamente anche la portata di acqua.

Se hai una pompa volumetrica è facile, la portata non dipende dal circuito in cui la pompa è inserita, ma solo dalle caratteristiche della pompa e dal numero di giri del motore. Se hai una pompa centrifuga è un po' più complicato....

Puoi dare informazioni in più sul circuito, così per curiosità! :)

Emanuele.

Scusata, temevo di tediare mettendo tutti i dettagli. Come ho gia detto sono ancora in analisi di fattibilità :) In realtà voglio monitorare un impianto solare termico a circolazione forzata (poi mi era venuta anche l'idea di calcolare la potenza ed energia dell'impianto di riscaldamento ma qui no ho certezza sulla portata delle pompe e quindi sul flusso). Sull'impianto solare ho un flussimetro analogico, quindi so all'incirca qual'è la portata, quindi l'idea è di monitorare se la pompa è attiva e in tal caso a intervalli regolari, direi di 1 minuto misurare temperatura di mandata e ritorno del pannello: la misura istantanea mi da la potenza, la sommatoria mi darà l'energia.

Ti serve per forza una misura della portata e della differenza di temperatura per determinare l' energia prodotta. @ resonance Per essere sicuri se l'aqua circola Ti servono 2 misuratori di pressione perché la pressione dipende dal carico del impianto e in parte anche dalla temperatura. Un presostato unico puó non rilevare con sicurezza la prevalenza creata dal circolo di liquido. Ciao Uwe

E' vero uwe, con un pressostato in mandata puoi rilevare che il circuito è in pressione, ma può darsi che ci sia una valvola chiusa da qualche parte quindi flusso nullo e pompa comunque in moto (vale solo però se la pompa è centrifuga). Di solito il pressostato in mandata serve per spegnere la pompa quando rileva una pressione abbastanza alta che significa proprio circuito interrotto ed energia totalmente sprecata. Grazie per la puntualizzazione!

@cristianc: che tipo di pannelli termici usi? Te lo chiedo perchè anche io ho un pannello termico che vorrei "monitorare" con arduino, anzi, a dirla tutta è stato proprio questa "fantasia" a farmi conoscere questo mondo. Dopo più di un anno però è ancora tutto su carta....

Emanuele.

pannelli piani, cosa ti interessa sapere? Come ho detto, il flusso quando la pompa è attiva più o meno lo conosco, quindi mi basta sapere se la pompa è alimentatata e misurare le t di mandata e ritorno.

Se vuoi sapere se la pompa gira tralasciando il flussostato che devi insere fisicamente nel tubo (probabilmente lo devi tagliare e poi raccordare etc... vedo il tuo idraulico con un sorriso ...) devi sapere lo potenza eletrica assorbita dalla stessa e siccome la tensione di alimentazione la sai (probabilmente 220Vac) l' unica variabile è la corrente assorbita tenendo presente che all'avviamento è maggiore per lo spunto. Monitorando la corrente puoi sapere se la pompa è bruciata o grippata. Esistono in commercio di relè che fanno questa funzione ma costano uno sprotosito rispetto al valore ecomomico della tua pompa (te ne puoi comperare 2-3 da tenere in cantina per scorta) e vengono usarti sono in ambito industriale in usi particolari.

Qualora la tua pompa sia alimentata in CC la cosa è sicurmente + fattibile e indolore

Spero di esserti utile

Ivanred

si, me lo vedo anche io il mio idraulico con il sorriso :) ... per questo non ci provo neanche. Spendere un capitale per un giochino per ora non mi va; dopo uno studio sui relè ho individuato il finder 40.52.8.230.0000 come quello adatto al mio scopo, mi costa quasi 10 euro e mi paiono gia tanti

Siccome non sono certissimo del funzionamento del relè e non l'ho trovato a prezzi irrisori ho pensato che forse mi conviene seguire il suggerimento trovato qui (http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1292253331/9#9), tant'è che un alimentatore USB c'e l'ho già :) devo adottare precauzioni particolari?

esistono dei sensori di corrente a trasformatore che puoi agganciare ad uno dei cavi di alimentazione dla pompa e misurare la tensione di uscita, proporzionale alla corrente. Ovviamente la tensione di uscita e' alternata, quindi devi leggerla con arduino e prevedere nel programma di calcolare r.m.s. Se ti interessa ti do tutte le informazioni.

paolometeo: esistono dei sensori di corrente a trasformatore ...

Se ti interessa ti do tutte le informazioni.

Magari! te ne sarei molto grato; come ho gia' detto ho scarse conoscenze di elettronica, ho conoscenze di informatica ma con arduino sono alla "fase 0", quindi ogni suggerimento/insegnamento è più che gradito :)

http://www.seeedstudio.com/depot/noninvasive-ac-current-sensor-100a-max-p-547.html?cPath=6

Scusami se ti rispondo solo ora, questo che vedi sopra e’ il link dove vendono il sensore di corrente non invasivo. Esistono anche altri negozi on-line che ce l’hanno. Una caratteristica di questo sensore e’ che funziona solo con la corrente alternata e il segnale che tira fuori e’ una tensione alternata. Pero’ arduino, se programmato in modo giusto, riesce a campionare la tensione di uscita con una periodicita’ di qualche decimo di millisecondi e calcolare il valore rms.
Se ti interessa ti passo il programma.

@paolometeo
Gli hai consigliato l’ unico sensore della serie che come uscita da una corrente e non una tensione. Per avere una tensione proporzionale alla corrente del cavo deve essere messo una resistenza di un valore ben definito tra le uscite.
Ciao Uwe

Grazie a entrambi, però non mi è chiaro bene il discorso corrente/tensione. Suppongo che con l'arduino io possa misurare la tensione e quindi mi convenga andare sul modello con l'uscita a tensione, non ho capito, la tensione in uscita è fissa o proporzionale alla corrente alternata in "entrata"? paolometeo, se mi passi il programma faccio volentieri una prova appena mi sono procurato il sensore

Quel sensore é un trasformatore che viene messo in serie al utenza. Passando col cavo nel buco del sensore hai 1 spira sul primario. per aumentare la sensibilitá puoi mettere anche 2 volte il cavo. Limiti il campo di misura a metá ma hai il doppio della tensione sul uscita. Trasforma la corrente del primario sul secondario secondo il rapporto spire e sul secondario DEVE essere messo in corto con una resistenza adeguata. I modelli con uscita in tensione hanno incorporato questa resistenza. L' uscita in tensione é in alternata e proporzionale alla corrente del primario. Ciao Uwe

Eccomi di nuovo, e’ vero c’e’ bisogno di una resistenza in parallelo all’uscita del sensore di corrente affinchè si possa avere una uscita in mV proporzionale alla corrente che scorre nel primario, ovvero nel filo che passa dentro il nucleo del sensore. Qui sotto riporto il programma che acquisisce sia il segnale dal sensore, sia una tensione proporzionale alla tensione alternata di rete. Questo per poter calcolare la potenza istantanea in W = V*I e poi farne la media. Il programma usa anche una funzione per memorizzare il dato su un logger shield della Adafruit. Per ragioni di spazio, ho riportato solo la parte del programma che fa il calcolo nella void loop(). Piu’ avanti ho inserito anche lo schema elettrico del circuito del sensore e di quello dell’alimentatore per Arduino che mi serve anche per prelevare la tensione alternata di rete. Scusate tutti se lo schema l’ho disegnato su un foglio a quadretti e poi scannerizzato. Sono un po’ all’antica!!

void loop(void){
  
  float Wattmed    =   0.0;
  float Wattmax    =  -999999.9;
  float Wattmin    =   999999.9;
  float Wattappmed =   0.0;
  float Wattappmax =  -999999.9;
  float Wattappmin =   999999.9;
  float sumAnagImed = 0.0;
  float sumAnagVmed = 0.0;
  float sum2Ampmed = 0.0;
  float sum2Voltmed = 0.0;
//
  for (int i=1; i<= n_sample2; i++){    // outer loop
    sumAnagI = 0.0;
    sumAnagV = 0.0;
    sum2Volt = 0.0;
    sum2Amp  = 0.0;
    sumWatt  = 0.0;
    for (int i=1; i <= n_samples; i++){  // inner loop
      // read the analog input value:
     sensI = analogRead(analogPinI);    
     sensV = analogRead(analogPinV); 
  // converte la lettura numerica da 0 a 1023 in 
  // una tensione tra 0 e 5 V e la mette in Vout
     AnagI = ADCvoltsperdiv * sensI;
     AnagV = ADCvoltsperdiv * sensV;
 
  // toglie la tensione continua di offset che calcola come
  // valore medio durante il loop precedente
     Vout = AnagV - offsetV; 
     Iout = AnagI - offsetI;
  //  converte nei veri valori di V e I
     Volt = Vout * Vconv;
     Amp  =  Iout * Iconv;
     Watt = Volt * Amp;
  // sommatoria dei valori  per determinare lo offset e gli altri parametri
       sumAnagI =  sumAnagI + AnagI;    // sum of  output from analog signal
       sumAnagV =  sumAnagV + AnagV;    // sum of  output from analog signal
       sum2Volt = sum2Volt + Volt * Volt ;
       sum2Amp  = sum2Amp + Amp * Amp ;
       sumWatt = sumWatt + Watt ;
    }   // end of inner loop
 //  valori medi
    sumAnagI = sumAnagI / n_samples;         // average of sensor output
    sumAnagV = sumAnagV / n_samples;         // average of sensor output
    sum2Volt = sqrt(sum2Volt / n_samples);         // average of sensor output
    sum2Amp =  sqrt(sum2Amp / n_samples);         // average of sensor output
    sumWatt = sumWatt / n_samples;               // Real Power
    Wattapp = sum2Volt * sum2Amp;                // Apparent Power
    offsetV = sumAnagV;                         // update offset
    offsetI = sumAnagI;
//
    sumAnagImed=sumAnagImed+sumAnagI;
    sumAnagVmed=sumAnagVmed+sumAnagV;
    sum2Ampmed=sum2Ampmed+sum2Amp;
    sum2Voltmed=sum2Voltmed+sum2Volt;
    
    Wattappmed = Wattappmed + Wattapp;
    if(Wattapp > Wattappmax){
      Wattappmax = Wattapp;
    }
    if(Wattapp < Wattappmin){
      Wattappmin = Wattapp;
    }
//
    Wattmed=Wattmed + sumWatt;
    if(sumWatt > Wattmax){
      Wattmax = sumWatt;
    }
    if(sumWatt < Wattmin){
      Wattmin = sumWatt;
    }
    /*
 //   alarm if power is greater then wattalarm
    if(watt > wattalarm){
      tone(4,500,500);
    }
  */
     }  // end of outer loop
    Wattappmed = Wattappmed / n_sample2;
    Wattmed = Wattmed / n_sample2;
    sumAnagImed=sumAnagImed / n_sample2;
    sumAnagVmed=sumAnagVmed / n_sample2;
    sum2Ampmed=sum2Ampmed / n_sample2;
    sum2Voltmed=sum2Voltmed / n_sample2;

Dimenticavo, un sito molto interessante per questo genere di progetti, da cui ho preso molto, è: http://openenergymonitor.org/emon/node/59 Con questo progetto in pratica misuro la potenza media (rms) assorbita dall'impianto di casa, il fattore di potenza e, ogni minuto, scrivo i dati su una scheda SD. Ho provato a tarare il tutto utilizzando elettrodomestici di potenza nota (ferro da stiro, phon...). La precisione non è granchè, specialmente per le basse potenze. ciao