Traqueur Solaire – Plan de câblage

Comment câbler ton ESP32 pour piloter ton traqueur Solaire.

Liste des broches de l’ESP32 utilisées pour le Traqueur:

GPIO  2  = Sortie 2 Moteur B.
GPIO 14 = contrôle vitesse moteur B (utilisation L298N).
GPIO 15 = Sortie 1 Moteur B.
GPIO 16 = fin de course Est.
GPIO 17 = fin de course Ouest.
GPIO 18 = I2C_SDA – bus pour DS3231 et BM280.
GPIO 19 = I2C_SCL – idem ci-dessus.
GPIO 21 = Bouton poussoir Wifi (mise à la masse).
GPIO 22 = Fin de course Sud.
GPIO 23 = Fin de course Nord.
GPIO 25 = Contrôle vitesse moteur A (utilisation L298N).
GPIO 26 = Sortie 1 Moteur A.
GPIO 27 = Sortie 2 Moteur A.
GPIO 32 = LDR BAS/SUD (JAUNE).
GPIO 33 = LDR DROITE/EST (ROUGE).
GPIO 34 = LDR HAUT/NORD (VERT).
GPIO 35 = LDR GAUCHE/OUEST (BLANC).
GPIO 36 = Contrôle niveau de charge batterie.
GPIO 39 = Signal anémomètre de 0 à 3.3v.
 

Module L298N pour la gestion des moteurs/Vérins.

Le module L298N est un double pont en H qui permet de piloter deux moteurs/vérins avec une tension d’alimentation de 5 à 35Vcc et 2Amp par moteur.

NB : Si le jumper n’est pas en place, il te faudra alimenter le L298N avec une alimentation extérieure de 5Vcc. Pour plus d’informations concernant ce module:

Ici la fiche technique.

Il existe sur internet plein d’exemples d’utilisation du L298N avec Arduino ou ESP32.

Il peut fournir une tension de 5Vcc si le Jumper (en jaune sur la photo) est en place et peut alimenter l’ESP ou d’autres modules 5Vcc de faible consommation.

Le +12Vcc (jusqu’à 35Vcc) provient d’une source extérieure pour alimenter les moteurs ou vérins (Batterie 12Vcc ou alim 230V-12Vcc). En 18 mois d’utilisation quotidienne sur mon traqueur équipé de deux vérins 25W chacun, aucune panne ni surchauffe.

Si les vérins demandent plus de 25W chacun, il faudra adapter la partie puissance en remplaçant le module L298N par deux modules BTS7960 qui est un pont en H de 30A par moteur et par module. L’idée est de conserver le contrôle de la vitesse. Tu peux aussi installer des relais SSR de 100A mais tu perds le contrôle de la vitesse. Idem avec d’autres relais de puissance pouvant être déclenchés par une tension de 3.3Vcc.

Selon le type de relais, tu peux piloter des moteurs en courant continu ou en courant alternatif mais sans contrôle de leur vitesse de rotation.
NB: Le contrôle de la vitesse pour réaliser une rampe d’accélération ou de décélération, n’est pas utile si les moteurs ou vérins sont équipés de réducteur importants. Par expérience je peux dire que des déplacements lents sont plus appropriés pour un traqueur. Les alignements gagnent en précision, les vérins forcent moins et consomment moins. La durée de vie de toutes les pièces en mouvement est ainsi prolongée.

Connexions ESP32 et L298N.

Identifie bien le cheminement des câbles par leur couleur pour connecter les bons GPIO de l’ESP au broches du L298N. Le branchement des moteurs n’a pas de polarité. Si le vérin tourne dans le mauvais sens, par exemple, s’il pousse au lieu de tirer, inverse le branchement des fils du vérin.

Broches L298NGPIO ESP32A (Azimut) – B (Elévation)
ENABLE A25Variation vitesse Moteur A
Input 126Vers la droite (Ouest) si HIGH
Input 227Vers la gauche (Est) si HIGH
Input 315Vers le haut (Nord) si HIGH
Input 42Vers le bas (Sud) si HIGH
ENABLE B14Variation vitesse Moteur B

Respecte bien l’ordre de la connexion des Vérins sur le L298N:

  • Moteur A => alignement du traqueur sur l’Azimut du Soleil (Est – Ouest).
  • Moteur B => alignement du traqueur sur la hauteur/élévation du Soleil (Nord – Sud).

Module IBT-2 (un module par moteur)

Le module IBT-2 est un pont en H qui ne pilote qu’un seul moteur à la fois. L’IBT-2 accepte une tension d’alimentation des moteurs de 6 à 27Vcc en délivrant 30A en continue.

IBT-2 BTS7960 6-27Vcc 30Amp

Si ton Traqueur gère deux axes (Azimut et Élévation), il faudra utiliser deux modules. Un par axe. Les deux modules doivent être du même type.

