Display per il livello di una cisterna

Salve a tutti,

sto cercando di creare un progetto per il controllo di una vasca d'acqua sopra il mio appartamento. Purtroppo alcune volte è venuta a mancare l'acqua e quindi non potendo vedere il livello dell'acqua in alcune occasioni non ho potuto neanche fare una doccia. Ho trovato un progetto molto interessante ( http://www.piumalab.org/display-per-livello-acqua/ ) che purtroppo non sono riuscito a completarlo senza problemi. Sul display appaiono dei simboli strani e non il livello dell'acqua, i cm e altri valori, inoltre il buzzer suona a intermittenza ogni 2sec circa. Forse c'è qualche errore nello schetckbook o qualcosa di errato nel progetto. Vorrei sapere se c'è qualcuno che può aiutarmi a risolvere il problema o consigliarmi qualche altro progetto già collaudato e funzionante.

Grazie a tutti

http://forum.arduino.cc/index.php?topic=332769.msg2295871#msg2295871
Cosa é successo che non continui la veccia discussione?
Ciao Uwe

Se i sensori ad ultrasuoni non sono stagni (costo elevato), prima o poi ti diranno problemi.

Perché non usi un semplice sensore a galleggiante?

Ponendolo sul fondo della vasca, quando il livello raggiunge il minimo ti avvisa con un segnale.

Concordo con cyberhs, un sensore ultrasuoni dentro ad una vasca non piace neanche a me..

Ma se ti serve solo un avviso di livello basso, non metterei neanche un galleggiante (che potrebbe richiedere anche di forare il serbatoio), bastano due fili che arrivano al punto di minimo e un operazionale che ti alza un pin quando non c'è più conduzione ossia l'acqua è al di sotto del minimo.

Io ho fatto una cosa simile per la macchinetta del caffè, ma con un sensore ottico ossia LED blu + fotoresistenza (il serbatoio è trasparente, quando è presente l'acqua la luce arriva da un lato all'altro, quando scende al di sotto del LED la plastica diffonde troppo la luce per cui la fotoresistenza non la "vede" bene e scatta il segnale di livello).

Mettere un galleggiante a switch ci avevo pensato ma come dice anche docdoc questo comporterebbe la foratura della vasca da 300 litri con il rischio di perdite, inoltre i sensori che ho visto sono adatti per vasche di capacità molto limitate anche perché la pressione sarebbe alta per essere a tenuta stagna.

Riguardo a Docdoc, la cosa potrebbe essere interessante ma a me interessa conoscere anche il livello massimo per il troppo pieno in modo da fare chiudere delle valvole in ingresso. Se è possibile mettere dei fili per il min che sensore posso mettere per il Livello max?

Ma riguardo al progetto che vi ho elencato c'è qualcuno che potrebbe aiutarmi a risolvere il problema? Per me è molto interessante.

Grazie a tutti

uwefed:
Display per livello acqua di una vasca - Generale - Arduino Forum
Cosa é successo che non continui la veccia discussione?
Ciao Uwe

Hai ragione, avevo dimenticato di aver inserito questo post, ti chiedo se gentilmente è possibile accorparlo a questo.

Grazie

davgiuffrida:
Riguardo a Docdoc, la cosa potrebbe essere interessante ma a me interessa conoscere anche il livello massimo per il troppo pieno in modo da fare chiudere delle valvole in ingresso. Se è possibile mettere dei fili per il min che sensore posso mettere per il Livello max?

Certamente, basta mettere un'altra coppia di fili al livello opportuno, e un altro operazionalino, collegato ad un secondo pin e hai risolto anche per il massimo. Io mi sono fatto un mini-shield con una millefori, uno zoccolo per l'operazionale e 3 resistenze più un trimmer per la taratura, molto semplice e compatto. Tu metterai entrambi gli operazionali e relativi partitori su una stessa basetta, con 4 pin di ingresso per le due coppie di fili-sensore, 2 per l'alimentazione e 2 per l'uscita verso i pin di lettura.
Potresti persino evitare di mettere Arduino, ti bastano due led (uno per il livello minimo e uno per quello massimo) e al limite anche un buzzer di allarme per il minimo.:wink:
Se vuoi invece farci qualcosa di attivo, come dici tu attivare/disattivare valvole o una pompa o altro, ti basta uno shield a 2 relè.

docdoc:
Certamente, basta mettere un'altra coppia di fili al livello opportuno, e un altro operazionalino, collegato ad un secondo pin e hai risolto anche per il massimo. Io mi sono fatto un mini-shield con una millefori, uno zoccolo per l'operazionale e 3 resistenze più un trimmer per la taratura, molto semplice e compatto. Tu metterai entrambi gli operazionali e relativi partitori su una stessa basetta, con 4 pin di ingresso per le due coppie di fili-sensore, 2 per l'alimentazione e 2 per l'uscita verso i pin di lettura.
Potresti persino evitare di mettere Arduino, ti bastano due led (uno per il livello minimo e uno per quello massimo) e al limite anche un buzzer di allarme per il minimo.:wink:
Se vuoi invece farci qualcosa di attivo, come dici tu attivare/disattivare valvole o una pompa o altro, ti basta uno shield a 2 relè.

