Перейти до публікації

Контроллер опускания зеркала при парковке


Gn.O.M

Рекомендовані повідомлення

354   226

Когда подключал себе электро зеркала, само собой, гуглил различные распиновки, цвета проводов и т.д. Наткнулся на видео на ютубе о автоматическом опускании правого электро зеркала для удобства при параллельной парковке. В том видео просто активировали эту функцию как штатную (вроде на каком то ВАГе).

 

В принципе функция не край необходимая, но мысля "Хочу!" засела в голове :D.

 

И вот когда с установкой зеркал было покончено, начал гуглить как же это сделать или, хотя бы, как оно должно работать.

 

В итоге нашел несколько вариантов реализации таких самоделок:

Будь ласка Увійдіть або Зареєструйтесь щоб побачити посилання.

. Проект коммерческий. Разработчик с Днепра. Можно было бы списаться, узнать цену, но хотелось поковыряться самому.

. Проект на ардуинке. Прошивки в посте нет, нужно просить в личке. Схема не понравилась в силу того, что не отключается от мотора джойстик, когда контроллер опускает/поднимает зеркало. Возможна ситуация, когда контроллер, например, опускает зеркало вниз, а водитель нажимает на джойстике вверх. Получаем короткое замыкание и сгоревший предохранитель. Также возможна ситуация наоборот.

В принципе водителю незачем тыкать в этот момент в джойстик, но лучше обезопаситься от забывчивости или другого водителя, который об этой "фиче" не в курсе.

. Проект на ардуинке. Прошивки в посте нет, нужно просить в личке. Управляет слаботочными кнопками в джойстике, который в свою очередь уже подключен через CAN шину. Мне не подойдет.

 

В итоге решил придумывать свой "велосипед" из готовых модулей. Результат далее.

 

Для сборки модуля использовал: 

1. Модуль контроллера Ардуино. Можно использовать любую, но, рекомендую версию Nano. Дешевая, компактная, прошивается через USB (программатор встроен), питать можно сразу от сети авто через пин VIN (стабилизатор встроен).

2. Модуль на 4 реле на 12в.

2*. Можно использовать и 5-ти вольтовый модуль реле. Например у меня уже был по наличию и его я и использовал. Ну или, например, 12в нет в магазине по наличию (5-ти вольтовые, обычно, есть всегда). Тогда нужно добавить понижающий стабилизатор для его питания. Я использовал маленький DC DC stepDown преобразователь.

3. Резисторы. 5.1к - 3 шт. 10к - 3 шт.

4. Пищалка пассивная. Не обязательна, но я захотел что бы была звуковая индикация работы. Можно исключить из схемы.

Провода, разъемы, корпус. Тут уже от желания, фантазии и наличия очень зависит. Я пока запихнул все это дело в мыльницу за 8 грн :D.

Бюджет сей поделки вписался в 200 грн.

 

Прошивку писал в рабочее свободное :) время. Сначала смоделировал схему в Proteus. Там отлаживал прошивку. Потом, за вечер, собрал в живую. Протестировал на столе. Вроде все работает как и планировалось.

 

По схеме:

 

Важно! Если решите повторить, не поленитесь поставить предохранитель. Я один сжег, пока экспериментировал. За то все остальное выжило.

 

Контроллер подключается в разрыв проводов, которые идут от джойстика к правому зеркалу. Разрыв планирую сделать на разъемах, что бы можно было легко исключить контроллер из схемы.

 

Верхние 2 реле, по схеме, отвечают за отключение джойстика от мотора на время работы контроллера. На 2-х нижних реле собрана схема реверсивного управления моторчиком.

Через делители напряжения на резисторах к Ардуино подключены 3 входа: + при включении заднего хода(далее ЗХ), + дополнительный вход (далее ДВ), + с джойстика при нажатии кнопки "вниз"(для программирования времени опускания).

ДВ еще не придумал откуда брать. Mожет аварийка, хотя, иногда, может потребоваться ситуация сдавания назад с аварийкой но не опускать зеркало. Или задний противотуманный фонарь. Ну или вообще отдельную кнопку выведу.

Если у кого есть идеи, предлагайте.

 

Логика работы:

 

Поскольку датчиков положения в зеркалах нет(в моих точно:)), опускание/поднимание работает по заданному времени. Время считывается с энергонезависимой памяти при запуске.

Активация контроллера по 2-м входам - ЗХ + ДВ. 
Это сделал по двум причинам. Во первых не всегда нужно что бы при включении ЗХ зеркало опускалось. А так пока не включить ДВ, зеркало будет на месте.
Во вторых, если не удалось запарковаться с первого раза, при выключении ЗХ зеркало не будет подниматься, пока не выключить ДВ. Можно дергаться туда/сюда сколько угодно.

 

Но и продублирую подробно сам алгоритм работы:

Включить ЗХ+ДВ(порядок не важен).
Зеркало опускается в режим парковки.
Запарковаться. Можно сколько угодно включать/выключать ЗХ, зеркало не поднимется.
Выключить ЗХ и ДВ (порядок не важен).
Зеркало возвращается в нормальный режим.

 

Время программируется при помощи джойстика. Для этого я и подключал один вход ардуинки к нему. Можно, конечно, было бы вывести отдельную кнопку или крутилку, но не хотелось плодить лишние сущности. Единственное что отмечу, программировать контроллер лучше на заведенном автомобиле, так как в этом случае напряжение сети будет чуть больше и моторчик может сделать чуть больше оборотов за то же время.

 

Режим программирования:

Включить ЗХ.
На джойстике нажать и удерживать кнопку "вниз". После секундной задержки зеркало начнет опускаться.
Когда зеркало опустилось до желаемого положения, отпустить кнопку на джойстике. Контроллер записывает время опускания в энергонезависимую память, и возвращает зеркало в исходное положение.
Выключить ЗХ.

В принципе и все.

 

Теперь о минусах (куда ж без них):

1. Время поднимания равно времени опускания. Если по какой то причине скорость вверх и вниз будут чуть отличаться, возможно, после нескольких циклов зеркало собьется. Пока не установил в машину, проверить не удастся.

 

2. В схеме нет защиты от упора зеркала в край. В коде есть программный предел времени в 5 секунд. Больше которого мотор работать не будет. При программировании он тоже учитывается, то есть опускать зеркало больше этого времени не получится(хотя предел можно подправить в прошивке - константа MAX_TIME). Была идея еще поставить и датчик тока, но, пока, решил не усложнять конструкцию.

 

3. Контроллер питается от цепи зажигания, поэтому, если во время возврата(или опускания) зеркала заглушить машину, оно, во время следующего запуска, не вернется в нормальное положения. Придется возвращать вручную. 
Частично эту проблему решил программно. Когда зеркало опущено в энергонезависимую память записывается это состояние и потом, при следующем запуске, оно возвращается в нормальное положение. Но этот вариант сработает только если зеркало в режиме парковки. Если уже начало подниматься то нет. А постоянно записывать состояние зеркала при движении не вариант. У памяти ограниченный ресурс чтения/записи(по моему 100 000 циклов).

Можно, конечно, подключится и на постоянный плюс. Тогда эта проблема уйдет. Но не люблю я когда во время простоя что то жрет аккумулятор (хоть ток потребления у ардуинки и маленький ~ 30 мА). Если этот момент будет мешать, добавлю реле задержки отключения секунд на 10. Но, опять же, решил пока не усложнять конструкцию. Хотелось все сделать максимально просто. 

 

Прикладываю видео тестирования устройства на столе, фотки, принципиальную схему и пару монтажных схем(для варианта с 12в и 5в модулями реле). Так же архив с прошивкой.

 

Кстати, о прошивке. Для новой Ардуинки, желательно, изначально почистить энергонезависимую память. Никто не гарантирует, что там с завода нули. Для этого в архиве есть прошивка InitNewArduino.ino. Она, собственно, как раз очищает память и записывает время движения зеркала равное 1 секунде. После этого просто мигает светодиодом на плате с частотой 1 Гц.

После нее уже можно спокойно зашивать основную прошивку Controller.ino.

 

Код старался максимально комментировать, что бы было понятно что какой метод делает.

 

В машину еще не установил. Холодно. Как выберется денек потеплее и заинсталлю в машину, поделюсь впечатлениями:).

Будь ласка Увійдіть або Зареєструйтесь щоб побачити відео.

Будь ласка Увійдіть або Зареєструйтесь щоб побачити зображення.

Arduino.zip

Посилання на коментар
Поділитися в соціальні мережі:

Таки да есть такая фишка у vag. Но что бы это произошло необходимо поставить джойтик управления зеркалами в положение"R"(правое) и включить заднию передачу

Посилання на коментар
Поділитися в соціальні мережі:

  • 2 тижні потому...
354   226

Как и обещал, отписываюсь после установки. Поставил, все работает. Пока доп канал подключил на аварийку. Не совсем удобно, так как я, по привычке, всегда включаю аварийку когда сдаю назад. Буду думать куда его подключить. По самому функционалу пока вопросов нет, парковаться помогает :).

 

 

Будь ласка Увійдіть або Зареєструйтесь щоб побачити зображення.

Будь ласка Увійдіть або Зареєструйтесь щоб побачити відео.

Посилання на коментар
Поділитися в соціальні мережі:

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...

Важлива інформація

Щоб зробити цей веб-сайт краще, ми розмістили cookies на вашому пристрої. Ви можете змінити свої налаштування cookies, у іншому випадку ми будемо вважати, що ви згодні з цим.