Originally published at
Techno Mind. Please leave any
comments there.
Как известно, при обгонах и перестроениях из ряда в ряд, поворота руля не хватает для отключения сигнала поворота, и после окончания маневра его нужно отщелкивать вручную. Многие
мудаки решают это проблему просто - не включают поворотники вообще. А для тех, кто включает, на подавляющем большинстве современных автомобилей реализован интересный фичер - при кратковременном несильном нажатии на переключатель поворотников, так, чтобы он не зафиксировался, а вернулся в исходное положение, поворотники автоматически мигают три раза.
Фичер очень удобный и по умному называется удлинителем сигнала поворотов (по англ. comfort turn signal или one-touch turn signal), а в народе зовется лентяйкой.
Пример работы:
Click to view
На более старых авто, как например на моем Nissan’е, данной функции нет, и производитель рекомендует, при коротких маневрах, придерживать переключатель поворотников рукой в полунажатом состоянии - в таком положении поворотник мигает, но переключатель не фиксируется и возвращается в исходное положение, если перестать придерживать его.
Примерно так я и ездил, пока совершенно случайно в сети не попалось довольно тривиальное и элегантное устройство, для реализации механизма лентяйки на любом авто.
Идея вот в чем: рычажок поворотников это всего лишь простой электрический выключатель, как дома не стене. Нажали в одну сторону - загорелась одна лампочка, в другую - другая. Отличия лишь в том, что лампочки мигают, а не горят постоянно, и конструкция рычага не предусматривает включение обоих лампочек одновременно. Для этого есть отдельная кнопка - аварийной сигнализации, но она не принимает непосредственного участия в нашей истории. Немного упрощенно это выглядит так:
На данной иллюстрации можно видеть блок прерываний, обеспечивающий мигание поворотников, переключатель поворота и по паре лампочек на каждый поворотник. Кнопка включения аварийки не нарисована, дабы не усложнять. Ее функция заключается, всего навсего, в одновременном закорачивании ламп поворотников обоих сторон на блок прерывания.
Подключая лентяйку, мы ставим, параллельно штатному выключателю поворотов, два электрических
реле, каждое из которых тоже сможет замыкать цепь, включая поворотники с соответствующей стороны. Управлять реле будет микроконтроллер, который сможет заметить кратковременное нажатие на штатный переключатель поворота, и случись такое, включит соответствующее реле на период нескольких миганий, количество которых задается програмно. Вот так:
На иллюстрации выше виден микроконтроллер (МК) - слева в него заходят линии питания, сверху - сигнальные линии, благодаря которым контроллер узнает о кратковременном включении какого-либо поворотника, а также сможет отсчитать количество миганий, и справа от контроллера отходят к паре реле управляющие линии.
Вот собственно и вся идея. Дополнительные плюсы заключаются в том, что количество деталей в лентяйке мало, а проводка во всех авто устроена так, что все необходимые провода, к которым лентяйка подключается, собраны воедино в жгуте идущему к выключателю аварийки - там есть и земля, и постоянные +12 вольт для питания, и сигнальные линии для правого и левого поворотников. Это позволяет произвести установку системы за считанные минуты.
Вот на этом сайте я почерпнул основную идею устройства, схемы и программное обеспечение -
http://nsskn.narod.ru/longturn/index.html. Моя версия отличается более продвинутой системой питания микроконтроллера и слегка модифицированной программой.
В оригинальной версии лентяйки используется простой линейный стабилизатор напряжения
7805. В свое время я столкнулся с серией глюков в работе микроконтроллера запитанного от бортовой сети авто через 7805, и с тех пор уделяю этой проблеме повышенное внимание. Свои мысли на этот счет я уже описывал вот в
этой статье. В данном случае я пошел еще дальше, и поставил специальный стабилизатор напряжения, спроектированный для работы в автомобиле -
TLE4275. У этого стабилизатора есть две дополнительные ножки, одна из которых подключается к ноге RESET микроконтроллера, и включает его только когда напряжение на выходе стабилизатора находится в пределах нормы, а с помощью второй ноги и простой RC цепочки можно задать временную задержу для сигнала первой ноги (см. даташит).
Теперь по поводу софта - в оригинальной версии лентяйки автор реализовал функцию автоматического включения аварийной сигнализации поворотниками при движении задним ходом. Поскольку ног у микропроцессора, предлагаемого к использованию немного, сигнал движения задним ходом предполагалось подать на ногу RESET, перепрограммированную под обычный порт GPIO (это предусмотрено конструкцией микропроцессора и делается с помощью
фьюзов во время прошивки, см.
даташит на ATtiny13).
Я не собирался реализовывать у себя фичер мигания аварийкой при езде назад, а ногу RESET хотелось использовать для запуска процессора только при условии нормального напряжения питания, поэтому программа и принципиальная схемы были немного адаптированы.
Здесь и
здесь можно скачать оригинальную версию программы.
Здесь можно скачать мою, адаптированную версию.
Парв слов по поводу изменений в программе - количество миганий увеличено с трех до четырех, увеличено время проверки на дребезг контактов штатного переключателя поворотов (для тех, кто не понимает о чем речь, можно почитать, например,
тут). Часть программы, занимающуюся включением аварийки при движении назад я не трогал - банально было лень выгрызать куски кода. Да и незачем это - сигнал на соответствующую ножку микропроцессора все равно не придет.
При прошивке микропроцессора необходимо выставить следующие фьюзы:
Схему устройства, по большому счету, я не менял. Изменение коснулось лишь стабилизатора питания.
На всякий случай я скачал
оригинальную версию платы и разместил ее
у себя.
Вот моя слегка модифицированная версия схемы (кликабельно):
Схему и плату можно скачать
здесь.
Для схемы подойдут любые реле, коммутируемые 12тью вольтами, и рассчитанными на ток порядка 4 ампер и выше (2 лампочки поворотников по 20 ватт - менее 4 ампер тока). В схеме используется интегральный массив
транзисторов Дарлингтона ULN2804 для коммутации реле и сигнальных линий.
При пайке обнаружилось, что я ошибся с моделью реле - пришлось немного поправить разводку навесными проводками. Я исправил это в опубликованных файлах разводки.
Коробочка для платы была сконструирована в
SolidWorks’е и распечатана на трехмерном принтере. Разумеется, это необязательно, и плату можно разместить в любом подходящем корпусе. Но если кому надо -
вот модель коробочки.
Процесс подключения очень прост - как я уже говорил, все необходимые соединения проще всего произвести на жгуте, идущем к кнопке включения аварийной сигнализации. С помощью тестера или даташита на машину нужно идентифицировать 5 проводов:
Земля
+12 вольт при включенном зажигании - с этого провода будет браться питание системы, соответственно, она должна работать только при включенном зажигании, а не постоянно (это важно, поскольку в жгуте также есть провод, на котором +12 вольт имеется вне зависимости от зажигания)
Сигнальный провод левого поворота - на нем появляется прерывистое напряжение при мигании левого поворота
Сигнальный провод правого поворота - на нем появляется прерывистое напряжение при мигании правого поворота
Общий сигнальный провод - на нем появляется прерывистое напряжение при мигании и левого и правого поворотников
У меня слепой поиск тестером занял ровно 3 минуты, после чего система была подсоединена и заработала тут же, без дополнительных танцев с бубном.
Лентяйка стоит у меня уже более трех месяцев и работает безупречно. Мне часто приходится ездить по работе на других авто, в которых нет лентяйки (например, годовалый
Ford Focus - не понимаю, как в современной машине нет подобного функционала), и я скучаю по ней в таких поездках.
Напоследок, хочу сказать, что при работе лентяйки слышно легкое пощелкивание реле. Это не мешает совсем, но вот на
этом форуме была предложена идея использовать
полевые транзисторы, вместо реле. Холодным осенним вечером девайс был собран:
К сожалению данная реализация в моей машине не заработала - видимо аппарат оказался несовместимым с блоком мигания. Порывшись снова на форумах, я обнаружил, что я не один, и есть автомобили, на которых подобный фокус не прокатил.
Поэтому я вернулся к релейной версии, обмотал ее тонким поролоном и запихал поглубже за торпеду - добился полной тишины хардверным способом.
Тем не менее,
вот схема и плата под версию с транзисторами - авось кому поможет.
Буду рад ответить на вопросы в комментариях.