Go Down

Topic: Automatizzazione dello svuotamento di un pozzo (Read 10911 times) previous topic - next topic

lesto

serve un minimo di elettronica per farlo funzionare, ma dovrebbe essere tutto sul datasheet
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

f.schiano

#16
Apr 22, 2011, 04:17 pm Last Edit: Apr 22, 2011, 04:20 pm by f.schiano Reason: 1

serve un minimo di elettronica per farlo funzionare, ma dovrebbe essere tutto sul datasheet


Quindi ho capito bene, cioè dovrei sostituire gli "occhi" di un sensore non a tenuta stagna con quelli a tenuta stagna giusto? Quindi dovrei dissaldare dei componenti e poi risaldarne altri? o servirebbe anche altro?
L'impossibile...richiede solo piu' tempo!

lesto

bisogna essere sicuri che lo schema di funzionamento sia lo stesso. trova la board originale, trova i sensori stagno, metti a confronto i datasheet...
direi che se stai sulla stessa marca hai molte più possibilità di cannibalizzare la board in modo efficace
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Ma fare una cosa "artigianalissima" tipo i galleggianti degli sciacquoni dei bagni?  :smiley-yell:
Metti un contatto sul galleggiante, quando l'acqua arriva al galleggiante e fa chiudere il contatto, fai partire la pompa per un tot di tempo, calcolato in base al volume di acqua che vuoi rimuovere dal pozzo (la calcoli semplicemente con la formula del colume di un cilindro) fratto la portata della pompa. Magari azioni anche una piccola lucina per far vedere al nonno che la pompa sta funzionando in quel preciso momento.

In questo modo puoi anche lasciare al nonno la facoltà di azionare la pompa a mano se lui volesse comunque svuotare il pozzo prima dell'intervento della pompa.

f.schiano

La soluzione dei galleggianti non è praticabile perchè il pozzo è difficile accesso per fare installazioni di questo genere, e poi ci sarebbe un problema con l'asta e con la taratura dello stesso.

Comunque come ho già spiegato in precedenza non posso nemmeno automatizzarlo al 100% perchè mio nonno decide se attivarlo o meno, sò che può sembrare strano ma per ora lui non sa ancora nulla di questo progetto, io voglio presentargli la cosa quasi ultimata altrimenti lui direbbe sicuramente di no!

In futuro sicuramente migliorerò la gestione, per ora un passo alla volta.

Grazie per i consigli!
L'impossibile...richiede solo piu' tempo!

liso

Ciao, io sto lavorando al tuo stesso progetto (insomma molto simile)
ho un pozzo ad 1Km e devo comandare o apertura pozzo o apertura acquedotto
entrambi riempiono 2 cisterne seguendo questo criterio: se c'è acqua nel pozzo uso quella, altrimenti apro la saracinesca dell'acquedotto!
in una cisterna il sensore è di quelli normali a galleggiante (chiude un contatto quando l'acqua arriva ad un certo livello)
dell'altra cisterna invece (che serve a dare il rame alle viti) devo sapere anche quanta acqua c'è! per questi livelli ho utilizzato un metodo molto simile a quello proposto da leo, cioè ho utilizzato dei tubi di rame!
uno lungo che arriva fino in fondo e poi altri 4 ad altezze diverse! quando l'acqua bagna un tubo mi accende un let) cioè..pilota un bjt e accende un led!
perm fare la tratta di 1 km ho utilizzato un ponte wireless...forse per 60 metri può andare bene anche il xbee

liso

per l'attivazione manuale, io ho messo uninterruttore a chiave che abilita una serie di interruttori posti in parallelo ai relè comandati dall'arduino :)

f.schiano


1) allora, per il lato lettura ci sono 3 soluzioni che mi vengono in mente:

infili 2 o più cavi nel pozzo (dipende da quanti livelli vuoi leggere) uno porta il negativo, gli altri sono il positivo. Quindi in pratica sfrutti la resistenza dell'acqua, quando uno dei "positivo" non è più bagnato non porterà corrente. Questo è molto comodo per i tuoi scopi perché anche se il pozzo è profondo non devi scendere a posizionare le sonde, basta fare attenzione che non si impiglino quando le cali e a tararle bene. Altro accorgimento è usare un materiale che non faccia ruggine isolante. (http://it.emcelettronica.com/indicatore-di-livello-dellacqua)


Scusate l'assenza...
comunque avrei deciso di intraprendere questa strada, che mi sembra la più economica e la più semplice!!!

Qualcuno può darmi qualche info in più a riguardo?

@Tommaso tu hai detto che hai fatto una cosa del genere giusto??

Aspetto le vostre risposte!!! :)
L'impossibile...richiede solo piu' tempo!

f.schiano

Non so se ho capito bene la logica per collegare i fili all'Arduino, sarebbe una cosa del genere:



Dal link postato da Lesto :
http://it.emcelettronica.com/indicatore-di-livello-dellacqua

non ho capito tanto bene come fare, cioè ad esempio se ho 2 fili + il negativo sul fondo del pozzo, come devo collegare i 3 fili tra loro?

GRAZIE per la pazienza!!!
L'impossibile...richiede solo piu' tempo!

