Моторизованный timelapse видео слайдер +19


Идея сделать видео слайдер, да и к тому же моторизованный, мне пришла в голову в августе 2014-го. К тому времени я уже чуть больше года занимался ночной съёмкой звёздных пейзажей и решил попробовать себя в timelapse-деле.

В timelapse всегда ценится «живость картинки»! Смена кадров, сделанных на статично установленный фотоаппарат в большинстве случаев не так эффектно влияет на зрителя, как тот же сюжет, но уже снятый на движущуюся в пространстве камеру. Композиция видео наполняется безграничной динамикой, оставляя хорошие впечатления о ролике!



Как обстоит дело с продажами такого оборудования? Да без проблем! Вот только космические цены пугают… В процессе поиска вариантов, будь это фирменный или китайский, делаешь вывод, что понятия «бюджетный моторизованный слайдер» не существует в природе! Бюджетный вариант — это только если сконструировать подобное самому! Я так и сделал!

Изготавливать слайдер начал не сразу, покуда не нашёл выход, как сделать рельсу за недорого! С неё всё и началось.
В мебельном магазине я купил направляющие для мебельной фурнитуры и ролики для них.





За основу рельсы я взял имеющееся в хозяйстве алюминиевое строительное правило длиной 1.5 м (встроенный уровень помогает ровно установить слайдер). При помощи дрели, вытяжных заклёпок, а также вставок из фанеры по обоим концам правила, уже за несколько часов была изготовлена рельса длиной 2 метра.



Осталось дело за кареткой. Её я сделал из прочного оргстекла. Ролики крепил при помощи болтов и гаек маркировкой М6.



Первый тест был провален, к сожалению. Каретка катилась рывками, и на видео это было очень заметно (плавные дребезг то вниз, то вверх). Всё это из-за не нормально отцентрированных при производстве роликов (хотя продавец сказал, что фурнитура итальянская). Выход — заблокировать все колёса. Теперь они выполняют роль подшипников скольжения. Каретка стала прямолинейно скользить по рельсе!





Чтобы рельса держалась на штативах, к ней приделаны две штативные площадки. Здесь они самодельные, из фанеры. Крепятся болтами и гайками М6.















Электрика


Что я хотел изначально сделать? Поначалу было задумано использовать один привод для каретки. Для этого нужно всего ничего тяговитый моторчик, элемент питания и микросхемка для управления скоростью. Впервые узнал о сервоприводах, и решил его взять в свой проект. Микросхемой был сервотестер, который может управлять скоростью сервопривода. То, что надо! Нужно брать! Но не спешим…

Дальнейшее знакомство с сервоприводом наткнуло меня на такое понятие, как Arduino. И это хорошо! Я ещё раз обдумал проект и решил, что в слайдере мне нужно не постоянное движение каретки, а интервальное. Ведь движение во время экспозиции (ночная фотосъёмка — длинные выдержки) может забраковать кадр смазом.

И раз уж у меня будет такой умный блок управления, то я решил дополнить свой слайдер ещё и другим механизмом. Кроме движения вдоль рельсы фотоаппарат будет ещё и вращаться вокруг вертикальной оси. Конструкцию можно назвать «видео слайдером с астротрекером на борту».

Итак, было куплено:
  • Микроконтроллер Arduino UNO R3
  • Сервопривод TowerPro MG995 13kg/cm
  • Шаговый двигатель 28byj-48-5v + Driver ULN2003


Сначала я сделал крепление сервопривода к рельсе из того же оргстекла.



Каретка и сервопривод были связаны нерастяжимой нитью, которая наматывается на его вал.
Вращение камеры осуществляется при помощи шагового двигателя 28byj-48, который установлен на червячном редукторе 1/55.



