Lamborghini

Repairing and upgrading scale model of Lamborghini Countach
Совершенно случайно приобрел старую модель Lamborghini Countach. Приехал на замену масла в машине и увидел её в гараже. На тот момент она 8 лет пролежала без движения... Вот так она выглядела.
Идея, которая меня посетила заключалась в том, чтобы кроме ремонта оборудовать её Arduino с дистанционным управлением и обучить выполнять некоторые операции, свойственные реальным автомобилям - мигать поворотниками, сигнализировать при движении с незакрытой дверью, останавливаться при быстром приближении к препятствию и так далее. Но начал я с отмывания и обследования трофея. Видео здесь.
Вот с этим уже можно работать. Изначально эта модель могла ездить вперед/назад с постоянной скоростью, дискретно поворачивала колеса, в фарах стояли лампы накаливания на 12В, двери, капот и фары поднимались хитрым приводом, который я покажу ниже. Мне же досталось:
- полное отсутствие рулевого механизма, пульта управления, аккумулятора и крышки отсека для него и одного зеркала
- резина затвердела и стала некруглой в профиле
- задняя подвеска сломана
- вполне живой коллекторный мотор привода с дифференциалом!
- вдохновение для этого проекта

Чтобы потом не забыть, сразу покажу вам этот хитрый механизм открытия дверей, капота и фар. Работал он так. Было две кнопки на пульте, позволяющие вращать мотор в одну и другую сторону. С помощью механики (храповые механизмы) при вращении в одну сторону вращались эксцентрики, расположенные в горизонтальной плоскости. А при вращении в другую сторону вращались эксцентрики, расположенные в вертикальной плоскости. Первые через тяги поднимали и опускали двери, а вторые - фары и капот. Никаких крайних положений не было, водитель должен сам был вовремя отпускать кнопку. Потому что иначе они открывались и закрывались по кругу :)
Начал я с восстановления механики. Сделал латунные стойки для крепления задней подвески и рулевого механизма. Крепил их двухкомпонентным компаундом (эпоксидкой).
Вот установленный сервопривод рулевого управления. Угол поворота колес был слишком сильно ограничен. Поэтому сначала я уменьшил упоры, а затем и вовсе прорезал отверстия в арках.
А тут можно посмотреть простую подвеску после восстановления. Там еще нет пружин, но смысл её работы понятен. Мост двигается вместе с двигателем и редуктором. Как в настоящей, чо :)
Дальше я принял ряд решений:
- управляться машина будет Espruino-совместимой платой Iskra JS от Амперки
- в фарах будут светодиоды
- все двери, капот и фары будут подниматься отдельными сервомашинками
- питаться все будет от 3-х аккумуляторов типа 18650 по 3,7В каждый. Выбрал Sony US18650VTC6. И оказался очень прав - это чудо, а не аккумуляторы. В этом же магазине купил и зарядник для них.
Раз есть источник питания, то надо следить за его состоянием. На приборной панели появляется вольтметр.
Дальше я навтыкал подходящих светодиодов в фары, поворотники и стоп-сигналы и установил сервопривод фар. Вот что из этого получилось. Для проводки я использовал свой любимый провод МГТФ и термоклей.
Дальше я занялся освоением JavaScript в приложении к микроконтроллерам.
Первым достижением стал электроруль. Наверное любой мальчишка мечтал, чтобы в его машинке можно было покрутить руль и поуправлять колесами. У меня получилось даже сделать регулировку среднего положения руля. Вот та гаечка на фото отвечает за это.
Принцип работы простой - при вращении руля меняется сопротивление переменного резистора. Сигнал с него снимается аналоговым входом Iskra JS и преобразуется с учетом ограничений хода рулевой системы в угол, передаваемый сервоприводу.
Далее я разместил основные электронные компоненты в свободном пространстве. На фото ниже вы можете увидеть саму Iskra JS, модуль управления электродвигателями L298N, врезанный отсек для аккумуляторов, плату с шинами (пока там одна) и место для преобразователя питания XL4015 5A. Сверху на Iskra устанавливается модуль управления сервоприводами Multiservo Shield.
Провода убираются в жгуты обычными нитками.
На платку с шинами я вывел общий провод GND, +12В с источника питания и +5В со стабилизатора. Сделано это для удобства.
Кстати, используемый модуль управления двигателями может коммутировать 2 двигателя с током до 2А на каждом. Испытания показали, что при питании от 12В и полной фиксации колес ток в цепи двигателя возрастает до 3,5А. Поэтому я подключил оба канала параллельно. На этом фото использовался один канал.
Сегодня сделал привод водительской двери. Вот так незамысловато вышло. Термоклей рулит!
И с другого ракурса.
Сегодня перевел рулевое управление и ускорение на провода. То есть руль и газ (2 переменных резистора) подключены к Espruino проводами. По ним передается аналоговый сигнал. Машинка приобрела плавность хода. Правда управлять этим крайне сложно - крутить переменники и одновременно тыкать в кнопки на ИК-пульте это занятие для виртуозов. Мне же это нужно для того, чтобы потом просто (или не очень :) ) "заменить" провода на радиоканал. А пока это выглядит так - смотрите видео.

Продолжаю повествовать по теме. Сегодня приобрел заготовку для пульта управления в виде пульта управления :)
На самом деле мне понадобится только корпус и один джойстик. Планирую внедрить в него плату типа уже используемой в автомобиле Iskra JS или Arduino. В оригинале этот пульт 4-канальный, но мне нужно гораздо больше. Ведь на сегодня уже реализованы или стоят в плане следующие функции:
- поворот влево/вправо - пропорциональный канал
- газ - пропорциональный канал
- задний ход - думаю сделать кнопку или переключатель, который будет менять направление, но при этом тот же джойстик газа будет нажиматься вперед. Как на настоящей машине
- включение поднимающихся фар
- левый поворотник
- правый поворотник
- управление водительской дверью
- управление пассажирской дверью
- управление капотом (задним)
- свет в салоне
- сигнал
- сигнализация. Имитация настоящей сигнализации с датчиком удара
- переключение управления с пульта на салон. В этом режиме можно будет крутить руль в машинке для поворота колес
- возможно, инсталлирую датчик расстояния и напрограммирую кейс а ля Volvo City Safety
- надо что-то придумать с тормозами. Варианты пока либо программное включение реверса мотора с учетом предыдущей скорости, либо аппаратные тормоза
- контроль заряда аккумулятора с пульта. Заказал датчик напряжения, информация об уровне заряда будет передаваться на пульт. Это важно, так как используемые аккумуляторы не толерантны к переразряду.

Таким образом, в пульте будут появляться дополнительные кнопки и индикаторы.

А пока вот фото изнутри пульта:
А дальше это все может стать программируемым конструктором - ведь используемый подход позволяет перенастраивать любые параметры программно - можно изменить скорость подъема фар и дверей, можно изменить чувствительность рулевого механизма, скорость разгона, максимальную скорость, частоту мигания поворотников, яркость фар и так далее.