Modulo domotico che può essere utilizzato come inseguitore solare autonomo, mono o biassiale , funzionante in modo autonomo.

Può anche essere controllato da un sistema di automazione domestica , come Domoticz (utilizzando il firmware DomBus + plugin Domoticz), Home Assistant, Node-RED, OpenHAB , ioBroker e altri sistemi che supportano il protocollo MQTT utilizzando il firmware DomBus + DomBusGateway (un software Python che esegue il bridge DomBus2MQTT), o applicazioni personalizzate e altri sistemi che supportano il protocollo Modbus (utilizzando la versione DomBusTracker2 con firmware Modbus).

Per le informazioni originali più aggiornate, seleziona la pagina in inglese. Single and Dual axis solar tracker controller working with Home Assistant, Modbus, ...

Perché DomBusTracker2?

  • Può essere configurato come modalità a doppio asse, asse orizzontale singolo, asse inclinato singolo
  • Funziona in modalità stand-alone , ma può anche essere monitorato e controllato da Home Assistant, Domoticz, Node-RED e altri sistemi di automazione che supportano Modbus o MQTT / MQTT-AD
  • Utilizza un sensore di luce impermeabile a foro profondo che consente di ottimizzare la produzione di energia anche quando è nuvoloso , orientando i pannelli solari verso la parte più luminosa del cielo
  • Molto compatto, cablaggio semplice , utilizza una potente soluzione bus industriale (RS485) che può essere collegata a un controller tramite un cavo schermato lungo fino a 500-1000 m (cavo di allarme standard)
  • Consumo energetico molto basso (15mW durante la notte) con relè OFF
  • Rileva automaticamente i finecorsa all'interno degli attuatori lineari
  • Gestisce 4 sensori di prossimità o finecorsa aggiuntivi , adatti per riduttori di rotazione.
  • Gestisce un anemometro con uscita impulsiva per posizionare i pannelli solari in sicurezza in caso di vento forte. Se un anemometro è già installato in loco, non è necessario collegare sensori aggiuntivi: è sufficiente inviare il valore della velocità del vento tramite bus (utilizzando un'automazione).
  • Stato del tracker visualizzato sul sistema di automazione. Naturalmente è possibile controllare l'elevazione/azimut tramite il sistema di automazione (smartphone).
  • Pulsanti SU/GIÙ opzionali per controllare manualmente l'elevazione e l'azimut e un interruttore per impostare la modalità manuale/automatica (inseguimento).
  • Uscita buzzer per segnalare la modalità manuale e la modalità wind safe (vento forte, pannelli in posizione di sicurezza).
  • La posizione notturna e la posizione di sicurezza contro il vento sono configurabili tramite il sistema di automazione (o registri Modbus), così come molti altri parametri: i parametri predefiniti sono già adatti a quasi tutti gli inseguitori solari a doppio asse .

Perché un inseguitore solare?

L'inseguitore solare è molto utile per gli impianti fotovoltaici perché aumenta la produzione totale di energia e, inoltre, aumenta la potenza nelle prime ore del mattino e nel tardo pomeriggio , quando l'energia è più costosa e meno disponibile.

Il grafico seguente mostra il confronto dell'energia prodotta in una giornata di sole, il 31 ottobre 2024, nel Nord Italia, tra un inseguitore solare a 2 assi e un impianto fotovoltaico sul tetto.

Confronto tra l'energia prodotta da un inseguitore a 2 assi e quella prodotta da un impianto fotovoltaico fisso sul tetto

Confrontando i due sistemi, possiamo dire che in queste condizioni l'inseguitore a 2 assi ha prestazioni quasi 3 volte superiori rispetto a un impianto fotovoltaico su tetto. Normalmente, le prestazioni sono quasi doppie rispetto a un impianto fotovoltaico su un tetto orientato a sud, con un'inclinazione tipica delle case italiane (circa 15 gradi). Video di Youtube Video di YouTube

Questo controller è stato progettato per superare i limiti del controller cinese XMYC-3, utilizzando lo stesso sensore solare, ma aggiungendo alcune funzionalità come il rilevamento automatico dei finecorsa all'interno dei motori (gli attuatori lineari hanno dei finecorsa al loro interno, che interrompono l'alimentazione) e l' integrazione del sistema di automazione domestica con Domoticz, Home Assistant, Node-RED, OpenHAB, ioBroker e altri sistemi che supportano i protocolli MQTT o Modbus .

 

