4.5 KiB
Ответы Opus и Sonnet — залипание клона ELM327 v1.5
Дата: 2026-06-29
Opus 4.8
1. Природа залипания
Прошивка-эмулятор (MCU имитирует команды, нет настоящего чипа). Под нагрузкой буфер ответа переполняется, MCU зацикливается, отдавая последний кадр (7F0112) на всё. CAN-контроллер жив, мёртв эмулятор. UART отвечает, но игнорирует ввод.
2. Детект залипания
AT-команда возвращает OBD-кадр = залип. ATRV без V/напряжения = залип. 3+ одинаковых hex-ответа на разные PID. 7F на PID 0100 — флаг.
3. Паузы
2-3 сек снижают вероятность, но не устраняют. Залипание зависит от суммарного числа команд, а не интервалов.
4. Auto-recovery
ATWS/ATZ иногда оживляют, но если завис UART-приём — команды не дойдут. 90% случаев — только обесточивание. Алгоритм: ATWS → 2 сек → ATRV для проверки. Не сработало → требовать переподключения.
5. Оптимальный размер цикла
2-3 PID на цикл при паузе 2-3 сек. 4 уже на грани.
6. Влияние оборотов
CAN-нагрузка ускоряет залипание. 3500+ → больше трафика → раньше переполнение.
7. Замена адаптера
OBDLink SX/MX+ — лучший. v2.1 клон — миф, тот же эмулятор.
8. Стратегия
Гибрид: адаптироваться (2-3 PID, паузы, детект+recovery), детектить тип, предупреждать, не блокировать.
Sonnet
1. Природа залипания
Баг клонов v1.5 (CH340/PIC18F). Залипает CAN-контроллер внутри клона.
2. Детект залипания
ATRV до/после цикла. 2-3 одинаковых ответа подряд.
3. Паузы
2-3 сек помогают. Минимум 1.5 сек. 6+ PID → 3-5 сек.
4. Auto-recovery
ATZ — надёжный. ATWS — мягче. ATPC — иногда. Последовательность: ATPC → 500ms → ATZ → переинит.
5. Оптимальный размер цикла
4 PID — хороший баланс. 6 рискованно. 2 безопасно.
6. Влияние оборотов
Да, прямое. Холостые — залипает позже.
7. Замена адаптера
OBDLink EX/MX+ → оригинал ELM327 v1.4b/v2.1 → клоны v2.1 лотерея.
8. Стратегия
Медленный режим (4 PID, 3 сек) как default. Детект + авто-ATZ. Предупреждение в UI.
Моё мнение
Opus точнее в трёх ключевых пунктах:
-
Природа залипания — Opus правильно указывает на эмулятор/прошивку, а не CAN-контроллер. Это объясняет почему AT-команды тоже ломаются.
-
Auto-recovery — Opus реалистичнее: 90% только обесточивание. Соннет излишне оптимистичен про ATZ. Наш опыт подтверждает Опуса — ATZ не помогал.
-
Размер цикла — Opus консервативнее (2-3 PID). С учётом что клон залип после ~10 команд, 2-3 PID на цикл безопаснее.
Соннет практичнее в одном: 4 PID + 3 сек как default для продакшена. Но с учётом рисков, 2-3 PID + детект залипания + авто-предупреждение — более надёжный путь.
Что берём в работу:
- Детект залипания через
ATRV(безV= залип) - Циклы по 3 PID с паузой 2-3 сек
- Auto-recovery через ATWS → проверка ATRV → если нет → сообщение пользователю
- Предупреждение в UI: «Адаптер нестабилен, рекомендуем OBDLink»