Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Клуб ТОЙОТА РАВ 4 форум, ремонт, запчасти, тюнинг _ Выбор и покупка РАВ4 пятого(!) поколения (2019 - ...) _ Can-шина rav4 xa50, управление по can, управление светом и пр.

Автор: VVV-omsk 18.11.2023, 19:55

Предлагаю в данной теме обсуждать вопросы, связанные с использованием CAN-шины для добавки нового функционала. Публиковать таблицы CAN-команд с описаниями и рекомендациями по использованию.
Для примера опишу своё решение для комплектации "Комфорт".
Вот фото результата:


Внимательные увидят, что реснички светятся вместе с боковыми ДХО. При этом ни дальний, ни ближний не горят.
Известно, что с началом внедрения ДХО Тойота различает старшие и младшие комплектации машин по виду ДХО: старшим достаются более "внушительные", младшим - помельче и попроще. Вот и в "Комфорте" верхняя ресничка зажигается лишь совместно с ближним светом. Хотя, почему бы не включать её вместе с основными ДХО? Да потому что маркетинг, блин!
Идея мне пришла, когда на Али увидел переходники к фарам "Комфорта" (т.е. "трёхлучевым", в наименовании Тойоты), которые реализовывали вариант включения бровей вместе с ДХО. Но объявление быстро закрыли с комментарием "не подходят для российской сборки". Возможно, в Китае существовали фары без CAN-управления. Объявление исчезло, но идея осталась...
В общем, в итоге всё получилось.
Решил описание разбить на 2 части: Здесь опишу кратко реализацию, а полное описание работы с CAN-шиной напишу далее. И чуть попозже. А то уже 3 месяца как сделал, а вот писать лениво, когда представлю - сколько букв топтать надо.

Итак, сниффингом CAN-шины, переключая селектор света из "Авто" в "Габариты" и обратно удалось найти команду управления фарами по шине CAN: "ID 699".
Стандартая команда 699, включающая режим ДХО, выглядит так:
"699 9D-80-80-xx-xx-xx-xx-xx", где хх-любые значения, первые "80" - это команда фарам сменить режим на другой, а вторые "80" - это включение ДХО.
А команда, которая включает отдельно верхние брови (без ближнего света), выглядит так: "699 9D-80-40-xx-xx-xx-xx-xx".
Таким образом, чтобы сделать то, что хотим, нужно реализовать такой алгоритм: Как только мы обнаруживаем команду "699 9D-80-80-xx-xx-xx-xx-xx (т.е. включены ДХО), мы тут же подаём на фару нашу, "правильную" команду:
"699 9D-80-С0-xx-xx-xx-xx-xx", которая одновременно с ДХО включает и ресничку.
Примечание: вот это число, которое то 80, то 40, то С0 - это шестнадцатеричный формат, который в двоичном представлении (из "0" и "1") можно представить так:
"80h"(ДХО) =1000 0000, где h- означает 16-ричный формат,
"40h"(брови) =0100 0000
а комбинированная команда
"С0h" =1100 0000, т.е. включаем и то и другое.

Как это всё реализовать?
Нужен маленький дешёвый контроллер, работающий с CAN-шиной, который мог бы это сделать.
Я рассматривал 2 варианта:
- на основе контроллера Arduino с CAN-модулем ценой 300...500р (с Али)
- на основе контроллера CannyPico со встроенным CAN-адаптером и визуальным программированием ценой 3 400р (без доставки)
https://canny.ru/docs/c53pico/
В итоге выбрал CannyPico, поскольку лень было осваивать программирование под Arduino ради одной задачи, а в CannyPico всё делается прямо в бесплатной среде программирования, поставляемой вместе с контроллером.
Вот фото миниатюрной покупки:




Вот получившаяся простенькая программа, которая реализует хотелку:


Освоение среды разработки данного контроллера - задача не сильно сложная, если есть навыки работы хотя бы с ноутбуком (за это его и выбрал). Особенно, когда программа уже готова и достаточно просто прошить её в контроллер. Но можно пойти по ещё более простому пути: данная Среда позволяет сделать просто запускаемый файл для программирования. Тогда действия выглядят так:
- купить контроллер;
- подключить его к USB-порту компьютера;
- запустить файл программирования, дождаться окончания прошивки;
- тащить контроллер в машину и подключать.
Более подробно процесс прошивки описан в:
https://canny.ru/docs/cannylab/sfx/, начиная с заголовка "Использование утилиты автоматической загрузки ПО в контроллер"
Вот ссылка на файл для прошивки в контроллер вышеописанной программы:
https://disk.yandex.ru/d/z0AH53kPS_Kwfw
Запрограммированный контроллер подключаем параллельно CAN-шине автомобиля.
Примечание: CAN-шина не замечает любых дополнительно подключённых устройств (конечно, корректно подключённых).
Кроме того, я для подключения припаял к выводам канцелярские булавки и просто втыкал их в нужные разъёмы. Таким образом в любой момент всё устройство можно отключить.
Последовательность подключения:
- удаляем из разъёма CannyPico ненужные контакты. Оставляем только 4шт:
синий - CAN-L;
серый - CAN-H;
чёрный - минус питания (корпус)
красный - плюс питания (ACC или IGN)
- припаиваем к выводам иголки, защищаем термоусадкой:


Подключаться проще всего к разъёмам, расположенным у левого колена водителя.


Наименование разъёмов у левого колена водителя:


Подключаемся к машине следующим образом:
"синий - CAN-L" - разъём GN4, выводы 15 или 17
"серый - CAN-H" - разъём GN4, выводы 16 или 18


"чёрный - минус питания (корпус)" - разъём JN1, вывод 20


"красный - плюс питания (ACC)" - разъём GN3, вывод 6


Вот подключённый разъём контроллера:


Вот и сам контроллер в сборе. Т.е. контроллер можно оперативно отсоединять и таскать к ноутбуку, если нужно заменить программу.


Контроллер в пороге никак не крепил - лежит свободно, просто запихнул за жгут проводов. Деться ему там некуда. Только прихватил провода контроллера изолентой к жгуту проводов - чтобы иголки не выскакивали.


Автор: SPb 19.11.2023, 2:39

Мегамозг!!!
Настоящий русский пытливый ум!

Автор: Oleg46 19.11.2023, 3:11

Отличная доработка!
1. Я так понимаю, что контролер можно подключить просто параллельно CAN-L и CAN-Н, (с питанием конечно) - не занимая порт OBD? (на нем у меня уже висит приблуда)..
2. Раз уж залез в эти дебри - а можно-ли программно повысить чувствительность включения ближнего света при АВТО?

Автор: Region62 19.11.2023, 5:59

Отличная идея и реализация!!!
Позволю себя пару идей в догон:
Автоскладыаание зеркал при закрытии авто
Автозакрытие стёкол при закрытии авто
Вот только с питание придётся что-то городить... может на салонный плафон вешать...

Автор: smira 19.11.2023, 8:55

Серьезная работа, вдумчивая реализация, пять балов, одним словом! Многие этого хотели и вот вам пожалуйста smile.gif
Только вот реснички это габариты, рассчитаны на работу в сумерках и тёмное время, ДХО же напротив рассчитаны на работу при ярком дневном свете. Яркость, соответственно отличается в разы. В сумерках неизбежно включается ближний, при ярком солнце реснички никто не увидит. Стоит ли овчинка выделки вопрос философский smile.gif

Автор: RedRav 19.11.2023, 11:01

Цитата:
(Oleg46 @ 19.11.2023, 3:11) *
2. Раз уж залез в эти дебри - а можно-ли программно повысить чувствительность включения ближнего света при АВТО?

Этот пункт должен быть в настройках ГУ. Если нет, то можно через Каристу попробовать.

Автор: SPb 20.11.2023, 23:02

Цитата:
(Region62 @ 19.11.2023, 6:59) *
Автоскладыаание зеркал при закрытии авто
Автозакрытие стёкол при закрытии авто

Такие хотелки в кане не живут на этом а/м, т.к. кан туда и не заходит. wink.gif

Автор: Region62 21.11.2023, 11:41

За зеркала не знаю конечно, а вот закрытие стёкол в том же старлайне реализовано ИМХО на кане

Автор: VVV-omsk 21.11.2023, 20:35

Я тут на пару дней выпал из жизни, поэтом отвечу сразу всем:

Во-первых, спасибо всем за высокую оценку!

Цитата:
(Oleg46 @ 19.11.2023, 6:11) *
1. Я так понимаю, что контролер можно подключить просто параллельно CAN-L и CAN-Н, (с питанием конечно) - не занимая порт OBD? (на нем у меня уже висит приблуда)..

Всё верно. Более того, не факт, что описанное получится реализовать через разъём OBD - там свои коды. Например, аналогом описанной команды управления светом "699" на OBD - разъёме является команда "750" и действует она тоже на свет, но по-другому: включает выбранный режим на заданное число секунд.

Цитата:
(Oleg46 @ 19.11.2023, 6:11) *
2. Раз уж залез в эти дебри - а можно-ли программно повысить чувствительность включения ближнего света при АВТО?

Вопрос интересный, подумаю. Но раньше лета до него не доберусь: в холодном гараже с ноутом сидеть лениво :-)

Цитата:
(Region62 @ 19.11.2023, 8:59) *
Автозакрытие стёкол при закрытии авто

Поскольку у меня это уже делает сигнашка - для меня не актуально, да и пробовать не на чем - отключать сигнашку в лом.

Цитата:
(Region62 @ 19.11.2023, 8:59) *
Автоскладыаание зеркал при закрытии авто

Тоже не очень интересно, поскольку закрываю руками только там, где это нужно.

Цитата:
(Region62 @ 19.11.2023, 8:59) *
Вот только с питание придётся что-то городить... может на салонный плафон вешать...

Вывод "Bat" найти несложно - он у колена водителя много где есть, но нужно не забывать, что CannyPico жрёт до 30мА - так же, как сигнашка. Так что аккум будет разряжаться быстрее. Ну, или действительно цепляться к свету, который через 20мин должен гаснуть.

Собственно, основное, что я хотел показать: что сам процесс работы с CAN вполне доступен многим. Доступную аппаратную часть и её подключение я предложил. Дальше - всё в наших общих руках. Давайте исследовать. У меня самого очень мало свободного времени: эту доработку потихоньку кропал около полугода.