Caratteristiche Il controller DomBusTracker funziona perfettamente anche in caso di cielo nuvoloso, ottimizzando la produzione di energia fotovoltaica.

  • Configurabile come tracker a doppio asse , a singolo asse orizzontale e a singolo asse inclinato.
  • Utilizza un sensore solare standard impermeabile composto da 4 fotodetector, per determinare la migliore inclinazione/azimut anche in caso di nuvole.
  • 4 relè da 10 A consentono di controllare 2 attuatori lineari con forza di 800 kg (o azionamenti di rotazione), alimentati da un alimentatore da 24 V (preferibilmente) o 12 V.
  • Su richiesta è possibile avere una versione per motori di potenza maggiore, limite di corrente di 15A per attuatori lineari di potenza maggiore fino a 3000kgf e motori di rotazione di potenza maggiore.
  • Rilevamento della corrente per rilevare automaticamente i finecorsa interni dell'attuatore lineare , per trovare la posizione zero e completa del motore.
  • 4 ingressi collegabili a finecorsa esterni o sensori di prossimità (tipo NPN, comune a GND) per il motore azimutale (utile nel caso in cui si utilizzi un motore di rotazione al posto di un motore lineare). Infatti, per risparmiare energia, i sensori di prossimità vengono alimentati solo quando necessario.
  • 2 ingressi collegabili a 2 pulsanti opzionali su/giù per muovere manualmente i motori
  • 1 ingresso collegabile ad un interruttore opzionale per disattivare il tracciamento automatico
  • 1 ingresso (IN12) collegabile ad un sensore del vento (anemomenter) con uscita pulsata (reed), comune a GND, che può essere utilizzato per spostare il tracker in una posizione sicura in caso di vento forte o tempesta
  • 2 relè aggiuntivi da 5A per funzioni aggiuntive
  • Resistenza di terminazione del bus RS485 interna (150 ohm) che può essere abilitata tramite un ponticello PCB (con un saldatore)
  • Bus RS485, che funziona con un cavo fino a 500 m (utilizzando un cavo di allarme standard: 2x0,50+2x0,22mm² + schermatura)
  • Contenitore a basso profilo per guida DIN, 115x90x40mm
  • Morsettiere a innesto per un cablaggio semplice
  • Parametri configurabili tramite bus RS485, per funzionare con quasi tutti i sistemi di tracciamento
  • Disponibile con 2 firmware a scelta:
    • Firmware DomBus , che utilizza un protocollo multi-master standard che funziona con
      • Plugin Domoticz + Creasol DomBus
      • Software Home Assistant, Node-RED, OpenHAB, ioBroker + DomBusGateway che realizzano un ponte tra il protocollo DomBus e MQTT con AutoDiscovery
    • Firmware Modbus , compatibile con NodeRED, Home Assistant, OpenHAB e molti altri controller che supportano il protocollo Modbus standard.
  • Lo stato del tracker è esposto al sistema di automazione domestica o Modbus:
    • 0: Modalità nuvoloso (il tracker si muove meno frequentemente per evitare il consumo di energia)
    • 1: Modalità automatica
    • 2: Modalità automatica, il motore è in movimento
    • 3: Modalità manuale
    • 4: Modalità manuale, il motore è in movimento
    • 5: Sera (a breve il tracker passerà alla posizione notturna)
    • 6: Notte (tracker in posizione notturna)
    • 7: Notte, il motore è in movimento (il tracker si sta spostando in posizione notturna)
    • 8: Mattina (il tracker lascerà presto la posizione notturna)
    • 9: Allerta vento (vento forte: il tracker si sposterà presto nella posizione di sicurezza contro il vento)
    • 10: Vento (tracker in posizione di sicurezza contro il vento)
    • 11: Vento, il motore si muove (il tracker si posiziona in posizione di sicurezza contro il vento)
  • Consumo energetico molto basso : 15 mW con relè OFF.
  • LED rosso/verde che mostra lo stato attuale:
    LED verde lampeggiante ogni 4 secondi Tracker in posizione notte/riposo
    LED verde lampeggiante ogni 2 secondi Tracker in modalità nuvoloso (si muove meno frequentemente per risparmiare energia)
    LED verde lampeggiante ogni secondo Modalità normale (automatica)
    LED verde lampeggiante ogni 0,25 s Motore acceso, in movimento
    LED rosso lampeggiante ogni secondo Modalità manuale, impostata tramite ingresso interruttore o tramite sistema domotico (dispositivo MAN)
    LED rosso lampeggiante ogni 0,25 s Raffica di vento rilevata (tempesta?), localizzatore in posizione di sicurezza
  • È possibile saldare sul PCB un cicalino attivo opzionale (con oscillatore, funzionante a 5,5 V) per ottenere i seguenti avvisi:
    1 segnale acustico Tracker in modalità manuale
    2 segnali acustici Raffica di vento rilevata => tracker in modalità di sicurezza
    Il buzzer può essere disabilitato impostando il parametro TrackerBuzzer = 0 (vedi tabella sotto)

