PDA

Visualizza Versione Completa : Scheda elettronica per osmoregolatore



metheny10
30-11-2017, 11:49
Ciao a tutti,
in rete ho trovato questa scheda (https://www.banggood.com/it/12V-DC-Water-Level-Switch-Sensor-Controller-Water-Tank-Tower-Automatic-Drainage-p-1111158.html?rmmds=search&cur_warehouse=CN), secondo voi è adatta per fare un osmoregolatore?

I sensori sarebbero in acciaio inox...

Robi.c
30-11-2017, 11:54
Stavo cercando anche io info su queste schede.
Ma alla fine perché non usare il solito galleggiante e pompa?

metheny10
30-11-2017, 12:05
Da quello che so il galleggiante mal sopporta correnti superiore a 0,5 A (non sono un tecnico su queste cose ma leggendo qua e là...) e le pompe a 12v tendono a bruciare il contatto dopo qualche ciclo di apri/chiudi. Quindi il galleggiante va bene se a monte c'è una scheda elettronica fatta ad hoc (ecco perchè i vari osmoregolatori in commercio costicchiano), altrimenti perde un po' di affidabilità.

Robi.c
30-11-2017, 12:07
Avevi letto anche io questa cosa ma leggo anche di gente che li costruisce senza.scheda e vanno avanti anni...

metheny10
30-11-2017, 12:16
Vero, come è vero che i galleggianti esistono di diverse fatture con correnti massime (detto brutalmente) differenti.

Robi.c
30-11-2017, 12:20
Assolutamente

dr.jekyll
30-11-2017, 12:20
Considerando quanto costa io farei tutto con un arduino nano.

Inviato dal mio SM-G930F utilizzando Tapatalk

metheny10
30-11-2017, 12:35
Spunto interessante... usando cosa per i sensori?

dr.jekyll
30-11-2017, 12:40
Io ne ho costruito uno ieri, dopo qualche sbattimento ora sembra funzionare.

Ho usato un solo galleggiante come questo http://www.ebay.it/itm/Sensore-di-livello-acqua-PP-bianco-ad-angolo-retto-Interruttore-GalleggianteHK/252398565713?_trkparms=aid%3D555017%26algo%3DPL.CA SSINI%26ao%3D1%26asc%3D20170803110444%26meid%3D228 6f92c7f574e8086f02876149c2543%26pid%3D100505%26rk% 3D1%26rkt%3D1%26&_trksid=p2045573.c100505.m3226

Però considera che puoi mettere due galleggianti, tre (+ uno tanica rabbocco). Puoi usare un sensore ad ultrasuoni misurando il livello in vasca come altezza, insomma si può fare un po' quello che ti pare :)

Io l'ho costruito con un galleggiante e poi ho scritto un programma che blocca il tutto, fino a mio intervento, se la pompa di rabocco resta per più di 15 secondi accesa.

Robi.c
30-11-2017, 12:41
Ma.visto il costo.non conviene la scheda di bangood?

dr.jekyll
30-11-2017, 13:00
Ma.visto il costo.non conviene la scheda di bangood?

Se devo allagare casa, preferisco allagarla per merito mio :-8


Scherzi a parte come spesa siamo li. Considerando che arduino lo alimenti con un carica batterie per cellulari usb e se si compra dalla cina, volendo esagerare spendi 10 euro tra arduino, galleggiante e scheda con due relè. Così esce anche una cosa più sicura, su quella scheda vedo solo un relè, mentre io ne ho messi due. Uno per positivo l'altro per negativo. Se un relè resta attaccato si scollega l'altro.

Quello che ho sbagliato a fare è stato comprare anche la pompa dalla cina, che aveva cominciato a rilasciare ruggine nella tanica e ne ho dovuta comprare una nuova adatta.

Robi.c
30-11-2017, 13:25
Avevo visto 25 la scheda Arduino. ..

dr.jekyll
30-11-2017, 13:27
Avevo visto 25 la scheda Arduino. ..Si 25, quella orgininale.

Si trovano le cloni cinesi a molto meno

Inviato dal mio SM-G930F utilizzando Tapatalk

Robi.c
30-11-2017, 13:29
Ahhh :)
Molto bene, proverò sicuramente
50/70 euro per un osmo "serio" sono troppi

dr.jekyll
30-11-2017, 13:32
Io avevo già tutto a casa tranne galleggiante e pompa. Quindi ho deciso di provare e sembra andare tutto tranquillo. Magari vi aggiorno dopo una settimana di test se vi interessa

