← Web API - POST | Indice | Avanti: Guida MQTT →
10. Calibrazione dei sensori
Indice
- 10.1 Panoramica
- 10.2 Calibrazione del sensore di tensione ZMPT107
- 10.3 Calibrazione del sensore di corrente SCT-013
- 10.4 Salvataggio della calibrazione
- 10.5 Ripristino delle impostazioni di fabbrica
10.1 Panoramica
ACRouter supporta la calibrazione dei sensori per garantire misurazioni precise di tensione e corrente. La calibrazione viene eseguita calcolando un coefficiente moltiplicatore basato su misurazioni effettuate con strumenti di riferimento.
Perché è necessaria la calibrazione?
- Tolleranze di produzione: ogni sensore presenta piccole deviazioni dai valori nominali
- Differenze nella tensione di rete: i diversi paesi utilizzano standard differenti (230V, 110V, 220V, 240V, ecc.)
- Precisione di misura: la calibrazione garantisce una precisione di ±2% o migliore
Valori predefiniti di fabbrica
Al primo avvio o dopo un ripristino, vengono utilizzati i seguenti valori:
| Sensore | Modello | Moltiplicatore | Nota |
|---|---|---|---|
| Tensione | ZMPT107 | 328.57 | Calibrato per 230V (0,70V RMS = 230V AC) |
| Corrente | SCT-013-030 | 30.0 | Massimo 30A |
10.2 Calibrazione del sensore di tensione ZMPT107
⭐ Calibrazione automatica (Consigliata)
A partire dalla versione 2.0, ACRouter supporta la calibrazione automatica del sensore di tensione. Il sistema misura automaticamente l'uscita del sensore (VDC RMS) e calcola il moltiplicatore di calibrazione.
Procedura di calibrazione automatica
Passo 1: Misurare la tensione di rete
Utilizzare un multimetro per misurare la tensione di rete effettiva:
Example:
Multimeter shows: 232.5V AC
Passo 2: Avviare la calibrazione automatica
Inserire il comando con la tensione misurata:
hardware-voltage-calibrate 232.5
Passo 3: Il sistema esegue automaticamente:
- Misurazione dell'uscita attuale del sensore (VDC RMS) — es. 0,72V
- Calcolo del moltiplicatore:
232.5 / 0.72 = 322.92 - Salvataggio dei dati di calibrazione nel NVS
Esempio di output:
Auto-calibrating voltage sensor...
Measured grid voltage (from multimeter): 232.5 V
Raw sensor VDC output: 0.72 V
Calculated multiplier: 322.92
Sensor type: ZMPT107
Configuration updated:
nominal_vdc = 0.72 V (measured)
multiplier = 322.92
Calibration saved to NVS. Please reboot to apply: reboot
Passo 4: Riavvio
reboot
Vantaggi della calibrazione automatica:
✅ No need to adjust sensor potentiometer manually
✅ Works with any sensor output voltage (0.5V, 0.7V, 1.0V, etc.)
✅ Automatically updates nominal_vdc to actual measured value
✅ More accurate and faster calibration
Tramite Web API:
curl -X POST http://192.168.4.1/api/hardware/voltage/calibrate \
-H "Content-Type: application/json" \
-d '{"measured_vac": 232.5}'
Tramite interfaccia web:
- Aprire
http:///settings/hardware - Find "Voltage Sensor Auto-Calibration" section
- Inserire la tensione di rete misurata (VAC)
- Click "Calibrate" button
- Riavviare il dispositivo
Calibrazione manuale (Metodo legacy)
Per compatibilità con versioni precedenti o casi particolari, è possibile utilizzare il calcolo manuale.
Principio di calibrazione
The ZMPT107 sensor is factory-calibrated so that:
- Nominal grid voltage ≈ 0.70V RMS output (may vary ±0.1V)
- Formula: multiplier = V_measured / V_sensor_vdc
Procedura di calibrazione manuale
Passo 1: Preparazione
- Collegare ACRouter alla rete elettrica
- Connettersi alla porta seriale (115200 baud)
- Verificare che il sensore ZMPT107 sia collegato al GPIO configurato
Passo 2: Misurare la tensione di rete
Utilizzare un multimetro per misurare la tensione di rete effettiva:
Example:
Multimeter shows: 232.5V AC
Passo 3: Verificare l'uscita del sensore
Eseguire il comando per visualizzare il VDC grezzo:
hardware-voltage-show
Esempio di output:
Voltage Sensor Configuration:
GPIO: 35
Type: ZMPT107
Nominal VDC: 0.70 V (factory default)
Multiplier: 328.57
Current reading: 232.5 V (from 0.72 V raw)
^^^^^^ ← use this value
Passo 4: Calcolare il moltiplicatore
Utilizzare la formula con il VDC effettivo del sensore:
multiplier = V_measured / V_sensor_vdc
Per l'esempio sopra (232,5V / 0,72V):
multiplier = 232.5 / 0.72 = 322.92
Passo 5: Applicare la calibrazione
Tramite console:
hardware-voltage-config-multiplier 322.92
Tramite Web API:
curl -X POST http://192.168.4.1/api/hardware/config \
-H "Content-Type: application/json" \
-d '{
"adc_channels": [
{
"gpio": 35,
"type": 1,
"multiplier": 322.92,
"offset": 0.0,
"enabled": true
}
]
}'
Passo 6: Riavvio
reboot
Note importanti
⚠️ WARNING: The ZMPT107 sensor uses a voltage divider circuit:
- DC bias center: 1.65V DC
- Maximum peak voltage: 3.06V (for 230V AC)
- This is very close to ESP32 ADC maximum input (3.3V)!
Recommendations:
- Do not use with grid voltage above 250V AC
- For voltages above 240V, consider factory recalibration of ZMPT107 (reduce output to 0.60V = 240V)
10.3 Calibrazione del sensore di corrente SCT-013
Principio di calibrazione
SCT-013 sensors are available in different variants:
- SCT-013-030: 0-30A, output 0-1V
- SCT-013-050: 0-50A, output 0-1V
- SCT-013-100: 0-100A, output 0-1V
Formula: multiplier = I_measured / V_adc
Procedura di calibrazione
Passo 1: Preparazione
- Collegare un carico noto (es. riscaldatore elettrico da 2000W)
- Misurare la corrente con una pinza amperometrica
- Verificare che il sensore SCT-013 sia correttamente installato sul cavo
Passo 2: Misurare la corrente
Example:
Load: 2000W heater
Grid voltage: 230V
Expected current: 2000W / 230V = 8.7A
Clamp meter shows: 8.65A
Passo 3: Verificare la lettura ADC della corrente
Eseguire il comando:
status
Cercare le correnti:
Power Measurements:
Voltage: 230.0 V
Current (Load): 7.2 A ← Uncalibrated current
Current (Grid): 0.0 A
...
Passo 4: Calcolare il moltiplicatore
Utilizzare la formula:
multiplier_new = multiplier_old × (I_measured / I_current)
Per l'esempio sopra:
multiplier_old = 30.0 (factory default SCT-013-030)
I_measured = 8.65A (clamp meter reading)
I_current = 7.2A (ACRouter reading)
multiplier_new = 30.0 × (8.65 / 7.2) = 36.04
Passo 5: Applicare la calibrazione
Tramite Web API:
{
"adc_channels": [
{
"gpio": 39,
"type": 2,
"multiplier": 36.04,
"offset": 0.0,
"enabled": true
}
]
}
Passo 6: Verifica
Riavviare e verificare:
reboot
status
Ora la corrente dovrebbe essere visualizzata correttamente:
Power Measurements:
Current (Load): 8.65 A ← Accurate value!
Note importanti
- Per una calibrazione accurata, utilizzare un carico resistivo stabile (riscaldatore, lampade a incandescenza)
- Non utilizzare per la calibrazione: alimentatori switching o motori (elevata corrente di spunto)
- Corrente minima per la calibrazione: 5A (al di sotto di questa soglia, il rumore ADC influisce sulle letture)
10.4 Salvataggio della calibrazione
Tutte le modifiche alla configurazione vengono salvate automaticamente nel NVS (Non-Volatile Storage) e persistono dopo il riavvio.
Verificare il salvataggio
Dopo il riavvio, eseguire:
hardware-config
Dovreste vedere i valori multiplier aggiornati.
10.5 Ripristino delle impostazioni di fabbrica
Tramite console
hardware-reset
Poi riavviare:
reboot
Tramite Web API
Inviare una richiesta POST a http://:
curl -X POST http://192.168.4.1/api/hardware/config/reset
Tabella di riferimento: Valori tipici del moltiplicatore
Sensori di tensione
| Modello | Rete | Calibrazione | Moltiplicatore |
|---|---|---|---|
| ZMPT107 | 230V AC | 0,70V = 230V | 328.57 |
| ZMPT107 | 220V AC | 0,70V = 220V | 314.29 |
| ZMPT107 | 240V AC | 0,70V = 240V | 342.86 |
| ZMPT107 | 110V AC | 0,70V = 110V | 157.14 |
Sensori di corrente
| Modello | Range | Uscita | Moltiplicatore |
|---|---|---|---|
| SCT-013-030 | 0–30A | 1V a 30A | 30.0 |
| SCT-013-050 | 0–50A | 1V a 50A | 50.0 |
| SCT-013-100 | 0–100A | 1V a 100A | 100.0 |
Comandi utili
# Show current measurements
status
# Show sensor configuration
hardware-config
# Reset to factory defaults
hardware-reset
# Reboot
reboot