Звернувся до мене колишній підписник з драйву, власник VW Passat B6, з проханням зробити один девайс... Річ у тім, що він захотів встановити в своє авто годинника від Passat B7. Ну, а шо: машини майже однакові, пара накладок - і годинник на місці...
Салон Passat B6
Салон Passat B7
Все б нічого, але є одне маленьке АЛЕ - годинник В7-го керується шиною LIN, яка взагалі відсутня в В6-му...
Схема шин Passat B7
Дехто просто ставить годинника і о 12-й годині скидають живлення, щоб годинник пішов знову з 12:00.
Такий варіант не всіх влаштовував, тому одна людина з запорєбріка створила пристрій, який транслює пакети даних часу та яскравості підсвітки з шини CAN в шину LIN.
Саме цей пристрій мене і попросили повторити...
Плату розробив та виготовив самостійно:
Плата зверху
Деякі компоненти придбав у місцевому радіо-магазині (МК, CAN-трансівер, розсипуху), але деякі компоненти були відсутні у всіх магазинах (інтернет-магазинах теж), які зараз працюють в Україні, тому довелося замовляти на Аліекспресі. Це MAX1659 та L9637.
І тут починаються пригоди, про я кі ні я , ні замовник поки не здогадуємось...
L9637 відправили досить швидко. МАХ1659 теж швидко дали трек, тільки от майже два тижня продаван обіцяв відправити, посилаючись на ковідний локдаун... Відкрив спір, повернув гроші, замовив вже лот з п'яти стабів, хоч і вчетверо дорожче (замовник був згідний). Цей вже відправив стаби досить швидко.
Серцем пристрою є МК PIC18F25K80, але шось у мене пішло не так, тому помилково був придбаний PIC18F25K20. Доступні мені програматори, нажаль, не вміюли працювати з таким МК, а купляти PICKIT3 за майже 1000 грн для одного разу я не бачив сенсу... Тому я зробив адаптер SSOP28-DIP для програмування МК та відправив своєму товаришу в Київ, щоб той залив прошивку.
Як і очікувалося, L9637 приїхали першими і чекали приїзду стабів. Коли все приїхало, я швиденько спаяв адаптер:
Але після подачі живлення нічого не запрацювало. Поліз шукати причину, і з'ясував, що в шині живлення 5В замість п'яти Вольт аж вісім! Ну, думаю, стаби "ліві". Відпаяв всі мікрухи, окрім стаба, вмикаю - 5 В залізні... Добре.
Коротше, методом послідовного встановлення мікросхем на місця виявив, що причиною такої поведінки схеми є... МК... Тут-то я і додивився, що придбав не той МК! Приїхали... Почав шукати потрібний - як то кажуть: "балалайка"... Знов хотів замовляти на Аліку, але під час гугління даташитів на обидва МК і я, і замовник звернули увагу на те, що на запит PIC18F25K80 пошуковик видавав багато посилань на...ELM-адаптери. Виявляється, ці МК використовуються при виробництві цього добра!
У замовника якраз лежав такий непотрібний адаптер, тому той адаптер, як і мій адаптер SSOP28-DIP знову виконали подорож до Києва для програмування.. :-)
Повторний запуск адаптера вже показав, що шось працює - світлодіод активності МК при подачі живлення моргав з частотою 1 Гц, а через 2 сек починав моргати повільно і притухав, бо трансівер КАН-шини, не отримуючи нічого, клав девайс у сплячку, знижуючи напругу на виході стабілізатора 3 % В до 2 В.
Перевірити роботу "на столі" немає чим, то ж я відправив пристрій замовнику.
Через день отримую відео, де Віталій показує, що підключення адапетра ні на що не впливає, годинник показує не правильний час і підсвітка не робить... Коротше, ніпалучілась... :-( Але гроші заплачені, треба розібратися у проблемі...
На моє прохання Віталій прислав адаптер разом з годинником для перевірки.
Подумавши над проблемою, я зробив висновок, що МК та КАН-трансівер, все ж, працюють нормально, судячи з індикації, а причиною може бути драйвер К-лінії L9637D, тим більше, що вони куплені самі знаєте де... Вирішив підкинути обидві L-ки у свій K-Line адаптер... Як і очікувалося, обидві м/с виявилися неробочими - адаптер навіть не проходив тест в програмі Chevrolet Explorer...
Причина знайдена, але як пересвідчитися, що девайс працює? Варіантів було два:
Перший варіант знайшовся швидко - маляр, який минулого року міняв дах машині, має саме таке авто. Він був не проти надати доступ.
З другим варіантом було складніше, бо плата є, а от схеми та прошивки МК (ATMega162) - немає... І хлопці вже не пам'ятають звідки те все бралося, бо бралося в росіян через драйв. Почав рити гугл і надибав фото такої самої плати, яке привело мене на драйв до статті автора плати. В коментарях також знайшов посилання на статтю реального автора розробки. Ура!!!
Але знову не все є в наявності, або ж по неадекватним цінам, тому дещо довелося замовляти на Алі, а чекати зовсім не хочеться. Але світ не без добрих людей, тому ще один товариш по лач-клубу, Віталій (@Vetalxh, він же @AkinoriNakanishi) допоміг з обладнанням, приславши свій КАН-хакер та (про всяк випадок) програматор РІСКІТ3.
Все склалося, час підключитися до машини і перевірити девайс! Але тут знову щось пішло не так, бо ні при підключенні до дротів КАН-шини роз'єму магнітоли, ні при підключенні до ОБД2 девайс не запрацював. Мало того, я навіть не зміг побачити жодного пакету на цих дротах за допомогою КАН-хакера! Це вже був якийсь полтергейст!
Вирішив піти зворотнім шляхом. На щастя автор адаптера виклав вихідний код програми МК, тому, трохи порившись у ньому, а також почитавши пасатоводівські форуми, я з'ясував ID потрібних мені пакетів (яскравість підсвітки та час). Залишилося тільки посилати ці пакети даних в адаптер за допомогою КАН-хакера та програми CAN-hacker 2.0.
Результат можна подивитися на відео...
Замовник отримав адаптер та підключив - все працює, всі задоволені!
Але так, тегалка не працює...