У меня сейчас есть следующая задумка - включение противотуманок при включении поворотников, чтобы освещать дорогу при повороте в тёмных местах. Но когда до этого доберусь - не знаю. (PS: ПТФ я использую именно как ПТФ, в туман, дождь и при поворотах в темноте, если совсем фонарей нет)

Цитата:
(smira @ 19.11.2023, 11:55) *
Только вот реснички это габариты, рассчитаны на работу в сумерках и тёмное время, ДХО же напротив рассчитаны на работу при ярком дневном свете. Яркость, соответственно отличается в разы. ... при ярком солнце реснички никто не увидит. Стоит ли овчинка выделки вопрос философский smile.gif

Всё верно, разница очень большая. Но конструкция ресничек обеспечивает их свечение только вниз от горизонта. С высоты человеческого роста на расстоянии 1-2 метра от машины они почти не видны - нужно присесть, чтобы их заметить. И вот эта их конструкция (с как бы козырьком сверху) делает их свечение весьма контрастным и заметным даже при солнце, если смотреть издалека или с сидений встречных машин.
А про овчинку - да, всё верно, затраченное время гораздо дороже. Поэтому делал просто из интереса: получится или нет? :-)

Цитата:
(SPb @ 21.11.2023, 2:02) *
Такие хотелки в кане не живут на этом а/м, т.к. кан туда и не заходит.

Контроллер CannyPico интересен ещё и тем, что у него на борту есть ещё 3 дискретных выхода и вход АЦП (это те лишние провода, что мы отрезали), так что на его основе можно комбинировать CAN-шину с дискретным и даже пропорциональным управлением.

Автор: SPb 22.11.2023, 14:54

Цитата:
(Region62 @ 21.11.2023, 12:41) *
За зеркала не знаю конечно, а вот закрытие стёкол в том же старлайне реализовано ИМХО на кане

Про стёкла я конечно же ошибся. Думал, что нахожусь в ветке РАВ 4-4 )))

Автор: VVV-omsk 22.11.2023, 19:40

Как и обещал: Описание работы с CAN-шиной.

Много букв, написанных дальше, да и сам топик, я породил в надежде, что коллеги на моём примере продолжат поиск новых кодов и их применений. И будем ими делиться. Работающие инструменты, программы и способы подключения я предложил. У меня самого очень мало времени на эти работы. Работа с "ресничками" тянулась по капельке, вечерами, месяца полтора. А до этого подбирал аппаратную базу: сниффер и контроллер.
Данная статья предназначена не для специалистов, которые и так всё это знают, а для пользователей, имеющих начальные знания в программировании, радиотехнике, компьютерной технике. Чтобы показать, что не так уж это непосильно - делать незначительные правки в CAN-шине.
Естественно, здравого смысла никто не отменял: не правь неизвестные команды, команды с высоким приоритетом (об этом ниже) и т.п.
В то же время можно точно сказать, что ошибки в низкоприоритетных командах (свет, стёкла, зеркала, кондиционер,...) в крайнем случае приведут максимум к появлению временной и стираемой ошибки в ОБД, а в 99% случаев вообще проходят незамеченными машиной.
Ну, и стандартная фраза: - всё делается на свой страх и риск.

Описание CAN-шины

Можно посмотреть, например, здесь:
https://easyelectronics.ru/can-s%68%69na.html
или здесь:
https://microtechnics.ru/prot%6f%6bol-can/
Скопируйте и вставьте в адрес сами - гиперссылки почему-то не получаются.
Поскольку у нас имеется конкретная инженерная задача, читаем описание "по-диагонали", просто чтобы получить общее впечатление.
Полезные выводы:
- все устройства на CAN-шине подключены параллельно и одновременно;
- иногда сигналы на CAN подаются одновременно от разных устройств. Тогда система сама разбирается в коллизиях так, чтобы в итоге всё же передать корректно все сигналы. Но это будет не сразу, а с небольшой задержкой относительно начальной подачи сигнала;
- нам не нужно во все эти коллизии вникать, поскольку встроенный в контроллер адаптер CAN-шины сам во всём разберётся и всё равно отправит нужную команду.

Все упоминаемые ниже сигналы, как правило, будут в шестнадцатиричном формате. Просто так принято. Числа от 0 до 9 что в 10-чном, что в 16-ричном формате одинаковы. А вот в 16-ричном с 10 до 15 выглядят так:
10=А
11=В
12=С
13=D
14=Е
15=F
В общем, без понимания принципа перевода двоичных чисел в 16-ричные дальше будет трудно. Нужно разобраться.
Для справки: таблица соответствия двоичных и 16-ричных чисел:


Формат данных CAN-шины (только часть формата, применимая к нашим задачам), на примере команды управления фарами "699":

где ID- это номер команды, DLC- количество байт в команде (8шт), а D0...D7 - это те самые 8 байт, которые и составляют содержимое команды.
Примечание: Наибольший приоритет в CAN-шине имеют команды с минимальным номером. Таким образом, команда с ID 001, например, скорее всего относится к срабатыванию подушек или в целом к системе безопасности. Сразу понятно, что зажигание фар было не сильно в приоритете у программистов :-)

