vendredi 24 avril 2020

Porte Motorisée de Poulailler (1ère Partie)



Porte Motorisée de Poulailler


Possédant un terrain suffisamment grand pour élever quelques animaux, j'ai décidé de me lancer dans la construction d'une porte motorisée pour poulailler.

L'automatisation d'une porte de poulailler est d'une utilité assez moyenne. Il faut de toutes façons une visite journalière ne serait-ce que pour ramasser les œufs, et nourrir les oiseaux. Ce montage n'est utile que dans certains cas : absence prolongée ou envie de se lever à un horaire différent de celui des poules, qui se lèvent à l'aube. La grasse matinée reste donc possible.

Il est possible d'alimenter le montage soit à l'aide d'une alimentation secteur soit à l'aide d'une batterie LITHIUM-ION ou LIPO rechargée par un panneau solaire.

Je dispose d'un serveur DOMOTICZ. Le système sera donc équipé d'un module radio NRF24L01 (en option). Cela permettra de connaître à distance l'état d'ouverture / fermeture de la porte et de remonter également des informations à propos de la batterie :
  • capacité restante
  • énergie journalière consommée par le moteur
  • énergie journalière fournie par le panneau
Ce module est optionnel afin de pouvoir fonctionner de manière autonome.

Un capteur de température et d'humidité est également prévu, avec remontée des informations vers le serveur.

L'ouverture et la fermeture seront pilotées automatiquement. Plusieurs options sont possibles :
  • la luminosité
    • à l'aide d'une LDR
    • en mesurant la tension du panneau solaire
  • l'heure de lever et coucher du soleil
    • à l'aide d'un module RTC DS3231
    • en demandant l'heure au serveur DOMOTICZ
Si la mesure de la luminosité est choisie, l'option LDR sera forcément utilisée si l'alimentation est faite à partir du secteur, sinon la mesure de la tension du panneau solaire sera un bon choix.

Une commande manuelle par boutons poussoirs peut être utile, ne serait-ce que pour tester le système.

Dans cet article nous allons aborder beaucoup de sujets :
  • pilotage d'un moteur continu avec un L293D 
  • alimentation par batterie LITHIUM-ION 
  • recharge par panneau solaire
  • régulateur STEP-UP 5V et 12V
  • lecture d'une LDR ou de la tension d'un panneau solaire
  • utilisation d'un DS3231
  • calcul de l'heure de lever et coucher du soleil
  • réduction de la consommation d'une carte ARDUINO PRO MINI
  • réduction de la consommation d'un L293D
  • liaison radio avec un serveur domotique (en option)
    • envoi des informations d'ouverture / fermeture
    • envoi de la capacité de la batterie
    • envoi de la tension du panneau solaire
    • envoi de la puissance fournie par le panneau solaire
Ce projet est une bonne occasion d'aborder le pilotage d'un moteur continu 12V ou plus avec une batterie 3.7V comme source d'alimentation et un élévateur de tension.
Ce n'est pas un réflexe automatique et je pense que pas mal de gens envisageraient plutôt l'utilisation d'une batterie 12V. Nous allons démontrer que c'est loin d'être la seule voie possible.

1. Techniques utilisables

1.1. Le local

Il s'agit d'un appentis existant en dur. L'ouverture sur l'extérieur a une dimension de 30cm x 20cm. Il est pourvu d'un plafond, ce qui interdit l'accès par la toiture aux animaux grimpeurs, chats ou fouines.

On peut envisager 3 types de portes :
  • porte à pont-levis
  • porte pivotant vers le haut
  • porte coulissant latéralement
  • porte coulissant verticalement 
Nous allons examiner ces solutions.

1.1.1. Porte à pont-levis
La porte à pont levis impose l'utilisation d'une ou deux ficelles apparentes, exposées aux intempéries, soleil, pluie, gel, ainsi qu'aux dégradations possibles par des animaux.

Des débris peuvent encombrer l'emplacement de la charnière et l’empêcher de se fermer complètement.

La porte est maintenue fermée par le moteur. Si l'on utilise un motoréducteur, l'ouverture manuelle sera difficile, grâce à la démultiplication liée aux engrenages.

1.1.2. Porte pivotant vers le haut
Contrairement à la porte en pont-levis, les ficelles de manœuvre sont situées en hauteur, cela empêche leur dégradation par des animaux, mais elles sont tout de même exposées aux intempéries une fois la porte fermée.

Elle a les mêmes inconvénients que la porte à pont-levis au sujet des débris au sol pouvant l’empêcher de se fermer complètement.

La porte est maintenue fermée seulement pas son poids. Il vaut mieux l'équiper d'un contrepoids pour qu'elle se ferme complètement, et pour qu'une poule ne puisse l'ouvrir de l'intérieur en poussant.

