[Projet] Porte de Poulailler 100% Autonome avec Moteur DC

Bonjour à tous,

PRÉSENTATION DU PROJET

Comme beaucoup, je souhaite me lancer dans la création d’un système totalement autonome d’ouverture automatique d’une porte de poulailler.
Ma mère souffrant de la maladie de Parkinson, elle n’est plus en mesure de monter les 5 marches qui la sépare du petit jardin où se trouve le poulailler.
Il est possible d’en acheter un dans le commerce mais quand on voit les prix totalement dingues qui vont de 125 à 200€, je ne peux pas me le permettre.

Je préfère préciser dès maintenant que je suis totalement novice en matière d’électronique et de codage.

INTRODUCTION

Voici le cahier des charges :
-Ouverture et fermeture en fonction de la luminosité
-Système indépendant en énergie

Plutôt simple, n’est-ce pas.

Les recherches effectuées sur le sujet… :

Ma principale source d’information est un topic de mick85 sur ce forum intitulé “porte poulailler (selon luminosité panneau solaire et manuel)”. Son projet est très similaire au mien à une exception près.

Mon autre source d’information est le blog de Henri BACHETTI (hbachetti sur le forum. La personne qui a grandement aidé mick85 pour son projet) qui est une pépite en terme d’explication dans l’utilisation d’un Arduino. Je me suis surtout penché sur les 5 parties de son projet de … porte motorisée de poulailler ^^

[u]CÂBLAGE (HARDWARE)[/u]

Avec tout ceci lu (et bien plus mais sans grande importance), j’en suis arrivé à ce schéma

Les composants utilisés seront les suivant : - Arduino pro mini 3.3v 8mhz ------------------------------- (très faible consommation et pas chère) - FT232RL ------------------------------------------------------ (obligatoire pour téléverser le programme) - Servomoteur MG995 --------------------------------------- (continue à 360°) - Batterie 18650 Samsung 3.7v 2500mah ------------------- (pas chère) - Module convertisseur de tension FP6293 5V ------------- (pour avoir la bonne tension au servomoteur) - Module de charge de batterie TP4056 -------------------- (pour charger la batterie) - Capteur magnétique de proximité Reed PS-3150 -------- (fin de course haut) - Mosfet canal P SUP90P06 ----------------------------------- (pour abaisser la consommation et donc augmenter l’autonomie) - Panneau solaire 6V 1W ------------------------------------- (recharger la batterie et mesurer la luminosité) - Diverse résistances - Boitier pour batterie 18650 -------------------------------- (accueil la batterie) - 2 boutons poussoirs 6x6x6 2 broches -------------------- (forcer la monter et la descente de la porte) - Connecteur jack 2.5x5.5mm 2 broches Mâle et Femelle - (isoler la partie intérieure et extérieure) - Platine de prototypage 50x70mm ------------------------- (recevoir et relier tous les composant)

Comme vous pouvez le constater, je pars d’une feuille branche car je n’ai rien de tout cela (j’exagère un peu, j’ai les résistances) mais surtout ça évite de problèmes de compatibilités (certes c’est moins écolo que de récupérer des pièces par-ci par-là) et ça permet à tout le monde de faire son propre système plus facilement (quand on voit les prix, ça reste très raisonnable).

Ce qui change du projet de mick85, c’est l’utilisation d’un servomoteur à rotation continue à 360 degrés afin d’avoir un système plus compact et de pouvoir le mettre dans une boite de dérivation électrique ou un Tupperware pour le garder à l’abri du froid et de l’humidité (d’où l’utilisation d’un connecteur jack pour le panneau solaire).

Je ne comprends même pas l'intérêt du servomoteur 360°. Autant utiliser un moteur continu.

CODAGE

Une fois de plus, pour le codage, j’utilise celui du blog de hbachetti modifié par mick85 (voir en attachement).

Premier problème. Quand je “vérifie” le code, j’ai l’erreur suivante :

lowpower.cpp:11:10: fatal error: LowPower.h: No such file or directory
 #include <LowPower.h>
          ^~~~~~~~~~~~
compilation terminated.
exit status 1
LowPower.h: No such file or directory

Il me semble que cela veut dire que je n’ai pas la bibliothèque LowPower, exacte ?

Sachant que j’utilise un servomoteur MG995, qui est continue à 360°, à la place d’un MG996R, qui est uniquement 180°, je dois modifier la partie du servomoteur.
Il me semble que le nom du servomoteur dans le code n’a pas d’importance, donc on peut laisser “mg996r”.
Mais je dois modifier dans “mg996r.cpp” à “void MG996R::open(void (*callback)(void))” à la ligne “log_println(F(“pos: 180”));” le “180” par le degré que mon servomoteur doit faire par rapport au diamètre de la bobine que je vais y fixer. Ainsi que dans “mg996r.h” le “#define MAX_POS 180” par le degré précédemment calculé.

Et pour le moment ça sera tout pour le code.

Ainsi que pour ce premier post.

Le but de ce topic, en plus de faciliter la vie de ma mère, c’est de proposer une solution simple et la plus guidée possible afin de rendre la fabrication d’un système totalement autonome d’ouverture/fermeture de porte de poulailler accessible à tout le monde.

Merci d’avance pour votre aide.

Cordialement,

Crody

PS: Désolé pour les doubles posts mais à cause des liens je dépassais les 9000 caractères :confused:

hbachetti: Je ne comprends même pas l'intérêt du servomoteur 360°. Autant utiliser un moteur continu.

Sur votre blog vous dites que ça consomme plus qu'un servomoteur car il doit maintenir la position haute (je souhaite mettre un porte à ouverture verticale dites guillotine). Et comme ça sera sur batterie je pensais que c'était plus judicieux.

(désolé je dois attendre 5 minutes pour pouvoir poster ma réponse)

Je ne comprends même pas l’intérêt du servomoteur 360°.
Autant utiliser un moteur continu.

Moi non plus dans aucun cas d’ailleurs. La gestion d’un moteur CC est simple avec le PWM. Dans le cas présent encore plus car on n’a pas besoin de variation de vitesse.
La gestion d’un servo 360° est compliquée à faire.
Il y aurait juste un asservissement de vitesse un peu mieux que le moteur CC?

il doit maintenir la position haute

Dans ce cas il faut utiliser un moteur CC et un réducteur de vitesse. Ainsi ce n’est pas réversible. De toutes façon la porte ne va pas monter ou descendre avec un axe en prise directe!

crody: Sur votre blog vous dites que ça consomme plus qu'un servomoteur car il doit maintenir la position haute (je souhaite mettre un porte à ouverture verticale dites guillotine). Et comme ça sera sur batterie je pensais que c'était plus judicieux.

Sur mon blog je dis ça à propos d'un moteur pas à pas, pas d'un moteur continu.

hbachetti: Sur mon blog je dis ça à propos d'un moteur pas à pas, pas d'un moteur continu.

Ok, désolé de la confusion.

vileroi: Mois non plus dans aucun cas d'ailleurs. La gestion d'un moteur CC est simple avec le PWM. Dans le cas présent encore plus car on n'a pas besoin de variation de vitesse. La gestion d'un servo 360° est compliquée à faire. Il y aurait juste un asservissement de vitesse un peu mieux que le moteur CC?

Dans ce cas il faut utiliser un moteur CC et un réducteur de vitesse. Ainsi ce n'est pas réversible. De toutes façon la porte ne va pas monter ou descendre avec un axe en prise directe!

D'accord. Je vais revoir ma copie et revenir vers vous. Juste pour information, un servo 360° ne se commande pas de la même façon qu'un 180°, en indiquant l'angle voulu?

Non, rien à voir avec un servo 180°. Le PWM sert à régler la vitesse.

Bonjour,

Le MG995 ne parcours pas 360° mais 120 http://j5d2v7d7.stackpathcdn.com/wp-content/uploads/2016/03/MG995.pdf

J'ai fait plus simple, avec accu NIMH de récup. Un simple résistance suffit pour entretenir la charge https://forum.arduino.cc/index.php?topic=727107.0

Apparemment pas celui-ci : https://fr.aliexpress.com/item/33055771986.html?spm=a2g0w.12010612.8148356.7.4e4d7a09ZdHEs3

Angle: Rotation continue du Servo à 360 degrés

A moins que le vendeur raconte n'importe quoi.

hbachetti: Non, rien à voir avec un servo 180°. Le PWM sert à régler la vitesse.

Donc un servo 360° se comporte un peu comme un moteur DC qui ne compte pas les nombre de pas?

achess: Bonjour,

Le MG995 ne parcours pas 360° mais 120 http://j5d2v7d7.stackpathcdn.com/wp-content/uploads/2016/03/MG995.pdf

J'ai fait plus simple, avec accu NIMH de récup. Un simple résistance suffit pour entretenir la charge https://forum.arduino.cc/index.php?topic=727107.0

Il semblerait que vous ayez raison. En allant voir cette référence sur d'autre boutique, elles donnent toutes un angle de 180°.

Votre solution est intéressante (surtout au niveau du code qui est bien plus simple pour mes yeux de novice) mais elle utilise un servomoteur avec un système de levier. Or je souhaiterais un système plus compacte (peu de hauteur sous plafond) avec une ficelle qui viendrait s'enrouler autour de l'axe du moteur (pas directement autour je vous rassure :) )

hbachetti: Apparemment pas celui-ci : https://fr.aliexpress.com/item/33055771986.html?spm=a2g0w.12010612.8148356.7.4e4d7a09ZdHEs3 A moins que le vendeur raconte n'importe quoi.

Apparemment c'est le cas.

Ah OK, même les MG996 :o Les miens datent un peu et ne dépassent pas les 180°

Je vois que le motoreducteur que j'avais utilisé pour mon premier montage se vends à 0.3€, mais comment font-ils ?

Un module 2 relais et on a tout ce qu'il faut pour le projet https://fr.aliexpress.com/item/32799832400.html

crody: Donc un servo 360° se comporte un peu comme un moteur DC qui ne compte pas les nombre de pas?

Dans ce cas, si il peut faire plusieurs tours, ce serait un motoréducteur et son pont H. Et ça correspondrait à ce que tu souhaites faire, mais faudrait être sur du coups.

Si le poulallier est sur pilotis, tu peux commander directement le pont levis, comme lui ;)

Ah OK, même les MG996 :o Les miens datent un peu et ne dépassent pas les 180°

Les deux types de MG996 existent, 180° ou 360°.

Or je souhaiterais un système plus compacte (peu de hauteur sous plafond) avec une ficelle qui viendrait s'enrouler autour de l'axe du moteur (pas directement autour je vous rassure :) )

Là encore, le servo est un mauvais choix. Où trouver une poulie à adapter sur l'axe d'un servo qui est fait en général pour recevoir un palonnier ? Un motoréducteur serait plus adapté, et on trouve facilement des poulies pour moteur, axe 4mm, 5mm ou plus.

hbachetti: Les deux types de MG996 existent, 180° ou 360°.

Ça prête à confusion car un même modèle peut avoir les deux configuration. Le MG996 ainsi que le MG995 peuvent se trouver en 180° ou en 360°.

achess: Dans ce cas, si il peut faire plusieurs tours, ce serait un motoréducteur et son pont H. Et ça correspondrait à ce que tu souhaites faire, mais faudrait être sur du coups.

Si le poulallier est sur pilotis, tu peux commander directement le pont levis, comme lui ;)

J'avais vu cette vidéo (dont le système de flash est très malin) mais je souhaite une porte de type guillotine. Ce qui m'attire dans la solution servo 360° c'est sa simplicité de câblage et l’absence de fin de course. Car je pense qu'à terme, la solution de la fin de course en mesurant la tension du moteur DC, engendrera une usure prématurée des engrenages (et une fin de course bas de type reed devra être ajouté). Alors qu'avec un servo 360° vous avez seulement besoin de lui dire "fait 738°" pour ouvrir et "fait -738°" pour fermer. Après je fait peut-être fausse route en pensant qu'un servomoteur fonctionne comme un moteur pas à pas.

hbachetti: Là encore, le servo est un mauvais choix. Où trouver une poulie à adapter sur l'axe d'un servo qui est fait en général pour recevoir un palonnier ? Un motoréducteur serait plus adapté, et on trouve facilement des poulies pour moteur, axe 4mm, 5mm ou plus.

Il y a plusieurs "têtes" fournies avec le servo, dont une en disque. Je pensais faire une poulie avec une imprimante 3D et la visser dessus.

Après je fait peut-être fausse route en pensant qu'un servomoteur fonctionne comme un moteur pas à pas.

Oui, fausse route. Un servo 360° ne se commande pas en degrés, mais en vitesse.

Une idée pour utiliser un servo avec une faible hauteur de plafond : un servo 180° fixé au plafond, avec un bras de levier fixé au palonnier, de longueur égale à hauteur de la porte / 2. Ensuite attacher une ficelle au bras de levier et à la porte, avec une poulie de renvoi.

Une hauteur de plafond basse n’est pas un problème avec mon système à levier. Il suffit de déplacer le point d’attache sur la trappe. Dessin rapide pour illustrer.

Effectivement.