Grazie doc, ma per avere schemi e lista dei componenti? Come posso averla. Il modulo scheda relè lo avevo già acquistato, adesso spero che con il tuo aiuto possiamo completare il progetto.

Grazie

davgiuffrida:
Grazie doc, ma per avere schemi e lista dei componenti? Come posso averla.

Il mio circuito di sensore ottico è molto semplice, l'ho usato sia per il livello acqua sia come encoder ottico per motori DC (con disco).

R2, R3, R4 10 kohm
R1 220 ohm
IC1 TL081 o altro OpAmp 8PIN DIP
Q1 Fototrnsistor NPN
UIR1 IR_LED 1208-IR
J1 header (1x3)

Ma nel tuo caso potresti anche fare una cosa più semplice, con una sola resistenza per sensore: nel serbatoio metti 2 fili paralleli uno collegato a GND di Arduino, l'altro ad un input analogico (es. A0) con una resistenza di pullup da 10k tra questo e +5V. Da codice poi misuri il livello di A0 e se supera (o scende) un valore da te stabilito fa quello che deve fare. Fai una prova con un bicchiere d'acqua e vedi, soprattutto per la distanza tra i due fili e cosa succede se questi si ossidano. 8) E' possibile che ti serva un transistor (es. BC517) per migliorare la sensibilità, ma fai prima qualche prova.

PS: se non vuoi sperimentare (ma prova prima l'altra soluzione, d'altronde siamo qui per sperimentare e divertirci imparando no? 8) ) acquisti due di questi:
SENSORE-PIOGGIA-MODULO-LIVELLO-ACQUA-KIT-GIARDINAGGIO-COLTIVAZIONE-PER-ARDUINO
(linko questo venditore perché è quello che ho nei bookmark, ovviamente ognuno usi quello che preferisce)

Facci sapere se hai provato, e se hai qualche altra domanda sono qui :slight_smile:

docdoc:
Il mio circuito di sensore ottico è molto semplice, l'ho usato sia per il livello acqua sia come encoder ottico per motori DC (con disco).

R2, R3, R4 10 kohm
R1 220 ohm
IC1 TL081 o altro OpAmp 8PIN DIP
Q1 Fototrnsistor NPN
UIR1 IR_LED 1208-IR
J1 header (1x3)

Ma nel tuo caso potresti anche fare una cosa più semplice, con una sola resistenza per sensore: nel serbatoio metti 2 fili paralleli uno collegato a GND di Arduino, l'altro ad un input analogico (es. A0) con una resistenza di pullup da 10k tra questo e +5V. Da codice poi misuri il livello di A0 e se supera (o scende) un valore da te stabilito fa quello che deve fare. Fai una prova con un bicchiere d'acqua e vedi, soprattutto per la distanza tra i due fili e cosa succede se questi si ossidano. 8) E' possibile che ti serva un transistor (es. BC517) per migliorare la sensibilità, ma fai prima qualche prova.

PS: se non vuoi sperimentare (ma prova prima l'altra soluzione, d'altronde siamo qui per sperimentare e divertirci imparando no? 8) ) acquisti due di questi:
SENSORE-PIOGGIA-MODULO-LIVELLO-ACQUA-KIT-GIARDINAGGIO-COLTIVAZIONE-PER-ARDUINO
(linko questo venditore perché è quello che ho nei bookmark, ovviamente ognuno usi quello che preferisce)

Facci sapere se hai provato, e se hai qualche altra domanda sono qui :slight_smile:

Ciao doc,

Il circuito si presenta molto interessante ma vorrei capire alcune cose.

Potresti gentilmente linkarmi i componenti dove acquistarli? Vorrei evitare di fare acquisti sbagliati.

IC1 TL081 o altro OpAmp 8PIN DIP
Q1 Fototrnsistor NPN
UIR1 IR_LED 1208-IR
J1 header (1x3)

Cosa sarebbero gli header? i fili che vanno all'arduino?

Come faccio a usare un sensore ottico e metterlo dentro la vasca per vedere il livello? Hai qualche foto o esempio?

Ho già acquistato il modulo pioggia, lo devo connettere allo schema che mi hai postato? Dove viene collegato?

Dove trovo lo sketchbook per fare la prova con arduino?

Come faccio a misurare da codice il livello di A0 e se supera (o scende) con un valore da me stabilito e se fa quello che deve fare?

Scusa per le tante domande, e grazie per il tuo aiuto.

davgiuffrida:
Potresti gentilmente linkarmi i componenti dove acquistarli? Vorrei evitare di fare acquisti sbagliati.

IC1 TL081 o altro OpAmp 8PIN DIP
Q1 Fototrnsistor NPN
UIR1 IR_LED 1208-IR
J1 header (1x3)

