Бюджетный TimeLapse Slider своими руками

image

Всем привет. Хочу поделиться опытом в изготовлении простого и бюджетного TimeLapse слайдера длинной 2 метра для камеры (в моем случае в качестве камеры выступает телефон).

Необходимость в изготовлении появилась в связи с желанием принять участие в фестивале мобильного кино Velcom SmartFilm 2013, который проходит в Беларуси.

И так… Слайдер состоит из 2-х основных частей: механической (направляющие, движущаяся каретка и механизм перемещения) и электрической (мотор и система управления). Если с последней частью слайдера всё было более менее понятно — связка LaunchPad MSP430 + драйвер L298N + биполярный шаговый двигатель от старого принтера. То механика заставила изрядно подумать, ведь всё должно быть «дешево и сердито». Варианты с покупными направляющими отпала сразу после изучения цен на них. И в итоге, после долгих поисков по интернету, остановился на использовании пластикового короба для прокладки кабелей шириной 60мм. Он оказался вполне прочным и гладким для ровного движения каретки, но слишком гибким и поэтому защелкивающаяся крышка короба была прикручена саморезами к клеенной доске подходящих размеров (толщиной 15мм, шириной 90мм и длинной чуть больше длинны короба). Далее защелкиваем короб на крышку и получаем нашу направляющую. По краям доски проделаны отверстия для крепления съемных площадок для штативов.

image

Модель каретки была взята очень даже распростроненная на просторах интернета. Сложного ничего нет: аллюминиевый уголок (можно купить в ближайшем строительном магазине, только брать рекомендую тот что потолще), 8 подшипников (я нашел с внутренним диаметром 8мм) и немного гаек, болтов, шайб и гравёрок. Отрезаем, сверлим и собираем. Самое главное правильно разметить отверстия для крепления подшипников, иначе каретка будет соприкасаться с поверхность короба не всеми подшипниками и появится небольшой люфт.

image
Вид на каретку сверху
image
Каретка вверх ногами

Механизмом перемещения изначально планировалось использовать шпильку длинной 2 метра и гайку, но шпилька провисала так сильно что даже уменьшение длинный слайдера до 1,4 метра не позволили использовать её. Единственным верным и правильным решением оставалось использование зубчатого ремня, но под рукой его не было а заказывать из Китая и ждать меня не устраивало (поджимали сроки фестиваля). Как-то случайно в голову пришла мысль об использовании нити вместо ремня. Первые испытания превзошли все ожидания — это работало и работало очень хорошо. Сделано было так: с одной стороны слайдера на высоте вала, закрепленного шагового двигателя. привязывалась нейлоновая нить, далее делался один виток вокруг вала двигателя и затем нить натягивалась и привязывалась с другой стороны слайдера.

Переходим к электрической части.

Система управления умеет регулировать скорость от 1 до 1024 шагов двигателя в секунду и менять направления движения. Скромно, но мне большего и не надо.

«Мозгом» системы управления выступает LaunchPad MSP430 (msp430g2553). Код очень простой и написан на Energia. Код универсален и легко может быть переделан под любую плату Arduino. И хотя на биполярном шаговом двигателе было написано 400 шагов на оборот, но на практике оказалось только 200. Для увеличения плавности работы на низких скоростях решил использовать управление двигателем в режиме полушага и мы получаем наши 400 шагов/об. обратно.

image

Код программы для MSP430
/* Программа управления слайдером для съемки Time Lapse */
 int m1=8;
 int m2=9;
 int m3=10;
 int m4=11;
 int key=5;

 int analog=A0;
 int time=0;
 int keyin=0;

void setup()
{
  pinMode(m1, OUTPUT);
  pinMode(m2, OUTPUT);
  pinMode(m3, OUTPUT);
  pinMode(m4, OUTPUT);
  pinMode(key, INPUT_PULLUP);
  
}