Inviato dal mio SM-G930F utilizzando Tapatalk

Robi.c
30-11-2017, 13:37
Io si sono interessato

Niko
30-11-2017, 13:47
Se devo allagare casa, preferisco allagarla per merito mio :-8


Scherzi a parte come spesa siamo li. Considerando che arduino lo alimenti con un carica batterie per cellulari usb e se si compra dalla cina, volendo esagerare spendi 10 euro tra arduino, galleggiante e scheda con due relè. Così esce anche una cosa più sicura, su quella scheda vedo solo un relè, mentre io ne ho messi due. Uno per positivo l'altro per negativo. Se un relè resta attaccato si scollega l'altro.

Quello che ho sbagliato a fare è stato comprare anche la pompa dalla cina, che aveva cominciato a rilasciare ruggine nella tanica e ne ho dovuta comprare una nuova adatta.

Potresti inserire il link della pompa adatta che hai acquistato ?

metheny10
30-11-2017, 14:17
Il tuo circuito ha quindi anche la protezione per il basso livello nella tanica di rabbocco? Posteresti una lista dei componenti usati e una bozza di circuito?

Grazie! :114-45:

dr.jekyll
30-11-2017, 14:18
Si ragazzi. Come mi riprendo da pranzo posto tutto. Comunque è abbastanza semplice

Inviato dal mio SM-G930F utilizzando Tapatalk

metheny10
30-11-2017, 14:20
Ottimo, attendiamo tutto 4chsmu1

billykid591
30-11-2017, 14:54
attenzioni ai cloni di arduino che a volte hanno problemi di compatibilità.....ad ogni modo usare due relè per una pompetta del genere è una esagerazione viste le esigue correnti che scorrono sui contatti è praticamente impossibile che si incollino....... ritornando alla scheda della prima pagina in effetti non usa galleggianti ma semplici fili scoperti all'interno della tanica....... il chè non depone a suo favore per quanto riguarda affidabilità del suo funzionamento

dr.jekyll
30-11-2017, 15:55
Per la compatibilità non so che dirti. Il mio ha funzionato, ne ho diversi. Da quelli di due euro all'orginale da 25. Attualmente sto usando l'originale ma solo perchè è quello che uso per i prototipi, sul controller definitivo, se mai riuscirò a finirlo emoticon-cartoon-013 userò un mega della sainsmart che con diverse prove ha sempre funzionato.

Solo per l'osmoregolatore, si può usare uno schema del genere. Con il segnale dell'interrutore che viene letto in analogico. In digitale avevo qualche problemino, soprattuto quando la mp10 aumentava la velocità facendo vibrare il galleggiante(non ho sump).

https://ibb.co/nvmdCw

Come componenti ho usato.

Arduino uno

Alimentatore 12 v per pompa (si recupara facilmente) ottimi quelli dei decoder sky

interrutore galleggiante

resistenza da 10 k

scheda da 4 relè 5V (avevo quella), meglio da due o come dice billy basta anche un solo relè. ( https://www.ebay.it/itm/Rele-Relay-Relais-Modulo-5V-DC-2-CH-Canali-Optocoupler-PIC-AVR-DSP-per-Arduino/152542573419?hash=item23843ef36b:g:uzYAAOSwxixaEwZ- )

cavetti di collegamento vari

La pompa che ho usato io è questa http://www.aquariumline.com/catalog/tunze-5000020-ricambio-pompa-osmolator-3155-p-6915.html

metheny10
30-11-2017, 16:25
Ottimo grazie.... mi state facendo venire voglia ;)

willy
01-12-2017, 15:46
Inox non va bene, due galleggianti da 5 euro un rele’ un alimentatore a 12 volt una pompetta ed e’ fatto, non e’ un po troppo tirare fuori arduino per una cosa di una semplicita’ disarmante?

billykid591
01-12-2017, 20:48
Inox non va bene, due galleggianti da 5 euro un rele’ un alimentatore a 12 volt una pompetta ed e’ fatto, non e’ un po troppo tirare fuori arduino per una cosa di una semplicita’ disarmante?

Diciamo che in effetti potrebbe sembrare esagerato ma se lo usi con granus salis prevedendo, nel programma, eventuali (difficili ma possibili) blocchi dei galleggianti e altrettanti possibili attacchi/stacchi degli stessi quando sono a livello....... E' ok ugualmente.....senza togliere nulla a quello che hai fatto tu che sicuramente nella sua semplicita' funziona egregiamente.

