Salve a tutti, ho realizzato una piccola serretta di quelle a cassone in policarbonato alveolare a cui ho aggiunto arduino uno per la parte smart.
tale parte smart è composta da un arduino uno, 2 sonde ds18b20 1 dht22 una scheda motore L298N un display lcd 16x2.
il funzionamento è molto semplice rilevo le temperature dei sensori, calcolo il max e se la temperature è compresa nell intervallo AB nessuna azione.
se tempertuare max è inferiore a A fa uno step all'attuatore per chiudere il portellone superiore
se temperatura max è superiore a B fa uno step per aprire il portellone.
chi si occupa dell'apertura e chiusura è un attuatore lineare che in un primo momento ho autocostruito.
purtroppo non avendo strumenti adatti è stato abbastanza difficile autoctruirlo con precisione adeguata e anche se alla fine il suo lavoro lo fà ma c'è ancora del lavoro di affinamento e test da fare nonchè realizzare dei gusci a protezione dalle intemperie etc.
alla fine ne ho preso uno su aliexpress con corsa da 200mm 20mm/s e 500N
il problema è che questo attutatore è sprovvisto di encoder mentre in quello che ho realizzato io i finecorsa li faccio gestire direttaemente da arduino, in questo modo conosco quando la serra è totalmente chiusa o quando completamente aperta.
ho bisogno di sapere lo stato di apertura della serra (in quello autocostruito i finecorsa oltre a fermare il moto mi davano anche la posizione di chiusa o aperta) e per questo ho pensato di spostare gli switch finecorsa dell'attuatore autocostruito e fissarli in qualche modo alla serra.
conoscete un metodo per sapere quando la serra è tutta chiusa o tutta aperta? lo switch inferiore lo posso fissare al telaio e farlo scattare quando il portellone si chiude ma per quello superiore?
questo mi serve fondamentalmente per 3 motivi:
implementare un sistema di allarme tipo serra tutta aperta e temp max superata.
demandare l'apertura o chiusura ai finecorsa interni dell'attuatore non mi sembra una soluzione "elegante" mentre il codice continua a mandare istruzioni apri apri...
mi risparmio modifiche al codice
p.s. al momento questò è l'intoppo per la messa in funzione della serra, appena messa in fuzione in topic continuerà perchè ho altre idee da mettere in atto e per quello ho bisogno del vostro aiuto.
demandare l'apertura o chiusura ai finecorsa interni dell'attuatore non mi sembra una soluzione "elegante" mentre il codice continua a mandare istruzioni apri apri...
La posizione di chiusura ce l'hai ( con il finecorsa che hai montato ) a questo punto se hai attivato il motore per 10 sec. ( 200mm / 20mm/s ) sai pure che sei arrivato in fondo
krypton18:
Hai pensato all'uso di una barriera ottica o di una fotecellula?
no a questo non ci ho pensato
brunello22:
La posizione di chiusura ce l'hai ( con il finecorsa che hai montato ) a questo punto se hai attivato il motore per 10 sec. ( 200mm / 20mm/s ) sai pure che sei arrivato in fondo
a questo ci avevo pensato visto che faccio muovere il motore di 2.5 sec (da tarare successivamente) ho pensato a partire dalla posizione di chiusare di usare un contatore di step... non credo però che gli step siano abbastanza precisi da poter gestire il tutto tramite il contatore e c'è il problema di un eventuale blocco/blackout del sistema.
stefa24:
Posta il link all'attuatore, così diamo una occhiata
qui un video di quello che ho fatto io https://www.youtube.com/watch?v=HU1p0vcE6m0
nel video stavo testando i finecorsa e in pratica i 2 switch che si vedono li voglio spostare sul bordo in legno della serra.
ho avuto una intuizione, in pratica quello inferiore lo fisso al telaietto come avevo detto nel primo post, il secondo (quello superiore) lo fisso sempre al telaietto ma a testa in giù e lo collego al telaio mobile tramite cordicella in modo da farlo scattare ad apertura massima.
potrebbe funzionare?
Io consiglio un potenziometro lineare o un potenziometro a filo che puoi anche autocostruire.
Cosi facendo puoi adattare la corsa ai valori massimi di temperatura con facilità.
stefa24:
Io consiglio un potenziometro lineare o un potenziometro a filo che puoi anche autocostruire.
Cosi facendo puoi adattare la corsa ai valori massimi di temperatura con facilità.
come collego il potenziometro al tetto che si apre? cosa intendi per potenziometro a filo?
per ora sto sperimentando lo switch a filo, domani monto tutto e vediamo come si comporta.
per ora in fase di progetto mi sono limitato a replicare/autamatizzare quello che ho fatto manualmente negli anni scorsi in pratica avevo 3 livelli di apertura del tetto e manualmente regolavo il tutto basandomi sulle previsioni e l'eperienza visto che non potevo passare le giornate a controllare la serra.
il mio sketch è abbastanza rudimentale e come detto nel primo post faccio aprire/chiudere il motore per 2.5 secondi e in questo modo replico i livelli che avevo prima con funzionamento manuale.
con meteo stabile la temperatura si regola da sola, il problema sorge nelle giornate di meteo variabile in cui la piccola inerzia termica della serra si fa sentire e per questo ho impostato un deltaT di 7°C che dovrebbe bastare.
è il caso di aggiungere un controllo watchdog di sicurezza per essere al riparo da eventuali blocchi ?
salve a tutti e grazie per la risposto adesso è tutto molto più chiaro.
per il momento ho messo in atto la soluzione dello switch a filo questo perchè non devo modificare codice e devo mettere in funzione il tutto da subito visto che ho le piantine che scalpitano.
purtoppo il meteo di questi giorni non ho potuto montare il tutto e alla fine sono riuscito a provare solo il nuovo attuatore nel video serra smart test muovo attuatore lineare arduino uno - YouTube si vede l'alloggiamento dove ho piazzato i 2 switch di cui uno a testa in già collegato al profilo superiore tramite un cavetto elettrico, flessibile ma abbastanza rigido da non ingarbugliarsi durante la corsa.
ho dovuto anche adattare il "pistone" dell'attuatore allungandolo con del tubo elettrico in pvc da 20mm che per fortuna calza a pennello.
nel frattempo ho messo nel carrello di aliexpress dei potenziometri lineari perchè penso che lo schema 3 proposto da brunello22 sia quello migliore, metterò un asta di trasmissione sul bordo dx in posizione tale da avere la corrispondenza tra corsa del potenziometro e apertura min/max.
dovrei anche avere dei potenziometri da 10k da qualche parte, e potrei anche usarli con un sistema di leve come si vede in questo video Movimento sensore potenziometrico - YouTube
@stefa24 non sapevo dell'esistenza di tali strumenti (econder a filo) ma per realizzarne uno simile mi viene in mente un encoder rotativo/potenziomentro e un sistema a molla tipo quello di certi mouse mini per portatili.
infine, come aggiungo al mio sketch che termina con un delay di circa 2 minuti un watchdog? con un ciclo for con dentro un delay di 7 sec e azzeramento timer? visto che l'atmega328p supporta la massimo 8 secondi di timer.
...mi viene in mente un encoder rotativo/potenziomentro e un sistema a molla tipo quello di certi mouse mini per portatili.
encoder + molla a spirale + rocchetto su cui si avvolge filo
grazie.... ho capito adesso.
ho ordinato un pò di econder, potenziomentri lineari e rotativi vediamo se riesco a costruire qualcosa.
finalmente ho messo in funzione la serra smart, battesimo con la pioggia e sembra funzionare ancora...
ho messo 3 sensori per la rivelazione delle temperature e in un ambiente cosi piccolo ci sono differenze significative tra i vari punti e anche i vari strati all'interno della serra.
proverò a schermare i sensori dal sole diretto e nel caso lasciare il solo dht22
ora vorrei passare alla parte ioT, un mondo per me nuovo e sto iniziando a documentarmi in merito.
il primo passo è quello costruire un monitor dentro casa, un secondo arduino con display che visualizza i sensori di quello dentro la serra.
ho a disposizione 1 modulo bluetooth hc05, due moduli 433Mhz e due moduli nRF24L01 quale è il metodo più semplice per effettuare il collegamento?