Elle ne doit offrir aucune prise qui permettrait de l'ouvrir en tirant dessus.

En bref, c'est un montage peu adapté et sujet à problèmes.

1.1.3. Porte coulissant latéralement
Une porte coulissant latéralement est un montage complexe. En haut de l'ouverture la porte doit être suspendue sur des rouleaux se déplaçant sur un rail horizontal. Elle doit également être guidée au sol, à l'aide d'un rail en U, largement susceptible d'être encombré au bout de peu de temps par de la terre ou d'autres débris.

La porte fermée ne doit offrir aucune prise qui permettrait de l'ouvrir en tirant dessus.

1.1.4. Porte coulissant verticalement
La porte à guillotine est une solution d'une complexité intermédiaire entre le pont-levis et la porte coulissant latéralement.
Elle nécessite simplement deux glissières en U pour le guidage vertical.

Une simple fente au sol de 1cm de profondeur permet d'éviter une prise qui permettrait de l'ouvrir en la soulevant.

Cette solution est retenue pour sa simplicité de mise en œuvre et la sécurité qu'elle offre.

La porte sera réalisée dans une tôle d'aluminium de 2mm d'épaisseur.
Ses dimensions sont de 32cm * 22cm. Elle a donc un poids d'environ 400g.

Une porte de 24cm de hauteur permettra de réduire la hauteur totale du système, par contre l'ouverture sera peu adaptée à des animaux de grande taille.

1.1.5. Contacts de fin de course ou pas ?
Quelle que soit le type de porte l'arrêt moteur peut être obtenu à l'aide de deux contacts de fin de couse.

C'est une solution pratiquement obligatoire lorsque la porte est simplement suspendue à une ficelle enroulée autour d'une poulie fixée sur le moteur. Une butée haute arrête la porte en fin d'ouverture, mais rien ne l'arrête en position basse.
On choisira dans ce cas plutôt des contacts ILS ou interrupteur REED sous ampoule à vide :
Un aimant fixé sur la porte permet de fermer le contact. Ces interrupteurs REED existent sous diverses formes :

Il va sans dire qu'un soin particulier doit être apporté à la réalisation, qui doit être d'une fiabilité à toute épreuve.
Si le contact du haut n'est pas vu par le système, le moteur continuera de tourner tout en étant bloqué. Si le contact du bas n'est pas vu par contre, le moteur continuera de tourner, la ficelle s'enroulera sur la poulie dans l'autre sens et la porte s'ouvrira à nouveau.

Une autre solution est d'entraîner la porte à l'aide d'une courroie sur laquelle la porte est fixée. Cette fois-ci l'ouverture et la fermeture de la porte se fait en tirant vers le haut ou en tirant vers le bas. Une butée haute arrête la porte en fin d'ouverture, et le sol fait office de butée basse. Dans les deux positions le moteur est bloqué dans sa rotation. Plutôt que d'opter pour des contacts de fin de course, il est plus intéressant dans ce cas de mesurer le courant moteur et de le stopper lorsque le blocage se produit (le courant va fortement augmenter).

Avantage de la courroie : les contacts de fin de course sont inutiles. La porte fermée est plaquée au sol.
Inconvénient : le montage est plus complexe.

1.2. Le moteur

1.2.1. Moteur pas à pas
Un moteur pas à pas suffisamment puissant pourrait être intéressant pour ouvrir et fermer une porte car il permet d'effectuer un certain nombre de tours en comptant le nombre de pas.
Malheureusement ces moteurs doivent être alimentés en permanence afin d'assurer un maintien en position. Le couple de détente de ce genre de moteur n'est pas assez élevé pour maintenir la porte ouverte sans alimentation.
L'utilisation d'un tel moteur imposerait d'ajouter un contrepoids à la porte.

Elle pourrait bien convenir par contre à une porte du type pont-levis, ou coulissant latéralement, qui n'exercera aucune force une fois fermée ou ouverte.

1.2.2. Servomoteur
Il est possible d'adopter un montage à servomoteur du type MG996R avec un bras de levier de 12cm et une ficelle :

MG996R

Ce servomoteur a un couple largement suffisant. Alimenté sous 6V, son couple de 11kg.cm un bras de levier de 16cm permettrait de soulever une porte de plus de 600g.
Il est fortement démultiplié c'est à dire que si le moteur n'est pas alimenté il faut une force importante si l'on veut faire tourner le moteur en agissant sur l'axe.
De plus lorsque la porte est ouverte, le bras de levier est vertical et n'impose donc aucune force de rotation sur l'axe.

