Мы рассчитываем расход топлива по-разному в зависимости от типа данных, доступных для каждого транспортного средства.
Существует два принципиально разных подхода:
Абсолютное измерение (CAN Flow)
Относительное измерение (CAN Level, датчик топлива).
Понимание разницы помогает объяснить, почему показатели расхода могут различаться у разных транспортных средств и что влияет на их точность.
Абсолютное измерение
Этот подход использует данные CAN Flow, которые поступают напрямую от бортового компьютера двигателя (ECU). Он ведет непрерывный учет топлива, впрыснутого в двигатель — это похоже на одометр, только для топлива. Наша система считывает этот счетчик в начале и в конце каждого дня и вычитает одно значение из другого.
Расчет
Расход = конечное значение счетчика − начальное значение счетчика
Пример
Счетчик ЭБУ на начало дня: 45 230 л
Счетчик ЭБУ на конец дня: 45 480 л
45 480 - 45 230 = 250 л израсходовано за этот день
📘День измеряется с 00:00 до 00:00 (с полуночи до полуночи).
Поскольку измерения выполняет бортовой компьютер двигателя, на этот метод не влияют форма бака, калибровка датчика, наклон транспортного средства или плескание топлива.
Это самый точный источник средних показателей расхода.
🔔 Важное ограничение
Поток CAN сообщает лишь о том, сколько топлива сжег двигатель.
Он не видит происходящего в самом баке — не может показывать заправки, текущий уровень в баке или топливо, которое исчезло при выключенном двигателе. Для обнаружения сливов и контроля краж по-прежнему необходим источник данных об уровне топлива в баке в дополнение к потоку CAN.
Относительное измерение
Этот подход использует как уровень CAN, так и датчики топлива для измерения уровня топлива в баке.
Затем расход рассчитывается путем сравнения уровня в начале и конце дня с учетом любых заправок или сливов в этом промежутке.
1. Что отправляет датчик
Уровень CAN считывает данные штатного датчика уровня, встроенного в транспортное средство, через шину CAN. В зависимости от транспортного средства он передает уровень в баке как:
Процент (например, 72%) — наиболее распространенный вариант
Значение в литрах (например, 288 л) — встречается реже, зависит от производителя
Датчик топлива (ДУТ) — это зонд, установленный прямо внутри бака.
Он передает значение напряжения (например, 1,8 В). Оно преобразуется в литры с помощью таблицы тарировки, которую создаешь при установке, сопоставляя показатели напряжения с уровнями заполнения по всему объему бака.
2. Преобразование в литры (при необходимости)
Если датчик передает проценты, платформе необходим объем бака для пересчета:
Литры = (% ÷ 100) × объем бака
Пример
72% в баке объемом 400 л = 288 л
Поэтому укажи объем бака в настройках транспортного средства для всех транспортных средств, использующих уровень CAN (%) или данные датчика топлива. Без этого платформа не сможет преобразовать показания, и ты не увидишь расход.
Для данных уровня CAN в литрах (абсолютных) все равно рекомендуем указать объем бака — без этого не обнаружишь заправки менее 40 л.
3. Расчет ежедневного расхода
Как только уровни будут выражены в литрах, платформа выполнит ежедневный расчет:
Расход = начальный уровень + заправки − события слива − конечный уровень
Пример — обычный день
Начальный уровень: 300 л
Заправка в течение дня: +150 л
Конечный уровень: 200 л
Расход = 300 + 150 − 200 = 250 л
Пример — день с обнаруженным сливом
Начальный уровень: 300 л
Заправка: +150 л
Обнаружен слив (резкое падение во время стоянки): −40 л
Конечный уровень: 160 л
Расход = 300 + 150 − 40 − 160 = 250 л
Слив объёмом 40 л исключается из показателя расхода и фиксируется как отдельное событие. Это обеспечивает точность отчёта о расходе топлива при вождении — слив не считается топливом, которое сжёг двигатель.
Заправки и сливы обнаруживаются путём выявления изменений уровня, которые не соответствуют постепенному снижению при обычном вождении. Падение на 40 л за 5 минут, пока транспортное средство стоит на парковке, не является расходом — оно помечается как отдельное событие.
Как общий суточный расход справляется с аномалиями
Так как расход рассчитывается раз в сутки по начальному и конечному уровням, кратковременные аномалии в течение дня не влияют на итоговое значение.
Если припаркуешь транспортное средство на склоне на час, и датчик топлива покажет на 5 л меньше реального объема, уровень восстановится, как только транспортное средство снова окажется на ровной поверхности. К моменту записи конечного уровня показания будут точными, и суточный итог отобразит реальность.
Это также значит, что необычные события — перевозка прицепа, крутой рельеф, краткий сбой питания — могут отображаться как помехи на графике внутри дня, но обычно не искажают общий суточный расход.
Уровень CAN vs датчик топлива
Оба варианта используют один и тот же метод расчета. Разница заключается в точности измерения уровня в баке.
Уровень CAN | Датчик топлива | |
Источник данных | Заводской датчик через CAN-шину | Зонд, установленный в баке |
Типичная точность | Погрешность измерения до 15% | Погрешность измерения ~1% |
Мертвые зоны | Заводской датчик может не охватывать верхнюю и нижнюю границы бака — до 10% от общего объема | Отсутствуют, при установке калибруется весь объем бака |
Требуемая настройка | Укажи объем бака в настройках транспортного средства | Физическая установка + калибровка специалистом |
Повторная калибровка | Не требуется | Периодическая — смещение датчика, сезонные изменения топлива, состояние бака |
Проблема «мертвой зоны» с уровнем по CAN-шине — это аппаратное ограничение штатного датчика, а не платформы. Штатные датчики предназначены для предупреждения водителя о низком уровне топлива, а не для точных измерений в рамках управления автопарком.
Верхняя и нижняя части бака часто находятся вне зоны видимости датчика, поэтому на графике при полном баке можешь увидеть 90 %, а при почти пустом баке показатели могут быть нестабильными.
Источники данных и приоритет
Если у транспортного средства доступно несколько источников, платформа автоматически выбирает лучшее сочетание. Источник расхода и источник пробега выбираются независимо, а затем объединяются для расчета итогового показателя среднего расхода.
Приоритет расхода (от высшего к низшему):
CAN Flow
Датчик уровня топлива (датчик DUT)
CAN Level
Приоритет расстояния (от высшего к низшему):
Одометр CAN
GPS
Это дает шесть возможных комбинаций в порядке приоритета:
Приоритет | Источник расхода | Источник расстояния |
1 | CAN Flow | Одометр CAN |
2 | CAN Flow | GPS |
3 | Датчик уровня топлива | Одометр CAN |
4 | Датчик уровня топлива | GPS |
5 | CAN Level | Одометр CAN |
6 | CAN Level | GPS |
Платформа всегда использует комбинацию с самым высоким приоритетом из доступных.
Два транспортных средства, которые выглядят идентичными в автопарке, могут передавать данные о расходе по-разному, если у одного есть данные CAN Flow, а у другого — нет — это ожидаемое поведение, а не ошибка.
Чтобы определить, какая комбинация используется для конкретного транспортного средства, проверь, какие источники данных активны и сопоставлены в настройках транспортного средства.