CAN-шина в машине не одна. Вот структура всех CAN-шин нашего РАВ4 (бензин):

Видно, что в структуре не всё так просто: имеется шлюз CAN-шин (G72, в центре, обведён синим прямоугольником), к которому подключены 7шт различных CAN-шин. Насколько шлюз пропускает команды из одного сегмента сети в другой - неизвестно. Частично пропускает - это я проверил: например, команды, подаваемые через OBD-разъём (ID=750), с таким же успехом можно подавать из сегмента, где подключены фары. Но за передачу всех команд - не поручусь. Поэтому для подключения к фарам искал выходы на разъёмы именно той CAN-шины, к которой подключены фары (это шины СА5 и CAY). И именно подключение к ним описано в 1-ом топике.

Сниффер
Устройство, позволяющее изучать: что происходит на CAN-шине?
Устройств на рынке достаточно много. Я использовал одно из самых известных: "CAN Hacker" (цена около 8т.руб, ПО бесплатное). Но я взял погонять у товарища, так что обошлось даром.
https://canhacker.ru/%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D1%8B/can-hacker-3/
На самом деле, если прибор умеет подключаться к CAN-шине, то вся разница между разными снифферами - в удобстве пользования программного обеспечения к ним.
В принципе, в качестве сниффера можно использовать и CANNYPico (см. https://canny.ru/docs/canmon/), но там не такое функциональное ПО с точки зрения поиска в CAN-шине, не очень удобно отлаживать найденные команды. Но технически вполне возможно.
Снифферы имеют довольно похожие интерфейсы (на примере CAN Hacker'а):

В красном поле отображается весь поток команд по CAN-шине. Цветом выделяются байты одной и той же команды, которые изменились от предыдущего значения. И это один из главных инструментов поиска нужной команды. Т.е. мы изменяем что-то (например, щёлкаем переключателем света) и смотрим - в каких из команд происходят изменения. В этом же окне можно оставить показ только тех команд, которые интересны.
В зелёном поле можно ввести команду, которую мы хотим подать в CAN-шину. Причём можно подать как 1 раз, так и непрерывно.
Особое удобство в CAN Hacker'е представляет жёлтое поле. В нём можно ввести ту команду, в ответ на появление которой в CAN-шине мы отправим команду из зелёного поля.
Таким образом, алгоритм поиска нужной команды выглядит так:
- изменяем параметр, который мы хотим обнаружить (щёлкаем селектором света);
- оставляем на экране только те строчки, в которых что-то изменяется;
- начинаем анализировать изменяющиеся байты в командах
- поняв примерное назначение битов в байтах, начинаем пробовать подавать свою команду:
1) сначала точно такую же, как при переключениях селектора;
2) убедившись, что это действительно та команда, которая нам нужна, начинаем побитное исследование: посылаем команды, изменяя каждый раз только 1 бит и наблюдая - каков будет результат?
Именно так я нашёл бит, отвечающий за включение "реснички" в фаре отдельно от прочих светоприборов.

Реализация на CANNY
Когда мы нашли (сконструировали) нужную нам команду и придумали алгоритм её подачи - нам нужно перенести её в исполнительный контроллер.
Как я уже писал в стартовом топике, я остановился на CANNYРico:
https://canny.ru/docs/c53pico/
Всё описание, ссылки на ресурсы и способ подключения и программирования - см.в стартовом топике.
Добавлю только, что альтернативой CANNYРico были платы на Ардуино с CAN-модулем и платы на микропроцессоре ATMEL-89С51 СС01UA - он имеет встроенную CAN-шину и программируется от СОМ-порта (т.е. не нужен программатор). Но с программированием Ардуино и ATMTЕL'а я связываться не захотел.
Ещё добавлю, что при подключении CANNYРico к машине нужно выбирать скорость обмена 500кбит/с.

Отладка и подводные камни на примере "ресничек".

Отладка желаемой команды может занимать не меньше, а то и гораздо больше времени, чем поиск исходной команды.
То, что за фары отвечает команда 699, я нашёл довольно быстро.
Дальше начались эксперименты: я подавал все возможные биты по-одному и смотрел - что включится в фарах. Так и нашёл бит, отвечающий отдельно за ресничку (назначение остальных битов дам в конце, в общей таблице кодов).
Радостный, подал команду и думал, что что всё готово. Ага, щас: ресничка загорелась на 1сек и погасла. Далее выяснил, что мозги подают команду на фары о включении выбранного режима света КАЖДУЮ СЕКУНДУ(!). Как будто мозги боятся, что фары погаснут без постоянных напоминаний :-) Зачем так - не знаю, но факт. Получилось, что нам нужно делать операцию по подаче "нашей" команды также каждую секунду. Но поскольку переключение фары происходит каждую секунду, стали видны короткие "просечки" в свечении реснички на момент, когда мозги её пытаются погасить. Пришлось несколько раз менять в программе алгоритм подачи команды "включить реснички", пока не удалось добиться практически мгновенного следования "нашей" команды сразу за "не нашей" и просечки исчезли.
Промежуточно также рассматривал вместо "699" использование команды "750". Это тоже команда управления светом, но она является отладочной и подаётся от Техстрима через OBDII в качестве тестовой (наткнулся на неё в профильных сайтах, проверил - работает. Ниже дам ссылки на сайты и на её коды). Работает по тем же битам, но действует заданное число секунд: от 1 до 299(кажется). Во время её работы просечек нет (поскольку мозги на это время перестают долбить команду раз в секунду). Но и использовать её сложно, поскольку отключить невозможно, пока она сама не кончится.

