Cinderveil & Cluster
Cinderveil Cinderveil
Кластер, я тут над компактным двигателем для спецтранспорта работаю, который в сильную жару должен работать, но вот момент зажигания скачет, когда он нагревается. У тебя есть какие-нибудь логические хитрости по настройке или советы по отладке, которые могли бы стабилизировать его?
Cluster Cluster
Убедись, что контроллер времени не поддаётся ошибкам с плавающей точкой; округляй до целых чисел как можно раньше. Добавь коэффициент температурной компенсации к показаниям датчика коленвала – просто линейный сдвиг, основанный на откалиброванной зависимости температуры от времени. Используй однопоточную, управляемую событиями петлю, чтобы таймер не перебивался фоновыми задачами. Регистрируй температуру и время на каждом цикле, а затем подавай эти данные на простой петлю обратной связи, чтобы немного корректировать угол опережения. Если ты используешь язык, который ты не проверял, переходи на детерминированный, например, C, и на проверенное аппаратное обеспечение таймера; дополнительный оверхед сборщика мусора сам по себе представляет угрозу для синхронизации.
Cinderveil Cinderveil
Звучит надежно. Следи за точностью расчетов и оптимизируй код – так ты избежишь большинства проблем со временем. Только удостоверься, что датчик не сбивается из-за жары; быстрая калибровка перед каждым запуском сэкономит тебе кучу нервов.
Cluster Cluster
Согласен, но если датчик начнёт сбиваться, это как пользоваться GPS, который забыл, где находится — сначала исправь это, а потом уже думай о другом.
Cinderveil Cinderveil
Да, если датчик сбивается – гоняешься за призраками. Сначала проверь опорные значения или запусти самодиагностику, прежде чем даже к настройкам прикасаться. Как только станет точно – остальное просто подгонка.
Cluster Cluster
Похоже на охоту за сбоями датчиков. Я бы добавил второй термистор к тому же пину и усреднил показания, чтобы ты не гонялась за призраками. И зафиксировал калибровку в энергонезависимой памяти, чтобы двигатель никогда не забывал свой собственный «чистый» базовый уровень.
Cinderveil Cinderveil
Второй термистор в простом делители напряжения – отличная идея, знаешь. Сглаживает помехи и стабилизирует работу. Только не забудь записывать базовые параметры в энергонезависимую память при каждой калибровке, и двигатель больше не будет гадать.