willy
01-12-2017, 23:26
Innanzi tutto non volevo fare paragoni, e’ che lo vedo tutti i giorni in azienda, tutto programmato via software con millemila schede, perche’ non deve mai succedre nulla, tutto questo applicato anche alle cose piu’ banali, i galleggianti, tanto per restare in tema, dei bacini delle torri di raffreddamento, prima con il vecchio galleggiante a palla mai un problema, da quando hanno deciso di affidarsi a PLC ogni settimana c’e’ una rogna e parlo di Siemens, e’ il mio pensiero, ben vengano i controlli gli automatismi su cose di una certa importanza e di difficile gestione, ma portare queste cose su un semplice galleggiante, dove con un paio di rele’ fai tutte le sicurezze che vuoi, mi pare davvero complicarsi la vita, le rogne non sono mai sulla parte meccanica ma sempre sulla parte elettronica, almeno questa e’ la mia misera esperienza

Diciamo che in effetti potrebbe sembrare esagerato ma se lo usi con granus salis prevedendo, nel programma, eventuali (difficili ma possibili) blocchi dei galleggianti e altrettanti possibili attacchi/stacchi degli stessi quando sono a livello....... E' ok ugualmente.....senza togliere nulla a quello che hai fatto tu che sicuramente nella sua semplicita' funziona egregiamente.

billykid591
02-12-2017, 09:08
Innanzi tutto non volevo fare paragoni, e’ che lo vedo tutti i giorni in azienda, tutto programmato via software con millemila schede, perche’ non deve mai succedre nulla, tutto questo applicato anche alle cose piu’ banali, i galleggianti, tanto per restare in tema, dei bacini delle torri di raffreddamento, prima con il vecchio galleggiante a palla mai un problema, da quando hanno deciso di affidarsi a PLC ogni settimana c’e’ una rogna e parlo di Siemens, e’ il mio pensiero, ben vengano i controlli gli automatismi su cose di una certa importanza e di difficile gestione, ma portare queste cose su un semplice galleggiante, dove con un paio di rele’ fai tutte le sicurezze che vuoi, mi pare davvero complicarsi la vita, le rogne non sono mai sulla parte meccanica ma sempre sulla parte elettronica, almeno questa e’ la mia misera esperienza

Infatti willy quello che intendevo era che un circuito semplice come il tuo sicuramente avrà meno problemi di affidabilità rispetto a un circuito programmato.... unica cosa per la sua costruzione intrinseca non potrà prevenire eventuali "inceppamenti" dei galleggianti né la possibilità di attacchi/stacchi del relè quando il/ i galleggianti sono al limite dell' on/off..... rimanendo nel discorso di elettronica digitale programmata (PLC o schede tipo arduino o più complesse che siano) i problemi quasi sempre (e ripeto il quasi) dipendono da bug nella programmazione stessa....al tempo dell'elettronica cosiddetta "discreta" questi problemi non c'erano (c'erano problemi di affidabilità e qualità della componentistica questo si), ovviamente i circuiti nascevano per fare una sola cosa e le modifiche erano impossibili o quasi senza rifare il tutto......i costi di progettazione e realizzazione erano però più alti. Comunque per la cronaca io gestisco la vasca con un PLC della Siemens, comando le luci su due canali, skimmer temporizzato in caso mancanza luce, feed time per le pompe di movimento (sinceramente quasi mai usato), messaggi di avviso cambio acqua e tubi etc. etc..... ultimamente con il cambio vasca ho aggiunto due galleggianti per gestire il riempimento della vaschetta di rabbocco e quella (una tantum) per la preparazione dell'acqua salata (ho attacco e scarico acqua dentro il mobile) e devo dire che questi qualche problema me lo hanno dato e sinceramente ancora non ho capito se sono problemi dovuti ai galleggianti o alla programmazione. Per ultimo ho tenuto il vecchio osmoregolatore ELOS che avevo per mantenere il livello in sump e questo in 10 anni non mi ha dato mai un problema (anche lui ha un piccolo microcontroller della PIC). e ora basta perché sono andato abbastanza OT.

dr.jekyll
02-12-2017, 16:11
Si, un po' ti sbattimento sul codice c'è stato pur essendo molto ma molto banale.

Praticamente ogni tanto i relè partivano da soli per qualche secondo. Allora ho caricato il codice di esempio con lettura analogica del pin e stampa seriale sul monitor del pc ed ho visto che facendo leggere in continuo il segnale una volta ogni tanto dava un 1024 che non doveva esserci. Mettendo un delay(100) tra una lettura e l'altra sono due giorni che mi tiene il livello perfettamente a livello.