Io li ho presi da un negozio GBC dalle mie parti (per le mie esigenze ho usato fototransistor infrarossi e LED infrarossi, ma va bene anche usare un normale LED e normale fotoresistenza, così come per l'operazionale puoi prendere un equivalente come LM741), altrimenti se non hai negozi di componenti elettronici a portata, ci sono vari venditori su eBay (ovviamente devi considerare le spese di spedizione, quindi non acquisterai un solo transistor, fai un acquisto che ne valga la pena). Io vari componenti "sfusi" li ho presi da questi ad esempio:
http://www.ebay.it/usr/circuitointegrato
http://www.ebay.it/usr/gaetano_f

Cosa sarebbero gli header? i fili che vanno all'arduino?

Sono i connettori che usi per collegare i fili, ci sono maschi o femmine, lineari o angolari, tipo questi:

Come faccio a usare un sensore ottico e metterlo dentro la vasca per vedere il livello? Hai qualche foto o esempio?

Nel tuo caso essendo una vasca in cemento (nel mio caso è in plastica) non puoi usare sensori ottici ma dovrai usare almeno dei fili.

Ho già acquistato il modulo pioggia, lo devo connettere allo schema che mi hai postato? Dove viene collegato?

No, se il modulo pioggia è comprensivo di circuito logico hai già tutto quello che ti serve, devi solo collegarlo ad Arduino.

Dove trovo lo sketchbook per fare la prova con arduino?

Se parli della prova con i fili collegati ad un ingresso analogico, ti basta far scrivere su seriale (nel loop()) la lettura effettuata da analogRead() e vedere cosa succede quando i fili sono in acqua o meno, e se allontani o avvicini i fili tra loro. Non ti faccio io lo sketch perché è sempre utile mettere le mani di persona per imparare :wink:

Come faccio a misurare da codice il livello di A0 e se supera (o scende) con un valore da me stabilito e se fa quello che deve fare?

La funzione analogRead() restituisce un valore tra 0 (0 Volt, ossia GND) e 1023 (+5V). Tu fai lo sketch per mostrarne il valore, vedi come cambia a seconda delle condizioni, poi nel programma vero e proprio metterai una "if ( valore >= minimo )"...
Inizia leggendo QUI poi vedi anche QUI e QUI

ok, visto che ormai ho comprato il rilevatore di pioggia scelgo l'opzione di collegarlo all'arduino e usare uno sketchbook.

Devo usare solo il rilevatore di pioggia?

Dove devo collegarlo?

Come faccio ad avere il massimo e il minimo? con due sensori di pioggia? Quello per il livello minimo devo immergerlo nell'acqua?

Ho anche il modulo con due relè che mi servono per far chiudere due valvole una troppo pieno e l'altro se ho una perdita di acqua. Come posso collegarlo?

Potresti aiutarmi per lo sketchbook?

Scusami ma non sono molto pratico. Ti ringrazio per la pazienza

Iniziamo dal principio: tu quale sensore pioggia hai preso esattamente? Una volta visto questo possiamo capire come va collegato ad Arduino e quindi gestito.
Ma non ho ben capito quale grado di esperienza hai di elettronica in generale e di Arduino (e relativi interfacciamenti) in particolare. Come detto anche da altri, non è per cattiveria o sadismo, ma non ti faremo alcuno sketch (senza "book";-)), devi per prima cosa provarci tu, altrimenti con la "pappa pronta" non impari mai, ti pare?... :wink:

Salve a tutti,

mi permetto di dire la mia visto che sto affrontando un problema simile: devo trovare il modo per misurare il livello di acqua di un pozzetto di raccolta. Ho realizzato un sistema a due pompe sommerse, già funzionante, manca solo misura di livello e GSM con cui sto tribolando inquesti giorni.

  • ultrasuoni, non vanno bene, oltre i problemi di umidità, i sensori normali non funzionano in abmienti chiusi, gli ultrasuoni essendo direzionali rimbalzano dappertutto falsando la lettura.
  • sensore infrarossi, non vanno bene, sono imprecisi, hanno poco range, e problemi di riflessione sull'acqua, occorre predisporre un riflettente galleggiante... troppo laborioso.
    (ho provato questo http://www.ebay.it/itm/191610226801?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT)

per ora le uniche due soluzioni che sto vaglianto dopo lunga riflessione son

la lettura puo' avvenire sui pin digitali oppure tramite partitore resistivo opportunamente calcolato su un pin analogico.

io metto min, max, e superamento max (tre sensori)

  • sto pensando di realizzare un asta in pvc con un gallegiantino interno con magnete, e sulla parete contatti reed collegati a un partitore resistivo. In tal caso si puo' fare un sensore che valuta il livello a step di 5-10 cm.
    uso due canne pvc per impianti elettrici una dentro l'altra. in modo che il tutto esternamente non si vede.

esistono altri metodi interessanti ma piu complicati

saluti
vagus