lesto

lo schema è più o meno giusto.
il + lo puoi collegare tranqillamente a 5V, così non sprechi pin

ai - metti un pull down, poi un diodo(meglio se schott)

ricorda che la resistenza dell'acqua è di 20 K?/cm a 25 °C, qundi la distanza massima tra il sensore positivo e negativo è influenzata anche dalla resistenza di pull-down, in oltre dovresti fissare bene tra loro i 3 cavi, i modo che la loro distanza sia sempre fissa
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

f.schiano

La resistenza di pullman down va in serie a tutti i cavi eccetto quello a 5V che starà sul fondo, giusto? Ne devo mettere una per ogni cavo associato a ogni livello? Il diodo non ho capito a che servirebbe e dove inserirlo ( in serie ad ogni resistenza?)!

Grazie ancora!
L'impossibile...richiede solo piu' tempo!

lesto

#26
Apr 30, 2011, 05:44 pm Last Edit: Apr 30, 2011, 05:55 pm by lesto Reason: 1
sì, la resistenza va su ogni cavo tranne il 5v (altrimenti non arriverebbero i 5v!)
la resistenza è in parallelo tra cavo e GND, il diodo in serie tra cavo e arduino, e serve per evitare che la corrente vada da arduino al cavo (cioè al contrario), quindi credo sia evitabile se il cavo arriva direttamente ai pin senza passare per led o altro.

lo schema dovrebbe essere così: fai una prova, magari in un bicchiere d'acqua :)
le resistenze sono da 5Mohm



edit:
il 5V deve stare "sul fondo" o meglio, al di sotto di tutte le sonde.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

f.schiano

Grazie per la risposta, devo però prendere le resistenze perchè non le ho.. :) ..comunque avevo provato oggi però ingenuamente senza le resistenze di pull-down  e mi uscivano valori non molto concordi con quello che accadeva ai capi dei cavi...

Domani compro le resistenze e in questi giorni vi faccio sapere!!

GRAZIE
L'impossibile...richiede solo piu' tempo!

lesto

senza pull up i cavi (e anche i pin di arduino, ma per altri motivi) fanno da antenna..
se ci fai caso e avvicini un dito al cavo, la tensione del tuo corpo viene letta e i valori avranno un bel balzo!
per un piccolo test puoi usare qualsiari resistenza, basta che sia maggiore (più grande è meglio è) della resistenza dell'acqua data dalla distanza tra sonda e 5V

edit:
per mentenere fissa la distanza tra 5V e sensori, fissali tutti ad una stecca (che non galleggi però XD), facendo attenzione ai falsi contatti della parte di sonda esposta tra loro e con 5V
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

f.schiano

#29
May 01, 2011, 12:47 pm Last Edit: May 01, 2011, 12:51 pm by f.schiano Reason: 1
Ciao lesto, l'idea della stecca è ottima, infatti ci avevo già pensato.

Ieri ho provato il tutto con :

1 brocca per l'acqua (di plastica)
1 livello 1 (metà brocca :) )
1 livello 0 (FONDO della brocca)
1 resistenza da 330K

La cosa sembra funzionare, (il LED 13 si accende), anche se non sono per niente  sicuro del fatto che devo mettere il 5V in ingresso alla porta analog 4, però non so come fare per trasformare la lettura di una porta analog in una tensione!
Semplicemente a 1023 corrisponde 5V e a 0 corrisponde 0V ???

Ecco lo schema :


Ecco il codice (ho implementato un pseudo algoritmo mediana, per eliminare i disturbi, potrebbe essere errato perchè l'ho scritto molto velocemente):

Code: [Select]
#define LEDPIN 13

int pin5 = 5;
int pin4 = 4;                         
int val1,val2,diff = 0;// variable to store the value read
int array[40];
int app=0; //variabile di appoggio
int i=0;
float diff_av;

void setup()
{
  Serial.begin(9600);          //  setup serial
digitalWrite(LEDPIN,LOW);
}

void loop()
{
 
  val1 = analogRead(pin5);   //read the input pin 5
  val2 = analogRead(pin4);  //read the input pin 4
  diff=val1-val2;

//////////INIZIO CODICE ALGORITMO MEDIANA//////////////
  if(i>=0 && i<=39){
  array[i]=diff;
  i++;
  }
  else {
    i=0; 
    for(int k=0;k<=39;k++){
      for(int j=1;j<=39;j++){
       if(array[j]<array[j-1]){
           app=array[j-1];
           array[j-1]=array[j];
           array[j]=app;
                              }
                           }
                         }
       diff_av=(array[19]+array[20]+array[21])/3;
//////////FINE CODICE ALGORITMO MEDIANA//////////////
       Serial.print("    Diff_Average: ");
       Serial.println(diff_av);
       if(diff_av>-600)digitalWrite(LEDPIN,HIGH); 
//Questo valore l'ho preso molto empiricamente da quello che vedevo a serial monitor...
       
      else digitalWrite(LEDPIN,LOW);
         }
   delay(40);
}



Che ne pensate?
L'impossibile...richiede solo piu' tempo!

Go Up