Concordo che probabilmente, facendo come ha detto willy tutto avrebbe funzionato da subito senza problemi. Ma c'è anche chi si diverte a ragionarci su e trovare soluzioni, soprattuto se non lo fa tutti i giorni per lavoro.

Inviato dal mio SM-G930F utilizzando Tapatalk

billykid591
02-12-2017, 21:01
Si, un po' ti sbattimento sul codice c'è stato pur essendo molto ma molto banale.

Praticamente ogni tanto i relè partivano da soli per qualche secondo. Allora ho caricato il codice di esempio con lettura analogica del pin e stampa seriale sul monitor del pc ed ho visto che facendo leggere in continuo il segnale una volta ogni tanto dava un 1024 che non doveva esserci. Mettendo un delay(100) tra una lettura e l'altra sono due giorni che mi tiene il livello perfettamente a livello.

Concordo che probabilmente, facendo come ha detto willy tutto avrebbe funzionato da subito senza problemi. Ma c'è anche chi si diverte a ragionarci su e trovare soluzioni, soprattuto se non lo fa tutti i giorni per lavoro.

Inviato dal mio SM-G930F utilizzando Tapatalk

Scusa ma perche' usi gli ingressi analogici? Non hai dei normali galleggianti on/off?

Niko
03-12-2017, 20:08
Per la compatibilità non so che dirti. Il mio ha funzionato, ne ho diversi. Da quelli di due euro all'orginale da 25. Attualmente sto usando l'originale ma solo perchè è quello che uso per i prototipi, sul controller definitivo, se mai riuscirò a finirlo emoticon-cartoon-013 userò un mega della sainsmart che con diverse prove ha sempre funzionato.

Solo per l'osmoregolatore, si può usare uno schema del genere. Con il segnale dell'interrutore che viene letto in analogico. In digitale avevo qualche problemino, soprattuto quando la mp10 aumentava la velocità facendo vibrare il galleggiante(non ho sump).

https://ibb.co/nvmdCw

Come componenti ho usato.

Arduino uno

Alimentatore 12 v per pompa (si recupara facilmente) ottimi quelli dei decoder sky

interrutore galleggiante

resistenza da 10 k