Всё. Писать устал... Таблицы кодов (проверенных и предполагаемых, ожидающих проверки) дам чуть позже, поскольку нужно большую таблицу плодить. Там же дам ссылки на ресурсы по кодам.

Автор: 1asdqwe 22.11.2023, 21:10

Самая продвинутая ветка, автор браво!
Пока по теме всё, хотя... есть что хотелось бы изменить - повысить напряжение генератора заряда аккумулятора. В программе течстрим, в активном тесте, Control the Voltage of Alternator, напряжение генератора можно поднять до 14.7 вольт.
Теперь вопрос не по теме, но близко:
В моей Рав, в разъёме DLC3 (OBD2), отсутствует контакт 13 (TC). Это диагностический контакт, который для диагностических целей соединяют с
нулём - 4 контакт разъёма DLC3.
Если посмотреть по схемам, то для всех российских сборок этот 13 контакт, должен быть.
Посмотрите, напишите, - это так у всех? ( Рав4 - Prestige Safety 2021, двигатель A25A-FKS).

Автор: aleks576 22.11.2023, 21:35

Цитата:
(1asdqwe @ 22.11.2023, 22:10) *
В моей Рав, в разъёме DLC3 (OBD2), отсутствует контакт 13 (TC). Это диагностический контакт, который для диагностических целей соединяют с
нулём - 4 контакт разъёма DLC3.
Если посмотреть по схемам, то для всех российских сборок этот 13 контакт, должен быть.
Посмотрите, напишите, - это так у всех? ( Рав4 - Prestige Safety 2021, двигатель A25A-FKS).

У меня есть. Ищите, может его убрали с целью защиты авто?

 

Автор: Oleg46 23.11.2023, 11:59

Цитата:
(Region62 @ 19.11.2023, 12:59) *
Позволю себя пару идей в догон:
Автоскладыаание зеркал при закрытии авто
Автозакрытие стёкол при закрытии авто
Вот только с питание придётся что-то городить... может на салонный плафон вешать...

По зеркалам - считаю вредной эту опцию - прежде всего на морозе может механизм сломаться и учтите, что при заводе машины они разворачиваются сами - может быть внезапным сюрпризом для обгоняющей вас машинке на узкой дороге.
Со стеклами реально проще и надежнее на сигналку назначить (как и зеркала тоже).
Цитата:
(1asdqwe @ 23.11.2023, 4:10) *
есть что хотелось бы изменить - повысить напряжение генератора заряда аккумулятора. В программе течстрим, в активном тесте, Control the Voltage of Alternator, напряжение генератора можно поднять до 14.7 вольт.

На постоянку делать не советую. Летом быстро засульфатируется и сдохнет. Особенно если используется штатный гибридный АКБ. Если на постоянку - то лучше для гибрида и Са/Са - 14,4 в. На зиму - до 14,8в. У нас пока морозов нет (завтра обещают начало) но я обязательно узнаю имеется ли на РАВчике "зимнее" напряжение - на предыдущей Альфе - было. Но там термистор стоял прямо на клемме АКБ, я просто его регулировал переменником..

Автор: smira 23.11.2023, 18:45

Цитата:
(Oleg46 @ 23.11.2023, 11:59) *
По зеркалам - считаю вредной эту опцию - прежде всего на морозе может механизм сломаться и учтите, что при заводе машины они разворачиваются сами - может быть внезапным сюрпризом для обгоняющей вас машинке на узкой дороге.
При всем уважении, позвольте не согласиться smile.gif Какая вам раздница сломаются они в автомате или в ручную smile.gif
До рава 15 лет к ряду были машины с автоскладыванием, да замерзали но ниразу не сломались, дернешь рукой и дальше работают. И случалось это крайне редко… Гораздо опасней, сложив зеркала вручную, выходить из машины не наблюдая помехи слева wink.gif а автоскладывание работает при постановке/снятии сиги. Вас в машине еще/уже нету wink.gif

Автор: VVV-omsk 23.11.2023, 20:19

Цитата:
(Oleg46 @ 23.11.2023, 14:59) *
... но я обязательно узнаю имеется ли на РАВчике "зимнее" напряжение - на предыдущей Альфе - было. Но там термистор стоял прямо на клемме АКБ, я просто его регулировал переменником..

Имеется. У меня стоит в гнезде 12В вот такая приблуда:


Так вот, в зависимости от температуры напряжение колеблется в пределах 13,6...14,2. Высокое, естественно, в морозы.

Автор: smira 24.11.2023, 4:49

Цитата:
(VVV-omsk @ 23.11.2023, 20:19) *
Имеется. У меня стоит в гнезде 12В вот такая приблуда:
Так вот, в зависимости от температуры напряжение колеблется в пределах 13,6...14,2. Высокое, естественно, в морозы.
Боюсь вас расстроить, но в наших авто напруга в розетке “прикуривателя” ниразу не соответствует напряжению на клеммах АКБ…