L’IBT-2 demande une alimentation extérieure de 5Vcc. Pour plus d’informations concernant ce module:

Ici la fiche technique.

Connexions ESP32 et IBT-2.

Contrôle bien le cheminement des câbles par leur couleur pour connecter les bons GPIO de l’ESP au broches du module. Le branchement des moteurs n’a pas de polarité. Si le vérin tourne dans le mauvais sens, par exemple, s’il pousse au lieu de tirer, inverse le branchement des fils du vérin.

Broches IBT-2GPIO ESP32A (Azimut) – B (Elévation)
RPWM (MotA)26Vers la droite (Ouest)
LPWM (MotA)27Vers la gauche (Est)
RPWM (MotB)15Vers le haut (Nord)
LPWM (MotB)2Vers le bas (Sud)
R_IS et L_ISNon connectés
R_ES et L_ES+3.3Vcc ou +5Vcc
GNDGNDGND

Respecte bien l’ordre de la connexion du Vérin sur le module de puissance:

  • Moteur A => alignement du traqueur sur l’Azimut du Soleil (Est – Ouest).
  • Moteur B => alignement du traqueur sur la hauteur/élévation du Soleil (Nord – Sud).

Module PWM H-Bridge – MOSFET IRF3205 (un module pour 2 moteurs)

Le module PWM H-Bridge – MOSFET IRF3205 est un double pont en H qui pilote deux moteurs simultanément. Il accepte une tension en entrée de 12 à 24Vcc 2x10A.

Ce module doit être alimenté par une alimentation extérieure de 5Vcc. Pour plus d’informations concernant ce module:

Ici la fiche technique.

Connexions ESP32 et PWM H-Bridge – MOSFET IRF3205

Identifie bien le cheminement des câbles par leur couleur pour connecter les bons GPIO de l’ESP au broches du module. Le branchement des moteurs n’a pas de polarité. Si le vérin tourne dans le mauvais sens, par exemple, s’il pousse au lieu de tirer, inverse le branchement des fils du vérin.

Broches MOSFET IRF3205GPIO ESP32A (Azimut) – B (Elévation)
DIR1 (MotA)26Vers la droite (Ouest)
PWM1 (MotA)27Vers la gauche (Est)
PWM2 (MotB)15Vers le haut (Nord)
DIR2 (MotB)2Vers le bas (Sud)
+5V+5Vcc
GNDGNDGND

Respecte bien l’ordre de la connexion des Vérins sur le module de puissance:

  • Moteur A => alignement du traqueur sur l’Azimut du Soleil (Est – Ouest).
  • Moteur B => alignement du traqueur sur la hauteur/élévation du Soleil (Nord – Sud).

NB: Toutes les connexions avec les GPIO de l’ESP32, le GND, l’alimentation +5Vcc et le 12-24Vcc doivent impérativement être en place pour que le module fonctionne correctement. Si tu fais des tests en ne branchant les commandes que d’un seul moteur, le module ne fonctionnera pas ou de façon aléatoire.


Le module horloge externe DS3231 (I2C)

Le bus I2C est un protocole qui permet de communiquer avec plusieurs module connectés aux mêmes broches SCL et SDA de l’ESP32. Les modules DS3231 et BME280 sont équipés de ce protocole.

La LIR2032 est rechargée par le module DS3231 qui gère sa charge et décharge dés qu’il est alimenté.

le module DS3231permet de conserver la date et l’heure en cas de coupure de l’alimentation si tu choisis de ne pas connecter ton traqueur au wifi de ta Box.
il est alimenté par l’ESP32 en 3,3Vcc ou en 5Vcc en fonctionnement normal. En cas de coupure la pile rechargeable LIR2032 permet à l’horloge du module de continuer à fonctionner pour transmettre la date et l’heure à l’ESP32 lors de son redémarrage. Le logiciel du Traqueur ne fonctionne pas s’il n’a pas une source de temps.

La tension de la pile LIR2032 est de 3.6V ce qui signifie que sa recharge n’est pas correctement assurée si le module est alimenté en 3.3Vcc. Il est donc recommandé de l’alimenté avec une source de 5Vcc extérieure à l’ESP.

IMPORTANT: n’utilise pas une pile CR2032. Elle n’est pas rechargeable et pourrait causer des dommages à ton module.


Le module météo BME280.

Ce module n’est pas indispensable au fonctionnement du Traqueur mais il apporte un petit côté sympa avec l’affichage de la température, le taux d’humidité et la pression atmosphérique.
Il existe en de nombreuses versions, ce qui rend parfois sa configuration mémoire avec l’ESP un peu délicate.
Il est alimenté soit en 5Vccc, soit en 3.3Vcc mais pour chaque tension, c’est un module différent. Il y a une version 5V et une version 3.3V.


Le module de détection d’Azimut et d’Elevation.