Une poulie de renvoi permet d'effectuer la traction verticalement afin de ne pas engendrer trop de frottements ou de blocage.

Lorsque le bras de levier est en position basse la porte est fermée. Si le bras de levier tourne de 180° le porte se retrouve 32cm plus haut.
Ce montage est très simple et ne nécessite aucun capteur de fin de course ou mesure de courant.

Le montage mesure 1.10m de haut. Si l'on ne dispose pas de cette hauteur, il faut réduire la hauteur de la porte.
Une porte de 24cm de hauteur permettra d'utiliser un bras de levier de 12cm et une ficelle plus courte.

Par contre seule la gravité déplace la porte vers le bas. Si celle-ci rencontre un obstacle sa course sera stoppée. La qualité de montage et la propreté des glissières est primordiale.
On peut également opter pour une porte plus lourde.

Le servomoteur TD-8120MG avec son couple de 20kg.cm pourra soulever une porte deux fois plus lourde :
TD-8120MG


1.2.3. Motoréducteur continu
Avec un motoréducteur continu nous allons avoir besoin d'une transmission permettant le transformation du mouvement de rotation du moteur en mouvement linéaire.

L'idée est de fixer une tige métallique sur une courroie. La courroie doit pouvoir assurer au moins 32cm de déplacement.
La tige métallique rigide permettra de plaquer la porte au sol après fermeture.

Un profilé plat en acier de sera plus facile à fixer sur la porte qu'une tige cylindrique. Il sera percé, ainsi que la porte, et un petit boulon solidarisera les deux pièces.
Le profilé (10mm x 2mm x 40cm) ajoute 50g au poids de la porte.

Il faudra éviter de disposer des perchoirs à proximité du mécanisme afin d'éviter que des plumes ou autres déjections viennent le perturber. On peut également protéger la transmission avec une tôle en U depuis le boîtier jusqu'à la butée haute (en vert sur le schéma ci-dessous).

1.2.3.1. Motoréducteur continu + ficelle
Cette première solution utilise une ficelle faisant office de courroie :

Le moteur est fixé dans un boîtier contenant l''électronique. Sur son axe est fixée une poulie de 8mm à 20mm, à choisir en fonction de la vitesse de déplacement voulue.

Le montage mesure 1.21m de haut. Si l'on ne dispose pas de cette hauteur, il faut réduire la hauteur de la porte. Une porte de 24cm de hauteur permettra de réduire la hauteur totale d'une vingtaine de cm.

On peut gagner quelques centimètres en hauteur en réduisant la longueur du ressort et en réduisant l'espace entre la butée et la poulie de renvoi du bas.

Avec un moteur de 30 tours / minute et une poulie moteur de 10mm de diamètre le déplacement sera de 31.4mm par tour. Le déplacement total est de 32cm. Le moteur fera un peu moins de dix tours pour ouvrir ou fermer la porte, donc son temps de rotation journalier sera :

t = 60s / 30 * 10 * 2 = 40s

Avec une poulie de 20mm de diamètre ce temps sera de 20s, avec un moteur de 60 tours / minute également.

Une poulie de renvoi sous le moteur permet d'effectuer la traction verticalement.
Une deuxième poulie 43cm plus bas renvoie la courroie vers la première, ainsi que vers le moteur.

Un ressort (en rouge) assure la tension de la ficelle. Il est fixé sur le profilé acier par vissage.
La tension de la ficelle peut être facilement réglée par déplacement du boîtier moteur à l'aide de vis de fixation coulissant dans des lumières oblongues.

Les deux extrémités de la ficelle sont fixées de part et d'autre de la poulie et la ficelle est enroulée sur celle-ci. Avec une poulie de 10mm il faudra au moins 10 tours pour assurer 32cm de déplacement. Une ficelle de 2mm imposera une largeur de poulie d'au moins 20mm :

Une butée de fin de course (en vert) arrête la porte en position haute. La butée basse est le sol lui même. Une mesure du courant moteur permet d'arrêter celui-ci. Le ressort permet d'amortir l'impact. On peut également diminuer la vitesse de rotation du moteur à la fin de l'ouverture ou de la fermeture.

Il nous faudra donc :
  • 1 poulie moteur ⌀ 10 à 20mm, largeur 20mm, axe 4mm
  • 2 poulies de renvoi largeur 10mm
Le coût devrait être d'environ 7€, à moins de fabriquer les poulies soi-même.

Le principal défaut de la ficelle est l'usure. Il conviendra de l'inspecter régulièrement.On peut adopter le principe d'une deuxième poulie de renvoi comme ci-dessous, ce qui aura comme avantage de limiter les frottements.
 
