Módulo domótico que puede utilizarse como seguidor solar autónomo de uno o dos ejes , trabajando de forma autónoma.
También se puede controlar mediante un sistema de automatización del hogar , como Domoticz (usando firmware DomBus + plugin Domoticz), Home Assistant, Node-RED, OpenHAB , ioBroker y otros sistemas que admiten el protocolo MQTT usando firmware DomBus + DomBusGateway (un software de Python que realiza un puente DomBus2MQTT), o aplicaciones personalizadas y otros sistemas que admiten el protocolo Modbus (usando la versión DomBusTracker2 con firmware Modbus).
Seleccione la página en inglés para obtener la información original más actualizada. ![]()
¿Por qué DomBusTracker2?
- Se puede configurar como modo de eje doble, eje horizontal único o eje inclinado único.
- Funciona en modo autónomo , pero también puede ser monitorizado y controlado por Home Assistant, Domoticz, Node-RED y otros sistemas de automatización compatibles con Modbus o MQTT/MQTT-AD.
- Utiliza un sensor de luz de agujero profundo impermeable que permite optimizar la producción de energía incluso cuando está nublado , orientando los paneles solares hacia la parte más brillante del cielo.
- Muy compacto, fácil cableado , utiliza una potente solución de bus industrial (RS485) que se puede conectar a un controlador mediante hasta 500-1000 m de cable blindado (cable de alarma estándar)
- Consumo de energía muy bajo (15 mW durante la noche) con relés apagados
- Detecta automáticamente los interruptores de límite dentro de los actuadores lineales
- Gestiona 4 sensores de proximidad o finales de carrera adicionales , adecuados para mecanismos de giro.
- Gestiona un anemómetro con salida pulsada para posicionar los paneles solares de forma segura en caso de viento fuerte. Si ya hay un anemómetro instalado en el sitio, no es necesario conectar sensores adicionales: simplemente envía la velocidad del viento por bus (mediante un sistema de automatización).
- El sistema de automatización muestra el estado del rastreador. Por supuesto, es posible controlar la elevación y el azimut mediante el sistema de automatización (smartphone).
- Botones ARRIBA/ABAJO opcionales para controlar manualmente la elevación y el acimut , y un interruptor para configurar el modo manual/automático (seguimiento).
- Salida de zumbador para notificar el modo manual y el modo seguro contra viento (viento fuerte, paneles en posición segura).
- La posición nocturna y la posición de seguridad contra el viento se pueden configurar mediante el sistema de automatización (o registros Modbus), al igual que varios otros parámetros: los parámetros predeterminados ya son adecuados para casi cualquier seguidor solar de dos ejes .
¿Por qué un seguidor solar?
El seguidor solar es muy bueno para los sistemas fotovoltaicos porque mejora la producción total de energía y, además, aumenta la potencia durante las primeras horas de la mañana y las últimas de la tarde , cuando la energía es más cara y menos disponible.
El siguiente gráfico muestra la comparación de la energía producida en un día soleado, el 31 de octubre de 2024, en el norte de Italia, entre un seguidor solar de 2 ejes y una instalación fotovoltaica en el tejado.
![]()
![]()
Comparando ambos sistemas, podemos afirmar que, en estas condiciones, el seguidor de 2 ejes ofrece un rendimiento casi tres veces superior al de un sistema fotovoltaico en el tejado. Normalmente, ofrece casi el doble de rendimiento que un sistema fotovoltaico en un tejado orientado al sur, con una inclinación normal para las casas italianas (unos 15 grados).
Vídeo de YouTube
Este controlador fue diseñado para superar las limitaciones del controlador chino XMYC-3, utilizando el mismo sensor solar, pero añadiendo algunas características como la detección automática de los finales de carrera dentro de los motores (los actuadores lineales tienen finales de carrera en su interior, que cortan la alimentación) y la integración del sistema domótico con Domoticz, Home Assistant, Node-RED, OpenHAB, ioBroker y otros sistemas compatibles con protocolos MQTT o Modbus .
Características ![El controlador DomBusTracker funciona perfectamente incluso cuando está nublado, optimizando la producción de energía fotovoltaica.]()
- Configurable como seguidor de doble eje , eje único horizontal y eje único inclinado .
- Utilice un sensor solar estándar resistente al agua compuesto por 4 fotodetectores, para determinar la mejor inclinación/acimut incluso en caso de nubes.
- Los relés 4x10A permiten controlar 2 actuadores lineales con una fuerza de 800 kg (o accionamientos de giro), alimentados por una fuente de alimentación de 24 V (preferiblemente) o 12 V.
- Si se solicita , es posible tener una versión para motores de mayor potencia, límite de corriente de 15 A para actuadores lineales de mayor potencia hasta 3000 kgf y motores de giro de mayor potencia.
- Detección de corriente para detectar automáticamente los interruptores de límite internos del actuador lineal , para encontrar la posición del motor de escala cero y completa.
- 4 entradas que pueden conectarse a interruptores de límite externos o sensores de proximidad (tipo NPN, común a GND) para el motor azimutal (útil si se utiliza un motor de giro en lugar de un motor lineal). Para ahorrar energía, los sensores de proximidad solo se alimentan cuando es necesario.
- 2 entradas que se pueden conectar a 2 botones opcionales arriba/abajo para mover los motores manualmente
- 1 entrada que se puede conectar a un interruptor opcional para desactivar el seguimiento automático
- 1 entrada (IN12) que se puede conectar a un sensor de viento (anemomentador) con salida pulsada (reed), común a GND, que se puede utilizar para mover el seguidor a una posición segura en caso de viento fuerte o tormenta
- 2 relés adicionales de 5 A para funciones adicionales
- Resistencia de terminación de bus RS485 interna (150 ohmios) que se puede habilitar mediante un puente de PCB (con un soldador)
- Bus RS485, que funciona con hasta 500m de cable (utilizando cable de alarma estándar: 2x0,50+2x0,22mm² + blindaje)
- Caja de perfil bajo para carril DIN, 115 x 90 x 40 mm
- Bloques de terminales enchufables para un cableado sencillo
- Parámetros configurables mediante bus RS485, para trabajar con casi cualquier sistema de seguimiento
- Disponible con 2 firmwares a su elección:
- Firmware DomBus , que utiliza un protocolo multimaestro estándar que funciona con
- Plugin DomBus de Domoticz + Creasol
- Software Home Assistant, Node-RED, OpenHAB, ioBroker + DomBusGateway que realiza un puente entre el protocolo DomBus y MQTT con AutoDiscovery
- Firmware Modbus , que funciona con NodeRED, Home Assistant, OpenHAB y muchos otros controladores compatibles con el protocolo Modbus estándar.
- Firmware DomBus , que utiliza un protocolo multimaestro estándar que funciona con
- El estado del rastreador se expone al sistema domótico o Modbus:
- 0: Modo nublado (el rastreador se mueve con menos frecuencia para evitar el consumo de energía)
- 1: Modo automático
- 2: Modo automático, el motor está en movimiento
- 3: Modo manual
- 4: Modo manual, el motor está en movimiento
- 5: Tarde (el rastreador pasará a la posición nocturna en breve)
- 6: Noche (rastreador en posición nocturna)
- 7: Noche, el motor se está moviendo (el rastreador se dirige a la posición nocturna)
- 8: Mañana (el rastreador pronto dejará la posición nocturna)
- 9: Alerta de viento (viento fuerte: el rastreador pasará pronto a la posición segura contra el viento)
- 10: Viento (rastreador en posición segura contra el viento)
- 11: Viento, el motor se está moviendo (el rastreador se coloca en la posición segura contra el viento)
- Consumo de energía muy bajo : 15 mW con relés desactivados.
- LED rojo/verde que muestra el estado actual:
LED verde parpadeando cada 4 segundos Rastreador en posición nocturna/de descanso LED verde parpadeando cada 2 segundos Rastreador en modo nublado (se mueve con menos frecuencia para ahorrar energía) LED verde parpadeando cada segundo Modo normal (automático) LED verde parpadeando cada 0,25 s Motor encendido, en movimiento LED rojo parpadeando cada segundo Modo manual, configurado mediante la entrada del interruptor o mediante el sistema domótico (dispositivo MAN) LED rojo parpadeando cada 0,25 s Ráfaga de viento detectada (¿tormenta?), rastreador en posición segura - Se puede soldar un zumbador activo opcional (con oscilador, que funciona a 5,5 V) en la PCB para obtener las siguientes alertas:
El zumbador se puede desactivar configurando el parámetro TrackerBuzzer = 0 (ver tabla a continuación)1 pitido Rastreador en modo manual 2 pitidos Ráfaga de viento detectada => rastreador en modo de seguridad
Aunque varios parámetros son configurables por el usuario, los valores predeterminados son adecuados en la mayoría de los casos, por lo que el dispositivo se puede utilizar tal cual para la mayoría de los seguidores solares de doble eje.
Sensor de luz solar resistente al agua ya suministrado, mientras que los motores y la unidad de alimentación de 24 V NO se suministran.
¿Firmware DomBus o Modbus?
El controlador del seguidor solar está disponible con dos firmwares a su elección:
- Modbus, adecuado para todos los sistemas que admiten el protocolo Modbus estándar y para sistemas personalizados que utilizan ese protocolo
- DomBus es compatible con Domoticz (mediante el plugin Creasol DomBus), HomeAssistant, NodeRED, OpenHAB, ioBroker y otros sistemas compatibles con MQTT con AutoDiscovery, mediante el software de Python DomBusGateway, que conecta el protocolo DomBus con el protocolo estándar MQTT-AD. Además, los sistemas de automatización de edificios compatibles con MQTT con AutoDiscovery detectarán automáticamente todas las entidades del seguidor solar.
Antes de pedir DomBusTracker2
Antes de realizar un pedido, por favor escriba a
- Tipo de motor de inclinación (¿actuadores lineales con interruptores de límite internos?) y corriente mínima/máxima del motor (usada para determinar la resistencia correcta para la detección de corriente)
- tipo de motor azimutal (actuador lineal con interruptores de límite internos o accionamiento de giro con interruptores de límite externos) y corriente mínima/máxima (utilizada para determinar la resistencia correcta para la detección de corriente en el caso de un actuador lineal)
- Tipo de firmware: compatible con el protocolo Dombus, recomendado para sistemas monitorizados/controlados por Home Assistant, Domoticz, NodeRED, OpenHAB e ioBroker. También compatible con Modbus RTU si el sistema no está controlado por ningún sistema domótico o si está controlado por un sistema o programa personalizado que se comunica mediante Modbus.
Tenga en cuenta que la corriente máxima, en cada motor, debe ser menor o igual a 10 A.
Esquema de conexión
![]()
Cómo funciona DomBusTracker
- De forma predeterminada, funciona como un controlador de seguimiento de doble eje, pero se puede configurar como un seguidor de eje horizontal o de eje inclinado cambiando el parámetro TrackerType : consulte la sección de parámetros configurables a continuación .
- Utiliza un sensor de luz de agujero profundo para determinar dónde el cielo es más brillante. Esto también funciona en caso de cielo nublado, por lo que los paneles se orientan automáticamente hacia la zona más brillante del cielo. DomBusTracker muestra los valores del sensor de luz para cada dirección, así como un porcentaje (ver puertos NS y EW): cuando el rastreador está alineado con el sol, NS y EW están cerca del 50 %. Si se produce un desplazamiento, se compara con 50 +/- TrackerLightDeviation* para determinar si es necesario mover el rastreador.
Por ejemplo, si NS >= 50+TrackerLightDeviationNS, entonces active el motor MS para aumentar la inclinación.
Si EW >= 50+TrackerLightDeviationEW entonces active el motor MW para mover los paneles hacia el oeste.
En caso de que EW < 50, el valor se compara con 50-TrackerLightDeviationEW*2 para evitar que los rastreadores con motor rápido se muevan hacia el oeste y luego regresen al este. - Se deben configurar los siguientes parámetros: TrackerWorkingTimeNS que establece el tiempo de trabajo del motor de inclinación, TrackerWorkingTimeEW que establece el tiempo de trabajo del motor de azimut.
Además, es posible configurar TrackerHomingNS para que establezca el número de solicitudes de movimiento de inclinación tras las cuales el controlador se mueve al 0 % o al 100 % para mantener la precisión de la posición. La función de posicionamiento inicial no se ejecuta durante el seguimiento del sol, sino solo cuando se solicita un comando para moverse a una posición fija (incluida la posición nocturna, matutina y del viento). Lo mismo ocurre con TrackerHomingEW para la posición azimutal. - Este controlador mide la corriente que alimenta los motores para detectar el interruptor de límite interno (normalmente disponible en los actuadores lineales). En el caso de engranajes de giro, se pueden utilizar interruptores de límite normalmente abiertos (predeterminado) o normalmente cerrados. Si se utilizan sensores de proximidad, es posible configurar TrackerProximityEnable en 1 o 2 para alimentarlos. Cuando TrackerProximityEnable = 1, la alimentación se suministra solo cuando es necesaria, lo que reduce el consumo de energía. Normalmente, se utilizan sensores de proximidad NPN con salida NC, por lo que, en caso de rotura de un cable de proximidad, el motor deja de funcionar.
- El rastreador se mueve cada 5 minutos ( TrackerPeriodicCheck) si el día está soleado, o cada vez más tiempo ( TrackerPeriodicCheckCloudy ) si está nublado (consulte el parámetro TrackerCloudyThreshold para establecer el umbral de luz y distinguir entre nublado y soleado). Los parámetros se muestran a continuación y pueden ser modificados por el usuario. El tiempo más largo se configura para evitar que el rastreador cambie de posición con demasiada frecuencia cuando el día está nublado.
- Cuando la luz disminuye, por la noche, bajando del valor TrackerSensorMin , un contador comienza a aumentar y cuando alcanza el valor TrackerNightTime (300 segundos, por defecto), los paneles se orientarán a la posición TrackerNightPositionNS (inclinación) y TrackerNightPositionEW (acimut).
- Cuando la luz aumenta, por la mañana, superando el valor TrackerSensorMin , los paneles se orientan a la posición TrackerMorningPositionNS (inclinación) y TrackerMorningPositionEW (acimut).
- Si se conecta un anemómetro a la entrada de viento, este mide su frecuencia comparándola con el valor TrackerWindThreshold : si la velocidad del viento se mantiene por encima de este umbral durante TrackerWindStartTime segundos, la posición de los paneles se guarda y se mueven a una posición segura establecida por TrackerWindPositionNS y TrackerWindPositionEW. Si la velocidad del viento desciende por debajo del umbral durante TrackerWindRecoveryTime segundos, los paneles se mueven a la posición anterior.
El sistema funciona también sin una conexión directa al anemómetro: la velocidad del viento puede proporcionarse externamente, mediante un sistema de automatización de edificios que obtiene esta información de una estación meteorológica, por ejemplo: en este caso es suficiente una automatización simple para escribir el registro de viento / entidad del controlador del seguidor, una buena solución en el caso de un gran parque fotovoltaico con varios seguidores, o en caso de que ya esté disponible una estación meteorológica.
Capacidades de los puertos DomBusTracker (para la versión DomBus)
Dirección predeterminada: 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 |
Capacidades de DomBusTracker Modbus RTU (para la versión Modbus)
Al encenderse, el módulo muestra en el LED rojo la dirección actual del esclavo Modbus (dirección de registro=8192) en formato decimal, en el LED verde la velocidad en baudios serie (reg. 8193) y finalmente en el LED rojo la paridad serie (reg. 8194).
Si un valor es cero, se emite un destello largo.
Por ejemplo, si reg(8192)=208, reg(8193)=0, reg(8194)=0, al encenderlo se mostrarán los siguientes destellos del led:
2 destellos rojos, pausa, destello rojo largo (para 0), 8 destellos rojos (dirección esclava = 0xd0 = 208 decimal), pausa, 1 destello verde largo (reg(8193)=0 => velocidad en baudios=115200bps), pausa, 1 destello rojo largo (reg(8194)=0 => paridad=Ninguna).
El dispositivo estará operativo solo cuando se hayan mostrado los parámetros de dirección/velocidad en baudios/paridad: entonces el módulo aceptará comandos por Modbus RTU y mostrará periódicamente el estado del rastreador.
Dirección esclava predeterminada: 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 |
Las siguientes tablas muestran algunos ejemplos de comandos Modbus.
| Dirección de esclavo | Código de función | Dirección de registro | Valor normal | Marco | Descripción |
| 208 | 06 | 8192 | 1 | [d0][06][20][00][00][01][xx][xx] | Cambiar la dirección del esclavo de 208 (0xd0) a 1 |
| 01 | 06 | 8193 | 4 | [01][06][20][01][00][04][D2][09] | Establezca la velocidad serial a 9600bps |
| 01 | 06 | 8194 | 1 | [01][06][20][02][00][01][E2][0A] | Establecer paridad par |
| 49 | 10 | 8192 | 1,4,1 | [31][10][20][00][00][03][06][00][01][00][04][00][01][B1][71] | Con un solo comando, configure la dirección del esclavo en 1, la velocidad serial en 9600 bps y la paridad par. La dirección original del módulo en este ejemplo era 49 (0x31). |
| 01 | 06 | 0 | 65280 | [01][06][00][00][FF][00][C8][3A] | Activar la salida RL1 para siempre (65280=0xff00) |
| 01 | 06 | 1 | 960 | [01][06][00][01][03][C0][D8][AA] | Activar RL2 durante 960/32=30 s |
| 01 | 06 | 255 | 0 | [01][06][00][FF][00][00][B9][FA] | Deshabilitar todas las salidas (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] | Configure RL1 en encendido durante 1 s (32), RL2 en apagado, RL3 en apagado, RL4 en encendido: se pueden configurar un máximo de 10 registros en un comando |
| 01 | 03 | 255 | 1 | [01][03][00][FF][00][01][B4][3A] | Lee un valor de 16 bits con el estado de los puertos. Por ejemplo, si el valor devuelto es 0xd1 (0b11010001), el estado de salida es: RL8=Encendido, RL7=Encendido, RL6=Apagado, RL5=Encendido, RL4=Apagado, RL3=Apagado, RL2=Apagado, RL1=Encendido |
| 01 | 03 | 8198 | 2 | [01][03][20][06][00][02][2F][CA] | Leer 4 bytes dentro de la versión del módulo. Por ejemplo, si el valor devuelto es <30><32><68><31> (en formato hexadecimal), el valor ASCII correspondiente es "02h1" (firmware 02h1). |
| 01 | 0F | 0 | 8,1,0xd1 | [01][0F][00][00][00][08][01][D1][3E][C9] | Establezca el estado de la bobina en 0xd1 (0b11010001), activando RL8, RL7, RL5, RL1 y deshabilitando otros relés |
| 01 | 01 | 0 | 8 | [01][01][00][00][00][08][3D][CC] | Leer el estado de la bobina. Si el valor devuelto es 0xd1 (0b11010001), significa que RL8, RL7, RL5 y RL1 están activados. |
El protocolo Modbus se puede probar fácilmente utilizando un programa Modbus, como mbpoll para Linux:
mbpoll -v -mrtu -0 -1 -a 208 -b 115200 -P ninguno -r 8192 /dev/ttyUSB0 1
para establecer el registro 8192 (dirección esclava) al nuevo valor 1 (la dirección debe ser única cuando se instalan más módulos DomBus).
mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P ninguno -r 10023 /dev/ttyUSB0 120
Para establecer el tiempo de trabajo del motor azimutal a 120 s
mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P ninguno -r 22 /dev/ttyUSB0 0 50
para mover el rastreador a la posición horizontal (elevación=0%) y sur (acimut=50%)
Parámetros configurables
El usuario puede configurar los siguientes parámetros para establecer los tiempos de trabajo del motor y lograr que el rastreador funcione como prefiera.
| 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. |
Cómo configurar DomBusTracker con Domoticz
Se necesita la versión del protocolo DomBus para trabajar con Domoticz.
Se debe instalar el complemento Creasol DomBus: se puede descargar desde https://github.com/CreasolTech/CreasolDomBus o se puede instalar desde Python Plugin Manager o Domoticz Plugins Manager.
Los pasos de configuración son:
- Una vez conectado al controlador Domoticz, verá un nuevo dispositivo en el panel de Interruptores con la dirección ff38: edite ese dispositivo y añada en el campo Descripción el texto "HWADDR=0x3801" para cambiar su dirección predeterminada a 3801 u otro valor único. A continuación, actualice el panel de Interruptores para ver todos los dispositivos, cada uno para cada puerto. Encontrará otros dispositivos en el panel de Utilidades (sensores de luz y corriente).
- Configure los tiempos de trabajo del motor, en segundos, escribiendo en el campo Descripción del dispositivo Pns , INIT=80 si el tiempo para ir de la posición horizontal a la vertical (o viceversa) es de 80s, y escriba en el campo Descripción del dispositivo Pew , INIT=140 si el tiempo total para mover el seguidor de Este a Oeste es de 140s.
- Configurar la posición de la mañana/sueño: por ejemplo, TrackerNightPositionNS = 20 (inclinación = 20 %, casi horizontalmente, dirección = 10000) y TrackerNightPositionEW = 0 (acimut = 0 %, hacia el este, dirección = 10002).
- Si hay un sensor de viento conectado, configure los parámetros TrackerWindThreshold, TrackerWindStartTime, TrackerWindRecoveryTime, TrackerWindPositionNS y TrackerWindPositionEW (consulte la tabla de configuración a continuación): cuando el rastreador esté en modo automático (no manual) y el anemómetro produzca una frecuencia superior a TrackerWindThreshold durante al menos TrackerWindStartTime segundos, el rastreador se moverá a TrackerWindPositionNS/TrackerWindPositionEW. Si la frecuencia del anemómetro permanece por debajo de TrackerWindThreshold durante más de TrackerWindRecoverTime, el rastreador volverá a la posición anterior y comenzará el seguimiento automáticamente.
- Si es necesario, cambie otros parámetros explicados en la sección Parámetros configurables más arriba.
- El rastreador se puede mover mediante pulsadores, si está conectado a IN7 e IN8, como se muestra en el esquema. También se puede bloquear o restablecer en modo automático mediante el interruptor conectado a IN9. Estos comandos manuales no suelen ser necesarios.
- El rastreador también se puede mover desde un smartphone, PC o tableta, moviendo los controles deslizantes Pns (posición del motor de inclinación NS) y Pew (posición del motor de azimut EW). Por ejemplo, al configurar Pns=0 y Pew=0, el rastreador volverá a la posición de "mañana", orientado al este y horizontalmente. Tenga en cuenta que al mover el rastreador manualmente, el dispositivo Man se activa automáticamente, desactivando la función automática de seguimiento solar. Esto es útil, por ejemplo , en caso de tormenta : el rastreador se puede colocar manualmente (o mediante un sistema automatismo externo) en una posición segura (por ejemplo, Pns=0 y Pew=0 o 100); una vez pasada la tormenta , DomBusTracker se puede restaurar al modo automático configurando Man=0ff para que siga el sol/la luz automáticamente .
![]()
Cómo configurar DomButracker con Home Assistant, Node-RED, OpenHAB, ioBroker
Si DomBusTracker está programado con el firmware DomBus, puede instalar el software Python DomBusGateway que implementa la interfaz MQTT de DomBus 2 con la función AutoDiscovery.
De esta forma, el sistema domótico detecta automáticamente el módulo DomBusTracker, creando todas las entidades.
Para configurar los parámetros de trabajo del tracker, es posible conectar DomBusGateway mediante telnet, configurando cada puerto según sea necesario.
TODO: ejemplo de configuración
Cómo configurar DomBusTracker con firmware Modbus
El firmware Modbus es muy versátil porque se puede utilizar de muchas formas diferentes, por ejemplo, con NodeRED con su interfaz de usuario y paleta Modbus, Home Assistant utilizando la integración Modbus, pero también directamente utilizando el programa mbpoll o modpoll para configurar los pocos parámetros para que funcione correctamente.
Los pasos de configuración son:
- Identifique los parámetros Modbus: dirección del esclavo, tasa de bits y paridad. Se muestran al encender el dispositivo mediante LEDs rojo y verde, como se especifica en la sección anterior sobre las capacidades Modbus RTU de DomBusTracker (dirección predeterminada: 208, tasa de bits: 115200, paridad: Ninguna).
- Si es necesario, configure el dispositivo con una dirección única, de 1 a 247 (escribiendo el nuevo valor de la dirección en el registro 8192)
- Si se utiliza el controlador para un seguidor horizontal de un solo eje (HSAT), se escribe 1 en el registro TrackerType (11000). Si se utiliza un seguidor inclinado de un solo eje (TSAT), se escribe 2 en el registro TrackerType (11000). Valor predeterminado: seguidor de dos ejes (DAT).
- Configure los tiempos de trabajo del motor, en segundos, configurando los registros TrackerWorkingTimeNS (tiempo de trabajo de inclinación, dirección = 10022) y TrackerWorkingTimeEW (tiempo de trabajo de azimut, dirección = 10023).
- Configurar la posición de la mañana/sueño: establecer por ejemplo TrackerNightPositionNS al 20% escribiendo 20 en la dirección 10000, y TrackerNightPositionEW=0 escribiendo 0 en la dirección 10002
- En caso de que se conecte un anemómetro al bloque de terminales Wind, o en caso de que se envíe el valor de la velocidad del viento al dispositivo (escribiendo el registro 12), se deben configurar los siguientes parámetros:
TrackerWindThreshold (registro 10018) = velocidad/frecuencia del viento por encima de la cual el controlador comienza a contar
TrackerWindStartTime (registro 11018) = tiempo, en segundos, que la velocidad del viento debe superar el trackerWindThreshold antes de mover los paneles a la posición segura contra el viento
TrackerWindRecoveryTime (registro 12018) = tiempo, en segundos, que la velocidad del viento debe estar por debajo del trackerWindThreshold antes de restaurar los paneles a la posición anterior, saliendo del modo seguro contra el viento
TrackerWindPositionNS (registro 13018) = posición de inclinación, en porcentaje, para la posición segura contra el viento. 0=horizontal, 100=vertical
TrackerWindPositionEW (registro 14018) = posición azimutal, en porcentaje, para la posición de seguridad contra el viento. 0=Este, 100=Oeste - Por defecto, los interruptores de límite están configurados como Normalmente Abiertos, con GND = común, por lo que se ignoran si no están instalados. Si los interruptores de límite o sensores de proximidad están Normalmente Conectados , elimine la opción INVERTIDA del puerto 16-19 escribiendo 0 en la dirección de registro 528-531.
- Si es necesario, cambie otros parámetros explicados en la sección Parámetros configurables anterior utilizando los mismos métodos indicados anteriormente.
- El rastreador se puede mover mediante pulsadores, si está conectado a las entradas Mv.N, Mv.S, Mv.E y Mv.W. Además, se puede bloquear (modo manual) o restablecer al modo automático mediante el interruptor conectado al bloque de terminales Man . Estos comandos manuales no suelen ser necesarios, ya que el sistema se puede gestionar desde el smartphone si se utiliza un sistema domótico.
- El rastreador también se puede mover desde el smartphone/PC escribiendo la posición en % en Pns (posición NS o elevación/inclinación) y Pew (posición EW o acimut). Por ejemplo, al configurar Pns=0 (escribiendo 0 en el registro 22) y Pew=0 (escribiendo 0 en el registro 23), el rastreador volverá a la posición segura, orientado al este y horizontalmente. Tenga en cuenta que al mover el rastreador manualmente, el dispositivo Man (registro 24) se activa automáticamente (1), desactivando la función automática de seguimiento solar. Esto es útil, por ejemplo , en caso de tormenta si la entrada de viento no está conectada a ningún anemómetro: el rastreador se puede colocar manualmente (o mediante un sistema automatismo externo) en una posición segura según la velocidad y dirección del viento, para evitar daños en el panel causados por el granizo.