Автор: Oleg46 24.11.2023, 14:58

Цитата:
(smira @ 24.11.2023, 1:45) *
При всем уважении, позвольте не согласиться smile.gif Какая вам раздница сломаются они в автомате или в ручную smile.gif
До рава 15 лет к ряду были машины с автоскладыванием, да замерзали но ниразу не сломались, дернешь рукой и дальше работают. И случалось это крайне редко… Гораздо опасней, сложив зеркала вручную, выходить из машины не наблюдая помехи слева wink.gif а автоскладывание работает при постановке/снятии сиги. Вас в машине еще/уже нету wink.gif

Логика понятна. Но у меня ломался механизм на морозе. Именно с кнопки. Именно по этому и отпечаталось.. А со складываем с кнопки, особенно на узких улочках - полностью согласен. Поэтому предпочитаю в мороз выйдя из авто ручкой сложить зеркало.
Цитата:
(VVV-omsk @ 24.11.2023, 3:19) *
Имеется. У меня стоит в гнезде 12В вот такая приблуда:


Так вот, в зависимости от температуры напряжение колеблется в пределах 13,6...14,2. Высокое, естественно, в морозы.

У меня подобная. Пока выше 13,9в не видел. Но у нас -14С. Но бортовое напряжение может отличаться от зарядного. Вот и хочу проверить

Автор: 1asdqwe 25.11.2023, 0:16

На схемах термистор кто нибудь видел? У меня приблуда-вольтметр тоже давно стоит в прикуривателе, напряжение показывает стабильное - 14в плюс, минус 0.1вольта.

Автор: VVV-omsk 25.11.2023, 17:50

Цитата:
(smira @ 24.11.2023, 7:49) *
Боюсь вас расстроить, но в наших авто напруга в розетке “прикуривателя” ниразу не соответствует напряжению на клеммах АКБ…

Ну, не всё так фатально smile.gif
Во первых, я отвечал на вопрос коллеги Oleg46 "...но я обязательно узнаю имеется ли на РАВчике "зимнее" напряжение...".
Да оно есть, поскольку изменения U борсети при изменении температуры за бортом от большого минуса до большого плюса я фиксирую чётко.
Что же до соответствия: Понятно, что падение U"аккум-прикуриватель" зависит от сопротивления проводов, предохранителя и тока по ним. Так вот, после покупки индикатора я, естественно, промерил напряжение аккума и сравнил с показометром. Показометр занижал на 0,1В. Это было летом. Зимой это падение может только увеличиваться (за счёт тока различных подогревов). Следовательно, если я вижу 14,1В, то реальное U будет >=14,1В, но никак не меньше.

Автор: Oleg46 27.11.2023, 12:29

Цитата:
(VVV-omsk @ 26.11.2023, 0:50) *
Ну, не всё так фатально smile.gif
Во первых, я отвечал на вопрос коллеги Oleg46 "...но я обязательно узнаю имеется ли на РАВчике "зимнее" напряжение...".
Да оно есть, поскольку изменения U борсети при изменении температуры за бортом от большого минуса до большого плюса я фиксирую чётко.
Что же до соответствия: Понятно, что падение U"аккум-прикуриватель" зависит от сопротивления проводов, предохранителя и тока по ним. Так вот, после покупки индикатора я, естественно, промерил напряжение аккума и сравнил с показометром. Показометр занижал на 0,1В. Это было летом. Зимой это падение может только увеличиваться (за счёт тока различных подогревов). Следовательно, если я вижу 14,1В, то реальное U будет >=14,1В, но никак не меньше.

Спасибо.. У нас уже похолодало и я экспериментально этот вывод подтверждаю подкапотным вольтметром.
Но опять-же хочу подчеркнуть, что бездумное превышение напряжения АКБ послужит быстрой деградации последнего. Лично мне с моими ежедневными 15-минутными бросками работа-дом в тридцатиградусный мороз устроило-бы 14,8в. (хотя на своем титанате я спокойно могу и 16,2в заряжаться). Те, у кого АКБ перегрет (климат или долгие поездки) сразу-же лишаются половины его срока эксплуатации. Опять-же технологии у АКБ тоже требуют разного напряжения. А регулировать его (как я в своем Приусе потенциометром) тут не получится , если нет желания каждый раз перепрописывать код).

Автор: aleks576 4.12.2023, 8:41

Цитата:
(VVV-omsk @ 18.11.2023, 20:55) *
Предлагаю в данной теме обсуждать вопросы, связанные с использованием CAN-шины для добавки нового функционала. Публиковать таблицы CAN-команд с описаниями и рекомендациями по использованию.


Ох как же мне не хочется, но чую придется попытаться погрузиться в эту тему и попытаться сделать вот что:
Имею второе авто Toyota C-HR. В ней установлена штатная магнитола Toyota touch2 не поддерживающая Android Auto. Решил заменить ее на магнитолу от RAV4, купил ее и подключив к C-HR понял, что магнитола от RAV4 не понимает команды по CAN шине, посылаемые машиной.
Магнитола от RAV4 не видит включение заднего хода, и не переключается на отображение информации с камеры.
Также она не видит включение габаритов, соответственно не включается подсветка кнопок и не приглушается подсветка дисплея.