1.2.3.2. Motoréducteur continu + courroie crantée
Une courroie crantée est également utilisable.
Le schéma est le même que précédemment, sans le ressort.
Le montage mesure 1.21m de haut. Si l'on ne dispose pas de cette hauteur, il faut réduire la hauteur de la porte.
On peut réduire cette hauteur de la hauteur du ressort : 5cm.

Ici aussi la tension de la courroie peut être facilement réglée par déplacement du boîtier moteur à l'aide de vis de fixation coulissant dans des lumières oblongues.

La courroie crantées de 6mm ou 10mm devrait avoir une longueur d'environ 1m :

Elles sont faciles à trouver chez les revendeurs de matériel pour machines CNC, ainsi que les poulies :
Poulie de moteur GT2
Poulies de renvoi

On trouve des poulies avec alésage de tous diamètres de 3mm à 10mm.
Seule la poulie moteur a besoin d'être fixée sur l'axe, les deux autre doivent être libres en rotation.

Cette solution pose toutefois un problème de fixation du profilé acier sur la courroie. Ceci pourrait être une option intéressante :
Ces pinces de fixation ont une dimension de 40mm x 9mm x 5mm.

La courroie peut être serrée entre deux de ces pièces, et le profilé percé au bon diamètre pourra être fixé dessus à l'aide de la vis centrale.

Avec un montage de ce type on pourra opter pour une courroie ouverte vendue au mètre.

Il nous faudra donc :
  • 1 poulie moteur crantée denture 2mm largeur 10mm axe 4mm
  • 2 poulies de renvoi crantées denture 2mm largeur 10mm
  • 1 m de courroie denture 2mm largeur 10mm
  • 2 pinces de fixation
Le coût devrait être d'environ 10€.

Les prix proviennent de ce revendeur, un des rares à proposer des poulies pour axe de 4mm : GKTOOLS

Étant donné le surcoût par rapport à la version à ficelle, je vais adopter cette solution, dont la fiabilité dans le temps sera bien supérieure à celle d'une ficelle.
 
1.2.3.3. Le motoréducteur
Je possède un motoréducteur dont les caractéristiques sont proches du JGA25-370 :
  • tension : 12V (6V - 18 V)
  • vitesse à 12V : 37 tours / minute
  • courant à vide à 12V : 50mA
  • courant de blocage à 12 V : 1.2A
  • couple maximal à 12V : 14 kg.cm
  • poids : 92g 
Ce moteur coûte environ 7 à 8€ chez les revendeurs chinois. Il existe en différentes versions :
  • 6V, 12V, 24V 
  • 12 à 1360 tours / minute
Il sera piloté par un simple L293D.

Le L293D doit être alimenté entre 4.5V et 7V côté logique (VCC1), et supporte jusqu'à 36V côté moteur (VCC2).

J'en possède également un autre, un ancien moteur d'imprimante 24V, plus puissant, mais je ne pense pas que la puissance nécessaire sera assez importante pour justifier un pareil moteur.

Ces petits motoréducteurs pourraient convenir :
Ils ont un couple plus que suffisant : 100mNm pour un moteur de 85 tours / minute.
Si l'on convertit cette valeur en kg.cm on obtient un peu plus de 1kg.cm, plus qu'il n'en faut pour soulever une porte de 400g avec une poulie de 5mm ou 10mm de rayon.

Ils ont quelques inconvénients :
  • vis de fixation Ø1.6mm, difficile à trouver
  • axe de Ø3mm
Les poulies pour courroie crantée de largeur 10mm n'existent pas en alésage 3mm. Il faudra donc une courroie de largeur 6mm.

1.3. Le microcontrôleur

Le microcontrôleur doit posséder un nombre de broches d'entrée / sortie assez important :
  • moteur :
    • 3 broches en version moteur continu (1 en version servomoteur)
    • 1 broche pour le passage du driver moteur en mode veille
    • courant moteur : 1 broche analogique (aucune en version servomoteur)
  • chargeur :
    • 1 broche ON / OFF
    • tension du panneau : 1 broche analogique
    • courant du panneau : 1 broche analogique
    • tension batterie : 1 broche analogique
  • circuit RTC + capteur de température I2C : 2 broches
  • LDR : 1 broche analogique
  • 1 broche pour un capteur de fin de course éventuel
  • 2 broches pour les boutons (avec interruption)
  • 5 broches pour le NRF24L01
Faisons le total :
  • 13 GPIOs
  • 2 broches I2C
  • 5 entrées analogiques
Une carte PRO MINI (12 GPIOs, 6 entrés analogiques + I2C) conviendra tout juste si on utilise une broche analogique comme entrée digitale.