Sebbene diversi parametri siano configurabili dall'utente, i valori predefiniti sono adatti nella maggior parte dei casi, quindi il dispositivo può essere utilizzato così com'è per la maggior parte degli inseguitori solari a doppio asse.

Sensore di luce solare impermeabile già fornito, mentre motori e alimentatore da 24 V NON sono forniti.

Firmware DomBus o Modbus?

Il controller dell'inseguitore solare è disponibile con due firmware a scelta:

  • Modbus, adatto a tutti i sistemi che supportano il protocollo Modbus standard e per sistemi personalizzati che utilizzano tale protocollo
  • DomBus, compatibile con Domoticz (utilizzando il plugin Creasol DomBus) e con HomeAssistant, NodeRED, OpenHAB, ioBroker e altri sistemi che supportano MQTT con AutoDiscovery, utilizza il software Python DomBusGateway che realizza un bridge tra il protocollo DomBus e il protocollo standard MQTT-AD. Inoltre, il sistema di automazione degli edifici che supporta MQTT con AutoDiscovery rileverà automaticamente tutte le entità dell'inseguitore solare.

Prima di ordinare DomBusTracker2

Prima di effettuare un ordine, vi preghiamo di scrivere a Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. una mail in cui fornirete le seguenti informazioni:

  1. tipo di motore di inclinazione (attuatori lineari con finecorsa interni?) e corrente min/max del motore (utilizzata per determinare la resistenza corretta per il rilevamento della corrente)
  2. tipo di motore azimutale (attuatore lineare con finecorsa interni o azionamento di rotazione con finecorsa esterni) e corrente min/max (utilizzata per determinare la resistenza corretta per il rilevamento della corrente in caso di attuatore lineare)
  3. Tipo di firmware: supporta il protocollo Dombus, consigliato per sistemi monitorati/controllati da Home Assistant, Domoticz, NodeRED, OpenHAB, ioBroker. Oppure supporta Modbus RTU nel caso in cui il sistema non sia controllato da alcun sistema domotico, o sia controllato da un sistema o programma personalizzato che comunica tramite Modbus.

Si prega di notare che la corrente massima su ciascun motore deve essere inferiore o uguale a 10 A.

Schema di collegamento

Schema elettrico dell'inseguitore solare intelligente mono e biasse