void loop()
{

  keyin=digitalRead(key);   
     
 if (keyin==HIGH)
  { 
    
  time = analogRead(analog); // step 1 
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 2
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 3
  digitalWrite(m1,LOW);
  digitalWrite(m2,LOW);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 4
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 5
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,LOW);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 6
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  
  time = analogRead(analog); // step 7
  digitalWrite(m1,LOW);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  
  time = analogRead(analog); // step 8
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  
 }
  else
  { 
    
  time = analogRead(analog); // step 8
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  time = analogRead(analog); // step 7
  digitalWrite(m1,LOW);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  time = analogRead(analog); // step 6
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,LOW);
  digitalWrite(m4,HIGH);
  delay (time+1);
  
  time = analogRead(analog); // step 5
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,LOW);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 4
  digitalWrite(m1,LOW);
  digitalWrite(m2,HIGH);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);

  time = analogRead(analog); // step 3
  digitalWrite(m1,LOW);
  digitalWrite(m2,LOW);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 2
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,HIGH);
  digitalWrite(m4,LOW);
  delay (time+1);
  
  time = analogRead(analog); // step 1 
  digitalWrite(m1,HIGH);
  digitalWrite(m2,LOW);
  digitalWrite(m3,LOW);
  digitalWrite(m4,LOW);
  delay (time+1);
  
}
  
}




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

image

В качестве источника питания для контроллера была выбрана малогабаритная батерейка на 3В, а для питания двигателя стандартный аккумулятор 6V 4,5Ah. Для подачи питания предусмотрен тумблер с парой контактов, который подключает одновременно и аккумулятор и батарейку к драйверу и контроллеру соответственно. Замеры показали что в 4-х из 8 шагов двигатель потребляет 0,45 А, а в остальных 4-х шагах из 8 — 0,9 А. Получается что-то около 0,7 А- это грубо усредненное потребление двигателя, что дает нам около 5-6 часов работы от полностью заряженного аккумулятора ( в реальности так оно и есть).

image

Вид на сам слайдер.

image

image

Видео Слайдера в работе.



Для большей наглядности. Посмотрите видео первого испытания. Черный предмет по ноутбуком это Аккумулятор GP1245 ( 12V 4,5 Ah) весом около 2 кг. Сам ноутбук весит около 2,5 кг. Итого груз в 4,5 килограмма ездит без каких-либо проблем.



В процессе эксплуатации были замечены следующие недостатки:
1. Нить со временем растягивается ( но это почти никак не влияет на работу )
2. Иногда вход и выход нити в петле вокруг вала скрещиваются и это вызывает небольшое подергивание каретки.
3. Клеенная доска со временем чуть прогнулась ( для меня не критично)