Un ESP8266 ne possède qu'une seule entrée  analogique, il est donc exclu.

L'ESP32 semble un bon candidat :
  • il possède le WIFI, ce qui permettrait d'exclure le NRF24L01 donc de gagner 5 broches du SPI
  • il permettrait d'éliminer également le circuit RTC.
  • il possède largement le nombre d'entrées / sorties nécessaires.
  • il permettrait d'ajouter des fonctionnalités
Le microcontrôleur doit être choisi parmi les modèles offrant une consommation suffisamment basse :
  • ARDUINO PRO MINI 8MHz 3.3V
  • ARDUINO PRO MINI 16MHz 5V
  • ESP32
Une PRO MINI pourrait donc parfaitement convenir, mais elle suppose quelques modules supplémentaires (RTC, NRF24L01).
On pourrait également utiliser un ATMEGA328P nu.

Le problème de l'ESP32 est la diversité des cartes. Il est difficile de bâtir un projet pérenne sur des cartes du type LOLIN32, FireBeetle ou HUZZAH32. Leur brochage est totalement différent :

ESP32 DevKit

ESP32 FireBeetle

LOLIN D32

LOLIN32 (obsolète)

Même le brochage de la nouvelle LOLIN D32 est différent de celui de la version précédente.

Il est hors de question pour moi de raccorder une telle carte dans un montage par des fils DUPONT ou des fils soudés sur les pastilles. Je les considère comme des cartes de prototypage. Cela conduirait immanquablement à un montage du type plat de spaghettis, ce que je ne souhaite pas sur ce projet pouvant être soumis à des températures très variables, à l'humidité, et également à des vibrations de moteur.
Élaborer un PCB avec ces cartes à la durée de vie assez courte est exclu également, car ce projet ne sera pas forcément fabriqué en exemplaire unique.

Certaines cartes posent également un problème de consommation. La carte DevKit par exemple consomme 3mA en mode veille, et il est assez difficile d'avoir l'information à propos des autres cartes, à moins de les essayer soi-même. J'ai testé une WEMOS LOLIN32 dernièrement : elle consomme 1.7mA en veille, c'est à dire mille fois plus qu'une PRO MINI 8MHz.

Le seul moyen de bâtir un projet ESP32 sérieux avec un résultat reproductible est d'utiliser le module nu sur un PCB :
Dans un premier temps la carte retenue sera donc une PRO MINI, mais il n'est pas impossible que le cas du module ESP32 soit examiné ultérieurement.

1.4. L'alimentation

Si l'on a la possibilité d'alimenter par le secteur il suffira d'adopter une alimentation 5V de quelques watts. 5W devraient amplement suffire.

Par contre si l'on ne dispose pas du secteur à proximité l'alimentation peut être assurée par une batterie rechargée par un panneau solaire.


1.4.2. Type de batterie
Le choix de la technologie LITHIUM s'est rapidement imposé, en raison de la facilité d'approvisionnement en cartes chargeurs.

Les batteries chinoises à bas prix sont à éviter, pour des raisons évidentes de capacité mensongère, de durée de vie faible et de résistance interne élevée. Une batterie de marque du genre SAMSUNG 18650 2500mAH pour vapoteuse coûte environ 5€.

Soit dit en passant, l'utilisation d'une batterie 6V ou 12V au plomb serait préférable si le système devait fonctionner par grand froid, à une altitude importante par exemple.

1.4.3. Chargeur
La carte TP4056 est idéale. Elle est capable de fournir 1A :

Elle accepte jusqu'à 8V sur son entrée. Elle a une consommation très faible sur la batterie lorsque son entrée est débranchée ou que le panneau ne fournit pas d'énergie.

1.4.4. Panneau solaire

1.4.4.1. Panneau solaire 5V ou 6V
Il existe des panneaux 5V ou 6V. Un panneau de ce type pourra être utilisé sans régulateur.
Il est par contre impératif de mesurer sa tension à vide en plein soleil afin de vérifier qu'elle ne dépasse pas 8V.
 
1.4.4.2. Panneau solaire 12V ou plus
Je dispose de quelques panneaux 4W de 25cm x 25cm.
Leur tension à vide est de 20V et le courant de court-circuit est de 1A.
En plein soleil il est capable de fournir 18V sur une résistance de 100Ω, donc un courant de 180mA.

Un premier essai de charge d'une batterie 18650 avec un TP4056 permet de constater qu'en début de charge la tension du panneau est de 3.7V pour un courant de 300mA.
Par contre, en fin de charge, le TP4056 coupera le courant et la tension du panneau risque d'augmenter fortement, jusqu'à atteindre sa tension à vide (20V), ce qui serait destructeur pour le TP4056.

Il est indispensable d'abaisser la tension à moins de 8V pour que le TP4056 ne soit pas endommagé. Un MP1584 5V effectuera ce travail :

Un LM2596 ferait également l'affaire :

Pour des raisons de fiabilité je préfère les régulateurs à tension de sortie fixe.
Lorsque l'on utilise un régulateur réglable il faut de préférence choisir un modèle à potentiomètre étanche comme sur le LM2596 ci-dessus.
Ces régulateurs à potentiomètres miniatures sont à proscrire :
MP1584 réglable

Schéma du chargeur

Ce chargeur, couplé avec le panneau solaire décrit plus haut fournit 450mA en début de charge. Il sera donc capable de charger une batterie de 2500mAH en 5H30.

1.4.5. Driver de moteur
Il y a une multitude de possibilités pour alimenter un moteur continu de faible puissance :
Le TB6612FNG par exemple possède une broche de shutdown permettant de le placer dans un mode STANDBY économe en énergie.

Comme le moteur que je compte utiliser est un modèle 12V il faudra de toutes façons élever la tension et un convertisseur step-up s'impose. Si l'on veut éviter que ce convertisseur consomme de l'énergie durant les phases de non activité il faudra le couper (avec un MOSFET par exemple), donc un mode STANDBY sur le driver moteur sera inutile. Un mode STANDBY serait plus utile sur le convertisseur, mais je ne connais pas de convertisseur réglable disposant d'un tel mode.

Pour cette raison j'ai choisi d'utiliser le très classique L293D, qui supportera sans problème les quelques 200mA consommés par le moteur, et se trouve partout pour un prix plus que modique. De plus j'en possède déjà quelques uns.

La broche de puissance VCC2 du L293D sera alimentée à l'aide d'un convertisseur STEP-UP, le MT3608 :
On peut utiliser également un SX1308 :


Voir ici :https://riton-duino.blogspot.com/2019/11/convertisseurs-stepup-stepdown.html

Ce régulateur sera réglé sur 12V ou une autre tension, en fonction du moteur utilisé.

On peut terminer en disant que ceux qui souhaiteraient s'orienter plutôt sur un moteur 6V auraient certainement intérêt à tester son couple en le reliant directement à une batterie LITHIUM-ION 3.7V. En effet rien ne s'oppose à sous-alimenter un moteur, dans des proportions raisonnables toutefois. Si le moteur fournit assez de puissance sous 3.5V par exemple le montage sera largement simplifié. On pourrait envisager ceci :
  • batterie LITHIUM-ION
  • moteur 6V
  • driver TB6612FNG alimenté directement par la batterie
  • ARDUINO PRO MINI 8MHz alimenté directement par la batterie
On évite donc l'emploi d'un convertisseur.
Par contre il faudra bien veiller à vérifier que le montage fonctionne parfaitement dans différentes conditions, avec une batterie à moitié chargée, y compris en hiver, ceci afin d'éviter les surprises.

L'avantage d'une alimentation moteur à l'aide d'un convertisseur 5V ou 6V est que la tension appliquée au moteur variera peu, contrairement à celle d'une batterie.

1.4.6. ARDUINO
Bien que j'aie fait des essais concluants avec une tension de 3.7V, le L293D n'est pas censé être alimenté en dessous de 4.5V. Il sera donc alimenté en 5V, ainsi que l'ARDUINO.
Une carte PRO MINI 16MHz 5V ou 8MHz 3.3V peut convenir, car la PRO MINI 3.3V peut aussi être alimentée en 5V, à condition de retirer son régulateur 3.3V, ou de couper sa broche de sortie.
Un convertisseur STEP-UP à tension de sortie fixe 5V sera donc utilisé pour alimenter ARDUINO et L293D, le XR2981 :


Ce régulateur a une consommation propre de 120µA.

On pourrait aussi envisager un MT3608, un peu plus gourmand : 170µA.

Il est à noter que si l'on utilise un moteur 5V ou 6V, il ne faut pas compter le brancher sur le XR2981 qui alimente l'ARDUINO. Cela pourrait entraîner un reboot de celui-ci lors des démarrages du moteur. Un régulateur séparé est nécessaire, y compris un deuxième XR2981.

1.5. La consommation

Ce montage à base de PRO MINI et L293, sans prendre de précautions particulières consommerait environ 60mA.
Une batterie de 2500mAH aurait donc une autonomie faible :

t = 2500 / 60 = 41 heures

Ce n'est guère acceptable.

La version à servomoteur sera plus économe, le servomoteur consommant 6mA au repos. Mais ce n'est pas négligeable non plus.
 