Come funziona DomBusTracker

  1. Per impostazione predefinita, funziona come un controller tracker a doppio asse, ma può essere configurato come tracker ad asse orizzontale o ad asse inclinato modificando il parametro TrackerType : consultare la sezione dei parametri configurabili di seguito .
  2. Utilizza un sensore di luce a foro profondo per individuare la zona più luminosa del cielo: questo funziona anche in caso di cielo nuvoloso, quindi i pannelli saranno orientati automaticamente verso l'area più luminosa del cielo. DomBusTracker mostra i valori del sensore di luce per ciascuna direzione e anche un valore percentuale (vedere porte NS ed EW): quando il tracker è allineato al sole, NS ed EW sono prossimi al 50%. Se si verifica uno spostamento, viene confrontato con 50+/-TrackerLightDeviation* per determinare se il tracker deve essere spostato o meno.
    Ad esempio, se NS >= 50+TrackerLightDeviationNS, attivare il motore MS per aumentare l'inclinazione.
    Se EW >= 50+TrackerLightDeviationEW, attivare il motore MW per spostare i pannelli verso ovest.
    Nel caso in cui EW<50, il valore viene confrontato con 50-TrackerLightDeviationEW*2 per evitare che i tracker con motore veloce si spostino verso ovest e poi tornino verso est.
  3. È necessario configurare i seguenti parametri: TrackerWorkingTimeNS che imposta il tempo di lavoro del motore di inclinazione, TrackerWorkingTimeEW che imposta il tempo di lavoro del motore di azimut.
    Inoltre, è possibile configurare TrackerHomingNS che imposta il numero di richieste di movimento per l'inclinazione dopo le quali il controller si sposta alla posizione 0 o 100% per mantenere la precisione della posizione: la funzione di homing non viene eseguita durante l'inseguimento del sole, ma solo quando viene richiesto un comando per spostarsi in una determinata posizione fissa (inclusa la posizione notturna, mattutina e del vento). Analogamente per TrackerHomingEW , per la posizione azimutale.
  4. Questo controller misura la corrente fornita ai motori per rilevare il finecorsa interno al motore (normalmente disponibile negli attuatori lineari). Nel caso di riduttori di rotazione, è possibile utilizzare finecorsa normalmente aperti (impostazione predefinita) o normalmente chiusi. Nel caso in cui vengano utilizzati sensori di prossimità, è possibile impostare TrackerProximityEnable su 1 o 2 per fornire alimentazione ai sensori. Quando TrackerProximityEnable=1, l'alimentazione viene fornita solo quando necessario, riducendo il consumo energetico. Normalmente vengono utilizzati sensori di prossimità NPN con uscita NC, quindi, in caso di rottura di un cavo di prossimità, il motore smette di funzionare.
  5. Il tracker viene spostato ogni 5 minuti ( TrackerPeriodicCheck) quando è soleggiato, oppure ogni 5 minuti ( TrackerPeriodicCheckCloudy ) quando è nuvoloso (controllare il parametro TrackerCloudyThreshold per impostare la soglia di luce per distinguere le condizioni di cielo nuvoloso da quelle di cielo soleggiato): i parametri sono mostrati di seguito e possono essere modificati dall'utente. Il tempo più lungo è impostato per evitare che il tracker cambi posizione troppo spesso quando è nuvoloso.
  6. Quando la luce diminuisce, la sera, scendendo sotto il valore TrackerSensorMin , un contatore inizia ad aumentare e quando raggiunge il valore TrackerNightTime (300 secondi, per impostazione predefinita), i pannelli verranno orientati nella posizione TrackerNightPositionNS (inclinazione) e TrackerNightPositionEW (azimut).
  7. Quando la luce aumenta, al mattino, superando il valore TrackerSensorMin , i pannelli vengono orientati nella posizione TrackerMorningPositionNS (inclinazione) e TrackerMorningPositionEW (azimut).
  8. Se un anemometro è collegato all'ingresso Wind, misura la frequenza dell'anemometro confrontandola con il valore di TrackerWindThreshold : nel caso in cui la velocità del vento rimanga al di sopra di questa soglia per TrackerWindStartTime secondi, la posizione dei pannelli viene salvata e i pannelli verranno spostati in una posizione sicura impostata da TrackerWindPositionNS e TrackerWindPositionEW. Quando la velocità del vento scende al di sotto della soglia per TrackerWindRecoveryTime secondi, i pannelli verranno spostati nella posizione precedente.
    Il sistema funziona anche senza un collegamento diretto all'anemometro: la velocità del vento può essere fornita esternamente, da un sistema di automazione dell'edificio che riceve questa informazione ad esempio da una stazione meteorologica: in questo caso è sufficiente una semplice automazione per scrivere il registro del vento / entità del controller del tracker, una buona soluzione nel caso di un grande parco fotovoltaico con diversi tracker, o nel caso in cui sia già disponibile una stazione meteorologica.

 

