Arduino - Control climat + control pompe Hp .


Messages recommandés

Bonjour à tous,

 

C’est plein de bonne volonté que je souhaiterai me lancer dans l’arduino et demande votre aide dans l’élaboration de mon projet . J’ai vu pas mal de topic et cela me semble ideal pour mon système hp home made ainsi qu’un gestion parfaite des condition de ma box.

  • J’aimerai contrôler avec un relais de 8 les objets suivants :

  1. Lumiere 1 x400W hps
     
  2. Pompe 2 x 230v 48w(Ulka ex5) Pour Aero HP
     
  3. Brassage passif (le plus simple, en 12v ?)
     
  4. brassage soupe
     
  5. Brumi
     
  6. vitesse extra 1 via auto transfo
     
  7. vitesse extra 2
     
  8. vitesse extra 3 (ou bien seulement 2 vitesses et 1 entrée par pompe?)

a-Les relais « PIC » suffissent-ils pour la puissance du matériel énuméré ?

b-Je dispose d’un grand choix d’extra en Winflex, pour du 80x80x180(-50cm

avec instal HP) Que conseillez-vous ? Cette marque est-elle bonne pour

variation d’intensité ?autres ?

  • Ici dessous l’ébauche de liste du Matos complète :

  1. Arduino uno suffira ? Ou mega ?sachant que:
     
  2. Lcd : 4x20 / 2x20 / 2x20+touches intégré / tactiles ?(comme j’aurais besoin d’aide pour la programmation,le plus simple me conviendra. (+ boutons si simple lcd )
     
  3. Relais 8 channel PIC ARM AVR DSP.
     
  4. Horloge ds1302
     
  5. Sonde dht22
     
  6. breadboard.
     
  7. resistance 1koms/ 10koms
     
  8. cable blindé /jumper.
     
  9. 1xalim carte, 1xalim relais.
  10. Quel type d'alim de secours?
     
  11. Boite au dimension approprié avec ventilation(Puis je récupéré du 12v pour brassage passif + ventilation de ma boite de control arduino avec une seule alim)

Pouvez vous m'éclairez sur ses détails .

On le sent bien , je débute mais je suis plutôt habile de mes mains .

Niveau programmation je suppose qu’il serait possible de reprendre la prog de certain

et la modifier (Si là aussi quelqu’un pourrait m’aider )

Je suis en fin de conception et début de réalisation de ma chambre racinaire en bâche

et système HP . J’avance plutôt vite comme j’ai le temps .

Je dis merci d'avance à ceux qui pourront m'aider ,en espérant pouvoir rapidement lancer mon projet .

 

Hymo

Modifié par hymotep
  • Like 3
Lien à poster
Partager sur d’autres sites

MAJ !!

 

Je vais donc simplifier et reprendre simplement le montage /code de Dazzle .

 

Serait t 'il possible de m'indiquer les quelques lignes brute à introduire pour La gestion d'une pompe avec cycle différent pour le jour et la nuit ? Si c'est simple à codé avec affiche sur lcd.

Sinon du basique ,les pro ont surement une bonne idée!?

 

J'aimerai faire du propre ,mais du provisoire pour vite lancer le projet m’ira aussi :)

L'auto transfo est commandé ,pour le reste ce sera demain.

 

Voila , Merci!

Modifié par hymotep
Lien à poster
Partager sur d’autres sites

salut,

Ton projet est ambitieux mais largemet fesable.

 

Je me permet de répondre ici aux questions que tu a soulevé dans mon jdb et en mp, à savoir si mon shéma peut être adapter à ton projet et si il a été mis à jour depuis.

 

Je n'ai pas mis le code à jour depuis un moment, je consome tellement peu que je n'ai rien fait pousser depuis l'été dernier, ça m'a valu un kick du chat^^

 

Comme je l'avais dis à Monesgros, l'ajout en dur dans le code n'est pas compliqué mais le pilotage via menu peut l'être car le code est optimisé pour une culture terre.

 

Si j'ai bien compris, on a le même setup, à la différénce que tu le fais tourner en hps et hydro.

 

Pour l'hydro, j'y connait pas grand chose, j'imagine que tu as besoin de cycles jour/nuit sur lequel tu ajours un cycle on/off en minutes (comme le brassage).

 

Si tu veux lancer la culture vite, je te conseilles la lancer sans arduino, car tu aurras besoin de faire des tests "labo" pour vérifier que ça tourne bien.

A la rigueur, prends toi carrément 2 arduino, un en production avec les éléments qui fonctionnent bien et l'autre sur plaque d'essaie avec des leds au cul de chaque relais.

 

Por le matos, penses à prendre aussi une alim dédiée aux relais.

 

Pour la hps, tu devras utiliser quelquechose de plus costeau que le relais chinois 10a.

Lien à poster
Partager sur d’autres sites

Hello Dazzle!

J'ai ouvert un peu le code hier et avec ce que tu me dis ,je suis encore plus précis pour encore 4 questions :P .

 

 

- L'ajout en brut d'un setup ne s'applique que dans le dernier paragraphe?(comme tu l'avais fait pour l'hygro de moneygros?)

Si oui il me faudrait juste ce code ,comme tu l'a indiqué surement similaire au brassage (je vais aller voir dans le code si je comprend quelque chose tout de suite ),mais avec des temp ON /OFF en seconde.

Je m'explique : l' HP a besoin d'un temps court de ON ,le temps de remplir la chambre racinaire et du OFF ,le temps d'assimilation par les plantes avant un nouveau remplissage.

 

Si c'est simple pourrais tu me faire un code brut en ( JOUR : 10seconde ON,300sec OFF - NUIT : 15 seconde ON , 350sec OFF)

Comme cela je repère les valeurs ,les modifie à souhait et renvois les MAJ sur l'arduino .)

Mon idée est de contrôler à la fois le climat et d'avoir un bon timer pompe pour pas trop cher .

 

 

-A propos de l'HPS , je suis prêt à mettre plus pour le relais mais je ne trouve que des du style "8-Channel 5V Relay Module for Arduino PIC ARM AVR DSP" . Quel type de relais s'agit il? (Pour que je le trouve sur les shop online)

 

 

- Est on obligé de branché une intra? Tout mes appareil serait sur le 230v , donc tiré du 12v juste pour une intra?

Voyez vous une solution viable ,intra sur 230v ou juste petit alim pr un venti 12v d'intra?Je potasse L'indoor depuis 3 semaines et j'ai pas encore trouvé cette réponse.

L'option la plus simple pour moi serait de supprimer les lignes au sujet de l'intra pour recupérer la sortie et de mettre une valve non retour pour intra passive (la box est hermétique)

 

- Alors dernière question , mais essentielle , Niveau disjoncteur : soit un gros ou un pour chaque appareil ? et à quelle étape du schéma électrique faut il le(s) brancher ?

 

Merci!!!!!

Modifié par hymotep
Lien à poster
Partager sur d’autres sites

Salut,

 

-A propos de l'HPS , je suis prêt à mettre plus pour le relais mais je ne trouve que des du style "8-Channel 5V Relay Module for Arduino PIC ARM AVR DSP" . Quel type de relais s'agit il? (Pour que je le trouve sur les shop online)

 

Tu utilises ton relais chinois pour commander un contacteur plus viril, style contacteur de chauffe eau.

 

@++

Lien à poster
Partager sur d’autres sites

yop,

 

l'ajout d'un chauffage c'était simple car on n'utilisait que des données déja en mémoire (la sonde).

Là il faut utiliser le temps, c'est autre chose.

 

Ya plusieures possibilitées, soit tu utilises la pendule, soit les timers.

 

Je me suis servi de la pendule pour le cycle jour/suit du placo et l'affichage de l'heure... et c'est tout^^ pour éviter de la dérègler en la spamant, j'ai espacés les mises à jour de l'heure, elles se font en même temps que l'intérogation de la sonde, dans sonde() , soit 5 secondes.

 

les timers utilisés dans le code utilisent la fonction milis. timebrowe est la variable qui contient le nombre de secondes depuis le boot de l'arduino.

le calcul de deux intervales de temps se fait avec timerdinga().

 

principe de fonctionnement , disons que ON est la durée ou la pompe est allumée et OFF ou elle est éteinte.

 

1 - Début du timer = le temps actuel (timebrowse est sauvegardé dans une variable, par exemple topdepart).

 

2 - timebrowse, qui continu d'avancer, devient donc au cycle suivant superieur à topdépart, mais il reste inférieur à topdépart + ON, la fonction renvoie 1

 

3 - timebroswe finit par devenir plus grand que topdépart + ON mais inférieur à topdepart + ON + OFF, la fonction renvoie 0

 

4 - timebrowse dépasse ou égalise topdépart + ON + OFF => retour au début avec la mise à jour de topdepart.

 

La fonction est bien sûr intérogée à chaque cycle. Elle sert pour l'extra et le brassage. La fonction timerding b fait la même chose mais avec un seul interval de temps, pour déclencher un évenement (genre intérogation de la sonde).

 

Vu que les mêmes fonctions servent à plein de trucs, j'ai rangé les "topdepart" dans le tableau oldtimers[] les durées étant éditable, elles sont piochées dans le tableau modeactu[] qui contient les règlages les modes.

 

ça donne timerdinga(emplacement du topdepart dans le tableau oldtimers, emplacement durée off, emplacement durée on).

 

Le tableau oldtimers est surdimentionné,mais modeactu est galère à modifier car il est directement lié à l'édition des modes via menu.

 

Au final, le mieu c'est faire une copie de timerdinga() qui ne ferait pas appel au tableau des modes. Comme tu as 4 durées (on/off * jour/nuit) tu peux éventuellement les mettre dans un autre tableau.

Le "topdepart" devra également avoir sa variable. Il faut aussi voir si lors d'un passage nuit=>jour ou jour=>nuit, il fait reset le timer ou bien continuer avec les nouvelles données.

 

Voilà pour le code.

 

Sinon, pour la hps, il te faut un contacteur de puissance, c'est comme un super relais, j'en sais pas vraiment plus, mais ça a été donné à plusieurs reprises dans les jdb domotique. Les relays 8 qu'on trouve partout c'est 10 ampère (comptes 5) prends leur une alim 5v dédiée sinon ils vont tirer sur l'arduino.

 

- Pas besoin de brancher d'intra, l'arduino n'en saura rien^^ Je m'en sert juste comme boost pour l'extra et je dois la controler car si l'intra est allumée alors que l'extra est au minimum, j'ai des odeurs qui sortent du placo. C'est un noisebloquer 14mm de pc super silentieux que je n'échangerait pour rien au monde contre un 230v criard^^

 

Le disjoncteur, perso j'ai juste un principal, mais mon placo fait 210W tout compris (bon, ok, sans le déshumidificateur qui est branché ailleur^^). Mais c'est quand même plus sécure.

D'ailleur, un relais 8, ok, mais pas à coté de l'arduino, ça peux interferer, penses aussi que l'auto transfo chauffe et aurra besoin d'air.

Vu que tu va devoir connecter les relais à des prises, autant en profiter pour faire un beau panneau avec des disjoncteurs.

 

++

Lien à poster
Partager sur d’autres sites

Merci à vous deux ,

 

Pour le code j'ai vraiment du mal ,malgré ton explication détaillé mais surement déjà trop complexe pour mon niveau .

En sois mon projet n'est pas monté avant 3 semaines ,donc niveau prog ça laisserait de la marge si qqun qui s'y connait s'y atèle.

Si j'ai bien compris il faut une base de donnée des timing que je veux prendre pour "ON" "OFF" si c'est bien cela c'est vrai que ça n'est pas simple (mais peut faire une liste de qque timing ON-OFF)

Si non est ce possible de recoder facilement à chaque changement voulu mon temps des 2 x 2 cycles .

 

J'essaie de demander l'aide de windaube qui m'a l'air calé la dedans aussi .Si un codeur branché peut m'aider jsuis preneur :D !

Si personne n'a su résoudre mon soucis d'ici le montage de ton projet initial.je prendrai un cebek/crouzet en attendant si ça prend vraiment trop de temps .

Je peux donner de mon temps en montage/rea/JDB mais la le codage c'est du High skill :P .

 

A coté j'ai d'autres projets en cour de réa mais par la suite je prendrai plus de temps pour apprendre profondément le codage , J'ai vu pas mal de config Arduino et y a du potentiel pour s'amuser !

Je vais bien suivre les recommandation de 2 alim ainsi qu'espacer les différents éléments :

[Lcd,touche,arduino uno] [relais a,autotransfo ] [relais b]

Pr le beau panneau , les disjoncteurs se placent entre les relais et différentes prises?

J'ai cru lire des erreurs sondes si câble trop court? pcq j'aurais pensé a +-50 cm de câble blindé .

 

Merci de votre implication!

 

Hymo

Modifié par hymotep
Lien à poster
Partager sur d’autres sites
  • 1 mois après ...

Salut j'ai commencer un projet similaire que j'ai mis de coté par manque de temps, ton matos est ok

J'utilise a peu près la même chose: ecran lcd 2x20 (un peu petit) rtc ds1302, carte 8 relay 220v, dht22 et pour la navigation un recepteur IR et une télécommande (style lecteur dvd portable) pour 5€ .

 

Au niveau du code tu en es où ? (tu peux partager ton code pour voir un peu ?)

 

 

 

Pour les timers j'utilise une boucle qui vérifie chaque timer 

Chaque relay représente un appareil, a l'aide d'une structure (variable personnalisé)

struct APPAREIL {
  byte type;
  byte timer[12]; 
}; 

 

Pourquoi timer[12] ? Car chaque appareil peut gérer 3 allumage/extinction, regarde par exemple un appareil;

appareil[1].type = LAMPE;
appareil[1].timer[0] = 20; // ALLUMAGE heure
appareil[1].timer[1] = 8; // minute
appareil[1].timer[2] = 14; // EXTINCTION heure
appareil[1].timer[3] = 8; // minute  

La lampe va s'allumer a 20h08 et se couper à 14h08, car une boucle va vérifier si le timer est égal au temps actuel ou plutôt :

if (appareil[i].timer[0] == hour && appareil[i].timer[1] == minute) // 1ER ALLUMAGE
{
       digitalWrite(7, HIGH); // ON
}
					
if (appareil[i].timer[2] == hour && appareil[i].timer[3] == minute) // 1ER EXTINCTION
{
	digitalWrite(relay[i], LOW); // OFF
}  

Voila ma solution n'est pas la meilleur je sais et a quelques inconvénients, j'espère que ça t'aidera 

 

Peace

 

Edit: sympa les couleurs du code ... j'ai tout mis en html sinon ça pique les yeux..

Modifié par Wr4d
Lien à poster
Partager sur d’autres sites

salut,

 

j'ai monté une boite electricité avec un raspberry pour piloter tout ce qui est electrique (https://www.cannaweed.com/topic/180627-raspberry-box-gestion-220v/)

 

pour les relais qui commandent des appareils qui tirent il te faudra un solid state relay (SSR), merci au passage à philsmile pour le tuyau :plus:

j'ai commandé les miens sur la baie depuis la chine pour 3,25€ piece et ca fonctionne tres bien https://www.ebay.fr/itm/SSR-25DA-25A-3-32V-DC-24V-380V-RELAIS-STATIQUE-Temperature-Controle-Solid-State-/131020401473?pt=FR_YO_MaisonJardin_Bricolage_InstallationElectrique&hash=item1e816cab41

 

bonne continuation!

Modifié par wared quality
  • Like 1
Lien à poster
Partager sur d’autres sites
  • 4 semaines après ...

Bonjour tout le monde! Beaucoup d'avancement dans mon projet!

 

-Box quasi finie(manque que la porte)

-caisson rvk+transfo : done

-Systeme aero : done 

-boitier avec les relais et prise : done !!

 

 

Normalement quelqun me modifie le code de dazzle pour l'ajout pompe ,mais comme pas de nouvelle j'ai pris un gse 7 en attendant , si j'ai des news je le renvois au maga!

 

Sinon voila je viens vers vous pour un gros soucis , quand je mets le code de dazzle dans mon arduino avec ecran branché(i2c)

j'ai le chiffre 0 qui s'allume en haut adroite de l'ecran ,sinon certaine fois plusieurs zero sur la ligne et clignotement )

penser vous qu'il s'agit d'une erreur materiel ou de configuration de celui ci ?

 

arduino uno  de chine

Et

ecran legerement diff de celui de dazzle ( https://www.aliexpress.com/item/Free-shipping-IIC-I2C-1602-LCD-module-provides-libraries-with-demo-code/962424911.html)

le vendeur donne libraries et code test avec mais je ne l'ai pas encore recu (je ne sais pas s'il y a differente librairie pr lcd avec i2c)

 

merci de m'aider!

Lien à poster
Partager sur d’autres sites

MAJ au soucis :

 

J'ai lancé un autre scan twi pour savoir l'adresse de mon écran , l’écran est en fait a l'adresse 39 .

 

Quand je modifie la seule ligne du code avec cette référence rien n'apparait  :

" LiquidCrystal_I2C lcd(0x27,16,2); "  en " LiquidCrystal_I2C lcd(0x39,16,2); "

 

Quand je remet sur 27 l’écran  ré-affiche en haut à droite le "O" et clignote toute les 5sec .(le temp de refresh de la sonde surement)

 

si quelqu’un qui s'y connait comprend le problème se serait bien gentil :)

 

merci

Lien à poster
Partager sur d’autres sites