Module domotique pouvant être utilisé comme tracker solaire autonome à un ou deux axes .
Il peut également être contrôlé par un système domotique , comme Domoticz (utilisant le firmware DomBus + le plugin Domoticz), Home Assistant, Node-RED, OpenHAB , ioBroker et d'autres systèmes prenant en charge le protocole MQTT utilisant le firmware DomBus + DomBusGateway (un logiciel Python effectuant un pont DomBus2MQTT), ou des applications personnalisées et d'autres systèmes prenant en charge le protocole Modbus (utilisant la version DomBusTracker2 avec le firmware Modbus).
Veuillez sélectionner la page en anglais pour obtenir les informations originales les plus récentes. ![]()
Pourquoi DomBusTracker2 ?
- Il peut être configuré en mode double axe, axe horizontal unique ou axe incliné unique.
- Il fonctionne en mode autonome , mais peut également être surveillé et contrôlé par Home Assistant, Domoticz, Node-RED et d'autres systèmes domotiques compatibles Modbus ou MQTT/MQTT-AD.
- Il utilise un capteur de lumière étanche à trou profond qui permet d' optimiser la production d'énergie même par temps nuageux , en orientant les panneaux solaires vers la partie la plus lumineuse du ciel.
- Très compact, câblage facile , utilise une solution de bus industriel robuste (RS485) qui peut être connectée à un contrôleur par un câble blindé jusqu'à 500-1000 m (câble d'alarme standard).
- Consommation d'énergie très faible (15 mW la nuit) avec les relais désactivés.
- Détecte automatiquement les interrupteurs de fin de course à l'intérieur des actionneurs linéaires.
- Gère 4 capteurs de proximité ou interrupteurs de fin de course supplémentaires , adaptés aux engrenages de rotation.
- Ce système gère un anémomètre à sortie pulsée afin d'orienter correctement les panneaux solaires en cas de vent fort. Si un anémomètre est déjà installé sur site, aucun capteur supplémentaire n'est nécessaire : la valeur de la vitesse du vent est transmise par bus (via un système d'automatisation).
- L'état du traceur est affiché sur le système domotique. Il est bien sûr possible de contrôler l'élévation et l'azimut via le système domotique (smartphone).
- Boutons HAUT/BAS optionnels pour contrôler manuellement l'élévation et l'azimut , et un commutateur pour définir le mode manuel/automatique (suivi).
- Sortie sonore pour signaler le mode manuel et le mode de sécurité contre le vent (vent fort, panneaux en position de sécurité).
- La position de nuit et la position de sécurité contre le vent sont configurables par le système d'automatisation (ou les registres Modbus), ainsi que plusieurs autres paramètres : les paramètres par défaut conviennent déjà à presque tous les trackers solaires à deux axes .
Pourquoi un système de suivi solaire ?
Le suiveur solaire est très avantageux pour les systèmes photovoltaïques car il améliore la production totale d'énergie et, de plus, augmente la puissance tôt le matin et en fin d'après-midi , lorsque l'énergie est plus chère et moins disponible.
Le graphique suivant compare l'énergie produite lors d'une journée ensoleillée, le 31 octobre 2024, dans le nord de l'Italie, entre un système de suivi solaire à 2 axes et un système photovoltaïque sur le toit.
![]()
![]()
En comparant les deux systèmes, on constate que, dans ces conditions, le tracker à 2 axes est presque trois fois plus performant qu'un système photovoltaïque installé sur le toit. En temps normal, son rendement est presque deux fois supérieur à celui d'un système photovoltaïque installé sur un toit orienté plein sud, avec une inclinaison standard pour les maisons italiennes (environ 15 degrés).
Vidéo YouTube
Ce contrôleur a été conçu pour surmonter les limitations du contrôleur chinois XMYC-3, utilisant le même capteur solaire, mais en ajoutant certaines fonctionnalités comme la détection automatique des interrupteurs de fin de course à l'intérieur des moteurs (les actionneurs linéaires ont des interrupteurs de fin de course à l'intérieur, qui coupent l'alimentation) et l' intégration du système domotique avec Domoticz, Home Assistant, Node-RED, OpenHAB, ioBroker et d'autres systèmes prenant en charge les protocoles MQTT ou Modbus .
Caractéristiques 
- Configurable en tant que tracker à double axe , à axe unique horizontal et à axe unique incliné .
- Utilisez un capteur solaire étanche standard composé de 4 photodétecteurs, pour déterminer l'inclinaison/l'azimut optimal même en cas de nuages.
- 4 relais de 10 A permettent de commander 2 actionneurs linéaires d'une force de 800 kg (ou des entraînements de rotation), alimentés par une unité d'alimentation de 24 V (de préférence) ou de 12 V.
- Sur demande , il est possible d'avoir une version pour moteurs de puissance supérieure, une limite de courant de 15 A pour les actionneurs linéaires de puissance supérieure jusqu'à 3000 kgf et les moteurs de rotation de puissance supérieure.
- Détection de courant pour détecter automatiquement les interrupteurs de fin de course internes de l'actionneur linéaire , afin de trouver la position zéro et pleine échelle du moteur.
- Quatre entrées peuvent être connectées à des interrupteurs de fin de course externes ou à des capteurs de proximité (type NPN, commun à la masse) pour le moteur azimutal (utile lorsqu'un moteur de rotation est utilisé à la place d'un moteur linéaire). En effet, afin de réduire la consommation d'énergie, les capteurs de proximité ne sont alimentés qu'en cas de besoin.
- Deux entrées peuvent être connectées à deux boutons optionnels de montée/descente pour actionner manuellement les moteurs.
- 1 entrée pouvant être connectée à un interrupteur optionnel pour désactiver le suivi automatique
- Une entrée (IN12) peut être connectée à un anémomètre à sortie pulsée (reed), reliée à la masse (GND), permettant de déplacer le tracker vers une position sûre en cas de vent fort ou de tempête.
- 2 relais supplémentaires de 5 A pour des fonctions additionnelles
- Résistance de terminaison de bus RS485 interne (150 ohms) qui peut être activée par un cavalier sur circuit imprimé (avec un fer à souder)
- Bus RS485, fonctionnant avec un câble jusqu'à 500 m (en utilisant un câble d'alarme standard : 2 x 0,50 + 2 x 0,22 mm² + blindage)
- Boîtier extra-plat pour rail DIN, 115 x 90 x 40 mm
- Borniers enfichables pour un câblage facile
- Paramètres configurables via le bus RS485, pour une compatibilité avec la quasi-totalité des systèmes de suivi.
- Disponible avec 2 firmwares au choix :
- Le firmware DomBus utilise un protocole multi-maître standard fonctionnant avec
- Plugin Domoticz + Creasol DomBus
- Logiciels Home Assistant, Node-RED, OpenHAB, ioBroker et DomBusGateway assurant la liaison entre le protocole DomBus et MQTT avec AutoDiscovery.
- Firmware Modbus , compatible avec NodeRED, Home Assistant, OpenHAB et de nombreux autres contrôleurs prenant en charge le protocole Modbus standard.
- Le firmware DomBus utilise un protocole multi-maître standard fonctionnant avec
- L'état du traceur est exposé au système domotique ou Modbus :
- 0 : Mode nuageux (le traqueur se déplace moins fréquemment afin de réduire la consommation d’énergie)
- 1 : Mode automatique
- 2 : Mode automatique, le moteur est en mouvement
- 3 : Mode manuel
- 4 : Mode manuel, le moteur est en mouvement
- 5 : Soirée (le tracker va bientôt passer en position nuit)
- 6 : Nuit (traceur en position nuit)
- 7 : Nuit, le moteur est en mouvement (le tracker se dirige vers sa position nocturne)
- 8h : Matin (le traceur va bientôt quitter sa position nocturne)
- 9 : Alerte vent (vent fort : le traceur se mettra bientôt à l'abri du vent)
- 10 : Vent (traceur en position de sécurité contre le vent)
- 11 : Vent, le moteur est en mouvement (le tracker se met en position de sécurité contre le vent)
- Consommation d'énergie très faible : 15 mW avec les relais désactivés.
- Voyant LED rouge/vert indiquant l'état actuel :
LED verte clignotante toutes les 4 secondes Tracker en position de nuit/repos LED verte clignotante toutes les 2 secondes Tracker en mode nuage (déplacements moins fréquents pour économiser l'énergie) LED verte clignotant toutes les secondes Mode normal (automatique) LED verte clignotant toutes les 0,25 s Moteur allumé, en mouvement LED rouge clignotant toutes les secondes Mode manuel, réglé par l'entrée de l'interrupteur ou par le système domotique (appareil MAN) LED rouge clignotant toutes les 0,25 s Rafale de vent détectée (orage ?), le traceur est en position de sécurité - Un buzzer actif optionnel (avec oscillateur, fonctionnant à 5,5 V) peut être soudé sur le circuit imprimé pour obtenir les alertes suivantes :
Le buzzer peut être désactivé en définissant le paramètre TrackerBuzzer = 0 (voir tableau ci-dessous).1 bip Suivi en mode manuel 2 bips Rafale de vent détectée => le traceur est en mode sécurité
Bien que plusieurs paramètres soient configurables par l'utilisateur, les valeurs par défaut conviennent dans la plupart des cas, de sorte que l'appareil peut être utilisé tel quel pour la plupart des suiveurs solaires à deux axes.
Capteur de lumière solaire étanche déjà fourni, mais moteurs et bloc d'alimentation 24V non fournis.
Firmware DomBus ou Modbus ?
Le contrôleur de suivi solaire est disponible avec deux firmwares au choix :
- Modbus convient à tous les systèmes prenant en charge le protocole Modbus standard, ainsi qu'aux systèmes personnalisés utilisant ce protocole.
- DomBus est compatible avec Domoticz (via le plugin Creasol DomBus), ainsi qu'avec Home Assistant, Node-RED, OpenHAB, ioBroker et autres systèmes prenant en charge MQTT avec AutoDiscovery, grâce au logiciel Python DomBusGateway qui établit une passerelle entre le protocole DomBus et le protocole standard MQTT-AD. De plus, les systèmes domotiques compatibles MQTT avec AutoDiscovery détecteront automatiquement tous les éléments du suiveur solaire.
Avant de commander DomBusTracker2
Avant de passer commande, veuillez envoyer un courriel à
- type de moteur d'inclinaison (actionneurs linéaires avec interrupteurs de fin de course internes ?) et courant moteur min/max (utilisé pour déterminer la résistance appropriée pour la détection du courant)
- type de moteur azimutal (actionneur linéaire avec interrupteurs de fin de course internes ou entraînement de rotation avec interrupteurs de fin de course externes) et courant min/max (utilisé pour déterminer la résistance appropriée pour la détection de courant dans le cas d'un actionneur linéaire)
- Type de firmware : compatible avec le protocole Dombus, recommandé pour les systèmes surveillés/contrôlés par Home Assistant, Domoticz, Node-RED, OpenHAB ou ioBroker. Compatible également avec Modbus RTU si le système n’est contrôlé par aucun système domotique ou s’il est contrôlé par un système ou un programme personnalisé communiquant via Modbus.
Veuillez noter que le courant maximal, sur chaque moteur, doit être inférieur ou égal à 10 A.
Schéma de connexion
![]()
Comment fonctionne DomBusTracker
- Par défaut, il fonctionne comme un contrôleur de suivi à deux axes, mais il peut être configuré comme un suivi à axe horizontal ou à axe incliné en modifiant le paramètre TrackerType : consultez la section des paramètres configurables ci-dessous .
- Il utilise un capteur de luminosité à trou profond pour détecter les zones de ciel plus éclairées : ce système fonctionne même par temps nuageux, les panneaux s'orientant automatiquement vers la zone la plus lumineuse. DomBusTracker affiche les valeurs du capteur de luminosité pour chaque direction, ainsi qu'un pourcentage (voir les ports NS et EW) : lorsque le tracker est aligné sur le soleil, les valeurs NS et EW sont proches de 50 %. En cas de décalage, celui-ci est comparé à 50 ± TrackerLightDeviation* pour déterminer si le tracker doit être déplacé.
Par exemple, si NS >= 50+TrackerLightDeviationNS, alors activez le moteur MS pour augmenter l'inclinaison.
Si EW >= 50+TrackerLightDeviationEW, alors activez le moteur MW pour déplacer les panneaux vers l'ouest.
Dans le cas où EW<50, la valeur est comparée à 50-TrackerLightDeviationEW*2 pour éviter que les trackers avec un moteur rapide ne se déplacent vers l'ouest puis ne reviennent vers l'est. - Les paramètres suivants doivent être configurés : TrackerWorkingTimeNS qui définit la durée de fonctionnement du moteur d’inclinaison, TrackerWorkingTimeEW qui définit la durée de fonctionnement du moteur d’azimut.
Il est également possible de configurer TrackerHomingNS, qui définit le nombre de requêtes de déplacement pour l'inclinaison après lesquelles le contrôleur revient à sa position initiale (0 ou 100 %) afin de maintenir la précision de la position : la fonction de retour à l'origine n'est pas activée pendant le suivi solaire, mais uniquement lorsqu'une commande de déplacement vers une position fixe (y compris la position de nuit, du matin et la position due au vent) est demandée. Le même principe s'applique à TrackerHomingEW pour la position en azimut. - Ce contrôleur mesure le courant alimentant les moteurs afin de détecter le contacteur de fin de course interne (généralement présent sur les actionneurs linéaires). Dans le cas d'engrenages de rotation, des contacts de fin de course normalement ouverts (par défaut) ou normalement fermés peuvent être utilisés. Si des capteurs de proximité sont utilisés, il est possible de configurer TrackerProximityEnable sur 1 ou 2 pour alimenter ces capteurs. Lorsque TrackerProximityEnable=1, l'alimentation est fournie uniquement en cas de besoin, ce qui réduit la consommation d'énergie. Généralement, des capteurs de proximité NPN à sortie NF sont utilisés ; ainsi, en cas de rupture d'un câble de proximité, le moteur s'arrête.
- Le traceur est déplacé toutes les 5 minutes ( TrackerPeriodicCheck) par temps ensoleillé, ou à un intervalle plus long ( TrackerPeriodicCheckCloudy ) par temps nuageux (utilisez le paramètre TrackerCloudyThreshold pour définir le seuil de luminosité permettant de distinguer les conditions nuageuses des conditions ensoleillées). Les paramètres sont indiqués ci-dessous et peuvent être modifiés par l'utilisateur. L'intervalle plus long permet d'éviter des changements de position trop fréquents du traceur par temps nuageux.
- Lorsque la lumière diminue, le soir, en passant sous la valeur TrackerSensorMin , un compteur commence à augmenter et lorsqu'il atteint la valeur TrackerNightTime (300 secondes par défaut), les panneaux seront orientés vers la position TrackerNightPositionNS (inclinaison) et TrackerNightPositionEW (azimut).
- Lorsque la lumière augmente, le matin, dépassant la valeur TrackerSensorMin , les panneaux sont orientés vers la position TrackerMorningPositionNS (inclinaison) et TrackerMorningPositionEW (azimut).
- Si un anémomètre est connecté à l'entrée Vent, sa fréquence est mesurée et comparée à la valeur TrackerWindThreshold . Si la vitesse du vent reste supérieure à ce seuil pendant TrackerWindStartTime secondes, la position des panneaux est enregistrée et ces derniers sont déplacés vers une position de sécurité définie par TrackerWindPositionNS et TrackerWindPositionEW. Lorsque la vitesse du vent redescend en dessous du seuil pendant TrackerWindRecoveryTime secondes, les panneaux reviennent à leur position initiale.
Le système fonctionne également sans connexion directe à l'anémomètre : la vitesse du vent peut être fournie de l'extérieur, par exemple par un système d'automatisation du bâtiment qui obtient cette information d'une station météorologique : dans ce cas, une simple automatisation suffit pour écrire l'enregistrement/l'entité du vent du contrôleur de suivi, une solution intéressante dans le cas d'une grande ferme photovoltaïque avec plusieurs trackers, ou dans le cas où une station météorologique est déjà disponible.
Fonctionnalités des ports DomBusTracker (pour la version DomBus)
Adresse par défaut : 0xffd0
| Port# | Name | Capabilities | Default configuration | Description |
| 1 | MN | OUT_DIGITAL | OUT_DIGITAL | SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars. |
| 2 | MS | OUT_DIGITAL | OUT_DIGITAL | SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars. |
| 3 | ME | OUT_DIGITAL | OUT_DIGITAL | SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars. |
| 4 | MW | OUT_DIGITAL | OUT_DIGITAL | SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only: tracker position may be changed by using the Pns and Pew control bars. |
| 5 | RL5 | OUT_DIGITAL | OUT_DIGITAL | 5A SPST relay (only NO contact), 250Vac or 30Vdc capability, that can be used for other purposes |
| 6 | RL6 | OUT_DIGITAL | OUT_DIGITAL | 5A SPST relay (only NO contact), 250Vac or 30Vdc capability, that can be used for other purposes |
| 7 | N | IN_ANALOG | IN_ANALOG | North light sensor. |
| 8 | S | IN_ANALOG | IN_ANALOG | South light sensor. |
| 9 | E | IN_ANALOG | IN_ANALOG | East light sensor. |
| 10 | W | IN_ANALOG | IN_ANALOG | West light sensor. |
| 11 | Ins | IN_ANALOG | IN_ANALOG | North-South (tilt) motor current sensing (used to detect internal limit switches). This port should be configured as IN_ANALOG,A=0.0005,TypeName=Current (Single) to get current value in Ampere |
| 12 | Iew | IN_ANALOG | IN_ANALOG |
East-West (azimuth) motor current sensing (used to detect internal limit switches). |
| 13 | Wind | CUSTOM | CUSTOM |
Wind input, to be optionally connected to a cup anemometer sensor with pulsed output to measure the frequency. |
| 14 | Bns | IN_TWINBUTTON | IN_TWINBUTTON |
Analog input that can be connected to an optional external dual button (UP/DOWN) switch to manually move the motor NS (elevation/tilt). |
| 15 | Bew | IN_TWINBUTTON | IN_TWINBUTTON |
Analog input that can be connected to an optional external dual button (UP/DOWN) switch to manually move the motor EW (azimuth). |
| 16 | Sman | IN_DIGITAL | IN_DIGITAL,INVERTED |
Digital input that can be connected to an optional switch to disable automatic mode. It can be used for maintenance, to block motors |
| 17 | LSN | IN_DIGITAL | IN_DIGITAL,INVERTED |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "North" position (minimum elevation). |
| 18 | LSS | IN_DIGITAL | IN_DIGITAL,INVERTED |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "South" position (maximum elevation). |
| 19 | LSE | IN_DIGITAL | IN_DIGITAL,INVERTED |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "East" position (minimum elevation). |
| 20 | LSW | IN_DIGITAL | IN_DIGITAL,INVERTED |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "West" position (minimum elevation). |
| 21 | NS | CUSTOM | CUSTOM |
0-100% bar showing the deviation of the maximum NS radiation direction from the current tilt position |
| 22 | EW | CUSTOM | CUSTOM |
0-100% bar showing the deviation of the maximum EW radiation direction from the current azimuth position |
| 23 |
Pns |
CUSTOM | CUSTOM |
0-100% bar showing the current tilt position |
| 24 | Pew | CUSTOM | CUSTOM |
0-100% bar showing the current azimuth position |
| 25 | Man | OUT_DIGITAL | OUT_DIGITAL |
If Off, tracker is in automatic tracking mode. |
| 26 | Buzz | OUT_FLASH | OUT_FLASH |
Optional buzzer state: 1 flash => Manual mode, 2 flashes => Wind mode |
| 27 | TrackerState | CUSTOM | CUSTOM |
Tracker status, as described above |
Fonctionnalités Modbus RTU de DomBusTracker (pour la version Modbus)
À la mise sous tension, le module affiche sur la LED rouge l'adresse esclave Modbus actuelle (adresse du registre = 8192) au format décimal, sur la LED verte le débit en bauds série (registre 8193) et enfin sur la LED rouge la parité série (registre 8194).
Si la valeur est nulle, un long flash est émis.
Par exemple, si reg(8192)=208, reg(8193)=0, reg(8194)=0, à la mise sous tension, les clignotements de la LED suivants seront affichés :
2 clignotements rouges, pause, long clignotement rouge (pour 0), 8 clignotements rouges (adresse esclave = 0xd0 = 208 décimal), pause, 1 long clignotement vert (reg(8193)=0 => débit en bauds=115200bps), pause, 1 long clignotement rouge (reg(8194)=0 => parité=None).
L'appareil ne sera opérationnel que lorsque les paramètres d'adresse/de débit/de parité auront été affichés : le module acceptera alors les commandes par Modbus RTU et affichera périodiquement l'état du tracker.
Adresse esclave par défaut : 208 (0xd0)
| Addr | Name | Values | Description |
| 0 | MN | 0=OFF, 1=ON. Read only. Tracker position may be changed by using the Pns and Pew control bars. |
SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only |
| 1 | MS |
0=OFF, 1=ON. Read only. |
SPDT 10A relay that have to be connected to the tilt linear actuator (North/South): see schematic below. Read-only |
| 2 | ME | 0=OFF, 1=ON. Read only. Tracker position may be changed by using the Pns and Pew control bars. |
SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only |
| 3 | MW | 0=OFF, 1=ON. Read only. Tracker position may be changed by using the Pns and Pew control bars. |
SPDT 10A relay that have to be connected to the tilt linear actuator (East/West): see schematic below. Read-only |
| 4 | RL5 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time. Logic can be inverted specifying the INVERTED option (on address 512+port) |
SPST 5A, that can be used for other purposes |
| 5 | RL6 | 0=OFF, 1 or 65280=ON, 2-65279=ON for specified time. Logic can be inverted specifying the INVERTED option (on address 512+port) |
SPST 5A, that can be used for other purposes |
| 6 | N | 0-65520 depending by the solar radiation received by this sensor. | North light sensor. |
| 7 | S | 0-65520 depending by the solar radiation received by this sensor. | South light sensor. |
| 8 | E | 0-65520 depending by the solar radiation received by this sensor. | East light sensor. |
| 9 | W | 0-65520 depending by the solar radiation received by this sensor. | West light sensor. |
| 10 | Ins | 0=OFF, >0 = 16-65520 if motor current is detected. Ins = value*0.00042 [A] in case that sensing resistor is 0.12Ohm |
North-South (tilt) motor current sensing (used to detect internal limit switches). To get the current value in Ampere, multiply the value get reading this register by 0.0005 |
| 11 | Iew | 0=OFF, >0 = 16-65520 if motor current is detected. Ins = value*0.00042 [A] in case that sensing resistor is 0.12Ohm |
East-West (azimuth) motor current sensing (used to detect internal limit switches). To get the current value in Ampere, multiply the value get reading this register by 0.0005 |
| 12 | Wind | 0÷500 | Frequency of the rotating cup anemomenter in Hz. Read/write: writing to this register, the wind input is disabled and the written value is used to decide if wind speed is above or below the configured level. |
| 13 | Bns | 0=OFF, 10=DOWN, 20=UP | Used to manually control the SN motor (for tilt/elevation) by an external UP/DOWN dual button |
| 14 | Bew | 0=OFF, 10=DOWN, 20=UP | Used to manually control the EW motor (for azimuth) by an external UP/DOWN dual button. |
| 15 | Sman | 0=AUTO, 1=MANUAL/STOP |
Used to manually disable motors by an external switch connected to GND: motor will be moved manually, by the Bns and Bew dual buttons, or by the Pns and Pew domotic controllers. |
| 16 | LSN | 0=Open, 1=Shorted (active status) |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "North" position (minimum elevation). |
| 17 | LSS | IN_DIGITAL |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "South" position (maximum elevation). |
| 18 | LSE | IN_DIGITAL |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "East" position (minimum elevation). |
| 19 | LSW | IN_DIGITAL |
Input, with 10k pullup, that can be connected to a limit switch or proximity sensor (NPN type) to sense the "West" position (minimum elevation). |
| 20 | NS | 0=max radiation from the "North" side (minimum tilt). 100=max radiation from the "South" side (maximum tilt). |
0-100% bar showing the deviation of the maximum NS radiation direction from the current tilt position. |
| 21 | EW | 0=max radiation from East side. 100=max radiation from West side. |
0-100% bar showing the deviation of the maximum EW radiation direction from the current azimuth position |
| 22 |
Pns |
0=minimum tilt. 100=maximum tilt |
0-100% bar showing the current tilt position. Also, setting this register to a value between 0 and 100 automatically move the tracker to this position and set the register Man (23) to the value 1 (tracker in manual mode => no automatic tracker): in this case the automatic tracking function is disabled, useful to control the solar panel manually for example to lock the tracker in a safe position in case of hail or strong wind. |
| 23 | Pew | 0=minimum azimuth (East). 100=maximum azimuth (West) |
0-100% bar showing the current azimuth position. Also, setting this register to a value between 0 and 100 automatically move the tracker to this position and set the register Man (23) to the value 1 (tracker in manual mode => no automatic tracker): in this case the automatic tracking function is disabled, useful to control the solar panel manually for example to lock the tracker in a safe position in case of hail or strong wind. |
| 24 | Man | 0=Automatic mode. 1=Manual mode. |
If Off, tracker is in automatic tracking mode. |
| 25 | Buzz | 0=Off, 1=Manual mode, 2=Wind safe mode |
Buzzer status |
| 26 | TrackerState | 0-10, as explained below in the Features section |
This register shows the current sun tracker status |
| 255 | All input ports | bitmask: 1=> MN, 2=>MS, 4=>ME ... |
This address is used to check input state in one command |
| 256-273 | Port config | 1=OUT_DIGITAL, 2=OUT_RELAY_LP, ... |
Command used to configure port 1 (256), port 2 (257), ... as OUT_DIGITAL or OUT_RELAY_LP (low power consumption relay) or other value (see table below) |
| 512-529 | Port option | 0=NORMAL , 1=INVERTED (output normally ON, or input is ON when port voltage is 0V) | Set port option. If set to 1, output stays ON after boot until the port is asserted (then relays goes OFF). For inputs, setting INVERTED the port value is ON (1) when input voltage is 0V, OFF when input is left open with internal pullhigh enabled. |
| 8192 | Slave Address | 1-247 | Permits to change the slave address of the module, so it's possible to add other modules to the same bus |
| 8193 | Serial bitrate | 0=115200bps , 1=57600, 2=38400, 3=19200, 4=9600, 5=4800, 6=2400, 7=1200bps | Serial speed, default 115200 bps 8,n,1 |
| 8194 | Serial parity | 0=None , 1=Even, 2=Odd | Serial parity, default none (115200 bps 8,n,1) |
| 8198 | Revision, major | Read only | Get firmware version, major number. For example "02" means that revision is "02XX" where XX defined by parameter 8199 |
| 8199 | Revision, minor | Read only | Get firmware version, minor number. For example "h1" means that revision is "XXh1" where XX defined by parameter 8198 |
Les tableaux suivants présentent quelques exemples de commandes Modbus.
| Adresse esclave | Code fonctionnel | Adresse d'enregistrement | Valeur régulière | Cadre | Description |
| 208 | 06 | 8192 | 1 | [d0][06][20][00][00][01][xx][xx] | Modifier l'adresse esclave de 208 (0xd0) à 1 |
| 01 | 06 | 8193 | 4 | [01][06][20][01][00][04][D2][09] | Réglez la vitesse de transmission série à 9600 bps |
| 01 | 06 | 8194 | 1 | [01][06][20][02][00][01][E2][0A] | Établir une parité égale |
| 49 | 10 | 8192 | 1,4,1 | [31] [10] [20] [00] [00] [03] [06] [00] [01] [00] [04] [00] [01] [B1] [71] | Une seule commande permet de configurer l'adresse esclave à 1, la vitesse de transmission série à 9 600 bps et la parité paire. Dans cet exemple, l'adresse d'origine du module était 49 (0x31). |
| 01 | 06 | 0 | 65280 | [01][06][00][00][FF][00][C8][3A] | Activer la sortie RL1 en permanence (65280=0xff00) |
| 01 | 06 | 1 | 960 | [01][06][00][01][03][C0][D8][AA] | Activez RL2 pendant 960/32=30s |
| 01 | 06 | 255 | 0 | [01][06][00][FF][00][00][B9][FA] | Désactiver toutes les sorties (Reg.Addr=255) |
| 01 | 10 | 0 | 32,0,0,65280 | [31] [10] [00] [00] [00] [04] [08] [00] [20] [00] [00] [00] [00] [FF] [00] [E6] [5C] | Activer RL1 pendant 1 s (32), désactiver RL2, désactiver RL3, activer RL4 - Jusqu'à 10 registres peuvent être configurés en une seule commande |
| 01 | 03 | 255 | 1 | [01][03][00][FF][00][01][B4][3A] | Lire une valeur 16 bits avec l'état des ports. Par exemple, si la valeur renvoyée est 0xd1 (0b11010001), l'état de sortie est : RL8=Marche, RL7=Marche, RL6=Arrêt, RL5=Marche, RL4=Arrêt, RL3=Arrêt, RL2=Arrêt, RL1=Marche |
| 01 | 03 | 8198 | 2 | [01][03][20][06][00][02][2F][CA] | Lire 4 octets dans la version du module. Par exemple, si la valeur renvoyée est <30><32><68><31> (au format hexadécimal), la valeur ASCII correspondante est « 02h1 » (Firmware 02h1). |
| 01 | 0°F | 0 | 8,1,0xd1 | [01][0F][00][00][00][08][01][D1][3E][C9] | Configurer l'état de la bobine à 0xd1 (0b11010001), en activant RL8, RL7, RL5, RL1 et en désactivant les autres relais. |
| 01 | 01 | 0 | 8 | [01][01][00][00][00][08][3D][CC] | Lire l'état des bobines. Si la valeur renvoyée est 0xd1 (0b11010001), cela signifie que RL8, RL7, RL5 et RL1 sont activées. |
Le protocole Modbus peut être facilement testé à l'aide d'un programme Modbus, comme mbpoll pour Linux :
mbpoll -v -mrtu -0 -1 -a 208 -b 115200 -P aucun -r 8192 /dev/ttyUSB0 1
pour définir le registre 8192 (adresse esclave) sur la nouvelle valeur 1 (l'adresse doit être unique, lorsque plusieurs modules DomBus sont installés).
mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P none -r 10023 /dev/ttyUSB0 120
Régler le temps de fonctionnement du moteur d'azimut à 120 secondes
mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P none -r 22 /dev/ttyUSB0 0 50
déplacer le tracker en position horizontale (élévation = 0 %) et sud (azimut = 50 %)
Paramètres configurables
L'utilisateur peut configurer les paramètres suivants pour définir les durées de fonctionnement du moteur et faire fonctionner le tracker selon ses préférences.
| Parameter name | Description | Range | Default | DomBus settings |
Modbus address |
| TrackerType |
Type of sun tracker: 0 = Dual axis, 1 = Horizontal single axis (axis direction N-S), 2 = Tilted single axis (axis direction: E-W) |
0÷2 | 0 | PAR1=0 on port MN | 11000 |
| TrackerPeriodicCheck | Time to wait before moving the motors again, during tracking. Please note that, at power-on, the controller wait 30s before starting motors! |
10÷2000 seconds | 300 | INIT=300 on port Man (Manual On/Off virtual device) | 10024 |
| TrackerPeriodicCheckCloudy | Time to wait before moving the motors again, during tracking, when cloudy. Please note that, at power-on, the controller wait 30s before starting motors! |
10÷2000 | 900 | PAR1=900 on port Man |
11024 |
| TrackerCloudyThreshold | Threshold for the average value of light sensor: when light sensors below this threshold, it's cloudy and tracker will move less frequently | 0÷64000 | 42000 | PAR2=42000 on port Man |
12024 |
| TrackerLightDeviationNS |
% of displacement of the NS light sensor before adjusting tilt If NS <= 50-TrackerLightDeviationNS move motor to North (reducing tilt) If NS >= 50+TrackerLightDeviationNS move motor to South (increasing tilt) |
1-20 | 3 | INIT=2 on port NS (light sensor NS) |
10020 |
| TrackerLightDeviationEW |
% of displacement of the EW light sensor before adjusting tilt If EW <= 50-TrackerLightDeviationEW*2 move motor to East If EWS >= 50+TrackerLightDeviationEW move motor to West |
1-20 | 3 | INIT=2 on port EW (light sensor EW) |
10021 |
| TrackerSensorMin | Threshold for sensors N+S to distinguish between night and day | 16÷16384 | 256 | INIT=1536 on port MS (Motor S coil) | 10001 |
| TrackerNightTime | Time to wait from night detection before moving to the night position | 60÷43200 seconds | 300 | INIT=300 on port MW (Motor W coil) | 10003 |
| TrackerNightPositionNS | Night tilt position (percentage: 0=horizontal, 100=vertical) | 0÷100 | 20 | INIT=20 on port MN (Motor N coil) | 10000 |
| TrackerNightPositionEW | Night azimuth position (percentage: 0=East, 100=West) | 0÷100 | 0 | INIT=0 on port ME | 10002 |
| TrackerMorningPositionNS | Morning tilt position (percentage: 0=horizontal, 100=vertical) | 0÷100 | 100 | PAR2=100 on port MN (Motor N coil) | 12000 |
| TrackerMorningPositionEW | Morning azimuth position (percentage: 0=East, 100=West) | 0÷100 | 0 | PAR2=0 on port ME | 12002 |
| TrackerWorkingTimeNS | Tilt actuatator working time | 10÷2000 seconds | 100 | INIT=100 on port Pns (Position percentage NS) | 10022 |
| TrackerWorkingTimeEW | Azimuth actuatator working time | 10÷2000 seconds | 100 | INIT=100 on port Pew (Position percentage EW) | 10023 |
| TrackerCurrentMinNS | Threshold to determine if current is flowing through the motor NS. 0 to disable current sensing. |
0÷16384 | 144 | INIT=144 on port Ins (current measured on Motor NS) | 10010 |
| TrackerCurrentMinEW | Threshold to determine if current is flowing through the motor EW. 0 to disable current sensing |
0÷16384 | 144 | INIT=144 on port Iew (current measured on Motor EW) | 10011 |
| TrackerHomingNS |
Max number of tilt motor activations before looking for "home" position (0% or 100%, the nearest) in case that tracker must move to a fixed position (night, wind or user defined). It's used to increase accuracy in case that motor has moved several times looking for the best sun direction, very useful in case of cloudy weather. | 10÷30000 | 20 | PAR1=20 on port Ins (current measured on Motor NS) |
11010 |
| TrackerHomingEW |
Max number of tilt motor activations before looking for "home" position (0% or 100%, the nearest) in case that tracker must move to a fixed position (night, wind or user defined). It's used to increase accuracy in case that motor has moved several times looking for the best sun direction, very useful in case of cloudy weather. | 10÷30000 | 20 | PAR1=20 on port Iew (current measured on Motor EW) |
11011 |
| TrackerInterlock |
In automatic tracking mode, always one motor is activated. If TrackerInterlock=0, in Manual mode both motors can be activated simultaneously. If TrackerInterlock=1, only one motor can be activated at a time. This can be useful when high current motors are used, to prevent overheating on terminal blocks and relays. |
0÷1 | 1 | PAR1=1 on port MS |
11001 |
| TrackerBuzzer |
0=Disable buzzer output |
0÷1 | 1 | INIT=0 on port Buzz | 10025 |
| TrackerWindThreshold |
0=Disabled |
0÷400 | 10 | INIT=10 on port Wind |
10012 |
| TrackerWindStartTime |
0=immediate entering safe mode 1÷3600=enter safe mode after this time (in seconds) where wind speed is always greater than TrackerWindThreshold |
0÷3600 | 30 | PAR1=30 on port Wind |
11012 |
| TrackerWindRecoveryTime |
Time to wait before returning from safe to automatic mode, when wind speed drops below TrackerWindThreshold level |
30÷3600 | 300 | PAR2=300 on port Wind | 12012 |
| TrackerWindPositionNS |
Tracker elevation in safe position (percentage: 0=horizontal, 100=vertical). If value = 101 => elevation is ignored (not changed in case of strong wind) |
0÷101 | 10 | PAR3=10 on port Wind | 13012 |
| TrackerWindPositionEW |
Tracker azimuth in safe position (percentage: 0=East, 100=West). If value = 101 => azimuth is ignored (not changed in case of strong wind): this can be useful in case of dual axis sun trackers with slewing motor and very long azimuth working time, where it's just needed to put tracker horisontal |
0÷101 | 101 | PAR4=10 on port Wind | 14012 |
| TrackerProximityEnable |
Enable power supply for proximity sensors. |
Comment configurer DomBusTracker avec Domoticz
La version du protocole DomBus est nécessaire pour fonctionner avec Domoticz.
Le plugin Creasol DomBus doit être installé : il peut être téléchargé depuis https://github.com/CreasolTech/CreasolDomBus ou installé depuis Python Plugin Manager ou Domoticz Plugins Manager.
Les étapes de configuration sont les suivantes :
- Une fois connecté au contrôleur Domoticz, un nouvel appareil apparaît dans le panneau « Interrupteurs » avec l'adresse ff38. Modifiez cet appareil et ajoutez le texte « HWADDR=0x3801 » dans le champ « Description » pour remplacer son adresse par défaut par 3801 ou une autre valeur unique. Actualisez ensuite le panneau « Interrupteurs » pour afficher tous les appareils, un par port. D'autres appareils sont disponibles dans le panneau « Utilitaires » (capteurs de luminosité et de courant).
- Configurez les temps de fonctionnement du moteur, en secondes, en écrivant dans le champ Description du périphérique Pns ,INIT=80 si le temps pour passer de la position horizontale à la position verticale (ou vice versa) est de 80 s, et écrivez dans le champ Description du périphérique Pew ,INIT=140 si le temps total pour déplacer le tracker d'Est en Ouest est de 140 s.
- Configurez la position du matin/sommeil : par exemple, TrackerNightPositionNS = 20 (inclinaison = 20 %, presque horizontale, addr = 10000) et TrackerNightPositionEW = 0 (azimut = 0 %, vers l’est, addr = 10002).
- Si un capteur de vent est connecté, configurez les paramètres TrackerWindThreshold, TrackerWindStartTime, TrackerWindRecoveryTime, TrackerWindPositionNS et TrackerWindPositionEW (voir le tableau de configuration ci-dessous) : lorsque le tracker est en mode automatique (et non manuel !), et que l’anémomètre enregistre une fréquence supérieure à TrackerWindThreshold pendant au moins TrackerWindStartTime secondes, le tracker se déplace vers TrackerWindPositionNS ou TrackerWindPositionEW. Si la fréquence de l’anémomètre reste inférieure à TrackerWindThreshold pendant plus de TrackerWindRecoverTime, le tracker revient à sa position précédente, puis reprend le suivi automatique.
- Si nécessaire, modifiez les autres paramètres expliqués dans la section « Paramètres configurables » ci-dessus.
- Le dispositif de suivi peut être actionné par des boutons-poussoirs, s'ils sont connectés aux entrées IN7 et IN8 comme indiqué sur le schéma. Il peut également être verrouillé ou remis en mode automatique grâce à l'interrupteur connecté à l'entrée IN9. Ces commandes manuelles sont généralement inutiles.
- Le tracker peut également être déplacé depuis un smartphone, un PC ou une tablette, en ajustant les curseurs Pns (position du moteur d'inclinaison NS) et Pew (position du moteur d'azimut EW). Par exemple, en réglant Pns sur 0 et Pew sur 0, le tracker reviendra à sa position initiale, orientée vers l'est et horizontalement. Veuillez noter que lors d'un déplacement manuel, le dispositif Man est automatiquement activé, désactivant ainsi le suivi solaire automatique. Ceci est utile, par exemple, en cas d'orage : le tracker peut être placé manuellement (ou par un système d'automatisation externe) dans une position sûre (par exemple Pns = 0 et Pew = 0 ou 100). Une fois l'orage passé , le DomBusTracker peut être remis en mode automatique en réglant Man sur 0 pour suivre automatiquement la course du soleil .
![]()
Comment configurer DomBustracker avec Home Assistant, Node-RED, OpenHAB et ioBroker ?
Si DomBusTracker est programmé avec le firmware DomBus, vous pouvez installer le logiciel Python DomBusGateway qui implémente l'interface DomBus 2 MQTT avec la fonction AutoDiscovery.
Ainsi, le système domotique détecte automatiquement le module DomBusTracker et crée toutes les entités nécessaires.
Pour configurer les paramètres de fonctionnement du tracker, il est possible d'utiliser la connexion DomBusGateway via telnet, en configurant chaque port selon les besoins.
À faire : exemple de configuration
Comment configurer DomBusTracker avec un firmware Modbus
Le firmware Modbus est très polyvalent car il peut être utilisé de nombreuses manières différentes, par exemple avec NodeRED grâce à son interface utilisateur et sa palette Modbus, Home Assistant grâce à l'intégration Modbus, mais aussi directement en utilisant le programme mbpoll ou modpoll pour configurer les quelques paramètres nécessaires à son bon fonctionnement.
Les étapes de configuration sont les suivantes :
- Identifiez les paramètres Modbus : adresse esclave, débit binaire et parité. Ils sont indiqués à la mise sous tension par des LED rouges et vertes, comme spécifié dans la section « Fonctionnalités Modbus RTU du DomBusTracker » ci-dessus (par défaut : adresse = 208, débit binaire = 115 200, parité = Aucune).
- Si nécessaire, configurez le périphérique avec une adresse unique, de 1 à 247 (en écrivant la nouvelle valeur d'adresse dans le registre 8192).
- En cas d'utilisation du contrôleur pour un tracker horizontal à un seul axe (HSAT), inscrivez 1 dans le registre TrackerType (11000), tandis qu'en cas d'utilisation d'un tracker incliné à un seul axe (TSAT), inscrivez 2 dans le registre TrackerType (11000). Valeur par défaut : tracker à deux axes (DAT).
- Configurez les temps de fonctionnement du moteur, en secondes, en paramétrant les registres TrackerWorkingTimeNS (temps de fonctionnement de l'inclinaison, addr=10022) et TrackerWorkingTimeEW (temps de fonctionnement de l'azimut, addr=10023).
- Configurez la position matin/sommeil : définissez par exemple TrackerNightPositionNS à 20 % en écrivant 20 à l’adresse 10000, et TrackerNightPositionEW à 0 en écrivant 0 à l’adresse 10002.
- Si un anémomètre est connecté au bornier Wind, ou si la valeur de la vitesse du vent est envoyée à l'appareil (en écrivant dans le registre 12), les paramètres suivants doivent être configurés :
TrackerWindThreshold (registre 10018) = vitesse/fréquence du vent au-dessus de laquelle le contrôleur commence à compter
TrackerWindStartTime (registre 11018) = temps, en secondes, pendant lequel la vitesse du vent doit dépasser le seuil TrackerWindThreshold avant de déplacer les panneaux en position de sécurité contre le vent.
TrackerWindRecoveryTime (registre 12018) = temps, en secondes, pendant lequel la vitesse du vent doit être inférieure au seuil TrackerWindThreshold avant que les panneaux ne reprennent leur position initiale et que le mode de sécurité contre le vent ne soit désactivé.
TrackerWindPositionNS (registre 13018) = position d'inclinaison, en pourcentage, pour une position de sécurité face au vent. 0 = horizontal, 100 = vertical
TrackerWindPositionEW (registre 14018) = position azimutale, en pourcentage, pour la position de sécurité face au vent. 0 = Est, 100 = Ouest - Par défaut, les interrupteurs de fin de course sont configurés en mode normalement ouvert (GND = commun) ; ils sont donc ignorés s'ils ne sont pas installés. Si les interrupteurs de fin de course ou les capteurs de proximité sont normalement connectés , désactivez l'option INVERTED pour les ports 16 à 19 en écrivant 0 dans le registre à l'adresse 528 à 531.
- Si nécessaire, modifiez les autres paramètres expliqués dans la section « Paramètres configurables » ci-dessus en utilisant les mêmes méthodes.
- Le traceur peut être activé par des boutons-poussoirs s'il est connecté aux entrées Mv.N, Mv.S, Mv.E et Mv.W. Il peut également être verrouillé (mode manuel) ou remis en mode automatique grâce à l'interrupteur connecté au bornier Man . Ces commandes manuelles sont généralement inutiles, car le système peut être géré par smartphone dans le cadre d'un système domotique.
- Le tracker peut également être déplacé depuis un smartphone ou un PC en saisissant sa position en pourcentage dans les champs Pns (position NS ou élévation/inclinaison) et Pew (position EW ou azimut). Par exemple, en définissant Pns=0 (en écrivant 0 dans le registre 22) et Pew=0 (en écrivant 0 dans le registre 23), le tracker retournera à sa position de sécurité, orienté vers l'est et horizontalement. Veuillez noter que lors d'un déplacement manuel du tracker, le dispositif Man (registre 24) est automatiquement activé (1), désactivant ainsi la fonction de suivi solaire automatique. Ceci est utile, par exemple, en cas de tempête si l'entrée Vent n'est connectée à aucun anémomètre : le tracker peut alors être placé manuellement (ou par un système d'automatisation externe) dans une position sûre en fonction de la vitesse et de la direction du vent, afin de prévenir également les dommages causés aux panneaux par la grêle.