Cocotmatic - Automatisme pour porte de poulailler
Liste des composants :
-
Arduino Pro-mini 5V
-
Interface FT232RL (mini usb-ttl) pour liaison au PC
-
Horloge DS 3231
-
Convertisseur DC-DC LM 317 réglé à 5 V en sortie
-
Afficheur LCD 1602 avec i2c
-
Moteur pas-à-pas 28BYJ-48 avec ULN 2003
-
Connecteurs 4b et 6b
Le programme "cocotmatic" permet d’ouvrir et de fermer la porte en fonction des heures de lever et de coucher du soleil, avec un décalage paramétrable.
La ligne "H mini" permet de reporter l’heure "au plus tôt" à laquelle la porte s’ouvrira (afin que le coq ne réveille pas les voisins à 5 h !).
Le programme de base développé par Etienne Bougeot (voir Forum Arduino : https://forum.arduino.cc/index.php?topic=265520.120 ), est assez complexe et comporte plus de 1000 lignes. Il tient compte des heures d’été, de la position géographique…..
Un afficheur LCD à 2 lignes permet de visualiser l’heure courante, la position de la porte (ouverte ou fermée) les heures de fermeture et d’ouverture de la porte du poulailler. La présence de l'afficheur n'est pas indispensable, vous pouvez le connecter de temps à autre, pour vérifier le bon fonctionnement.
Le circuit électronique avec le moteur "pas-à-pas" doit être alimenté en 5 V continu. (avantages du moteur pas-à-pas : pas de fin de course à prévoir !)
Au repos, l’intensité absorbée est d’environ 50 mA avec le LCD, et d’environ 25 mA sans LCD.
Un convertisseur DC-DC (LM 317) permet d’alimenter l’ensemble à partir d’une batterie de 12V.
Le moteur "pas-à-pas" permet d’actionner une trappe de 300 g maxi si le diamètre du mini-treuil est de 20 mm. Il est recommandé de prévoir une sécurité en cas de blocage imprévu (voir exemple sur photo). Prévoir également un accouplement élastique ou avec jeu entre le moteur et l’axe du mini-treuil pour palier les éventuels défauts d’alignement.
Mise en oeuvre :
-
régler le convertisseur DC-DC à 5 V maxi en sortie
-
câbler l’ensemble comme indiqué sur le plan ci-dessous (la carte Arduino Pro-mini est positionnée au-dessus des cartes ULN 2003 et DS 3231)
-
ouvrir le programme "cocotmatic E" dans l’application Arduino, (application à télécharger sur : https://www.arduino.cc/en/software pour PC ou MAC), corriger les valeurs des lignes 82 à 88 selon votre cas.
-
téléverser le programme dans votre arduino au moyen de l’interface FT232RT
-
activer le moniteur série, envoyer la commande T puis la cde S pour stopper, et vérifier les infos : heure, date, heure levé soleil….
-
positionner la porte en position haute avec les commandes O ou F, et espace " " pour arrêter le mouvement. Si le moteur ne tourne pas dans le bon sens, inverser les signes lignes 96 et 97.
-
lancer l'étalonnage (commande E), la porte se ferme. Lorsque la porte est en bas, envoyer E; le nombre de pas est alors indiqué sur le moniteur, et la porte s'ouvre. Reporter le nb de pas ligne 88 "NbPasFermeture" à la place de 360000L. 8500 correspond à une course de 28 cm environ avec un treuil de 20 mm de diamètre.
-
téléverser le programme modifié dans l'arduino
-
tester 1 cycle (commande C)
-
passer en mode "Marche" (inter sur ON = i12 connecté à GND) la Led arduino clignote lentement. Le programme est mémorisé, on peut déconnecter de l'ordi et raccorder à une batterie ou autre.
-
l’afficheur LCD n’est pas indispensable, vous pouvez le déconnecter. Lorsque vous le re-connecterez, vous devrez appuyer brièvement sur le bouton "RESET" pour avoir un affichage cohérent. ATTENTION : il y a 2 modèles de lcd avec 2 adresses différentes ! Si vous n’avez pas d’affichage, changer l’adresse ligne 14 (remplacer 0x27 par 0x3F).
Nota 1 : la nuit, la Led produit 2 éclats successifs toutes les 5s.
Nota 2 : ne pas couper l'alimentation électrique la nuit, car à la remise sous tension, la porte va se refermer.
Le programme : cocotmatic_E.ino en libre accès sur le Forum Arduino :
https://forum.arduino.cc/index.php?topic=716315.new
Avant de charger ce programme, il est conseillé de mettre à jour votre librairie Arduino en suivant les indications du 2ème post (LiquidCrystal_I2C), puis de commencer avec le programme "rtc1307_lcd_i2c_TEST"
petit bug : au passage en horaire d'hiver, on note un décalage horaire !!!!! il faut donc remettre à l'heure.
Le plus simple serait de simplifier le programme en ne gardant qu'un horaire fixe pour toute l'année (de plus, le changement d'heure doit être prochainement supprimé). Quelqu'un pourrait se charger de cette modification ?
Merci d'avance.
Alimentation par panneau solaire et batterie
Contrôleur de charge : MPPT solar charge controller (rechercher sur "aliexp....." par exemple)
courant de charge max : 30 A
tension entrée max : 18 V
Fonctions : le contrôleur est censé protéger la batterie, en coupant la sortie lorsque la tension est trop basse (valeur modifiable, mais limitée à 11,5 V maxi).
Nota : une batterie à 11,5 V est déjà trop déchargée, ce qui affecte sa durée de vie !
La sortie ne sera rétablie que lorsque la batterie sera rechargée (valeur modifiable, ex 12 V)
Réglages : appuyer sur « N » (bouton à gauche) pour faire défiler les paramètres
pour modifier un paramètre : maintenir "N" 2s, le paramètre ne clignote plus, appuyer sur + ou - pour changer
1) tension de charge (float) : de 12,5 à 15 V sélection : 13,5V pour préserver la batterie
2) re-connexion de la charge : de 11,6 à 13 V sélection : 12 V
3) déconnexion de la charge : de 9 à 11,5 V sélection : 11,5 V
Très important : la liaison à la batterie doit être de bonne qualité et ne doit JAMAIS être interrompue lorsque le panneau est raccordé, sous peine de détruire le contrôleur ( au niveau du programme interne !).