← Web API - POST | Contenido | Siguiente: Guía MQTT →
10. Calibración de sensores
Contenido
- 10.1 Descripción general
- 10.2 Calibración del sensor de voltaje ZMPT107
- 10.3 Calibración del sensor de corriente SCT-013
- 10.4 Guardar la calibración
- 10.5 Restablecer valores de fábrica
10.1 Descripción general
ACRouter admite la calibración de sensores para garantizar mediciones precisas de voltaje y corriente. La calibración se realiza calculando un coeficiente multiplicador a partir de mediciones con instrumentos de referencia.
¿Por qué es necesaria la calibración?
- Tolerancias de fabricación: cada sensor presenta pequeñas desviaciones respecto a los valores nominales
- Diferencias en el voltaje de red: distintos países utilizan diferentes estándares (230V, 110V, 220V, 240V, etc.)
- Precisión de medición: la calibración garantiza una precisión de ±2 % o mejor
Valores predeterminados de fábrica
En el primer arranque o tras un restablecimiento, se utilizan los siguientes valores:
| Sensor | Modelo | Multiplicador | Nota |
|---|---|---|---|
| Voltaje | ZMPT107 | 328.57 | Calibrado para 230V (0,70V RMS = 230V AC) |
| Corriente | SCT-013-030 | 30.0 | Máximo 30A |
10.2 Calibración del sensor de voltaje ZMPT107
⭐ Calibración automática (Recomendada)
A partir de la versión 2.0, ACRouter admite la calibración automática del sensor de voltaje. El sistema mide automáticamente la salida del sensor (VDC RMS) y calcula el multiplicador de calibración.
Procedimiento de calibración automática
Paso 1: Medir el voltaje de red
Utilice un multímetro para medir el voltaje real de la red:
Example:
Multimeter shows: 232.5V AC
Paso 2: Ejecutar la calibración automática
Introduzca el comando con el voltaje medido:
hardware-voltage-calibrate 232.5
Paso 3: El sistema realiza automáticamente:
- Medición de la salida actual del sensor (VDC RMS) — p. ej., 0,72V
- Cálculo del multiplicador:
232.5 / 0.72 = 322.92 - Almacenamiento de los datos de calibración en NVS
Ejemplo de salida:
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
Paso 4: Reiniciar
reboot
Ventajas de la calibración automática:
✅ 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
Vía Web API:
curl -X POST http://192.168.4.1/api/hardware/voltage/calibrate \
-H "Content-Type: application/json" \
-d '{"measured_vac": 232.5}'
Vía interfaz web:
- Abra
http:///settings/hardware - Find "Voltage Sensor Auto-Calibration" section
- Introduzca el voltaje de red medido (VAC)
- Click "Calibrate" button
- Reinicie el dispositivo
Calibración manual (Método heredado)
Para compatibilidad con versiones anteriores o casos especiales, se puede usar el cálculo manual.
Principio de calibración
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
Procedimiento de calibración manual
Paso 1: Preparación
- Conecte ACRouter a la red eléctrica
- Conéctese al puerto serie (115200 baudios)
- Asegúrese de que el sensor ZMPT107 esté conectado al GPIO configurado
Paso 2: Medir el voltaje de red
Utilice un multímetro para medir el voltaje real de la red:
Example:
Multimeter shows: 232.5V AC
Paso 3: Verificar la salida del sensor
Ejecute el comando para ver el VDC sin procesar:
hardware-voltage-show
Ejemplo de salida:
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
Paso 4: Calcular el multiplicador
Utilice la fórmula con el VDC real del sensor:
multiplier = V_measured / V_sensor_vdc
Para el ejemplo anterior (232,5V / 0,72V):
multiplier = 232.5 / 0.72 = 322.92
Paso 5: Aplicar la calibración
Vía consola:
hardware-voltage-config-multiplier 322.92
Vía 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
}
]
}'
Paso 6: Reiniciar
reboot
Notas importantes
⚠️ 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 Calibración del sensor de corriente SCT-013
Principio de calibración
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
Fórmula: multiplier = I_measured / V_adc
Procedimiento de calibración
Paso 1: Preparación
- Conecte una carga conocida (p. ej., calefactor eléctrico de 2000W)
- Mida la corriente con una pinza amperimétrica
- Asegúrese de que el sensor SCT-013 esté correctamente instalado en el cable
Paso 2: Medir la corriente
Example:
Load: 2000W heater
Grid voltage: 230V
Expected current: 2000W / 230V = 8.7A
Clamp meter shows: 8.65A
Paso 3: Verificar la lectura ADC de corriente
Ejecute el comando:
status
Busque las corrientes:
Power Measurements:
Voltage: 230.0 V
Current (Load): 7.2 A ← Uncalibrated current
Current (Grid): 0.0 A
...
Paso 4: Calcular el multiplicador
Utilice la fórmula:
multiplier_new = multiplier_old × (I_measured / I_current)
Para el ejemplo anterior:
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
Paso 5: Aplicar la calibración
Vía Web API:
{
"adc_channels": [
{
"gpio": 39,
"type": 2,
"multiplier": 36.04,
"offset": 0.0,
"enabled": true
}
]
}
Paso 6: Verificación
Reinicie y verifique:
reboot
status
Ahora la corriente debería mostrarse con precisión:
Power Measurements:
Current (Load): 8.65 A ← Accurate value!
Notas importantes
- Para una calibración precisa, utilice una carga resistiva estable (calefactor, lámparas incandescentes)
- No utilizar para la calibración: fuentes de alimentación conmutadas o motores (alta corriente de arranque)
- Corriente mínima para la calibración: 5A (por debajo de este umbral, el ruido ADC afecta las lecturas)
10.4 Guardar la calibración
Todos los cambios de configuración se guardan automáticamente en NVS (Non-Volatile Storage) y se mantienen tras el reinicio.
Verificar el guardado
Después del reinicio, ejecute:
hardware-config
Debería ver los valores multiplier actualizados.
10.5 Restablecer valores de fábrica
Vía consola
hardware-reset
Luego reinicie:
reboot
Vía Web API
Envíe una solicitud POST a http://:
curl -X POST http://192.168.4.1/api/hardware/config/reset
Tabla de referencia: Valores típicos de multiplicador
Sensores de voltaje
| Modelo | Red | Calibración | Multiplicador |
|---|---|---|---|
| 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 |
Sensores de corriente
| Modelo | Rango | Salida | Multiplicador |
|---|---|---|---|
| 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 |
Comandos útiles
# Show current measurements
status
# Show sensor configuration
hardware-config
# Reset to factory defaults
hardware-reset
# Reboot
reboot