Capacità delle porte DomBusTracker (per la versione DomBus)

Indirizzo predefinito: 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).
This port should be configured as IN_ANALOG,A=0.0005,TypeName=Current (Single)
to get current value in Ampere

13 Wind CUSTOM CUSTOM

Wind input, to be optionally connected to a cup anemometer sensor with pulsed output to measure the frequency.
Writing to this entity, the input is disabled and the written value is used to decide if wind speed is over or under the configured threshold

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).
Remove INVERTED option in case of NC limit switch or proximity sensor.

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).
Remove INVERTED option in case of NC limit switch or proximity sensor.

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).
Remove INVERTED option in case of NC limit switch or proximity sensor.

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).
Remove INVERTED option in case of NC limit switch or proximity sensor.

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.
If On, tracker is disabled and position can be changed only by using the Pns and Pew bars .
When Pns and Pew device have been changed by the user, the tracker enters the Manual mode, disabling tracking. Set Man to Off to enable automatic solar tracking.

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

 

Funzionalità Modbus RTU di DomBusTracker (per la versione Modbus)

All'accensione, il modulo mostra sul LED rosso l'indirizzo slave Modbus corrente (indirizzo registro=8192) in formato decimale, sul LED verde la velocità in baud seriale (reg. 8193) e infine sul LED rosso la parità seriale (reg. 8194).
Se il valore è zero, viene emesso un lungo lampo.

Ad esempio, se reg(8192)=208, reg(8193)=0, reg(8194)=0, all'accensione verranno visualizzati i seguenti lampeggi del LED:
2 lampeggi rossi, pausa, lampeggio rosso lungo (per 0), 8 lampeggi rossi (indirizzo slave = 0xd0 = 208 decimale), pausa, 1 lampeggio verde lungo (reg(8193) = 0 => baudrate = 115200 bps), pausa, 1 lampeggio rosso lungo (reg(8194) = 0 => parità = Nessuna).

Il dispositivo sarà operativo solo quando saranno mostrati i parametri indirizzo/baudrate/parità: a quel punto il modulo accetterà i comandi tramite Modbus RTU e mostrerà periodicamente lo stato del tracker.

Indirizzo slave predefinito: 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.
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
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).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+16=528

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).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+17=529

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).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+18=530

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).
In case of NC limit switch or proximity sensor, remove the INVERTED options by writing 0 to reg. 512+19=531

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.
If On, tracker is disabled and position can be changed only by using the Pns and Pew bars .
When Pns and Pew device have been changed by the user, the tracker enters the Manual mode, disabling tracking. Set Man to Off to enable automatic solar tracking.

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
if Value=0 all inputs are OFF
if Value=48 (0b0000000000110000, in binary), port5 and port6 are ON

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

 

Le tabelle seguenti mostrano alcuni esempi di comandi Modbus.