1.5.1. ARDUINO
Afin de réduire la consommation de la PRO MINI il convient d'utiliser son mode veille. De plus la carte sera modifiée :
  • suppression de la LED POWER
  • suppression du régulateur de tension
Voir ici :

Une PRO MINI 16MHz aura ainsi une consommation de 3µA en mode veille, et 1.5µA si c'est une PRO MINI 8MHz.

1.5.2. Le L293D
Malgré que le L293D possède une broche ENABLE qui peut ramener sa consommation sur VCC2 à 2mA, nous allons faire un petit effort supplémentaire.
Un MOSFET permettra la coupure totale de cette tension. Afin d'éviter que le régulateur STEP-UP ne consomme du courant pour rien lorsque le L293D n'est pas utilisé, la tension sera coupée à l'entrée du régulateur.

Un deuxième MOSFET, plus petit, permettra de couper la tension 5V VCC1, permettant d'économiser encore 8mA.
Deux MOSFETs canal P seront donc utilisés :
Voir ici :

https://riton-duino.blogspot.com/2018/08/alimenter-un-capteur-la-demande.html

1.5.3. Le servomoteur
La version à servomoteur utilisera également un MOSFET de commutation de l'alimentation, afin d'économiser les 6mA qu'il consomme au repos.

2. Essais préliminaires

2.1. Le chargeur

Le chargeur solaire a bien mis une bonne partie de l'après-midi + quelques heures dans la matinée pour recharger une batterie 18650 presque vide.

Lorsque le panneau solaire est placé dans l'obscurité le TP4056 consomme excessivement peu sur la batterie : 3µA.

Ce chargeur est donc parfaitement adapté.

2.2. La consommation au repos

Les premiers essais sur table avec une PRO MINI 16MHz modifiée (LED POWER + régulateur retirés), avec les deux MOSFETs en place permettent de se rendre compte immédiatement de l'efficacité de la solution.

Le montage consomme 150µA au repos. Cette consommation est essentiellement due au XR2981. La consommation journalière n’excédera donc pas 3.6mAH.

Le remplacement du XR2981 par un MT3608 (50µA de plus) n'occasionnera pas une perte d'énergie considérable : 4.8mAH.

2.3. L'autonomie

A la consommation journalière au repos il faut ajouter la consommation journalière du moteur, qui devrait être utilisé au maximum quelques dizaines de secondes par jour.

Avec un moteur ayant une vitesse de rotation de 30 tours / minute et une poulie moteur de 10mm de diamètre le moteur fera dix tours pour ouvrir ou fermer la porte, donc son temps de rotation total journalier sera :

t = 60s / 30 * 10 * 2 = 40s

