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

Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА
cjax 6 фев. 2015 г. в 20:36
Ярила  •  На сайте 12 лет
Сообщений: 1 477
154
Взято тут.
9 фото и 3 видео

Поехали.

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

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

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



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

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

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


Бюджетный TimeLapse Slider своими руками
Переходим к электрической части.

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

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

Бюджетный TimeLapse Slider своими руками
Код программы для 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, тумблер выбора направления, переменный резистор (регулятор скорости), и светодиод, который будет индикатором включения нашей системы.
Небольшой пластиковый контейнер для завтрака идеально сгодился на роль корпуса для пульта.

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

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

Бюджетный TimeLapse Slider своими руками
Для большей наглядности. Посмотрите видео первого испытания. Черный предмет по ноутбуком это Аккумулятор GP1245 ( 12V 4,5 Ah) весом около 2 кг.

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


Сам ноутбук весит около 2,5 кг. Итого груз в 4,5 килограмма ездит без каких-либо проблем.



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


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



Бюджетный TimeLapse Slider своими руками
Все комментарии:
NESkimos 6 фев. 2015 г. в 20:48
Шутник  •  На сайте 11 лет
10
вторая галактика на фотографиях же? у меня он до сих пор служит верой и правдой)
MikeFlyer 6 фев. 2015 г. в 20:59
Юморист  •  На сайте 17 лет
10
Not bad!!!! Делай еще, очень понравилось!
cjax автор 6 фев. 2015 г. в 21:01
Ярила  •  На сайте 12 лет
0
Цитата (MikeFlyer @ 6.02.2015 - 18:59)
Not bad!!!! Делай еще, очень понравилось!

так это не моё, я хочу такую же, даже может этим летом займусь ей
Nickname 6 фев. 2015 г. в 21:05
Хохмач  •  На сайте 16 лет
2
Давай ещё!
Machineman 6 фев. 2015 г. в 21:42
Шутник  •  На сайте 12 лет
0
Код ассемблер что ли? На си не похож.
MegalodonЪ 6 фев. 2015 г. в 22:09
Ярила  •  На сайте 12 лет
1
Круто)) Браво ))
Стентор 6 фев. 2015 г. в 22:44
Ярила  •  На сайте 14 лет
4
Цитата (cjax @ 6.02.2015 - 19:37)
И так… Слайдер состоит из 2-х основных частей: механической (направляющие, движущаяся каретка и механизм перемещения) и электрической (мотор и система управления). Если с последней частью слайдера всё было более менее понятно — связка LaunchPad MSP430 + драйвер L298N + биполярный шаговый двигатель от старого принтера.

Лучше такой установить шаговый двигатель вместо электрики! gigi.gif

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

Это сообщение отредактировал Стентор - 6 фев. 2015 г. в 22:46
АгрономD9tgk 6 фев. 2015 г. в 22:59
полоумный Сэлдон  •  На сайте 12 лет
19
c почином автора...
желаю ему поработать над построением кадра...
всегда есть к чему стремиться.
cjax автор 6 фев. 2015 г. в 23:03
Ярила  •  На сайте 12 лет
0
Цитата (АгрономD9tgk @ 6.02.2015 - 20:59)
c почином автора...
желаю ему поработать над построением кадра...
всегда есть к чему стремиться.

кстати это видео я уже видел, очень понравилось.

Добавлено в 23:04
Цитата (Стентор @ 6.02.2015 - 20:44)
Цитата (cjax @ 6.02.2015 - 19:37)
И так… Слайдер состоит из 2-х основных частей: механической (направляющие, движущаяся каретка и механизм перемещения) и электрической (мотор и система управления). Если с последней частью слайдера всё было более менее понятно — связка LaunchPad MSP430 + драйвер L298N + биполярный шаговый двигатель от старого принтера.

Лучше такой установить шаговый двигатель вместо электрики! gigi.gif

возьму на заметку
АгрономD9tgk 6 фев. 2015 г. в 23:14
полоумный Сэлдон  •  На сайте 12 лет
2
Цитата
кстати это видео я уже видел, очень понравилось.

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

у автора видео неплохой форум по таймлапсу кстати...


Добавлено в 23:21
подсмотреть бы где рукожопство крана для таймлапса...вот где возможности...

Это сообщение отредактировал АгрономD9tgk - 6 фев. 2015 г. в 23:15
artmaniac 7 фев. 2015 г. в 14:23
Ярила  •  На сайте 18 лет
3
А почему просто мотор-редуктор не взять было? Регулировка оборотов тогда проще.
Зачем заморочки с шаговиком?
Я так понял, то что было под рукой?

В целом респект. За копейки отличный результат!
Плюсики закончились, прими на словах.
0эмоций 7 фев. 2015 г. в 14:57
Ярила  •  На сайте 21 год
1
Мечтаю уметь также но не дано...И потом как заставить камеру снимать на такой скорости?

Бюджетный TimeLapse Slider своими руками
zakavichki 7 фев. 2015 г. в 15:20
Хохмач  •  На сайте 16 лет
0
я мыльницу ставил на такой кухонный таймер и запускал ускоренную съемку, ничо так получилось =D
Kotofeya 7 фев. 2015 г. в 15:25
Ярила  •  На сайте 12 лет
-1
круто! не ужто все это снимает галакси 2? )))
БесСомнений 7 фев. 2015 г. в 15:28
Балагур  •  На сайте 13 лет
1
в пару к 298 надо было взять 297, код бы уменьшился до пары строк и поместился бы в тиньку 13

Это сообщение отредактировал БесСомнений - 7 фев. 2015 г. в 15:28
Понравился пост? Ещё больше интересного в ЯП-Телеграм и ЯП-Max!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста, или зарегистрируйтесь, если не зарегистрированы.
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) Просмотры темы: 32 331
0 Пользователей:
Страницы: 1 2  ОТВЕТИТЬ НОВАЯ ТЕМА

 
 

Активные темы



Наверх