Indirizzo slave Codice funzionale Reg.Ind. Valore Reg. Telaio Descrizione
208 06 8192 1 [d0][06][20][00][00][01][xx][xx] Cambia l'indirizzo slave da 208 (0xd0) a 1
01 06 8193 4 [01] [06] [20] [01] [00] [04] [D2] [09] Imposta la velocità seriale a 9600 bps
01 06 8194 1 [01] [06] [20] [02] [00] [01] [E2] [0A] Imposta parità pari
49 10 8192 1,4,1 [31] [10] [20] [00] [00] [03] [06] [00] [01] [00] [04] [00] [01] [B1] [71] Con un singolo comando, imposta l'indirizzo slave a 1, la velocità seriale a 9600 bps e la parità pari. In questo esempio, l'indirizzo originale del modulo era 49 (0x31).
01 06 0 65280 [01] [06] [00] [00] FF [00] [C8] [3A] Attiva l'uscita RL1 per sempre (65280=0xff00)
01 06 1 960 [01][06][00][01][03][C0][D8][AA] Attivare RL2 per 960/32=30s
01 06 255 0 [01][06][00][FF][00][00][B9][FA] Disabilita tutte le uscite (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] Imposta RL1 su On per 1 s (32), RL2 su Off, RL3 su Off, RL4 su On - È possibile impostare al massimo 10 registri in un comando
01 03 255 1 [01] [03] [00] [FF] [00] [01] [B4] [3A] Legge un valore a 16 bit con lo stato delle porte. Ad esempio, se il valore restituito è 0xd1 (0b11010001), lo stato dell'output è:
RL8=Acceso, RL7=Acceso, RL6=Spento, RL5=Acceso, RL4=Spento, RL3=Spento, RL2=Spento, RL1=Acceso
01 03 8198 2 [01] [03] [20] [06] [00] [02] [2F] [CA] Legge 4 byte all'interno della versione del modulo. Ad esempio, se il valore restituito è <30><32><68><31> (in formato esadecimale), il valore ASCII corrispondente è "02h1" (Firmware 02h1).
01 0F 0 8,1,0xd1 [01] [0F] [00] [00] [00] [08] [01] [D1] [3E] [C9] Imposta lo stato della bobina su 0xd1 (0b11010001), attivando RL8, RL7, RL5, RL1 e disabilitando gli altri relè
01 01 0 8 [01] [01] [00] [00] [00] [08] [3D] [CC] Leggi lo stato della bobina. Se il valore restituito è 0xd1 (0b11010001), significa che RL8, RL7, RL5 e RL1 sono accesi

Il protocollo Modbus può essere testato facilmente utilizzando un programma Modbus, come mbpoll per Linux:

