Итак, купил я рестайловую приборную панель взамен своей американской дорестайловой. И все бы ничего, но счастье омрачали несколько нюансов: неработающие некоторые лампочки (данная проблема решается настолько элементарно, что даже описывания не достойна) и отсутствие индикации выбранного положения селектора АКПП.
Для решения этой проблемы необходимо заглянуть в электрический мануал по автомобилю. Индикация в старой приборке осуществляется зажиганием одной из 7 лампочек, соответствующих режиму работы. Управление идет по 7 проводам соответственно.
Рис. 3 - Индикация режима АКПП в старой приборке
В новой же приборной панели управление индикацией идет по одному проводу - В14 на схеме.
Рис. 4 - Индикация режима в новой приборке
Необходимо определить, каким же сигналом идет управление, что надо подавать на этот вход, чтобы получить индикацию. Подключаем к этому пину (В14) провод ТХ от СОМ-порта и выясняем, что это самый обыкновенный UART. Дело за малым - вычислить необходимые комбинации сигналов. Методом научного тыка установлено:
P - E1h
R - 5Bh
N - 69h D - 77h 3 - 74h 2 - F9h 1 - 32h
Итак, имея в распоряжении данную информацию приходим к выводу, что для индикации надо собрать схему преобразователя сигнала параллельного кода в UART со следующей таблицей истинности:
PRND321 0111111 - E1h
1011111 - 5Bh
1101111 - 69h
1110111 - 77h
1111011 - 74h 1111101 - F9h
1111110 - 32h.
Реализовать ее можно добрым десятком различных способов. Я выбрал наиболее удобный для меня - платка Arduino Pro mini и для нее изготовил дополнительный модуль для согласования входных сигналов 12В с уровнем ардуино 5В. Платка представляет собой банальную гальваническую развяку с помощью оптопар - эти убиваем сразу двух зайцев: и согласуем уровни, и защищаем схему от вероятного пробоя высоким напряжением. Заодно на ней же реализуем источник питания 5В для самой Arduino.
Рис. 5 - Схема дочерней платы преобразователя уровня сигналов
Рис. 6 - Подключение преобразователя уровней к Arduino
Далее, чтобы не городить дополнительный преобразователь 5В - 12В, вскрываем приборку, находим ЦП, смотрим его маркировку. Это микроконтроллер Fujitsu MB90520A. В даташите на него ищем ногу, отвечающую за UART. Это оказывается 14 нога микросхемы.
Рис. 7 - MB90520A
Подпаиваемся к ней, подпаиваемся к ногам B1...B7 (это входы PRND321 соответственно), подпаиваемся к питанию - и на этом железная часть завершена. Осталось написать софт, залить в Arduino и смотреть, отлавливать баги. Вся дальнейшая настройка производится только программно, чем и удобно данное решение.
На данный момент данное решение уже вполне себе работает на автомобиле, идет процесс отлавливания багов. Конкретнее - все режимы отображаются верно за исключением повторного возврата в режим P. Как будет свободное время - займусь исправлением этого бага. При необходимости могу выложить скетч прошивки - заодно может знающие люди увидят недочеты в нем и ткнут носом. Ибо я не программист.
За сим позвольте откланяться. С уважением, GA_Traun.
Вопрос
GA_Traun
Итак, купил я рестайловую приборную панель взамен своей американской дорестайловой. И все бы ничего, но счастье омрачали несколько нюансов: неработающие некоторые лампочки (данная проблема решается настолько элементарно, что даже описывания не достойна) и отсутствие индикации выбранного положения селектора АКПП.

Рис. 1 - Старая приборка.
Рис. 1 - Рестайловая пирборка
http://www.club-forester.ru/uploads/monthly_02_2013/post-5462-1362048154.jpg
Для решения этой проблемы необходимо заглянуть в электрический мануал по автомобилю. Индикация в старой приборке осуществляется зажиганием одной из 7 лампочек, соответствующих режиму работы. Управление идет по 7 проводам соответственно.
Рис. 3 - Индикация режима АКПП в старой приборке
В новой же приборной панели управление индикацией идет по одному проводу - В14 на схеме.
Рис. 4 - Индикация режима в новой приборке
Необходимо определить, каким же сигналом идет управление, что надо подавать на этот вход, чтобы получить индикацию. Подключаем к этому пину (В14) провод ТХ от СОМ-порта и выясняем, что это самый обыкновенный UART. Дело за малым - вычислить необходимые комбинации сигналов. Методом научного тыка установлено:
P - E1h
R - 5Bh
N - 69h
D - 77h
3 - 74h
2 - F9h
1 - 32h
Итак, имея в распоряжении данную информацию приходим к выводу, что для индикации надо собрать схему преобразователя сигнала параллельного кода в UART со следующей таблицей истинности:
PRND321
0111111 - E1h
1011111 - 5Bh
1101111 - 69h
1110111 - 77h
1111011 - 74h
1111101 - F9h
1111110 - 32h.
Реализовать ее можно добрым десятком различных способов. Я выбрал наиболее удобный для меня - платка Arduino Pro mini и для нее изготовил дополнительный модуль для согласования входных сигналов 12В с уровнем ардуино 5В. Платка представляет собой банальную гальваническую развяку с помощью оптопар - эти убиваем сразу двух зайцев: и согласуем уровни, и защищаем схему от вероятного пробоя высоким напряжением. Заодно на ней же реализуем источник питания 5В для самой Arduino.
Рис. 5 - Схема дочерней платы преобразователя уровня сигналов
Рис. 6 - Подключение преобразователя уровней к Arduino
Далее, чтобы не городить дополнительный преобразователь 5В - 12В, вскрываем приборку, находим ЦП, смотрим его маркировку. Это микроконтроллер Fujitsu MB90520A. В даташите на него ищем ногу, отвечающую за UART. Это оказывается 14 нога микросхемы.
Рис. 7 - MB90520A
Подпаиваемся к ней, подпаиваемся к ногам B1...B7 (это входы PRND321 соответственно), подпаиваемся к питанию - и на этом железная часть завершена. Осталось написать софт, залить в Arduino и смотреть, отлавливать баги. Вся дальнейшая настройка производится только программно, чем и удобно данное решение.
На данный момент данное решение уже вполне себе работает на автомобиле, идет процесс отлавливания багов. Конкретнее - все режимы отображаются верно за исключением повторного возврата в режим P. Как будет свободное время - займусь исправлением этого бага. При необходимости могу выложить скетч прошивки - заодно может знающие люди увидят недочеты в нем и ткнут носом. Ибо я не программист.
За сим позвольте откланяться.
С уважением, GA_Traun.
Ссылка на комментарий
Поделиться на других сайтах
16 ответов на этот вопрос
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти