Go Down

Topic: Progetto Acquario 180 lt Tropicale Dolce con Arduino (Read 4419 times) previous topic - next topic

qsecofr

prendi i 5 volt o quello che hai dall'alimentatore e su quelli ci attacchi l'arduino (Vin e ground)...

attento che dal sito che hai linkato c'è in offerta un modulo a 4 relay ma con fotoaccoppiatore: io ci farei un pensiero perchè questi con 8 ho l'impressione che sei al limite dei consumi sulla porta....per verificarlo potresi leggere gli ohm della bobina e vedere quanti ampere mangiano.

superzaffo

Ciao... Entro anche io nel topic nella speranza di darti una mano con la mia esperienza..
Io ho finito da qualche mese un mio progetto prototipo di un orchidario... (praticamente un acquario senza acqua con dentro le orchidee su zattere di sughero a radice nuda) io come te dovevo avere molti sensori da controllare e gestire sistemi per il controllo interno dell'habitat.
Sono partito,inanzi tutto, con la progettazione di un pcb esterno per l' alimentazione, per creazione dei bus I2c e ISP, per i driver di gestione delle ventole e di altri sistemi che poi ti elenco.
2 sensori luxomertri i2c (misurano la luce interna in alto e in basso della teca)
2 Sensori DH22 per la temperatura e umidità. (a te sicuramente non servono)
1 Sensore DS18B20 waterproof per il controllo della temperatura dell' acqua del raffreddatore. (Questo forse è quello che ti serve se devi misurare la temperatura dell'acqua, io uso un raffredatore per aquari per abbassare la temp interna)
1 Sensore per la qualità dell' aria.
..ecc.. Non vado oltre per il momento perchè non è il topic sul mio progetto, ma se sei interessato ti dirò il resto
I primi consigli che mi sento di darti sono..
1 Fatti un pcb per la gestione dell' alimentazione dei  tuoi dispositivi (scheda relè, sensori, ecc..) io per questo uso un alimentatore di un pc e nella pcb porto le alimentazioni stabili di 5v e 3.3v.
2 Se puoi, non usare il ds1307, com RTC, ma dei DS3231SN che sono molto più precisi. Sono in SMD ma eventualmente trovi su adafruit delle schedine apposite.
3 Come ti hanno già suggerito, non usare i delay (o almeno il meno possibile) perchè appunto mentre c'è un delay non hai il controllo.. (io faccio un intero ciclo in un secondo).
4 Io uso un arduino mega perchè i pin mi stavano stretti, quindi se vuoi utilizzare un arduino Uno cerca di usare il più possibile i bus i2c e ISP.
5 Nella progettazione hardware, fai molta attenzione alle interferenze dei relè e di altri sistemi sui sensori e display.

ecco.. magari mentre tu procederai con il progetto ti indicherò dove ho trovato le difficoltà così magari da aiutarti...

alla prossima  ;)


la strutturazione del programma è la parte più delicata del software: se imposti male all'inizio sputi sangue fino alla fine. Il delay non s'ha da usare in questi casi perchè un delay per esempio per aspettare la prontezza di un dato di temperatura interrompe tutte le altre operazioni: fintanto che il delay è limitato ad un sensore di temperatura (come era nel thread di danielicuius) il male è minore e si vede solo un mancato aggiornamento dei secondi... diventa decisamente pesante se il delay lo usi per fare l'alba ed il tramonto perchè rischio durante questo periodo di non poter fare nulla ne vedere nulla.

Vedo che siete in tanti a voler fare questo acquario. Ho aiutato danielicious a muovere i primi passi con il suo progetto (senza peraltro sapere all'inizio cosa doveva fare) e penso che tutto sommato sia un progetto abbastanza alla portata e fattibile da un programmatore senza tanto sforzo: mi piacerebbe potervi aiutare perchè il progetto mi appassiona (e chissa mai che un giorno non mi prenda anch'io una vasca) però purtroppo non ho l'hardware necessario per testare le vs situazioni. Devo però dire che ogni uno di voi avrà configurazioni hardware diverse quindi avrete anche programmi diversi per forza di cose.

