Honda Accord (7G) (Executive Type-S SE)

Температура на панелі приладів з китайською магнітолою

Я їжджу на Honda Accord (7G), Subaru Impreza (GE, GH)
Одеса, Україна

Думаю всі знають що на 7 аккорді клімат контроль це частина штатної магнітолу, тож при заміні на китайську магнітолу на панелі приладів зазвичай пропадає температура і з'являються прочерки у вигляді ---°С. Воно наче не критично, але ну от хотілося мені щоб температура там була, тож ще 2 роки тому я почав ресьорчити це питання. Спочатку справи йшли не дуже, тому що я просто не розумів що до чого, думав що можливо просто треба прокирути якийсь дріт, але після вивчення схем та спілкуванням з більш прохаваними людьми проблему було локалізовано. Температура в штаті працює за таким принципом: магнітола отримує аналоговий сигнал з датчику температури, обробляє його та відправляє у кан шину в одному пакеті зі станом увімкнення обігріву заднього скла у вигляді пакета з 2 байтами, перший байт це значення ввімкнення обігріву, 0 - вимкнуто, 80 увімкнуто, а другий байт це власне температура, значення від 20 до 254, всі інші значення - це прочерки. Чому так зробили хз, і чому китайці реалізували ввікнення обігріву та не реалізували температуру теж хз, китайці у 2 байті просто відправляють 255, що за межами допустимого діапазону.

Перші успіхи я мав десь пів року тому, коли зібрав на ардуінці пристрій, який може відправляти повідомлення у кан шину. Складався він із Arduino Nano та модуля кан шини на MCP2515 та TJA1050. З його допомогою я міг відправляти необхідну температуру, але при цьому на китайській магнітолі переставали працювати все, що працює по кан шині, а саме відображення налаштувань клімату, відкриті двері, ввімкнення обігріву скла (чому читайте вище) та ще кілька дрібниць. По факту можна було лишити і так, але мене не влаштовувало те, що я описав в реченні вище, а отже нам потрібно не просто відправляти повідомлення у шину, а підміняти неправильний пакет з магнітоли, про цьому всі інші пакети слати в тому вигляді як вони є. Для цього нам необхідно зробити CAN фільтр, його логіка така, що він ставиться у розрив кан проводу магнітоли і повідомлення від машини до магнітоли просто пересилає, а повідомлення від магнітоли до машини пропускає через фільтр, при пересиланні необхідного пакету з температурою виконується функція, яка підміняє саме другий байт з температурою на коректний (звідки бралося значення температури буде описано нижче). Ця маніпуляція зберігає функціонал увімкнення обігріву скла та фіксить температуру, до чого я йшов майже 2 роки)

Тепер про те, звідки береться значення температури. Я намагався зчитати аналогове значення зі штатного датчика температури, але і тут китайці зробили погано, в штатній магнітолі на датчик подається 5 вольт, датчик це терморезистор, який змінює супротив залежно від температури і на виході ми мали б отримати значення від 0 до 5 вольт, але китайці вирішили подавати на цей датчик 12 вольт, які через ардуїно зчитати вже проблематично. Є метод використовування дільника напруги, але тоді ломається логіка клімату, тому що він запрограмований на значення до 12в + показники, які повертаються не лінійні, зробити формулу для конвертації у значення в діапазоні дозволеного не виходило, тож я забив і вирішив просто використати виносний датчик виміру температури для ардуїно. Тут теж виникла проблема, датчик повертає вже цифрове значення температури, а машина очікує свій формат, тож довелося дебажити, надсилати кожне значення від 0 до 255 машині та дивитися що відмальовує панель приладів, це було складно, але я вже знав що результат буде позитивний і це варто зробити, витратив на цей дебаг приблизно 3 години) Тож знаючи значення температури, яке очікує машина я зробив просту структуру даних та функцію, яка по цифровій температурі повертала значення, яке розуміє авто та надалі просто підміняв необхідний пакет цими даними.

По витратам вийшло приблизно 2 тисячі гривень на різні компоненти для побудови цього кан фільтру, найдорожчі компоненти це мікросхеми, ардуїно та датчик температури, купа нервів на паяння дрібних компонентів та дуже багато часу. Прткряпляґ фото та відео на якому видно що температура відображається на приборці і стоїть магнітола з Китаю, а також фото самого фільтра, на якому видно наскільки дрібні деталі


Плата без ардуїно



Плата з ардуїно з можливістю міняти без віпаювання



Фото 1



Фото 1

Посилання на коротке відео 