scheda da 4 relè 5V (avevo quella), meglio da due o come dice billy basta anche un solo relè. ( https://www.ebay.it/itm/Rele-Relay-Relais-Modulo-5V-DC-2-CH-Canali-Optocoupler-PIC-AVR-DSP-per-Arduino/152542573419?hash=item23843ef36b:g:uzYAAOSwxixaEwZ- )

cavetti di collegamento vari

La pompa che ho usato io è questa http://www.aquariumline.com/catalog/tunze-5000020-ricambio-pompa-osmolator-3155-p-6915.html

Il collegamento dei galleggianti puó essere semplificato utilizzando la modalità pullup:

https://www.arduino.cc/en/Tutorial/InputPullupSerial

dr.jekyll
04-12-2017, 16:25
Il collegamento dei galleggianti puó essere semplificato utilizzando la modalità pullup:

https://www.arduino.cc/en/Tutorial/InputPullupSerialAppena ho tempo leggo con calma. Grazie per la dritta.
Scusa ma perche' usi gli ingressi analogici? Non hai dei normali galleggianti on/off?Con il segnale letto in digitale, ogni tanto, raggiunto il livello il galleggiante dava on/off in continuo. Ho deciso di provare con la lettura analogica ed ho risolto il problema.

Inviato dal mio SM-G930F utilizzando Tapatalk

billykid591
04-12-2017, 17:34
Appena ho tempo leggo con calma. Grazie per la dritta.Con il segnale letto in digitale, ogni tanto, raggiunto il livello il galleggiante dava on/off in continuo. Ho deciso di provare con la lettura analogica ed ho risolto il problema.

Inviato dal mio SM-G930F utilizzando Tapatalk

E' uno spreco di risorse usare ingressi analogici per testare un interuttore on/off oltre a darti possibili errori (che mi sembra ti sia accaduto) bastava inserire nel codice un ritardo nello spegnimento della pompa in modo che il livello dell'acqua si alzi un po di piu e porti il galleggiante in zona "sicurezza" e non in "bilancia" tra on e off.....comunque se ti funziona lo stesso meglio cosi'..... Un altra cosa la funzione delay() e' comoda ma attenti che di fatto blocca il programma fino a che non passa il tempo impostato (che deve essere il piu basso possibile) in programmi semplici tipo questo di un osmoregolatore puo' andare bene, in programmi che devono monitorare piu ingressi e pilotare piu uscite meglio usare altri metodi tipo millis() o se serve un Rtc esterno.

Niko
04-12-2017, 22:03
Potresti attivare la pompa solo se lo stato di basso livello permane ad esempio per piú di un minuto.
Il codice potrebbe essere semplicemente:


If (isLevelNormal()) lastLevelNormalTime=mills();
pompaOn = mills() - lastLevelNormal>60000;

Che tradotto, fin quando il livello è normale il temporizzatore viene sempre resettato. Quando il livello scende tale per cui il temporizzatore non viene resettato per piú di un minuto viene attivata la pompa.
Al successivo reset la pompa si stacca e ricomincia il giro.

dr.jekyll
04-12-2017, 22:35
Potresti attivare la pompa solo se lo stato di basso livello permane ad esempio per piú di un minuto.
Il codice potrebbe essere semplicemente:


If (isLevelNormal()) lastLevelNormalTime=mills();
pompaOn = mills() - lastLevelNormal>60000;

Che tradotto, fin quando il livello è normale il temporizzatore viene sempre resettato. Quando il livello scende tale per cui il temporizzatore non viene resettato per piú di un minuto viene attivata la pompa.
Al successivo reset la pompa si stacca e ricomincia il giro.

Grazie del consiglio, penso che aggiungerò un while dentro quello di accensione in maniera da verificare se l'interruttore da segnale positivo per più di un tempo x e comportarsi di conseguenza :)

E magari porto tutto in digitale come diceva billy



int led = 13; //PIN
int gnd = 8;
int vvc = 9;
int sw1 = 2;


int sicura =0; // Variabili programma
int indice1 =0;
long tempo_sicura = 15000;
long conta = 0;
long times = 0;




void setup() {

pinMode(gnd, OUTPUT);
pinMode(vvc, OUTPUT);
pinMode(sw1, INPUT);
pinMode(led, OUTPUT);




}

void loop() {



delay(100);

while(analogRead(sw1) > 400 == HIGH && sicura ==0){
digitalWrite(gnd, LOW);
digitalWrite(vvc, LOW);
delay(100);


times = millis();

if(indice1 == 0){
conta = millis();
indice1 = 1;


} //If indice



if((conta + tempo_sicura ) < (times)){
sicura = 1;

} //If sicura


}//while acceso


while(analogRead(sw1) < 400){
digitalWrite(gnd, HIGH);
digitalWrite(vvc, HIGH);
delay(100);
indice1 = 0;
}

while(sicura == 1){
digitalWrite(gnd, HIGH);
digitalWrite(vvc, HIGH);
digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
delay(1000);

}

}

elchar82
04-12-2017, 22:45
Io nel mio progetto ho utilizzato sensori ad ultrasuoni e per evitare l'on-off continuo, invece della variabile di tempo, ho aggiunto una sorta di tolleranza sulla misura, in pratica assunto X come il livello da mantenere e ∆ la tolleranza, il funzionamento sarà che quando il livello scende sotto a X-∆ si attiva il rabbocco il quale si ferma a X+∆...ovviamente ∆ va scelto piccolo ma non troppo

Inviato dal mio VIE-L09 utilizzando Tapatalk

dr.jekyll
07-12-2017, 15:34
Io nel mio progetto ho utilizzato sensori ad ultrasuoni e per evitare l'on-off continuo, invece della variabile di tempo, ho aggiunto una sorta di tolleranza sulla misura, in pratica assunto X come il livello da mantenere e ∆ la tolleranza, il funzionamento sarà che quando il livello scende sotto a X-∆ si attiva il rabbocco il quale si ferma a X+∆...ovviamente ∆ va scelto piccolo ma non troppo

Inviato dal mio VIE-L09 utilizzando Tapatalk

Interessante, misurando il delta potresti anche ricavarti il volume d'acqua evaporato giornalmente e con una media fare una stima della durata della tanica di rabocco. Io per ora mi sono fermato un po', posso dire di non aver cambiato nulla e per ora tutto funziona egregiamente tenendo il livello d'acqua perfettamente a livello durate tutto l'arco della giornata. Avendo un nano reef di meglio non potrei desiderare :)

unica modifica sostanziale che farei è la sostituzione della pompa, ne metterei una dosometrica. Essendo molto sensibile anche al minimo sbalzo la vedo più adattata e resistente ai continui on/off

Ora sto cominciando a giocare con le dosometriche, per somministrazioni varie ed eventuali, pensavo di pilotarle con una L293D Drive Motor Shield. Come la vedete?