Files
GruntStand/README.md
2026-01-30 18:36:20 +03:00

3.2 KiB
Raw Blame History

Грунтометрия - Измеритель влажности грунта

Прибор для определения влажности почвы методом высушивания на базе Arduino.

Принцип работы

Прибор определяет влажность грунта по формуле:

W = 100 × (m1 - m0) / (m0 - m)

Где:

  • m — масса пустой кюветы
  • m1 — масса кюветы с влажным грунтом
  • m0 — текущая масса во время нагрева (высушивания)

Компоненты

  • Arduino (Uno/Nano/Mega)
  • LCD Keypad Shield 1602
  • Тензодатчик с модулем HX711
  • Индукционный нагреватель
  • Кнопка управления

Подключение

Компонент Пин Arduino
LCD RS D8
LCD EN D9
LCD D4-D7 D4, D5, D6, D7
LCD Подсветка D10
HX711 DOUT A3
HX711 SCK A2
Кнопка D13
Нагрев D3
Напряжение A1

Управление

Короткое нажатие кнопки

Переход между этапами измерения:

  1. Готовность → Взвешивание пустой кюветы
  2. Пустая кювета → Сохранение массы (m)
  3. Заполненная кювета → Сохранение массы (m1) и начало нагрева
  4. Нагрев → Прерывание нагрева и показ результата
  5. Результат → Возврат в режим готовности

Удержание кнопки (4-6 секунд)

Автоматическое тарирование (обнуление весов)

Удержание кнопки (8+ секунд)

Калибровка с эталонным грузом 100г

Режим нагрева

  • Общая длительность: 15 минут
  • Циклический режим: 30 сек нагрев / 20 сек пауза
  • Измерение массы происходит во время паузы (для точности)
  • Отображается максимальное значение влажности (Wmax)

Фильтрация данных

Для стабильности показаний используются:

  • Медианный фильтр (7 значений)
  • Экспоненциальное скользящее среднее (EMA)
  • Дедбэнд для уменьшения дрейфа показаний

Калибровка

  1. Удерживайте кнопку 8-10 секунд
  2. Уберите все с платформы, нажмите кнопку
  3. Установите груз 100г, нажмите кнопку
  4. Коэффициент калибровки сохраняется в EEPROM

Библиотеки

  • LiquidCrystal — управление LCD дисплеем
  • HX711 — работа с тензодатчиком
  • EEPROM — сохранение настроек