Это основное, что надо каким-то образом заставить работать в магнитоле от RAV4.
Как думаете, можно ли попробовать найти команды в C-HR и в RAV4 и каким-либо преобразователем CAN команд подменять их?


Автор: smira 4.12.2023, 13:30

Цитата:
(aleks576 @ 4.12.2023, 8:41) *
Как думаете, можно ли попробовать найти команды в C-HR и в RAV4 и каким-либо преобразователем CAN команд подменять их?

Не проще андроид-балалайку прикупить и не курочить машину?

Автор: aleks576 4.12.2023, 13:40

Цитата:
(smira @ 4.12.2023, 14:30) *
Не проще андроид-балалайку прикупить и не курочить машину?

Не хочу пока этого. Мне нравится качество родных магнитол и их функционал меня полностью устраивает. Китайские балалайки вечно с проблемами своими.

Автор: GASCHE 4.12.2023, 15:43

Цитата:
(aleks576 @ 4.12.2023, 9:41) *
каким-либо преобразователем CAN команд подменять их?


Ну, если у вас есть "какой-либо" преобразователь и сниффер и вы разбираетесь в протоколе обмена, то можно.

Автор: VVV-omsk 5.12.2023, 20:30

Цитата:
(aleks576 @ 4.12.2023, 11:41) *
Ох как же мне не хочется, но чую придется попытаться погрузиться в эту тему и попытаться сделать вот что:
Имею второе авто Toyota C-HR. В ней установлена штатная магнитола Toyota touch2 не поддерживающая Android Auto. Решил заменить ее на магнитолу от RAV4, купил ее и подключив к C-HR понял, что магнитола от RAV4 не понимает команды по CAN шине, посылаемые машиной.
Магнитола от RAV4 не видит включение заднего хода, и не переключается на отображение информации с камеры.
Также она не видит включение габаритов, соответственно не включается подсветка кнопок и не приглушается подсветка дисплея.

Это основное, что надо каким-то образом заставить работать в магнитоле от RAV4.
Как думаете, можно ли попробовать найти команды в C-HR и в RAV4 и каким-либо преобразователем CAN команд подменять их?

Думаю, вполне реально: Сначала определить - какие команды используются в ГУ RAV, затем - какие в C-HR. И прописать в CannyPico, установленный в C-HR: при обнаружении в C-HR нужной команды к ГУ, сразу же за ней выдавать "правильную" команду для ГУ от РАВ.
Единственной засадой может быть то, что "правильный" код от ГУ РАВ что-то другое делает в C-HR. Тогда по-простому (просто навешиванием CannyPico в параллель на CAN) уже не получится. Но проверить/убедиться не сложно. Команды общения с ГУ должны быть с низким приоритетом и никаких системных вещей не затронут.
Ну, или ограничиться конвертацией только тех команд/функций, которые не дублированы.

Автор: SPb 5.12.2023, 23:25

Цитата:
(aleks576 @ 4.12.2023, 9:41) *
Ох как же мне не хочется, но чую придется попытаться погрузиться в эту тему и попытаться сделать вот что:
Имею второе авто Toyota C-HR. В ней установлена штатная магнитола Toyota touch2 не поддерживающая Android Auto. Решил заменить ее на магнитолу от RAV4, купил ее и подключив к C-HR понял, что магнитола от RAV4 не понимает команды по CAN шине, посылаемые машиной.
Магнитола от RAV4 не видит включение заднего хода, и не переключается на отображение информации с камеры.
Также она не видит включение габаритов, соответственно не включается подсветка кнопок и не приглушается подсветка дисплея.

Это основное, что надо каким-то образом заставить работать в магнитоле от RAV4.
Как думаете, можно ли попробовать найти команды в C-HR и в RAV4 и каким-либо преобразователем CAN команд подменять их?

В РАВ4 задний ход и габариты аналогом сделаны. В С-НR скорее всего также. Не исследовал.

Автор: механик Я 2.1.2024, 12:39

Цитата:
(VVV-omsk @ 18.11.2023, 19:55) *
Предлагаю в данной теме обсуждать вопросы, связанные с использованием CAN-шины для добавки нового функционала. Публиковать таблицы CAN-команд с описаниями и рекомендациями по использованию.
Для примера опишу своё решение для комплектации "Комфорт".
Вот фото результата:


Внимательные увидят, что реснички светятся вместе с боковыми ДХО. При этом ни дальний, ни ближний не горят.
Известно, что с началом внедрения ДХО Тойота различает старшие и младшие комплектации машин по виду ДХО: старшим достаются более "внушительные", младшим - помельче и попроще. Вот и в "Комфорте" верхняя ресничка зажигается лишь совместно с ближним светом. Хотя, почему бы не включать её вместе с основными ДХО? Да потому что маркетинг, блин!
Идея мне пришла, когда на Али увидел переходники к фарам "Комфорта" (т.е. "трёхлучевым", в наименовании Тойоты), которые реализовывали вариант включения бровей вместе с ДХО. Но объявление быстро закрыли с комментарием "не подходят для российской сборки". Возможно, в Китае существовали фары без CAN-управления. Объявление исчезло, но идея осталась...
В общем, в итоге всё получилось.
Решил описание разбить на 2 части: Здесь опишу кратко реализацию, а полное описание работы с CAN-шиной напишу далее. И чуть попозже. А то уже 3 месяца как сделал, а вот писать лениво, когда представлю - сколько букв топтать надо.