mbpoll -v -mrtu -0 -1 -a 208 -b 115200 -P nessuno -r 8192 /dev/ttyUSB0 1
per impostare il registro 8192 (indirizzo slave) sul nuovo valore 1 (l'indirizzo deve essere univoco quando sono installati più moduli DomBus).

mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P nessuno -r 10023 /dev/ttyUSB0 120
per impostare il tempo di lavoro del motore azimutale a 120 secondi

mbpoll -v -m rtu -0 -1 -a 1 -b 115200 -P nessuno -r 22 /dev/ttyUSB0 0 50
per spostare il tracker in posizione orizzontale (elevazione=0%) e Sud (azimut=50%)

 

Parametri configurabili

I seguenti parametri possono essere configurati dall'utente per impostare i tempi di funzionamento del motore e far funzionare il tracker come preferito.

Parameter name Description Range Default DomBus settings

Modbus address
(write only)

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
1=Enable buzzer

0÷1 1 INIT=0 on port Buzz 10025
TrackerWindThreshold

0=Disabled
0÷400 = anemometer frequency must be greater than this value for TrackerWindStartTime before entering the safe mode

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.
0=power supply disabled
1=power supply enabled only when needed, to save energy consumption
2=power supply always enabled
If 1, power to the proximity sensors is supplied only when a motor starts, and is removed 5 seconds after motor stops. Additionally, proximity sensors are powered for 5 seconds every 10 minutes after motors are off (but not during the night).

       

Come configurare DomBusTracker con Domoticz

Per funzionare con Domoticz è necessaria la versione del protocollo DomBus.
È necessario installare il plugin Creasol DomBus: può essere scaricato da https://github.com/CreasolTech/CreasolDomBus oppure può essere installato da Python Plugin Manager o Domoticz Plugins Manager.

I passaggi della configurazione sono:

  1. Una volta connesso al controller Domoticz, puoi vedere un nuovo dispositivo nel pannello Interruttori con indirizzo ff38: modifica quel dispositivo e aggiungi nel campo Descrizione il testo HWADDR=0x3801 per cambiare il suo indirizzo predefinito in 3801 o un altro valore univoco: quindi aggiorna il pannello Interruttori per vedere tutti i dispositivi, ognuno per ogni porta. Alcuni altri dispositivi saranno trovati nel pannello Utilità (sensori di luce e corrente).
  2. Configurare i tempi di lavoro del motore, in secondi, scrivendo nel campo Descrizione del dispositivo Pns , INIT=80 se il tempo per passare dalla posizione orizzontale a quella verticale (o viceversa) è di 80 s, e scrivere nel campo Descrizione del dispositivo Pew , INIT=140 se il tempo totale per spostare il tracker da Est a Ovest è di 140 s.
  3. Configurare la posizione mattina/sonno: ad esempio, TrackerNightPositionNS =20 (inclinazione=20%, quasi orizzontalmente, addr=10000) e TrackerNightPositionEW =0 (azimut=0%, verso est, addr=10002).
  4. Nel caso in cui sia collegato un sensore del vento, configurare i parametri TrackerWindThreshold, TrackerWindStartTime, TrackerWindRecoveryTime, TrackerWindPositionNS, TrackerWindPositionEW (vedere la tabella di configurazione sottostante): quando il tracker è in modalità automatica (non MANUALE!) e l'anemometro produce una frequenza superiore a TrackerWindThreshold per almeno TrackerWindStartTime secondi, sposta il tracker su TrackerWindPositionNS/TrackerWindPositionEW. Quando la frequenza dell'anemometro rimane al di sotto di TrackerWindThreshold per più di TrackerWindRecoverTime, il tracker torna alla posizione precedente, quindi avvia il tracciamento automaticamente.
  5. Se necessario, modificare altri parametri spiegati nella sezione Parametri configurabili sopra.
  6. Il tracker può essere mosso tramite pulsanti, se collegato a IN7 e IN8 come mostrato nello schema. Può anche essere bloccato o ripristinato in modalità automatica tramite l'interruttore collegato a IN9. Questi comandi manuali solitamente non sono necessari.
  7. Il tracker può essere spostato anche da smartphone, PC o tablet, spostando i cursori Pns (posizione per il motore di inclinazione NS) e Pew (posizione per il motore di azimut EW). Ad esempio, impostando Pns=0 e Pew=0 il tracker tornerà alla posizione "mattutina", orientato a Est e orizzontalmente. Si noti che quando il tracker viene spostato manualmente, il dispositivo Man viene automaticamente impostato su On, disabilitando la funzione di inseguimento automatico del sole. Questo è utile ad esempio in caso di temporale : il tracker può essere posizionato manualmente (o tramite un'automazione esterna) in una posizione sicura (ad esempio Pns=0 e Pew=0 o 100); una volta passato il temporale , DomBusTracker può essere ripristinato in modalità automatica, impostando Man=0ff per inseguire automaticamente il sole/luce .

Come configurare DomBustracker con Home Assistant, Node-RED, OpenHAB, ioBroker

Se DomBusTracker è programmato con il firmware DomBus, è possibile installare il software Python DomBusGateway che implementa l'interfaccia DomBus 2 MQTT con la funzione AutoDiscovery.
In questo modo il sistema domotico rileva automaticamente il modulo DomBusTracker, creando tutte le entità.
Per configurare i parametri di funzionamento del tracker, è possibile utilizzare DomBusGateway tramite telnet, configurando ciascuna porta secondo necessità.

TODO: esempio di configurazione

Come configurare DomBusTracker con il firmware Modbus

Il firmware Modbus è molto versatile perché può essere utilizzato in molti modi diversi, ad esempio con NodeRED con la sua interfaccia utente e la palette Modbus, Home Assistant utilizzando l'integrazione Modbus, ma anche direttamente utilizzando il programma mbpoll o modpoll per configurare i pochi parametri necessari al suo corretto funzionamento.

I passaggi della configurazione sono:

  1. Identificare i parametri Modbus: indirizzo slave, bitrate, parità. Vengono visualizzati all'accensione tramite LED rosso e verde, come specificato nella sezione relativa alle funzionalità Modbus RTU di DomBusTracker (per impostazione predefinita, indirizzo = 208, bitrate = 115200, parità = Nessuna).
  2. Se necessario, configurare il dispositivo con un indirizzo univoco, da 1 a 247 (scrivendo il nuovo valore dell'indirizzo nel registro 8192)
  3. Nel caso in cui si utilizzi il controller per un inseguitore monoasse orizzontale (HSAT), scrivere 1 nel registro TrackerType (11000), mentre nel caso in cui si utilizzi un inseguitore monoasse inclinato (TSAT), scrivere 2 nel registro TrackerType (11000). Predefinito: inseguitore biasse (DAT).
  4. Configurare i tempi di lavoro del motore, in secondi, impostando i registri TrackerWorkingTimeNS (tempo di lavoro dell'inclinazione, addr=10022) e TrackerWorkingTimeEW (tempo di lavoro dell'azimut, addr=10023).
  5. Configurare la posizione mattina/sonno: impostare ad esempio TrackerNightPositionNS al 20% scrivendo 20 all'indirizzo 10000 e TrackerNightPositionEW=0 scrivendo 0 all'indirizzo 10002
  6. Nel caso in cui un anemometro sia collegato al morsetto Wind, o nel caso in cui il valore della velocità del vento venga inviato al dispositivo (scrivendo il registro 12), è necessario configurare i seguenti parametri:
    TrackerWindThreshold (registro 10018) = velocità/frequenza del vento al di sopra della quale il controller inizia il conteggio
    TrackerWindStartTime (registro 11018) = tempo, in secondi, durante il quale la velocità del vento deve superare la soglia del trackerWindThreshold prima di spostare i pannelli nella posizione di sicurezza contro il vento
    TrackerWindRecoveryTime (registro 12018) = tempo, in secondi, durante il quale la velocità del vento deve essere inferiore al trackerWindThreshold prima che i pannelli vengano ripristinati nella vecchia posizione, uscendo dalla modalità di sicurezza del vento
    TrackerWindPositionNS (registro 13018) = posizione di inclinazione, in percentuale, per la posizione sicura dal vento. 0=orizzontale, 100=verticale
    TrackerWindPositionEW (registro 14018) = posizione azimutale, in percentuale, per la posizione sicura del vento. 0=Est, 100=Ovest
  7. Di default i finecorsa sono configurati come Normalmente Aperti, con GND = comune, quindi i finecorsa vengono ignorati se non installati. Nel caso in cui i finecorsa o i sensori di prossimità siano Normalmente Collegati , rimuovere l'opzione INVERTITA alla porta 16÷19 scrivendo 0 all'indirizzo di registro 528÷531
  8. Se necessario, modificare altri parametri spiegati nella sezione Parametri configurabili sopra utilizzando gli stessi metodi indicati sopra.
  9. Il tracker può essere mosso tramite pulsanti, se collegato agli ingressi Mv.N, Mv.S, Mv.E e Mv.W. Inoltre, il tracker può essere bloccato (modalità manuale) o ripristinato in modalità automatica tramite l'interruttore collegato al morsetto Man . Questi comandi manuali solitamente non sono necessari, perché il sistema può essere gestito dallo smartphone se si utilizza un sistema domotico.
  10. Il tracker può essere spostato anche da smartphone/PC scrivendo la posizione in % su Pns (posizione NS o elevazione/inclinazione) e Pew (posizione EW o azimut). Ad esempio, impostando Pns=0 (scrivendo 0 nel registro 22) e Pew=0 (scrivendo 0 nel registro 23), il tracker tornerà nella posizione di sicurezza, orientato a Est e orizzontalmente. Si noti che quando il tracker viene spostato manualmente, il dispositivo Man (registro 24) viene automaticamente impostato su On (1), disabilitando la funzione di inseguimento automatico del sole. Questo è utile ad esempio in caso di temporale se l'ingresso Vento non è collegato ad alcun anemometro: il tracker può essere posizionato manualmente (o tramite un'automazione esterna) in una posizione di sicurezza in base alla velocità e alla direzione del vento, anche per prevenire danni ai pannelli causati dalla grandine.