docs: add P900 E1 kiln emulator command documentation
This commit is contained in:
43
gcode_v2.md
43
gcode_v2.md
@@ -35,6 +35,7 @@
|
|||||||
| `P802` | Комментарий к программе | v2 ↓ |
|
| `P802` | Комментарий к программе | v2 ↓ |
|
||||||
| `P810` | UUID программы (идентификатор для матчинга статусов контроллера и сервера) | v2 ↓ |
|
| `P810` | UUID программы (идентификатор для матчинга статусов контроллера и сервера) | v2 ↓ |
|
||||||
| `P850` | Расчётная длительность программы (только для UI, не исполняется) | v2 ↓ |
|
| `P850` | Расчётная длительность программы (только для UI, не исполняется) | v2 ↓ |
|
||||||
|
| `P900` | Режим эмулятора печи (замена реального датчика на математическую модель) | v2 ↓ |
|
||||||
|
|
||||||
### Команды-программы (K/M-команды)
|
### Команды-программы (K/M-команды)
|
||||||
|
|
||||||
@@ -428,6 +429,48 @@ P850 Firing and cooling to 300°C will take 1 day, 2 hours, 27 minutes S95270
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## P900 — режим эмулятора печи
|
||||||
|
|
||||||
|
```gcode
|
||||||
|
P900 E1 ; Активировать эмулятор с параметрами по умолчанию
|
||||||
|
P900 E1 P7000 ; Эмулятор: нагреватель 7000 Вт
|
||||||
|
P900 E1 P7000 C30000 ; Эмулятор: нагреватель 7000 Вт, тепловая ёмкость 30000 Дж/°C
|
||||||
|
P900 E1 P7000 C30000 L5.74 ; Эмулятор: все три параметра явно
|
||||||
|
```
|
||||||
|
|
||||||
|
**Pretty G-code (human-readable комментарии):**
|
||||||
|
|
||||||
|
```gcode
|
||||||
|
P900 Emulator E1 power P7000 W capacity C30000 J/C loss L5.74 W/C
|
||||||
|
```
|
||||||
|
|
||||||
|
**Параметры:**
|
||||||
|
|
||||||
|
| Параметр | Описание |
|
||||||
|
|---|---|
|
||||||
|
| `E1` | **Обязательно.** Тип эмулятора. Единственное допустимое значение — `1`. |
|
||||||
|
| `P<Вт>` | Максимальная мощность нагревателя в Ваттах (дефолт: 7000). |
|
||||||
|
| `C<Дж/°C>` | Тепловая ёмкость печи в Дж/°C (дефолт: 30000). |
|
||||||
|
| `L<Вт/°C>` | Коэффициент теплопотерь в Вт/°C (дефолт: 7000/1220 ≈ 5.74). |
|
||||||
|
|
||||||
|
**Особенности:**
|
||||||
|
|
||||||
|
- При наличии команды `P900 E1` в программе реальный датчик температуры заменяется математической моделью печи на весь период выполнения программы.
|
||||||
|
- Температура эмулятора начинается с 25°C при каждом старте программы.
|
||||||
|
- Математическая модель (уравнение теплового баланса, шаг 1 секунда):
|
||||||
|
```
|
||||||
|
T_new = T_old + dt × (P_heater − L × T_old) / C
|
||||||
|
```
|
||||||
|
где `P_heater = pwm_percent × P / 100`.
|
||||||
|
- Параметр `L` описывает теплопотери конкретной печи: при `P900 E1 P7000 L5.74` равновесная температура при полном PWM составит `7000 / 5.74 ≈ 1220°C`.
|
||||||
|
- Более высокая мощность `P` при том же `L` даёт более высокую равновесную температуру.
|
||||||
|
- Значения `E` кроме `1` не поддерживаются и приводят к ошибке парсинга.
|
||||||
|
- Эмулятор деактивируется при сбросе или прерывании программы, после чего контроллер снова использует реальный датчик.
|
||||||
|
- Эмулируемая температура публикуется в MQTT в топик `/data/kiln/kiln_temp`.
|
||||||
|
- Флаг активности эмулятора публикуется в `/data/gcode/emulator_active` (0/1).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Пример последовательности
|
## Пример последовательности
|
||||||
|
|
||||||
**Стандартный G-code:**
|
**Стандартный G-code:**
|
||||||
|
|||||||
Reference in New Issue
Block a user