← Web API - POST | Содержание | Далее: Руководство MQTT →
10. Калибровка датчиков
Содержание
- 10.1 Обзор
- 10.2 Калибровка датчика напряжения ZMPT107
- 10.3 Калибровка датчика тока SCT-013
- 10.4 Сохранение калибровки
- 10.5 Сброс до заводских значений
10.1 Обзор
ACRouter поддерживает калибровку датчиков для обеспечения точных измерений напряжения и тока. Калибровка выполняется путём расчёта калибровочного коэффициента на основе измерений эталонными приборами.
Зачем нужна калибровка?
- Производственные допуски: каждый датчик имеет небольшие отклонения от номинальных значений
- Различия в напряжении сети: в разных странах используются разные стандарты (230 В, 110 В, 220 В, 240 В и т.д.)
- Точность измерений: калибровка обеспечивает точность ±2% или выше
Заводские значения по умолчанию
При первой загрузке или после сброса используются следующие значения:
| Датчик | Модель | Коэффициент | Примечание |
|---|---|---|---|
| Напряжение | ZMPT107 | 328.57 | Откалиброван для 230 В (0.70 В RMS = 230 В AC) |
| Ток | SCT-013-030 | 30.0 | Максимум 30 А |
10.2 Калибровка датчика напряжения ZMPT107
⭐ Автоматическая калибровка (рекомендуется)
Начиная с версии 2.0, ACRouter поддерживает автоматическую калибровку датчика напряжения. Система самостоятельно измеряет выход датчика (VDC RMS) и рассчитывает калибровочный коэффициент.
Процедура автоматической калибровки
Шаг 1: Измерьте напряжение сети
Измерьте реальное напряжение сети мультиметром:
Example:
Multimeter shows: 232.5V AC
Шаг 2: Запустите автоматическую калибровку
Введите команду с измеренным значением:
hardware-voltage-calibrate 232.5
Шаг 3: Система автоматически:
- Измеряет текущий выход датчика (VDC RMS) — например, 0.72 В
- Рассчитывает коэффициент:
232.5 / 0.72 = 322.92 - Сохраняет данные калибровки в NVS
Пример вывода:
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
Шаг 4: Перезагрузите устройство
reboot
Преимущества автоматической калибровки:
✅ 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
Через Web API:
curl -X POST http://192.168.4.1/api/hardware/voltage/calibrate \
-H "Content-Type: application/json" \
-d '{"measured_vac": 232.5}'
Через веб-интерфейс:
- Открыть
http:///settings/hardware - Find "Voltage Sensor Auto-Calibration" section
- Ввести измеренное напряжение сети (VAC)
- Click "Calibrate" button
- Перезагрузить устройство
Ручная калибровка (устаревший метод)
Для совместимости со старыми версиями или в особых случаях можно использовать ручной расчёт.
Принцип калибровки
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
Процедура ручной калибровки
Шаг 1: Подготовка
- Подключите ACRouter к сети питания
- Подключитесь к Serial-порту (115200 бод)
- Убедитесь, что датчик ZMPT107 подключён к настроенному GPIO
Шаг 2: Измерьте напряжение сети
Измерьте реальное напряжение сети мультиметром:
Example:
Multimeter shows: 232.5V AC
Шаг 3: Проверьте выход датчика
Выполните команду для просмотра сырого значения VDC:
hardware-voltage-show
Пример вывода:
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
Шаг 4: Рассчитайте коэффициент
Используйте формулу с реальным VDC датчика:
multiplier = V_measured / V_sensor_vdc
Для примера выше (232.5 В / 0.72 В):
multiplier = 232.5 / 0.72 = 322.92
Шаг 5: Примените калибровку
Через консоль:
hardware-voltage-config-multiplier 322.92
Через 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
}
]
}'
Шаг 6: Перезагрузите устройство
reboot
Важные замечания
⚠️ 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 Калибровка датчика тока SCT-013
Принцип калибровки
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
Формула: multiplier = I_measured / V_adc
Процедура калибровки
Шаг 1: Подготовка
- Подключите известную нагрузку (например, электрический нагреватель 2000 Вт)
- Измерьте ток токоизмерительными клещами
- Убедитесь, что датчик SCT-013 правильно установлен на проводе
Шаг 2: Измерьте ток
Example:
Load: 2000W heater
Grid voltage: 230V
Expected current: 2000W / 230V = 8.7A
Clamp meter shows: 8.65A
Шаг 3: Проверьте показания ADC тока
Выполните команду:
status
Найдите значения тока:
Power Measurements:
Voltage: 230.0 V
Current (Load): 7.2 A ← Uncalibrated current
Current (Grid): 0.0 A
...
Шаг 4: Рассчитайте коэффициент
Используйте формулу:
multiplier_new = multiplier_old × (I_measured / I_current)
Для примера выше:
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
Шаг 5: Примените калибровку
Через Web API:
{
"adc_channels": [
{
"gpio": 39,
"type": 2,
"multiplier": 36.04,
"offset": 0.0,
"enabled": true
}
]
}
Шаг 6: Проверка
Перезагрузите и проверьте:
reboot
status
Теперь ток должен отображаться корректно:
Power Measurements:
Current (Load): 8.65 A ← Accurate value!
Важные замечания
- Для точной калибровки используйте стабильную активную нагрузку (нагреватели, лампы накаливания)
- НЕ используйте для калибровки: импульсные блоки питания или электродвигатели (высокий пусковой ток)
- Минимальный ток для калибровки: 5 А (при более низких значениях шум ADC влияет на показания)
10.4 Сохранение калибровки
Все изменения конфигурации автоматически сохраняются в NVS (Non-Volatile Storage) и сохраняются после перезагрузки.
Проверка сохранения
После перезагрузки выполните:
hardware-config
Вы должны увидеть обновлённые значения multiplier.
10.5 Сброс до заводских значений
Через консоль
hardware-reset
Затем перезагрузите:
reboot
Через Web API
Отправьте POST-запрос на http://:
curl -X POST http://192.168.4.1/api/hardware/config/reset
Справочная таблица: типичные значения коэффициентов
Датчики напряжения
| Модель | Напряжение сети | Калибровка | Коэффициент |
|---|---|---|---|
| ZMPT107 | 230 В AC | 0.70 В = 230 В | 328.57 |
| ZMPT107 | 220 В AC | 0.70 В = 220 В | 314.29 |
| ZMPT107 | 240 В AC | 0.70 В = 240 В | 342.86 |
| ZMPT107 | 110 В AC | 0.70 В = 110 В | 157.14 |
Датчики тока
| Модель | Диапазон | Выход | Коэффициент |
|---|---|---|---|
| SCT-013-030 | 0–30 А | 1 В при 30 А | 30.0 |
| SCT-013-050 | 0–50 А | 1 В при 50 А | 50.0 |
| SCT-013-100 | 0–100 А | 1 В при 100 А | 100.0 |
Полезные команды
# Show current measurements
status
# Show sensor configuration
hardware-config
# Reset to factory defaults
hardware-reset
# Reboot
reboot