Оно не измеряет давление в колёсах, оно измеряет разницу давления в колёсах. То есть, если одно из колёс имеет пониженное или повышенное давление, то внешний его диаметр изменяется, что изменяет частоту его вращения. Эта разница и вычисляется при движении прямо (именно поэтому нужно положение рулевого колеса). А дальше, делается вывод, что вероятность того, что если одно из колёс отличается по частоте вращения от трёх остальных, то вероятнее всего с ним что-то не так - надо проверить давление. Такая штука на корейцах есть, точно знаю на KIA Rio.
Ну так датчики АБС с каждого колеса в шине есть. Осталось дело за углом поворота рулевого колеса, чтобы выверять равномерное движение и высчитывать дельту каждого колеса. Ну а дальше всё считается формулами.
PS: А температуру всё же снижает. Штатно вентилятор включается на 102°С на первую скорость и на 103°С на вторую. Настройка температуры срабатывания на 90°С не позволяет достигнуть сотни градусов.
Ну даже для того, что не "колхозить" - проводку не трогаем, ничего не врезаем, ничего не изменяем.
А управление вентилятором - наверно одно из самых простых и безопасных воздействие на управляемые элементы. Так то можно и бензонасосом управлять, и всеми свечами зажигания, даже обороты мотора задать (чем не круиз-контроль). Но в здравом уме, такое делать вообще опасно.
Поэтому, пусть температура двигателя будет ближе к нормальным условиям. Это и безобидно, и пусть, хоть и немного, но продлевает срок службы патрубков.
Этот код работает в режиме OBD over CAN, то есть использует только диагностические запросы через CAN ID 0x7E0 (отправка) и 0x7E8 (приём) - я предпочёл так не делать. ЭСУД автомобиля постоянно в CAN-шину выбрасывает необходимые мне параметры, поэтому я их просто читаю, декодирую и вывожу. А вот управление исполнительными устройствами - я не нашёл, как это можно сделать непосредственно через CAN-пакеты, да и нет уверенности, что такое возможно. Поэтому для управления использую отправку управляющего пакета через OBD over CAN. Примеры пакетов есть в приведённом коде несколькими комментариями выше: https://habr.com/ru/articles/479672/comments/#comment_27587222
К сожалению, в какой-то версии wxWidgets убрали возможность настройки ширины области захвата разделителя. Связано это было, вроде бы, с тем, что не на всех операционных системах поддерживается управление этим параметром. Получается, что надо попасть в область, выделенную на снимке (там курсор меняется на стрелки вверх-вниз):
Мобильное приложение не планировал, но есть написанное для себя, для проверки различных идей. В данном случае приходится использовать связку CAN-ESP-WiFi-Android (или PC). Заморочка тут в том, что через сеть должны передаваться маленькие порции данных (CAN-пакет около 20 байт). А самих пакетов много 500..1000 в секунду. Сетевой стек в ESP просто захлёбывается в таком режиме. В CAN Sniffer я сделал накопление нескольких CAN-пакетов в один сетевой пакет и только потом отправка. По мне - выглядит это не очень хорошо. Поэтому, тут есть над чем подумать.
По блоку M74CAN все основные параметры довольно легко декодируются. Я себе собрал табличку со всеми найденными параметрами. Коды ошибок - их нет в CAN шине, они в отдельном протоколе OBD поверх CAN. В статье я об этом написал. Для диагностики часто используются адреса 0x7E0, 0x7E8. Я делал себе программное управление вентилятором охлаждения, некий TempGuard: включаю вентилятор на 90°C, выключаю при 85°C (параметры настраиваются). Причём включаю первую скорость вентилятора - она и потише, да и хватает её даже в жару. Нюанс в том, что не надо управлять вентиляторами, когда включен кондиционер, там сам ЭБУ будет этими вентиляторами управлять. В статье, последняя анимация и параграф над ней - как раз пример управления выходами ЭБУ (первая скорость вентилятора, муфта кондиционера). Так же делал программу для телефона, которая различные параметры выводит, графики скорости, оборотов, положения педали газа. Читает всё это через Wi-Fi реализованный через ESP. PS: Добавил схемы подключения AVR и ESP в проект для микроконтроллера.
PID-ы стандартизованы в OBD, их описание есть в Wikipedia, но лучше смотреть английскую версию, там больше подробностей. И эти PID-ы к CAN шине не имеют прямого отношения. CAN шина живёт отдельно со своими данными и протоколом. А вот PID-ы в диагностическом режиме (эдакая замена K-line) внутри пакетов CAN 0x7E0 и 0x7E8.
Оно не измеряет давление в колёсах, оно измеряет разницу давления в колёсах. То есть, если одно из колёс имеет пониженное или повышенное давление, то внешний его диаметр изменяется, что изменяет частоту его вращения. Эта разница и вычисляется при движении прямо (именно поэтому нужно положение рулевого колеса). А дальше, делается вывод, что вероятность того, что если одно из колёс отличается по частоте вращения от трёх остальных, то вероятнее всего с ним что-то не так - надо проверить давление. Такая штука на корейцах есть, точно знаю на KIA Rio.
Ну так датчики АБС с каждого колеса в шине есть. Осталось дело за углом поворота рулевого колеса, чтобы выверять равномерное движение и высчитывать дельту каждого колеса. Ну а дальше всё считается формулами.
PS: А температуру всё же снижает. Штатно вентилятор включается на 102°С на первую скорость и на 103°С на вторую. Настройка температуры срабатывания на 90°С не позволяет достигнуть сотни градусов.
Действительно, странный вопрос. :)
Ну даже для того, что не "колхозить" - проводку не трогаем, ничего не врезаем, ничего не изменяем.
А управление вентилятором - наверно одно из самых простых и безопасных воздействие на управляемые элементы. Так то можно и бензонасосом управлять, и всеми свечами зажигания, даже обороты мотора задать (чем не круиз-контроль). Но в здравом уме, такое делать вообще опасно.
Поэтому, пусть температура двигателя будет ближе к нормальным условиям. Это и безобидно, и пусть, хоть и немного, но продлевает срок службы патрубков.
Этот код работает в режиме OBD over CAN, то есть использует только диагностические запросы через CAN ID 0x7E0 (отправка) и 0x7E8 (приём) - я предпочёл так не делать. ЭСУД автомобиля постоянно в CAN-шину выбрасывает необходимые мне параметры, поэтому я их просто читаю, декодирую и вывожу. А вот управление исполнительными устройствами - я не нашёл, как это можно сделать непосредственно через CAN-пакеты, да и нет уверенности, что такое возможно. Поэтому для управления использую отправку управляющего пакета через OBD over CAN. Примеры пакетов есть в приведённом коде несколькими комментариями выше: https://habr.com/ru/articles/479672/comments/#comment_27587222
К сожалению, в какой-то версии wxWidgets убрали возможность настройки ширины области захвата разделителя. Связано это было, вроде бы, с тем, что не на всех операционных системах поддерживается управление этим параметром. Получается, что надо попасть в область, выделенную на снимке (там курсор меняется на стрелки вверх-вниз):
Мобильное приложение не планировал, но есть написанное для себя, для проверки различных идей. В данном случае приходится использовать связку CAN-ESP-WiFi-Android (или PC). Заморочка тут в том, что через сеть должны передаваться маленькие порции данных (CAN-пакет около 20 байт). А самих пакетов много 500..1000 в секунду. Сетевой стек в ESP просто захлёбывается в таком режиме. В CAN Sniffer я сделал накопление нескольких CAN-пакетов в один сетевой пакет и только потом отправка. По мне - выглядит это не очень хорошо. Поэтому, тут есть над чем подумать.
Кратко, логика примерно такая:
По прерыванию получаем необходимый пакет(ы), извлекаем из них значение
При превышении заданной температуры включения - отправляем диагностический пакет на включение первой скорости вентилятора
При снижении температуры ниже заданного порога - отправляем диагностический пакет отключения вентилятора (либо передачи управления вентилятором ЭСУД)
Ниже код для примера.
Скрытый текст
По блоку M74CAN все основные параметры довольно легко декодируются. Я себе собрал табличку со всеми найденными параметрами.
Коды ошибок - их нет в CAN шине, они в отдельном протоколе OBD поверх CAN. В статье я об этом написал. Для диагностики часто используются адреса 0x7E0, 0x7E8.
Я делал себе программное управление вентилятором охлаждения, некий TempGuard: включаю вентилятор на 90°C, выключаю при 85°C (параметры настраиваются). Причём включаю первую скорость вентилятора - она и потише, да и хватает её даже в жару. Нюанс в том, что не надо управлять вентиляторами, когда включен кондиционер, там сам ЭБУ будет этими вентиляторами управлять. В статье, последняя анимация и параграф над ней - как раз пример управления выходами ЭБУ (первая скорость вентилятора, муфта кондиционера).
Так же делал программу для телефона, которая различные параметры выводит, графики скорости, оборотов, положения педали газа. Читает всё это через Wi-Fi реализованный через ESP.
PS: Добавил схемы подключения AVR и ESP в проект для микроконтроллера.
Начиная с версии 2.2.0 приложение собирается в Linux. Проверял в Ubuntu с подключением к железу.
Ноутбук жив. Находится в пользовании у родственника. Режим эксплуатации - крайне-лёгкий.
https://leroymerlin.ru/company/nizkiye-ceny-kazhdiy-den/
В первом блоке справа (цитата):
"КАЖДЫЙ МАГАЗИН В КАЖДОМ ГОРОДЕ РЕГУЛЯРНО ИЗУЧАЕТ ЦЕНЫ НА РЫНКЕ, ЧТОБЫ СДЕЛАТЬ НАШЕ ПРЕДЛОЖЕНИЕ ДОСТУПНЫМ И ВЫГОДНЫМ."
Так что зависит от цен в других городских магазинах.
Вижу публикацию, беру ссылку, но не работает...
Не смог победить. На канале AlphaCentauri заметка об аварийной ситуации при стыковке.
Кажется, у нас нештатная ситуация на МКС...
PS: Надеюсь, что им только кажется.
0x160 — педаль газа, дроссель
0x180 — обороты мотора, некоторые параметры по мотору
0x280 — приборы, скорость
0x481 — двери, световые приборы, подогревы
0x551 — приборы
0x555 — климат-контроль
0x560 — АКП
АБС точно не помню, кажется в районе 0x35x.