Доброго дня, дорогие друзья!
Эта статья будет носить технический характер и станет своего рода инструкцией, которую я выработал работая над своим комплектом доп приборов для автосимуляторов. Хотя статья будет довольно длинной, вполне возможно, она в каких-то моментах окажется недостаточно подробной - если вас будет интересовать какая-то дополнительная информация, смело задавайте свои вопросы в комментариях.
Итак, несколько дней назад на моём канале вышло видео про мой симкомплект. Если вы его ещё не посмотрели, то посмотрите - оно наглядно демонстрирует состав комплекта, его работу и там же я бегло рассказал о том как он устроен и моих планах на будущее.
- Далее в статье будут спойлеры к тому видео.
- Прошу прощения за качество видеоряда и звука - времени на съёмку и монтаж было очень мало, а затягивать процесс очень не хотелось. Если убавить громкость, то смотреть, в принципе, можно))
Итак, как вы помните, ранее я уже писал о том, что купил руль, педали и КПП. Только на тот момент времени КПП была Logitech G25. В данный момент она уже продана на Авито, как и USB адаптер, потому что я уже получил ZSHIFTER PRO, которым теперь и пользуюсь.
Одновременно с этим, как было указанно мной в той же статье, я уже работал над проектированием и сборкой этого симкомплекта, который пока ещё находится в стадии бета-версии, потому что, как ясно показано в видео, не всё обрело свой финальный вид.
Первым делом для сборки такого комплекта необходимо было найти и купить:
- Подрулевые переключатели.
- Приборную панель.
- Кран грузового стояночного тормоза.
- Кнопку аварийной сигнализации.
- Старую магнитолу, которую не жалко раздербанить.
- Замок зажигания.
- Arduino UNO.
- Блок питания на 12в 5А (скорее всего, можно и меньше, но я решил купить с запасом по мощности)
- Очень много PETG пластика для 3D принтера.
- Кусок алюминиевого П-образного швеллера 80*40.
- Всякого рода мелочёвку типа болтиков, гаечек и т.п.
- Шоколадки, хороший конъяк и вискарь (для оплаты некоторых услуг :-) ).
Далее, когда всё куплено, нужно определиться как этот комплект будет работать.
Начнём с приборной панели.
Для её подключения к ПК и задействования шкал приборов, а именно:
- шкалы уровня топлива,
- шкалы спидометра,
- шкалы тахометра,
- шкалы температуры двигателя
я воспользовался программой SimHub. Эта программа в базовой версии бесплатна, разрабатывается и поддерживается она одним зарубежным энтузиастом.
- В неё добавлена поддержка множества популярных игр, в том числе и жанров, отличающихся от гонок, потому что она может работать со множеством разны внешних устройств.
- Разница с платной версией в моём применении, по большому счёту, только в частоте обновления показаний приборов и автопереключении программы под запущенную игру. В бесплатной версии программу нужно вручную переключать для каждой отдельной игры.
- Стоимость платной версии от 7 до 30 Евро, в зависимости от вашего желания - своего рода способ выбрать уровень поддержки автора. Функционал одинаковый и за 7 и за 30.
В общем-то, в сети, да и в интерфейсе этой программы есть инструкции о том, как подключить к Ардуино приборную панель, поэтому подробно останавливаться на этом не буду.
- Учиться программировать для её использования не надо - достаточно в параметрах выбрать какой контакт Ардуино к какому прибору подключен и всё - дальше она сама генерирует прошивку для неё и сама же её прошивает.
Как же понять какой контакт в каком разъёме приборной панели к чему относится? Можно, конечно, возиться и прозванивать, но проще поискать в сети. Я нашёл схему на Drive2. Там не просто было расписано какой контакт за что отвечает, но и было указано какого цвета провод идёт к этому контакту с разъёма проводки.
- Т.к. я купил приборку с обрезками проводов и фишками, это сильно упростило задачу - по цветам из поста на Драйве я сразу нашёл нужные мне контакты и не пришлось думать как закрепить проводки в разъёме - фишки, которые туда вставляются с замками, т.е. они фиксируются надёжно.
После того как были выявлены нужные контакты на фишках с обрезками проводки и на плате Ардуино, оставалось только спаять их между собой, что я и сделал..
- Само собой, это сейчас я пишу, что просто их спаял.. фактически же паять приходилось не раз и менять что-то местами - когда делаешь что-то на работе параллельно занимаясь, собственно, самой работой, сосредоточиться и избежать ошибок сложно))
Итак, проводки соединил, выставил в программе, залил пошивку и на этом всё - дальше все шкалы работают.
- Честно говоря, с работой шкал есть неприятный нюанс - шкала уровня топлива довольно часто живёт своей жизнью.. и это одна из причин, почему хочу в будущем, пусть и далёком, но перейти на своё ПО.
- С другими шкалами всё хорошо, их просто нужно откалибровать в программе SimHub.
Но мне этого было мало, поэтому началась работа над подрулевыми переключателями, стояночным тормозом и магнитолой..
Как я уже сказал в видео, срабатывание всех переключателей реализовано за счёт контроллера клавиатуры. Выглядит он так:
С одной стороны этого контроллера расположены дорожки, заканчивающиеся открытыми контактами. На этом фото контакты уже почищены и залужены, но изначально внутри клавиатуры они покрыты графитом. Пришлось графит соскоблить и затем уже залудить контакты, чтобы они были пригодны для пайки. Смысл нажатия клавиш на клавиатуре в том, чтобы замкнуть между собой 2 контакта на этой плате. В зависимости от того, какие контакты между собой замкнуты, срабатывает определённая клавиша.
- Я пытался найти в интернете соответствие контактов и кнопок, но не нашёл.. возможно, потому что не смог достаточно хорошо для Яндекса и Гугла сформулировать свой поисковый запрос.
- По итогу пришлось всё вычислять самому - прослеживая по внутренностям клавиатуры дорожки, которые замыкаются каждой из нужных мне кнопок.
По итогу, конечно не без ошибок в процессе поиска, я пришёл к следующей таблице соответствия, в которой есть все, задействованные мной для этого комплекта, кнопки:
Далее, оставалось только продумать, как эти контакты перемыкать нужным мне образом. Это было непросто потому что:
- у автомобильных подрулевых переключателей принцип следующий - есть 1-2 общих контакта, на которые приходит +12в, а при включении какого-нибудь из сигналов, этот контакт замыкается с другим, и +12в появляются на нём. Т.е. у переключателей нет отдельных пар контактов на каждое положение - есть лишь общий входящий сигнал и отдельные выходящие...
- в игре включение и отключение некоторых функций выполняется нажатием одной и той же кнопки, например, зажигание включается кнопкой "E" и выключается ей же. То же самое касается, и поворотников, и аварийки, и ручника, и дальнего света..
Первая проблема решается довольно просто - реле. Самое обычное реле может по приходящему на неё сигналу замкнуть 2 контакта.. я так и подошёл к решению этого вопроса.
А вот вторая проблема уже сложнее. Потому что преобразование постоянного сигнала в кратковременный импульс - это уже задача. А повторение этого импульса при отключении сигнала - это гораздо более сложная задача.
Благо, поискав варианты решения я наткнулся на одну ветку обсуждения электросхемы с нужным мне функционалом на том же Drive2..
- проблема в том, что на практике схема предложенная там оказалась неподходящей - постоянный сигнал действительно корректно преобразовывался в импульс, но повторять импульс после отключения сигнала такая схема отказывалась.
Вот как она выглядела:
По итогу, благодаря помощи более опытного в электрике коллеги, была получена реально работающая схема, которая позволяет преобразовать постоянный сигнал в разовый импульс и повторить этот же импульс после его отключения:
Как видите, диод "переехал", чтобы конденсатор при отключении сигнала не разряжался на обмотке первого реле, а использовал весь свой заряд только на замыкание второго. В таком виде, схема уже работает как надо и контакты второго реле успешно замыкают нужные контакты на контроллере клавиатуры как при появлении +12в от переключателя, так и при отключении, что в обоих случаях приводит к разовому срабатыванию нажатия кнопки клавиатуры.
- Ёмкость конденсатора нужно подбирать.. я подбором пришёл к использованию конденсаторов ёмкостью 330uF. Такие и купил на Озон. Диоды нашёл на работе. А вот реле тоже купил, для уменьшения размеров.. более крупные на работе были, но я нашёл на Озон максимально компактные.
- Твердотельные реле для этой схемы уже не годятся, т.к. у них нет обмотки, а значит они не разрядят конденсатор достаточно быстро, что сделает повторное срабатывание при отключении сигнала не кратковременным импульсом, а длительным нажатием.. для них схему нужно корректировать.
Таким образом, получив работающую электросхему я масштабировал её, т.е. повторил столько раз, сколько функций у моего комплекта должно работать по такому принципу.
- Разве что с ручником пришлось дополнительно поискать нестандартный подход, потому что грузовой кран ручного тормоза - это именно что кран! Никаких переключателей внутри нет. Но решение снова нашлось довольно быстро - кусочек магнита от HDD и геркон из старой клавиатуры.
Но работы шкал приборов и нажатия клавиш мне было мало.. поэтому я начал работать ещё и над тем, чтобы у приборки тоже горели индикаторы..
по крайней мере те, которые могу зажечь. Для этой цели тоже понадобились реле и диоды..
Здесь логика проста - раз уж от переключателя приходит сигнал +12в, почему бы его не направить параллельно ещё на индикатор? К таким сочетаниям переключателей и индикаторов относятся указатели поворота, аварийная сигнализация, дальний свет (в том числе моргание) и стояночный тормоз.
- И снова стояночный тормоз - проблемка.. потому что его индикатор на приборке - это единственный индикатор, который загорается от массы, а не от +12в.. решение снова нашлось быстро - дополнительное реле, которое пробрасывает массу после подачи +12в на катушку.
- Нужные мне провода на фишках я нашёл всё в том же посте на Drive2 со схемами этой приборной панели.
Для корректной работы Индикаторов поворота и аварийки я купил реле LED поворотников (прерыватели сигнала) для ВАЗ на Озон.. в принципе, не важно для какой машины, просто эти были самые дешёвые.
- Поскольку зажигать им нужно только индикаторы на приборной панели, то нагрузка для них будет совсем смешная - в машине то они ещё и все поворотники на кузове зажигают. Но т.к. они специально сделаны для диодных поворотников, интервалы между миганиями будут адекватные.
Я не просто пустил каждый из управляющих сигналов параллельно с реле для срабатывания клавиши к этим прерывателям, но.. сделал дополнительно развязку на диодах, потому что аварийная сигнализация задействует оба этих реле, а работать всё должно корректно - если включен только один поворотник, то только он и должен мигать, а если аварийка, то мигать должны оба поворотника одновременно + индикатор аварийки.
Описывать подробно эту диодную развязку смысла нет. Если вы хоть немного понимаете что такое диоды и как должны проходить сигналы, то это будет для вас простой задачей, а если не понимаете, то и делать этого вы не будете))
Таким образом, у меня на выходе получилась рабочая схема нажатия клавиш и свечения индикаторов приборной панели. Блок питания, купленный на Озон даёт 12в и 5А, которые бегают туда-сюда по проводкам и включают всю эту схему.
- Само собой всё включается через отдельное реле, которое запускается после включения зажигания (поворота ключа в замке).
В качестве шлейфа для подрулевых переключателей купил на Озон и разрезал метровый шлейф от RGBW ленты, у которой 5 жил. И да, у MicroUSB разъёма 5 контактов, а не 4. Сами разъёмчики тоже купил на Озон и "папы" и "мамы". "Мамы" с маленькими платами, чтобы удобно было паять.
Итак, на этом, пожалуй, описание технической части этого комплекта я завершу.
Если вы посмотрели видео и прочли эту статью, то в целом у вас уже есть достаточно подробное представление о том как он устроен.
Параллельно с работами над технической частью велась работа над дизайном и моделированием корпусов..
Эту работу не описать.. разве что стоит сообщить, что работу выполнял другой человек. У нас на заводе есть конструкторский отдел и там есть один очень способный инженер-конструктор, который отлично владеет ПО для 3D моделирования и к тому же любит придумывать и делать что-то интересное.
- У него же дома есть свой 3D принтер, что было очень кстати)
К нему я и пошёл с просьбой помочь мне в этом сложном деле - начиная от построения 3D модели и заканчивая непосредственно печатью на 3D принтере готовых изделий. Вот тут мне и пригодились шоколадки, конъяк и вискарь))
Много у нас было дискуссий по дизайну и расположению тех или иных элементов.. к тому же я много раз и по разным причинам менял ТЗ..
- одна только переделка корпусов для подрулевых переключателей чего стоит - полностью заново пришлось делать, когда я узнал про различия рулей С5 и С12... а ведь до этого у переключателей был единый корпус и его модель уже была готова на 100%
- что будет, когда он узнает о моих планах переделать всё под другие подрулевые переключатели страшно подумать))) но в конечном счёте, надеюсь, его стремление к новым вершинам и интерес к этому делу перевесят..
- конечно, сейчас ему нужно отдохнуть от этого проекта.. работать над одним делом с июля по конец сентября - это очень тяжело эмоционально.
- работы над второй версией комплекта по технической части уже идут, а по части моделирования новых корпусов под новые переключатели начнутся не раньше следующего года.
Но в конечном счёте у нас получалось найти общий язык и прийти к тому, что в общих чертах уже можно посмотреть в моём видео.
Я считаю, что получилось достойно.
Да, есть недостатки - немного смазано маркером сделал надписи Cammus на корпусах подрулевых переключателей, не очень равномерно подсвечена надпись под магнитолой и котик, да и в магнитоле трафарет толстый из-за чего под углом надпись уже не читаема..
Но все эти мелочи довольно легко устранить, а ощущения от игры, даже с бета версией корпуса приборки и косяком с крышечкой (см видео), вышли на совершенно другой уровень!
Ну, а на этом, пожалуй, я закончу эту статью. А Вас, как обычно, приглашаю для обсуждения в комментарии. Только будьте вежливы и проявляйте взаимное уважение.