Итак, сниффингом CAN-шины, переключая селектор света из "Авто" в "Габариты" и обратно удалось найти команду управления фарами по шине CAN: "ID 699".
Стандартая команда 699, включающая режим ДХО, выглядит так:
"699 9D-80-80-xx-xx-xx-xx-xx", где хх-любые значения, первые "80" - это команда фарам сменить режим на другой, а вторые "80" - это включение ДХО.
А команда, которая включает отдельно верхние брови (без ближнего света), выглядит так: "699 9D-80-40-xx-xx-xx-xx-xx".
Таким образом, чтобы сделать то, что хотим, нужно реализовать такой алгоритм: Как только мы обнаруживаем команду "699 9D-80-80-xx-xx-xx-xx-xx (т.е. включены ДХО), мы тут же подаём на фару нашу, "правильную" команду:
"699 9D-80-С0-xx-xx-xx-xx-xx", которая одновременно с ДХО включает и ресничку.
Примечание: вот это число, которое то 80, то 40, то С0 - это шестнадцатеричный формат, который в двоичном представлении (из "0" и "1") можно представить так:
"80h"(ДХО) =1000 0000, где h- означает 16-ричный формат,
"40h"(брови) =0100 0000
а комбинированная команда
"С0h" =1100 0000, т.е. включаем и то и другое.

Как это всё реализовать?
Нужен маленький дешёвый контроллер, работающий с CAN-шиной, который мог бы это сделать.
Я рассматривал 2 варианта:
- на основе контроллера Arduino с CAN-модулем ценой 300...500р (с Али)
- на основе контроллера CannyPico со встроенным CAN-адаптером и визуальным программированием ценой 3 400р (без доставки)
https://canny.ru/docs/c53pico/
В итоге выбрал CannyPico, поскольку лень было осваивать программирование под Arduino ради одной задачи, а в CannyPico всё делается прямо в бесплатной среде программирования, поставляемой вместе с контроллером.
Вот фото миниатюрной покупки:




Вот получившаяся простенькая программа, которая реализует хотелку:


Освоение среды разработки данного контроллера - задача не сильно сложная, если есть навыки работы хотя бы с ноутбуком (за это его и выбрал). Особенно, когда программа уже готова и достаточно просто прошить её в контроллер. Но можно пойти по ещё более простому пути: данная Среда позволяет сделать просто запускаемый файл для программирования. Тогда действия выглядят так:
- купить контроллер;
- подключить его к USB-порту компьютера;
- запустить файл программирования, дождаться окончания прошивки;
- тащить контроллер в машину и подключать.
Более подробно процесс прошивки описан в:
https://canny.ru/docs/cannylab/sfx/, начиная с заголовка "Использование утилиты автоматической загрузки ПО в контроллер"
Вот ссылка на файл для прошивки в контроллер вышеописанной программы:
https://disk.yandex.ru/d/z0AH53kPS_Kwfw
Запрограммированный контроллер подключаем параллельно CAN-шине автомобиля.
Примечание: CAN-шина не замечает любых дополнительно подключённых устройств (конечно, корректно подключённых).
Кроме того, я для подключения припаял к выводам канцелярские булавки и просто втыкал их в нужные разъёмы. Таким образом в любой момент всё устройство можно отключить.
Последовательность подключения:
- удаляем из разъёма CannyPico ненужные контакты. Оставляем только 4шт:
синий - CAN-L;
серый - CAN-H;
чёрный - минус питания (корпус)
красный - плюс питания (ACC или IGN)
- припаиваем к выводам иголки, защищаем термоусадкой:


Подключаться проще всего к разъёмам, расположенным у левого колена водителя.


Наименование разъёмов у левого колена водителя:


Подключаемся к машине следующим образом:
"синий - CAN-L" - разъём GN4, выводы 15 или 17
"серый - CAN-H" - разъём GN4, выводы 16 или 18


"чёрный - минус питания (корпус)" - разъём JN1, вывод 20


"красный - плюс питания (ACC)" - разъём GN3, вывод 6


Вот подключённый разъём контроллера:


Вот и сам контроллер в сборе. Т.е. контроллер можно оперативно отсоединять и таскать к ноутбуку, если нужно заменить программу.


Контроллер в пороге никак не крепил - лежит свободно, просто запихнул за жгут проводов. Деться ему там некуда. Только прихватил провода контроллера изолентой к жгуту проводов - чтобы иголки не выскакивали.


Братишка изменил команду в шине
Прошивка осталась старая
При каждом тесте шина будет находить
Неизвестную ей команду.
Будет постоянная ошибка с неизвестным кодом какой код будет выдавать шина
В этом случае знает японец программист
Братишка убил шину.
Кошмар


Автор: alexey_nik 30.3.2024, 15:37

А есть кто-нибудь кто подключал bi led птф к дальнему свету, где-то писали, что можно через can сделать?

Форум Invision Power Board (http://nulled.cc)
© Invision Power Services (http://nulled.cc)