Парковка шагового РХХ
Posted: Tue Jul 18, 2017 1:56 pm
Для нормальной повседневной езды нужно всё же решить проблему с долгой инициализацией шагового РХХ при включении зажигания. Даже если ускорять/замедлять моторчик при парковке.
Можно, конечно, тупо парковать РХХ при каждом отключении питания, а не при включении (при наличии управления питанием EFI_MAIN_RELAY_CONTROL). Но это не так интересно.
Вместо этого я хочу рассмотреть другой вариант:
- при отключении питания сохранять в настройках значение текущего положения РХХ и счётчик выключений (инкрементируем каждый раз);
- если счётчик выключений превысил некий порог (скажем, 10 раз), то при отключении мы паркуем РХХ в ноль (если включено управление питанием, а если нет - парковать при включении), сбрасываем счётчик плюс значение текущего положения, и сохраняем их;
- а при включении питания просто выставляем в нужное положение относительно последнего запомненного значения в настройках!
- можно также предусмотреть режим насильной реинициализации (с парковкой) при включении зажигания - скажем, при нажатой педали газа, как при продувке цилиндров (тогда тоже сбрасываем значения и сохраняем).
Для этой цели нужно хранилище для записи этих двух настроек (грубо говоря, два-три байта). Но не хочется каждый раз при отключении зажигания дёргать основное хранилище настроек во флеше. Или это не страшно?..
Как вариант, можно, наконец, задействовать энергонезавимый backup SRAM в STM32 и резервное питание с батарейки... (Тем более, что туда можно дампить и текущее состояние триггеров для более быстрого поиска синхрометок при кранкинге)
Кто что думает?
Можно, конечно, тупо парковать РХХ при каждом отключении питания, а не при включении (при наличии управления питанием EFI_MAIN_RELAY_CONTROL). Но это не так интересно.
Вместо этого я хочу рассмотреть другой вариант:
- при отключении питания сохранять в настройках значение текущего положения РХХ и счётчик выключений (инкрементируем каждый раз);
- если счётчик выключений превысил некий порог (скажем, 10 раз), то при отключении мы паркуем РХХ в ноль (если включено управление питанием, а если нет - парковать при включении), сбрасываем счётчик плюс значение текущего положения, и сохраняем их;
- а при включении питания просто выставляем в нужное положение относительно последнего запомненного значения в настройках!
- можно также предусмотреть режим насильной реинициализации (с парковкой) при включении зажигания - скажем, при нажатой педали газа, как при продувке цилиндров (тогда тоже сбрасываем значения и сохраняем).
Для этой цели нужно хранилище для записи этих двух настроек (грубо говоря, два-три байта). Но не хочется каждый раз при отключении зажигания дёргать основное хранилище настроек во флеше. Или это не страшно?..
Как вариант, можно, наконец, задействовать энергонезавимый backup SRAM в STM32 и резервное питание с батарейки... (Тем более, что туда можно дампить и текущее состояние триггеров для более быстрого поиска синхрометок при кранкинге)
Кто что думает?