Корпус для Arduino и других электрических компонентов я решил сделать опять таки из оргстекла. Склеивал всё суперклеем, хотя для этого материала обычно используют специальный клей, который припаивает детали друг к другу и их потом не разорвать. Для подключения моторов к блоку управления сделал два кабеля, на которых использовал надёжные проверенные советские разъёмы типа «папа» DIN 5 PIN.



Питание подаётся через обычный DC connector.

Элемент питания: 7.2V, 2250mAh:



Время первых тестов электрики! Подключаем моторы, питание, устанавливаем фотоаппарат, подключаем к нему пульт ДУ, настраиваем его под Arduino: выдержка 30 сек, интервал 5 сек. Нажимаем одновременно старт на пульте и Arduino. Ждём…

Не прошло и пяти минут, как была обнаружена несинхронность в работе. Главный моторчик начинал крутиться, когда ещё был открыт затвор. Дело в пульте: он неправильно отсчитывает время. Если в реале пройдёт 30 секунд, то счётчик в пульте отсчитает только 28-29 секунд. Он тормозит. Может быть из-за того, что китайский или по какой-то другой причине (интересно будет узнать от вас почему так)!

Чтобы этого избежать, нужно делать всё на базе одной системы — Arduino. Но как управлять затвором фотоаппарата через Arduino?
Снова гугл в помощь!

Переходник пульта:



Переходник пульта подсоединяется одним концом к камере, а другим (jack 2.5) к проводу пульта. Jack 2.5 имеет три контакта, и из принципа работы пульта фотоаппарата я узнал, что для срабатывания затвора нужно сомкнуть два из трёх этих контакта. Попробовав несколько комбинаций, нашёл — работает!

Сделал двухжильный кабель, один конец которого имеет разъём «мама» jack 2.5 и подключается через тот переходник пульта к фотоаппарату, другой конец идёт в блок управления. Внутри него смыкать эти две жилы я придумал при помощи механической кнопки. Она сделана из микро сервопривода и контактной кнопки.

Качелька микро сервы нажимает в определённый момент на тактовую кнопку, тем самым замыкая два контакта, и фотоаппарат делает снимок:



Двухжильный кабель:



Двухжильный кабель + переходник пульта:



Поздней осенью, когда бывают небольшие заморозки, я как-то решил протестировать слайдер и обнаружил ещё один недочёт: даже при +2°C главный сервопривод отказывался работать. Это было связано со сгущением смазки шестерёнок. Сервопривод заедало после 5-10 минут нахождение на такой температуре.

Позже, уже настоящей зимой, когда были морозы до -10°C также и микро сервопривод дал о себе знать! Хотя при той же температуре в +2°C, в которой перестал работать большой MG995, механическая кнопка работала стабильно и нареканий не вызывала. Видимо, это связано с тем, что она находилась в корпусе с Arduino, который не давал быстро промёрзнуть микро моторчику на ней. Тогда кнопка работала хорошо, но теперь сигнал на срабатывание затвора посылался не каждый раз, а это не то, что нужно. Пришлось дорабатывать.

Вскоре нашёл решение для мотора и спуска затвора. Купил биполярный шаговый двигатель типа Nema 17 и плюс к нему громоздкий самодельный драйвер от продавца. И никакой мороз теперь не помеха!



Этот шаговый двигатель я также использовал в связке с аналогичным редуктором 1/55, про который писал выше. Тросик наматывается на катушку.



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

Ещё избавился от огромного самодельного драйвера, который жестоко грелся из-за большого тока в нём, и мог бы в неподходящий момент просто подвести. Заменив его после на знаменитый EasyDriver, у меня появилась возможность регулировать ток в драйвере за счёт подстроечного резистора на нём. Сила тока пропорционально влияет на крутящий момент мотора. Его здесь достаточно меньше половины от максимума нормы, так как используется червячный редуктор с большим передаточным числом. Драйвер ощутимо меньше стал греться.