Ce module fonctionne avec la lumière qui fait varier la valeur de plusieurs LDRs (résistances sensibles à la lumière). Il va transmettre à l’ESP des tensions sur chaque GPIO connecté. Selon la position du traqueur par rapport au Soleil, l’ESP alimente les vérins dans un sens ou l’autre.
On trouve certains de ces modules qui fonctionnent en 3.3Vcc et d’autres en 5Vcc à +12Vcc. Ils ont la même apparence extérieure. Il faut donc être vigilant au moment de l’achat car le schéma de câblage n’est pas le même.

Version alimentée en 3,3Vcc

Version alimentée en 5V

L’ESP n’accepte que 3.3Vcc maximum sur ses broches GPIO. Il faut donc réaliser un pont diviseur de tension avec plusieurs résistances pour passer de 5v à 3.3V et rester dans sa plage de fonctionnement. Si tu alimentes ton capteur en 12Vcc, il faudra recalculer le pont diviseur.

IMPORTANT : Quelque soit le type de capteur lumineux, il est impératif qu‘il soit alimenté avec une tension très stable (3.3V ou 5V ou 12V). La moindre variation faussera toutes les mesures de ton capteur et peut engendrer des alignements aléatoires. Par exemple si le fonctionnement des vérins entraine une chute de tension, et que le capteur utilise la même alimentation, tu auras des aberrations dans les alignements.


Le module Anémomètre (vitesse du vent).

Ici encore, on se retrouve avec plusieurs options. Il existe un grand nombre de modèles d’anémomètres très différents autant dans la tension d’alimentation que dans le protocole de communication avec le contrôleur (ESP32 dans notre cas).

Un fil sur la masse et l’autre au GPIO 39 de l’ESP

J’ai choisi un capteur simple en 3.3Vcc qui me permet de mettre le Traqueur en position de sécurité si le vent souffle trop fort. Par ailleurs, sur un Traqueur avec seulement deux panneaux solaires, l’anémomètre n’est pas nécessaire si la structure du Traqueur est suffisamment rigide et bien fixée au sol. Pour ma part, je n’utilise pas l’anémomètre malgré le mistral qui souffle dans ma région et mes panneaux sont toujours là…

Sur l’anémomètre en 3.3Vcc, il n’y a que deux fils à connecter directement sur l’ESP comme indiqué ci-dessus. Ce module est simple car il produit une tension de plus en plus forte en fonction de la vitesse de rotation des trois coupelles de l’anémo.

IMPORTANT: Si tu utilises un anémomètre en +5Vcc ou 12Vcc, il faudra réduire la tension du signal de sortie par un pont diviseur de tension pour ne pas dépasser 3.3Vcc.

Vérifie également que ton anémomètre produit bien une tension en fonction de la vitesse de rotation des coupelles. Certains produisent un signal en sortie qui utilise les protocoles RS485(Modbus-RTU), d’autres des milli-ampères (4-20mA) ou des Volt (0-5V, 0-10V) et d’autres des pulses (PNP, NPN, NPNR). Le logiciel n’accepte que les anémomètres qui génèrent une tension maximum de 3,3Vcc.

Relie le GPIO12 à la masse pour éviter l’affichage de valeurs farfelues si tu n’as pas d’anémomètre connecté à ton ESP.


Les contacts de fin de course.

Si tu utilises des vérins linéaires, les fins de courses sont déjà intégrés dans leur mécanisme. Néanmoins, si ton traqueur nécessite des contacts fins de course, le logiciel gère les deux axes mais tu peux n’en utiliser qu’un seul.

Tu as la possibilité d’utiliser différents types de contact de fin course sachant que le logiciel reconnaît la fin de course lorsqu’un des deux GPIO est mis à la masse.

Tu peux utiliser des capteurs magnétiques/inductifs en guise de fin de course, mais toutes les possibilités sont envisageables tant que le fin de course normalement ouvert met à la masse quand il se ferme.


La mesure du niveau de charge de la batterie.

Si tu alimentes ton Traqueur à partir d’une batterie 12V ou 24V, tu peux surveiller son niveau de charge en temps réel. Le schéma proposé est prévu pour une batterie de 12Vcc. Pour une batterie de 24V il faudra recalculer les valeurs des résistances du pont diviseur afin d’avoir toujours 3.3V en sortie du pont diviseur.

La tension maximale admise à l’entrée du pont diviseur est de 15Vcc car certains chargeur de batterie arrive parfois jusqu’à cette tension.

IMPORTANT: Pour une batterie de 24Vcc, le calcul doit prendre en compte une tension de 30Vcc à l’entrée du pont diviseur afin d’intégrer la tension du chargeur.

Si tu alimentes ton Traqueur avec une alimentation secteur et que tu n’utilises pas le GPIO36 pour tester la tension, l’affichage de la batterie est masqué sur la page web mais l’information remonte dans Home Assistant et indiquera 100%

Tu auras également l’information générale d’une alerte si les niveaux bas sont atteint.


Auteur/autrice