Это первая статья, поэтому сильно не судите.

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

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 39

    +22
    Пролетающие самолеты на небе выглядят очень эффектно. Классно!
      0
      Поддерживаю! Очень эффектно, потрясающий ролик!
        0
        Мне очень понравилась последняя сцена. Пшеница, небо, церковь — очень душевно получилось!
        +8
        Можно взять прорезиненные подшипники, например, от систем шкафов купе, ход будет плавнее.
          +1
          А чем вам библиотека stepper не угодила? Прекрасно управляет шаговыми двигателями без такой лапши кода. Да и вдруг вам скорость захочется поменять, подключить фотоаппарат и пр.
          Сам ланчпад пихать туда не обязательно )) Возьмите хотя бы маленькую макетную плату под пайку + второй микроконтроллер который идет в комплекте. Вам достаточно подать питание и подтянуть ножку reset резистором. Все, ланчпад сэкономлен, в будущем отдельно микроконтроллер сможете купить за копейки.
            0
            Для плавности хода на минимальной скорости в коде реализовано управление двигателем в режиме полушага, а библиотека stepper этого не поддерживает ((. Ещё у меня была идея, сделать переключение между полушагом (для маленьких скоростей) и полным шагом ( для съемки обычного видео) Про LaunchPad согласен полностью… Но на тот момент маленькой макетки не было, только большая…
            0
            Как вариант, можно на концах доски поставить два ролика, сделать из веревки петлю и надеть на ролики, а потом намотать на вал шд, как встарых приемнках. С такой штутой можно и вперед и назад ехатьimage
              0
              Тоже вариант… Но в идеале это конечно зубчатый ремень и шкив на двигатель )
              Может быть это покажется тайной, но слайдер ездит в обе стороны )) Для этого предусмотрен специальный тумблер )
                0
                можно вынести двигатель с площадки, поставить его вместо одного ролика, а к площадке жестко прикрепить нить. Вибрации двигателя не будут передаваться на площадку.
                  0
                  Хорошая идея, мне тоже не очень нравится, что двигатель ездит с кареткой и фотоаппаратом ( изначально так и хотел сделать)
                0
                Ролик — бомба! Предлагаю вам заняться производством слайдеров. Я бы, например, приобрел. Ибо руки у меня не заточены.
                  0
                  Немного не хватает цифровой стабилизации, чтобы была «фирма».
                  А еще я когда-то делал кран для камеры. Не доделал крепление к штативу, но пробное видео есть: www.youtube.com/watch?v=fxPVBC9TIjg
                    0
                    А можете сказать, что за музыка беком идет?
                      +3
                      Yann Tiersen – Comtine D'un Autre Ete: L'apres Midi
                      Очень хороший и известный композитор…
                      0
                      А что если… сделать слайдер согнутым, длиной метров 200, и катать по нему каретку с большой скоростью, ну очень большой, вокруг какого-либо движущегося объекта? Получится интересный эффект
                        +1
                        Ну, даже не знаю… Это скорее будет уже маленький коллайдер))
                        Но мне кажется, что можно без особых проблем удлинить данный слайдер просто прикрутив новую доску с коробом и натянуть нить по-длиннее… только нужно решить вопрос со стыковкой, что бы каретка на стыке двигалась так же плавно…
                          0
                          Чёрт, пока пост читал возникла похожая идея! Пустить 200 метровую рельсу вокруг какого-нибудь живописного места и крутить в течении года.
                          Надо будет поэкспериментировать с цветком в горшке.
                          0
                          В чём смысл короба? Почему нельзя было по доске ездить?
                            0
                            Если ширина доски постоянна, а поверхность гладкая, то короб и не нужен… Но у меня такой доски не было… А короб дешевый и его ширина всегда одна и таже, что очень важно. В противном случае у каретки будет люфт.
                            0
                            Для короткой ручки в проекте "летающий телефон" также использовал шпильку с резьбой и подобные подшипники. Столкнулся с такой проблемой, что при завертывании гаек, плоскость подшипника не встает строго перпендикулярно оси шпильки. Все же в идеале необходимо заказывать ось вращения у токаря.
                            Также трудно установить ось подшипника ровно на оси из-за небольшой разницы диаметров, для центровки использовал термоусадку.
                            Как у вас решена проблема центровки осей?
                              +1
                              Если честно, то я так глубоко в этот вопрос не вникал… Я просто взял болт диаметром 8мм и он идеально подошел к подшипнику практически без люфта. А затем я только зажал подшипник… Если отверстия в алюминиевом уголке просверлены точно ( а у меня получилось только с 3 раза), то всё будет нормально. У меня все подшипники полностью соприкасаются своей поверхность с коробом. Поэтому особо сильно не заморачивался на этот счет.
                              Надеюсь дал полный ответ, если нет, то я уточню интересующие вас детали.
                              +1
                              Здорово получилось! А каким приложением пользовались на телефоне?
                                +1
                                Приложение называется TimeLapse! По моему мнению это самое лучшее… перепробовал много, но это удобнее всех. Самые главные плюсы это бесплатность, и не нужно конвертировать (на выходе сразу готовое видео).
                                  0
                                  У меня это приложение выдает avi в header-е у которого закадочное слово 'hdrlavih8' — чем вы его открывали?
                                    0
                                    Я как пользователь Мас открывал его MplayerX, но для редактора видео всё равно пришлось кодировать в .mov А в Windows прекрасно открывает MediaPlayerClassic… вот как то так…
                                    Главный минус этого приложения это нет на выходе .mov
                                    0
                                    Это оно? Смущает рейтинг приложения. Действительно стоит попробовать его?
                                      0
                                      Попробуйте. Я перепробовал много чего. «Lapse It» мне не очень понравился (плантый — раз, нужно кодировать после съемки в видео — два), хотя его все хвалят… А остальные приложения в общем далеки от того что нужно…
                                  0
                                  Что бы не было проблем с растяжением нити, прикрепите ее с одного конца на пружину и изначально ее натяните.
                                    0
                                    Обязательно возьму на заметку… А я, если нить новая, специально натягиваю посильнее, что бы она растянулась, а потом использую… как правило растянутая нить больше на тянется ))
                                      0
                                      Со временем и растянутая нить растянеться) можно ее еще в духовке нагреть до градусов 180-200, молекулярная структура немного измениться и нить потеряет эластичность.
                                    0
                                    А зачем плавный ход? На сколько я знаю, в Time Lapse фото делается через равные промежутки времени, можно было организовать так: сфотографировали, отъехали, сфотографировали, отъехали и т. д. Только нужно точно дистанцию отмерять.
                                    (диванный теоретик)
                                      0
                                      Очень хороший и правильный вопрос. Если есть фотоаппарат, где можно управлять моментом спуска затвора, то там только так и нужно делать как вы сказали ( особенно если делаются фото на длинных выдержках). В моем конкретном случае я никак не мог повлиять на телефон ( он фоткал сам по себе, а я его только передвигал). А плавность нужна что бы в момент съемки снизить возможность смазывания фото до минимума. К тому же можно снимать видео и оно будет более плавное…
                                        +1
                                        А вы попробуйте синхронизировать аки ШИМ, проехал, остановился камера щелкнула, затем все повторилось. А можно совсем хардкорно — серву с «пальцем» на рычажке ;) Вкачестве «пальца», кстати, подойдет и обыкновенное металическое колечко, шайбочка например.
                                        0
                                        есть великий шанс сделать фото в момент переезда, возможно что-то будет смазано. ведь интервал съёмки может быть любым хоть секунда хоть 1.3 хоть 1.5 хоть 5
                                        0
                                        Извините, а можно про, так сказать, организационный момент?

                                        Вы все эти часы съёмок оборудование стерегли? Или не боялись, что смарт сопрут с рельса?
                                          0
                                          Честно? Боялся… Мир не без «добрых» людей… Я обычно с собой беру что-нибудь подстелить под 5-ю точку и располагаюсь рядом… И скажу вам, что скучать точно не придётся )) Так как эта конструкция вызывает нездоровый интерес со стороны окружающих людей, которые так норовят узнать, что же здесь происходит и что это такое ))) А сам процесс съемок одного эпизода занимает в среднем от 2-х до 3-х часов. На съемку материала для моей работы ушло около 35 часов.
                                          0
                                          На видео кроме перемещения по прямой камера еще и поворачивается вокруг оси (влево-вправо, вверх-вниз). Как это реализовано?
                                          И еще, можно ссылку на приложение, которое вы используете? Поиском нашел с таким названием, но его рейтинг пугает.
                                            0
                                            На самом деле камера только двигалась по прямой, всё остальное — это эффекты в Final Cut Pro а именно: приближения, отдаления или движения от одного угла кадра к другому. Так как исходное разрешения видео с телефона было 2048х1536, а на выходе 1280х720 то я смог себе это позволить без ухудшения качества катринки
                                            0
                                            Eсть такая софтина, Motion Time Lapser называется. Дает такой-же эффект, только не нужно конструировать сам слайдер :)

                                            motiontimelapser.co.nr/

                                            Only users with full accounts can post comments. Log in, please.