Также в EasyDriver есть возможность легко устроить «режим сна», когда драйвер отключён и не потребляет ток на удерживающий момент мотора — мотор полностью отключён. Возможность деления шага также не лишняя функция! Теперь уж без проблем можно сделать относительно идентичную копию блока управления из купленных в магазине компонентов!

Сейчас места в корпусе стало значительно больше, чем было.

ДО



ПОСЛЕ



Время



Большую часть его я потратил на изучение программирования в Arduino. И даже сейчас мой скетч можно дорабатывать. Есть единственная проблема. Не получается сделать так, чтобы нажатием тактовой кнопкой переключался режим работы и оставался на одном из них постоянно. Режимы отличаются всего лишь временем выдержки. Интервал всегда одинаковый и равен 3,5 секунды. Много перепробовал, но покуда есть такой вариант. Написал я его ещё в конце зимы, и он меня устраивает.

Всё просто: выдержка задаётся и приравнивается к промежутку времени, прошедшем с момента начала программы и до момента единичного нажатия тактовой кнопки. Чтобы её изменить, нужно перезагрузить Arduino.

Скетч:
#include <Stepper.h>
int Distance = 0; 
int x = 0;
#define STEPS_MOTOR 32   
#define STEPS_OUTPUT 32 * 64  // = 2048
Stepper stepper2(STEPS_MOTOR, 8, 10, 9, 11);

int  steps;
int button = 12;
int previousMillis = 0; 
void setup()
{
  pinMode(13, OUTPUT);     
  pinMode(12, INPUT);
  pinMode(2, OUTPUT);     
  pinMode(3, OUTPUT);
  pinMode(7, OUTPUT);

 
}

void loop()
{ 
     
   if (digitalRead(12) == HIGH)
     { 
     
     
      
       previousMillis = millis();     

int x = map(previousMillis,60000, 0, 78, 0);


 a:
 
digitalWrite(2, HIGH);
  digitalWrite(3, LOW);

 { 
   digitalWrite(3, HIGH);
  delayMicroseconds(552);          
  digitalWrite(3, LOW); 
  delayMicroseconds(552);
  Distance = Distance + 1; 
  

  if (Distance == 3620)
  {
    if (digitalRead(2) == HIGH)
    {
      digitalWrite(2, HIGH);
    }
    else
    {
      digitalWrite(2, LOW);
    }
   
   
 digitalWrite(2, LOW);
 digitalWrite(3, LOW);  
                   
 steps = STEPS_OUTPUT;
  stepper2.setSpeed(161.25);     // 500 ms
  stepper2.step(steps = - x);                                    
                      
digitalWrite(8, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(11, LOW);  
   
  
   delay(500);                   // 500 ms


digitalWrite(13, HIGH);  
  digitalWrite(7, HIGH);   
  delay(50);                     // 50 ms
 digitalWrite(7, LOW);     
  digitalWrite(13, LOW);    
delay(previousMillis-3050);             // inerval = x-3500 ms
  Distance = 0;
}
}
goto a;
}}

Установка слайдера










Всё подключено. Слайдер готов к работе!











Схема соединения электрических компонентов





Выводы


Что я думаю:

На данный момент слайдер готов к использованию, и в полной мере отрабатывает своё предназначение, но есть некоторые нюансы, которые в будущем я хотел бы доработать. Почти все они относятся к каретке. Думаю, вы заметили.

Нужен более надёжный механизм удержания «астротрекера». Ось его вала должна всегда быть перпендикулярна земле. Фирменная штативная головка придаст моей конструкции ещё более эстетический вид, который был задуман мной изначально! Что касается электроники: так меня здесь всё устраивает, даже скетч на Ардуино! В любом случае, я уже добился планируемого результата!

Чисто технический пример работы слайдера (зима, февраль, -15°C):



Себестоимостью данного видео слайдера составляет менее 100$, не считая стоимость двух штативов.

Спасибо за внимание! Всем удачи в самоделках!




К сожалению, не доступен сервер mySQL