Voglio condividere il mio homebrew ramoscelloche mi sta servendo da oltre un anno.
Iniziare a padroneggiare Arduino, Ho pensato a quale tipo di progetto implementare. Mi sono ricordato che ho molte piante da interno che periodicamente dimenticano di annaffiare, e il problema dell'irrigazione durante le vacanze e i viaggi d'affari ha un posto dove stare.
Il sistema è costituito dai seguenti componenti:
L'unità di controllo è il cuore del sistema. Ecco le batterie, Arduino, modulo orario DS3231, display, convertitori di tensione e controlli.
Vicino alle piante è un contenitore di acqua. Ci sono pompe sommerse nel contenitore che pompano l'acqua attraverso i tubi negli impianti.
La distribuzione dell'acqua tra le piante può essere ulteriormente regolata utilizzando un pettine con rubinetti.
Tutti gli elementi tecnici del sistema possono essere nascosti dietro tende e pentole in modo che non siano molto evidenti
Panoramica del sistema:
Parametri chiave del sistema:
1. Durata della batteria di circa 5 mesi
2. Il sistema supporta il controllo di 3 pompe. Per ogni pompa, è possibile collegare un pettine con 2-4 rubinetti e controllare ulteriormente il flusso di acqua. In totale abbiamo l'opportunità di collegare fino a 12 impianti
3. Il tempo è preso da un modulo orologio indipendente separato DS3231. La pompa viene attivata quando l'ora specificata nell'impostazione (ad esempio, 8:00).
4. Il display mostra informazioni
5. Le impostazioni di irrigazione sono indicate nel codice del programma, possono essere modificate mediante il riflashing di Arduino
Spiegazione delle informazioni visualizzate sul display:
La prima riga è l'intestazione della tabella. Ogni riga mostra informazioni sulla rispettiva pompa. La prima colonna: mostra il periodo di lavoro (PR). Ad esempio, con un valore di "5" - la pompa funzionerà ogni 5 giorni. La seconda colonna è l'ora di funzionamento (PD) - l'ora all'inizio della quale si accenderà la pompa. La terza colonna è il tempo di funzionamento (BP) - il tempo di funzionamento della pompa in secondi. La quarta colonna - giorni rimanenti (PRIMA) - mostra quanti giorni sono rimasti fino all'operazione successiva. Vengono inoltre visualizzate la data e l'ora.
Il sistema non ha feedback, quindi le impostazioni devono essere selezionate empiricamente. È meglio raggruppare le piante vicine in termini di fabbisogno di annaffiature (alcune tollerano bene la siccità, mentre altre amano l'irrigazione abbondante) e le dimensioni dei vasi.
Le impostazioni sono approssimativamente le seguenti: ogni 5 giorni accendere la pompa alle 8:00 per 30 secondi.
Di seguito, verrà indicato in quale parte del codice si trovano queste impostazioni.
Nel codice del programma, è possibile disabilitare la seconda e la terza pompa. In questo caso, le informazioni verranno visualizzate solo sulle pompe incluse.
L'autonomia è garantita da:
• Alimentato da batterie 18650
• Arduino e si addormenta profondamente (Powerdown) e si sveglia da Watсhdog
• Bit stabilizzatore di tensione Arduino sulla gamba sinistra
• Il display è spento durante il funzionamento. Per attivare il display, è necessario tenere premuto il pulsante di sospensione per circa 10 secondi.
• Tutti i LED indicatori vengono rimossi dai moduli
Il sistema consuma circa 3 mA, 1 pompa consuma circa 350 mA in funzione.
Dettagli principali:
• Contenitore per alimenti per abitazioni
• Clone cinese Arduino nano
• Modulo in tempo reale DS3231
• 18650 batterie
• Potenzia il modulo fino a 5 V (corrente circa 1 A)
• Abbassamento del modulo fino a 3,3 V per alimentare il display
• Display Nokia 5110
• Modulo TP4056 per caricare (+ protezione) la batteria
• Indicatore di carica della batteria
• Vari "effetto crespo": transistor ad effetto di campo, resistori, condensatori (elettrolitici e ceramici)
• Interruttori e pulsanti
Montaggio "schema" del dispositivo:
Spiegazioni secondo lo schema:
1. 4 batterie 18650 sono collegate in parallelo. La capacità totale è di circa 13000 mA / h.
2. La batteria è collegata al modulo di protezione e protezione TP4056. La ricarica avviene tramite il connettore micro USB dalla ricarica del telefono. La ricarica è necessaria con una corrente di almeno 1A. Il tempo stimato per la ricarica completa è di 13-14 ore. I LED indicatori possono essere spenti e visualizzati sullo chassis.
3. Successivamente, un convertitore boost fino a 5 V è collegato tramite l'interruttore. Alimenterà la maggior parte dei componenti del circuito, comprese le pompe. Con una diminuzione del livello di carica della batteria, la tensione diminuirà da 4,2 V a 2,7 V, il che non è sufficiente per il funzionamento del circuito. Il modulo fornirà una tensione stabile. Un filtro fatto di condensatori elettrolitici e ceramici è posto all'uscita del modulo. Il condensatore elettrolitico svolge un ruolo levigante e stabilizzante. Il condensatore ceramico è usato per combattere le interferenze ad alta frequenza. Se il modulo "emette un segnale acustico" dell'induttore durante il funzionamento, per eliminare questo fenomeno, è possibile posizionare un ulteriore condensatore elettrolitico all'ingresso del modulo. Condensatori elettrolitici con una capacità di 1000 microfarad a 6,3 V. I condensatori ceramici sono adatti da 1-2 microfarad. Il circuito utilizzato a 10 uF, perché avevo un sacco di extra.
4. Per alimentare il display, è necessaria una tensione di 3,3 V, quindi viene aggiunto un convertitore buck con filtri simili dai condensatori.
5. Modulo orologio DS3231, necessario per un timing più preciso. Il LED di alimentazione (1) è saldato sul modulo DS3231. Questo viene fatto a fini di risparmio energetico. Se si utilizzano batterie normali (non ricaricabili), è necessario dissaldare il resistore (2). Il modulo è progettato per batterie ricaricabili, inclusa la ricarica. Se la batteria è normale, la corrente di carica la renderà rapidamente inutilizzabile.
6. Il cervello principale del sistema è la piattaforma nano di Arduino. Ai fini del risparmio energetico, è necessario dissaldare tutti i LED (o almeno solo Power), oltre a mordere la gamba sinistra del regolatore di tensione.
7. La pompa è controllata tramite transistor ad effetto di campo. Tutti quelli che si aprono con una tensione di 5 V e sono in grado di commutare corrente da 1A. All'inizio ho usato quelli già pronti. Ho saldato una batteria di transistor ad effetto di campo + resistori (100 Ohm per proteggere l'Arduino, 10k Ohm per tirare l'otturatore del transistor a terra in modo che il mosfet si chiuda) + ho anche saldato i connettori KF 301-2P per fissare i fili
Successivamente ha realizzato una batteria più compatta su mosfet SMD AO3400
Da qualche parte in mezzo anno 2 transistor ad effetto di campo sono falliti. Il motivo era che, in modalità di frenata, il motore del collettore funziona come un generatore. Per proteggere il transistor ad effetto di campo, è necessario utilizzare un diodo protettivo. Ho usato 1N4007.
8. Il display mostra tutte le informazioni. Per riattivare il display, è necessario tenere premuto il pulsante per un massimo di 10 secondi. Se si modifica il minuto in ore, il sistema andrà in sospensione e il display si spegnerà.
Processo di costruzione:
Primi test su una breadboard e scrittura del firmware
Successivamente, tutto è collegato con un'installazione a cerniera
Raccolto il corpo e testato con pompe reali
Ho praticato dei buchi nella custodia, ho dipinto tutto con un primer nero opaco e ho fissato i componenti sull'adesivo hot-melt
Punti di assemblaggio aggiuntivi:
• Un contenitore di acqua deve essere sempre posizionato sotto le pentole, altrimenti esiste il rischio che l'acqua continui a versare dopo lo spegnimento delle pompe.
• La distanza dal fondo del contenitore all'estremità del tubo non deve superare i 70 cm. Sarà più difficile per la pompa sollevare l'acqua a un'altezza maggiore.
• Su una mini pompa con Ali, i tubi trasparenti 6x1,5 mm sono fantastici
• È importante che l'apertura della pompa di aspirazione dell'acqua non poggi contro la parete del serbatoio dell'acqua, altrimenti non vi sarà alcuna pressione normale.
• Non utilizzare parti in ferro (fascette, filo, ecc.) Per fissare il tubo alla pompa, tutto si arrugginisce molto rapidamente.
• La pompa ha fili corti. Molto probabilmente dovranno essere aumentati. Per sigillare i fili è meglio usare l'adesivo hot melt e sulla parte superiore termorestringente.
La logica del programma:
• Arduino si alza dal sonno
• Le letture del modulo DS3231 (data e ora) sono assegnate alle variabili
• Quando la data cambia, cambia il valore del contatore dei giorni precedenti
• Se il periodo di lavoro (impostazione) coincide con il numero di giorni trascorsi, l'ora viene controllata
• Se l'ora (impostazione) e l'ora del modulo orario coincidono, accendere la pompa per l'ora specificata nelle impostazioni
• Arduino va a dormire
• Se si tiene premuto il pulsante di sospensione, l'alimentazione viene fornita al display e Arduino si riattiva
Le impostazioni di irrigazione sono indicate qui in questa parte del codice:
Applico uno schizzo e librerie
In generale, sono soddisfatto del sistema. Ha regolarmente annaffiato le mie piante sul davanzale della finestra per circa un anno. Ora ho spostato il sistema in un'altra stanza, e nel mio ho messo insieme uno nuovo, più conveniente e interessante, ma questa è un'altra storia ...