Si la porte est légère, on peut tabler sur une consommation du moteur de moins de 200mA (il faudra confirmer ce point lors d'essais en charge).

200mA sous 12V occasionneront sous 3.7V un courant plus important, ce qui est normal, étant donné que la puissance est la même en sortie et en entrée du convertisseur, au rendement près. Rien ne se perd, rien ne se crée.
En tenant compte des 95% de rendement du convertisseur MT3608 ou SX1308 :

Ibatt = 200 / 12 * 3.7 / 0.95 = 700mA

Les 40 secondes journalières de fonctionnement coûteront donc :

Cjour = 700 / (3600 / 40) = 7.8mAH

La somme fait donc :

Cjour = 3.6mAH + 7.8mAH = 11.4mAH

Une batterie de 2500mAH aura donc une autonomie importante :

T = 2500 / 11.4 = 219 jours soit 7 mois

Cette batterie sera donc capable de fournir l'énergie nécessaire pendant un hiver particulièrement peu lumineux, et le chargeur pourra la recharger en une seule journée bien ensoleillée.

2.3. La recharge

Comme on l'a vu plus haut le chargeur sera capable de charger une batterie de 2500mAH en 5H30 en plein soleil.
Par temps couvert (brouillard) le panneau va fournir au mieux 10% de sa puissance maximale. Il nous faudra donc 55H pour arriver au même résultat. Si l'on considère que l'on dispose en moyenne de 6 à 8 heures de jour pendant les mois bien couverts (avril, octobre, etc.) il faut donc se réserver une marge confortable et choisir une batterie ayant une autonomie suffisante pour au moins une semaine de fonctionnement.

2.4. Capacité de la batterie

Au vu des calculs on pourrait croire qu'une batterie de 100mAH ou 200mAH pourrait suffire, mais il ne faut pas seulement tenir compte de l'autonomie. Le courant maximal est important.
D'après mes premiers essais avec un servomoteur, j'observe que la batterie fournit une pointe de courant de plus d'1A à l'ouverture de la porte, ce qui équivaut à environ 4W. Il faudrait une batterie d'au moins 500mAH pour pouvoir fournir ce courant.

J'ai choisi une LITHIUM-ION 18650. Pourquoi adopter une batterie d'une telle capacité ?

Parce que son prix est faible. La batterie de vapoteuse 18650 est une batterie de grande diffusion, donc bon marché, moins chère qu'une 16340, 3 fois moins grosse.
Elle est également capable de débiter de forts courants grâce à une résistance interne très faible. La tension d'une batterie chinoise bas de gamme va s'écrouler à la moindre sollicitation. Autant mettre toutes les chances de notre côté et acheter une batterie de marque (SAMSUNG, SONY, MXJO, etc.).

3. Le matériel

Résumons le matériel nécessaire, avec quelques liens :
  • une carte ARDUINO PRO MINI 8MHz ou 16Mhz
  • un moteur JGA25-370 ou équivalent 30 à 60 t/mn
  • une batterie 18650 de marque 
  • un panneau solaire 5V à 20V de quelques watts
  • un L293D 
  • un XR2981 ou un MT3608 
  • un MP1584 5V ou un LM2596 (réglable)
  • un MT3608 ou un SX1308
Tout ce matériel est déjà en ma possession. La partie mécanique (courroie, poulies) est à approvisionner.

4. Téléchargements

Cette première version est disponible ici : 

Le schéma ne comprend que certaines parties :
  • alimentation + chargeur
  • ARDUINO PRO MINI
  • L293D
  • MOSFETs
Le logiciel se limite à un test du principe retenu pour l'alimentation du moteur continu :
  • pilotage du moteur dans les deux sens
  • mise en veille
Il permet de vérifier antre autres la consommation en veille.
Le moteur doit être débranché pour faire une mesure de courant avec le multimètre sur le calibre mA ou µA. Sinon cela mettrait en péril son fusible, qui est souvent un modèle 200mA ou 400mA.

5. Liens utiles

La deuxième partie : le servomoteur
https://riton-duino.blogspot.com/2020/04/porte-motorisee-de-poulailler-2eme.html

6. Conclusion

Ce n'est qu'une conclusion temporaire, en attendant de recevoir le matériel commandé.

En attendant, la partie mécanique va démarrer par la construction du châssis. J'ai en effet l'intention de construire un bâti intégrant la porte, les glissières, le moteur, la transmission ainsi que l'électronique, afin de pouvoir développer la partie logicielle sur table dans des conditions proches de la réalité.
Les 3 solution seront essayées :
  • servomoteur
  • moteur continu + ficelle
  • moteur continu + courroie
  • moteur pas à pas (si j'en ai le temps)
Ce châssis sera monté ensuite directement sur le mur, à l'aide de 4 vis de fixation, équipé de la solution de transmission donnant le meilleur résultat.

La suite au prochain numéro donc.

Cordialement
Henri

Mises à jour :
24/04/2020 : augmentation de la hauteur de la porte
08/05/2020 : 1.3. Le microcontrôleur

6 commentaires:

  1. Bonjour, je cherche aussi à fabriquer une porte ouverture automatique, mais j'ai très peu de connaissance en électronique et plus trop jeune ! mais bricoleur.. est il possible d'avoir une liste du matériel à prévoir et le schéma de raccordement, ainsi je pourrais voir si je suis capable de faire le montage ! Merci beaucoup.
    Jean.fontaine@hotmail.be

    RépondreSupprimer
    Réponses
    1. Il faut lire les articles suivants.
      Voir 5. Liens utiles
      Et les suivants ...

      Supprimer
    2. Merci beaucoup, voilà que je vois votre réponse ! Je commence de suite. Merci

      Supprimer
  2. Bonjour,
    super article, bravo et merci pour toutes ces explications !
    Je me lance dans un projet similaire et étant débutant en électronique (j'ai plus un profil logiciel) je me pose pas mal de questions.
    Est-ce qu'il y aurait un inconvénient majeur d'utiliser les modules tout fait du commerce pour chaque fonction électronique. Par exemple pour le step-down en sortie du panneau solaire il y a des modules à base de MP1584EN pré-câblés. Est-ce qu'il y a une contrainte particulière à utiliser ces modules plutôt que le circuit intégré MP1584 lui-même ?
    Merci d'avance pour tout renseignement.
    Cordialement.

    RépondreSupprimer
    Réponses
    1. C'est bien un module MP1584 que j'ai utilisé.
      Voir la photo plus haut.

      Supprimer
    2. Voir la carte puissance en 3ème partie :
      https://riton-duino.blogspot.com/2020/05/porte-motorisee-de-poulailler-3eme.html
      Il y a une photo de la carte.

      Supprimer