82 lines
3.2 KiB
Markdown
82 lines
3.2 KiB
Markdown
# Грунтометрия - Измеритель влажности грунта
|
||
|
||
Прибор для определения влажности почвы методом высушивания на базе 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` — сохранение настроек
|