Il consiglio che vi do è di impostare il programma a blocchi e di concentrarvi inizialmente sulla gestione del display e del menu (a tal fine c'è appunto la famosa libreria di bruinialti menwiz)... quando avete fatto quella il resto è una passeggiata (...il programma di danielicious in pratica già ha orologio e basi di schedulazione dei tramonti...però sarà da accantonare fintanto che non si pensa ad uno schema di menu.

Ciao sono Daniele, ringraziano ancora qsecofr per il suo aiuto, e lo quoto in tutto, in particolare sul fatto che ognuno di noi preferisce gestire la vasca a suo piacere, ma tutti noi abbiamo un uso del progetto comune, ossia: ora/data, temperatura, accensione lampade possibilmente tutto gestito tramite MENU.
Ora tutti noi abbiamo in parte pezzi di codice che "più o meno" funzionano secondo le nostre necessità.
Concludo dicendo che dobbiamo lavorare sulla creazione di un menu funzionante, utilizzando la libreria consigliata più su.
Grazie
Daniele

Hoop

Grazie dei consigli, bello il progetto per l'orchidario.
in realtà però la gestione della temperatura e della luce è molto più semplice in acquario, e con meno sensori.
LA tolleranza per ambedue è maggiore.
Poi bisogna dire che alcune cose le ho già.
LM35 è bello e pronto
e il banco rele già acquistato.
Sul pilotaggio del banco rele vedo scritto solo
SRD-05VDC-SL-C della SONGLE

Visto che già è lì vorrei usarlo, magari poi sostituirlo una volta terminato il progetto, ma ancora tante cose mi mancano.

Parlando dell'alimentazione, parli di costruire un PCB per alimentare il tutto.
La domanda è a che tensione alimento il tutto a 5 V? e con che portata in Ampere?
E poi soprattutto io non ci capisco abbastanza da costruirne uno da solo.
Almeno un circuito di partenza mi serve.
Per l'orologio non ho capito bene, SMD che significa?
La mia idea era di utilizzare uno shield. I2C ?
Va bene, purchè non interferisca con lo shield che volevo mettere sopra (LCD).
Ancora mi rimane da prendere per farlo funzionare la parte più costosa che è la sonda Ph e il circuito di controllo.
In pratica sto cercando di andare avanti per gradi, ma non avendo un sistema già pronto provo i pezzi separatamente.
Lcd testato e usato, Sonda LM35 testata, adesso volevo capire come gestire le 8 uscite che devo impiegare per pilotare i rele.

Grazie
Ciao

superzaffo

ok allora procediamo con ordine...
@danidiscus. hai ragione ma secondo me prima di tutto bisogna un attimo capire esattamente quello che vuole fare con il menù e quindi io direi di fare dei punti su cosa il menù dovrà fare e forse ancora prima di questo lui avrà bisogno di una base hardware testata prima di iniziare a fare il codice, per non trovarci ad un certo punto davanti ad un muro..

Quindi se siete d'accordo farei anche una lista di punti su quello che il nostro arduino dovrà monitorare e controllare/azionare, una lista di punti su cosa il menù dovrà visualizzare e fare.
@hoop: Non ci sono problemi per i relè.. però sarebbe interessante se tu postassi una foto della scheda.
Per l' alimentazione vanno bene anche i soli 5V, tramite un circuito fatto appositamente o al limite prendendo un alimentatore dei pc che ti danno i 12v i 5v e anche i 3,3v.. io preferisco il circuito fatto appositamente.. Per gli ampere dipende da quello che vogliamo alimentare... il mio ha un massimo di 1,5A e alimenta un sacco di roba... per gli schemi ti posso dare anche i miei.. ma prima di tutto io disegnerei su "carta" il progetto... Come ho scritto prima.. "Cosa voglio monitorare e cosa voglio far controllare... Luci, pompa, luce attinica, erogatori d'ossigeno, ecc.." poi andremo a costruire il tuo sistema hardware e software.
Per l' orologio, ti consigliamo quello in in SMD (SMD è il tipo di costruzione del componente, sono quelli più piccoli saldati sulla superficie del PCB e non quelli saldati dentro i fori) perchè è molto più preciso.. Il DS1307 lo avevo provato anche io ma mi sballava qualche secondo ogni 10 gg.. perchè è molto influenzato dalla temperatura esterna... Il DS3231SN è anche acquistabile già montato su pcb che si collegano semplicemente ad arduino, come il DS1307.
Quote

Va bene, purchè non interferisca con lo shield che volevo mettere sopra (LCD).

Se ho capito bene il tuo LCD è montato su uno shield ? Posta la foto...
LM35DZ è abbastanza impreciso e risente parecchio delle interferenze esterne... Ma che temperatura devi misurare ? L' acqua immagino... e quindi presumo che lo dovrai immergere.. O sbaglio ?
Certo andiamo avanti a gradi e con ordine.. quindi intanto posta foto schemi e tutto quanto su cui possiamo basarci per iniziare...


Hoop

Ecco quello che intendo fare:

"La mia idea è di progettare un controllore che gestisca gli otto rele per controllare:
3 punti luce temporizzati
2 riscaldatori
1 pompa
1 elettrovalvola per CO2
1 alimentatore cibo

La parte luci aldilà della costruzione del controllo e della piastra relè mi sembra la cosa più facile da gestire, una volta inserito l'orologio e programmato accensione e spegnimento delle 3 luci, mi sembra complicata la gestione della programmazione tramite tastierino.

L'idea mia è di gestire il tutto con 2/3 menu
Set Clock
View Menu
Set menu

dove nella sezione del Set menu si immettono i valori di tempi accensione /spegnimento, temperatura minima, ph.

Il resto è una gestione a ciclo giornaliero del'Arduino."

Le immagini delle schede che posseggo sono le seguenti.




I rele li ho già specificati nel post precedente.
Devo capire con cosa alimentare il sistema e quanta potenza serve.
Poi se devo aggiungere altri componenti vedrò di acquistarli al momento lavoro con quanto è già disponibile.
Puoi citare una fonte per acquistare l'orologio che hai specificato?
Almeno vedo come si connette alla Arduino.

Grazie

Hoop

Ah nella mia scheda LCD non ci sono i connettori che fuoriescono al di sopra dello spessore del lcd, sono tutti da mettere nel caso servano.
Ho verificato comunque che i pin liberi siano gli stessi e sono:
7 digitali liberi
da A1 a A5 liberi, l'unico Pin A0 gestisce con vari livelli di tensione i 5 pulsanti.

superzaffo

Scusami.. puoi eventualmente mettere i link di dove li hai comprati ? perchè non si vedono bene... e servirebbero delle specifiche ulteriori...
Comunque mi sembra che la scheda relè sarà da alimentare esternamente e non da arduino.. anche perchè 8 relè accesi contemporaneamente sono un po' troppo per l' arduino...

Hoop

Li ho comprati in fiera.... :~
E quindi niente info specifiche, ma sono quelli.
Su DFROBOT lo shield LCD 1602 è uguale e ha lo sketch che funziona con il mio circuito.
Per quanto riguarda il rele le info più accurate le ho trovate su datasheet dei rele stessi che sono
SONGLE RELAY SRD 05VDC SL C
e se interpreto bene i data sheet si prendono circa 70 mA quando la bobina è eccitata.
Quindi tutti accesi si mangiano circa mezzo ampere se i conti sono giusti.

qsecofr


Scusami.. puoi eventualmente mettere i link di dove li hai comprati ? perchè non si vedono bene... e servirebbero delle specifiche ulteriori...
Comunque mi sembra che la scheda relè sarà da alimentare esternamente e non da arduino.. anche perchè 8 relè accesi contemporaneamente sono un po' troppo per l' arduino...



hoop ha postato di la la scheda relay che ha usato: il sito che la pubblica non evidenzia tante cose ma si intravvede un piccolo componente smd vicono alla bobina del relay...sembra avere 3 piedini quindi imho questa scheda amplifica il segnale di arduino con dei transistor smd per eccitare le bobine.... e chiaramente deve avere una sorgente di corrente esterna...
Nello stesso sito c'è anche in offerta una scheda a 4 relay con fotoaccoppiatore (al posto del transistor)

imho comunque  se volete fare albe e tramonti dovrete procurarvi mosfet con o senza fotoaccoppiatore. Capita la logica del mosfet il passo al fotoaccoppiatore ed il triac o ancora il mosfet di potenza è molto breve....in pratica quando vai a crearti i tuoi relay statici poi non ne fai più a meno ed il relay non ti passa manco più per la testa.

superzaffo

Aspetta qsecofr.. come avrai letto nel mio topic del triac e optotriac non è così banale la cosa... Se vogliamo magari gestire dei neon o delle lampade a basso consumo, ci potrebbero essere problemi...

Hoop: scusami non avevo visto il link ... allora quella scheda relè va alimentata a 5 volt ed è simile a quella che uso io.. anche se io preferisco quelle con gli optoisolatori....
Quini bisogna pensare inanzi tutto di alimentarla non da arduino ma esternamente... con GND comune con l' arduino... Quindi bisogna che ti procuri o che tu ti faccia un alimentatore esterno 5v stabilizzati... allo stesso modo potrai alimentare anche il display.


qsecofr


Aspetta qsecofr.. come avrai letto nel mio topic del triac e optotriac non è così banale la cosa... Se vogliamo magari gestire dei neon o delle lampade a basso consumo, ci potrebbero essere problemi...




vedrai che si risolve... io toglierei quella resistenza tra gate e A1... con la 220 ho meno esperienza ma l'ho fatto qualche volta e... funzia

Hoop

Il controllo di rampa non è nelle mie esigenze, basta ed avanza il fatto di avere 3 circuiti separati per accendere e spegnere.
In ogni caso avevo pensato che volendo si potevano mettere dei controlli sugli alimentatori dei led in PWM credo che si dica così...
In pratica se ho capito bene l'alimentatore genera una corrente crescente pilotato da una uscita dell'arduino che fa una rampa graduale.
sia in salita che in discesa.

Per quanto riguarda l'alimentatore allora, cosa posso usare?
Esiste qualche progetto che possa andare e soprattutto quanto deve erogare?

qsecofr


Il controllo di rampa non è nelle mie esigenze, basta ed avanza il fatto di avere 3 circuiti separati per accendere e spegnere.
In ogni caso avevo pensato che volendo si potevano mettere dei controlli sugli alimentatori dei led in PWM credo che si dica così...
In pratica se ho capito bene l'alimentatore genera una corrente crescente pilotato da una uscita dell'arduino che fa una rampa graduale.
sia in salita che in discesa.

Per quanto riguarda l'alimentatore allora, cosa posso usare?
Esiste qualche progetto che possa andare e soprattutto quanto deve erogare?


poveri pescetti: non gli dai neanche il tempo di infilarsi il pigiama che già gli spegni la luce... andranno a sbattere contro le rocce?
Si l'alba la fai con un pin pwm (non tutti quelli di arduino sono pwm quindi magari dovendo scegliere i pin escudi quelli pwm che magari ti tornano utili in futuro)... in effetti il segnale pwm è un'onda quadra con frequenza relativamente alta della quale si controlla il cosidetto duty-cycle ossia percentualmente quanto deve rimanere accesa: il risultato è che dispositivi "lenti" o comunque predisposti leggono questo segnale come un voltaggio inferiore ai 5v classici... se invece lo attacchi ad un mosfet di potenza lui ti replica il segnale amplificato quindi in realtà accenderai 700 volte al secondo il led

Hoop

Va be' gli metterò un led blu tipo luce lunare, così sono sereni.
Ninna nanna niente però!

Go Up