АПДЕЙТ 06.08.2024: Пройшов день і мені вдалося подружити фільтр зі штатнім датчиком температури, рішення стає більш plag&play, тепер замовити фішки з аліку та можна зробити підключення по красивому. Я просто передивився схеми і зрозумів що сигнал я брав не з того дрота. Після вірного підключення датчик став видавати від 0 до 5В, що функцією analogRead інтерпретувалося у вигляді числа від 0 до 1024, це 5в із шагом 1 == 0.0049В. Подивившись на значення які читалися с датчика я зрозумів що для конвертації у зрозумілий формат для панелі приладів необхідно просто розділити на 4


Ціна питання 2000 UAH, Пробіг 164904 км.
Опубліковано: 05 серпня 2023р. 23:12
23 0 1

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.
Доречі в тебе клімат працює нормально ?
Який canbus профіль використовуеш ?
15 вересня 2023р. 18:49
accordtribe
Доречі в тебе клімат працює нормально ? Який canbus профіль використовуеш ?
accordtribe, та наче нормально, прийнамні як клімат працює. Ставив DaoJun.High. Інші не працюють
1
15 вересня 2023р. 18:50
Оо доречний допис)
тілько он поставив собі CC3 і шукав як це вирішити теж
15 вересня 2023р. 18:43
accordtribe
Оо доречний допис)тілько он поставив собі CC3 і шукав як це вирішити теж
accordtribe, рішення не просте. І багато компонентів не просто знайти
1
15 вересня 2023р. 18:50
Uns8ted
accordtribe, рішення не просте. І багато компонентів не просто знайти
Uns8ted, а можу в тебе позичити список всього що потрібно та невеликий ман step by step ?)
Хоч спробую
15 вересня 2023р. 18:55
accordtribe
Uns8ted, а можу в тебе позичити список всього що потрібно та невеликий ман step by step ?)Хоч спробую
accordtribe, сорі, та мануал ніякий не писав, а частина роботи взагалі втрачена із жорстким диском
15 вересня 2023р. 18:58
accordtribe
Uns8ted, а можу в тебе позичити список всього що потрібно та невеликий ман step by step ?)Хоч спробую
accordtribe, можу тільки порадити те, з чого я починав все, і взагалі входив у курс діла що воно таке, як працює тощо
https://www.driveaccord.net/threads/accord-android-head-unit.548027
1
15 вересня 2023р. 22:40
Я їжджу на Volkswagen ID.4
Оце так заморочився, красавчик.
1
13 серпня 2023р. 12:39
ifynk
Оце так заморочився, красавчик.
ifynk, Дякую) Ти в свій час теж заморочився, завдяки твоїй лібі у мене працює сабдісплей)
1
13 серпня 2023р. 12:43
Я їжджу на Honda Accord (7G)
За заморочку респект) Але я б манав стільки з тим трахатись)
Тому я залишив свою Наві і не поставив китайщину)
1
07 серпня 2023р. 17:14
stephanco
За заморочку респект) Але я б манав стільки з тим трахатись)Тому я залишив свою Наві і не поставив китайщину)
stephanco, ну мені по приколу було + це відкриває нові можливості у роботі з кан шиною. Своє ставлення до наві я вже в чаті казав) ну і якщо порахувати час коли я цим прям займався то від сили 2 тижні вийде
1
07 серпня 2023р. 17:16
stephanco
Uns8ted, нема що додати) задрот) молодець)
stephanco, коли чогось хочеться немає неможливого)
1
07 серпня 2023р. 17:23
Я їжджу на Honda Accord (7G)
Ох, прям високі матерії)))
Але те, що розібрався - 👍🏻👍🏻👍🏻
1
06 серпня 2023р. 08:38
Я їжджу на Honda Accord (8G)
Достойно - задумався про те, чим я займався в університеті взагалі...
1
05 серпня 2023р. 23:44
nightscale
Достойно - задумався про те, чим я займався в університеті взагалі...
nightscale, я в універі взагалі ніфіга не робив, перший рік ходив, потім почав працювати і приходив лиш на сесії
2
05 серпня 2023р. 23:47
Я їжджу на Honda Accord (8G)
Uns8ted
nightscale, а на кого вчився?
Uns8ted, ну впринципі аналогічна історія з навчанням - інженер ПЗ 😄
1
06 серпня 2023р. 08:56
Я їжджу на Honda Accord (8G)
Uns8ted
nightscale, о, я теж)
Uns8ted, :D
1
06 серпня 2023р. 17:26
Ох і заморочено))) Але варте того)
1
05 серпня 2023р. 23:19
dioneight
Ох і заморочено))) Але варте того)
dioneight, заморочено не те слово, не думаю що воно прям критично важливо, для мене це був більше челендж
3
05 серпня 2023р. 23:20