Роботизированая панорамная головка (начало проекта)

Vogdjara
Offline
Зарегистрирован: 08.06.2012

 Електронику учил в школе на уроках физики. Електротехнику и схемотехнику очень немножко учил в институте. Увлекаюсь фотографией. Я с Украины, а русский язык учил очень давно, потому приношу свои извенения за возможные ошибки. Ардуино изучаю на протяжении приблизительно месяца.  Увлечение Ардуиной началось после осознания наличия кривых рук, которые очень плохо и неакуратно паяют. И после желания сделать "Роботизированую панорамную головку для сьемки сферических панорам". 

Изделие будет состоять из 2 частей: пульт управления с дисплеем и кнопочками и исполнительного механизма с механической частью. Связь будет с помощью радиопередатчиков. 

Составные части которые подобрал для создания "панобота":

  1. Ардуино мега - 2 штуки (взял мегу из жадности больше портов связи и т.д.);
  2. Keypad Shield (www.buyincoins.com/details/motor-drive-shield-expansion-board-l293d-for-arduino-duemilanove-mega-uno-product-12329.html
  3. 5V 2-Channel Relay Module Shield (www.buyincoins.com/details/new-5v-2-channel-relay-module-shield-for-arduino-arm-pic-avr-dsp-electronic-10a-product-11200.html) для управление спуском затвора фотоаппарата.
  4. Remote Shutter Release Cord for Nikon (www.buyincoins.com/details/remote-shutter-release-cord-for-nikon-mc-dc2-d90-d5000-product-2392.html) для связи реле и фотоапарата отрезал только шнур.
  5. Взял моторшилд но он не подходит очень греется сгорит возможно буду делать сам или закажу помощнее. 
  6. Планируются моторы от принтера Епсон.
  7. 2 штуки  Wireless Transceiver Module (www.buyincoins.com/details/perfect-high-quality-new-nrf24l01-2-4ghz-wireless-transceiver-module-arduino-product-9036.html) для связи
  8. Фотоаппарат Никон Д7000 Кит в качестве "подопытного кролика".

Схему предоставлю в  следующем посте.

Создание панорамной головки разделил на ряд етапов:

  1. Написание программы управления дисплеем и програмирование меню (50 % готовности неоптимизированого быдлокода)
  2. Организация связи и передачи данных между Ардуинами с помощью NRF24L01 2.4GHz Wireless Transceiver Module (пока не начинал читаю)
  3. Проектирование и создание драйвера шаговых моторов (не начинал читаю)
  4. Управление спуском затвора и фокусировкой фотоаппарата с помощью реле и шнурка от пульта (код готов на 80%  простенький очень и работает  ) п.с. подсмотрел на етом форуме...
  5. Подбор двигателей создание чертежа механической части (не начинал не время)
  6. Подбор питания (не начинал)
  7. Сборка апаратной и програмной части в готовое изделие, while not(eow) {проверка и доработка програмной части} (думаю неспеша до конца года все сделать).

 

maksim
Offline
Зарегистрирован: 12.02.2012

Для чего беспроводное управление? Почему реле, а не оптроны?

 

maksim
Offline
Зарегистрирован: 12.02.2012

Я помогал своему директору делать панорамную головку, если интересно, то вот видео:

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

 

 

maksim
Offline
Зарегистрирован: 12.02.2012

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

Vogdjara
Offline
Зарегистрирован: 08.06.2012

 Беспроводное управление для:

  1. Могу управлять и не попасть в панораму и удобство пользования
  2. Не хочу трогать штатив  для задания параметров и запуска
  3. Планирую переделать поставив на кран (в очень далеком будущем)

Реле потому что я не радиоелектронщик (посоветоваться не было с кем) а модуль реле уже купил и уже работает ....

Vogdjara
Offline
Зарегистрирован: 08.06.2012

 Можно схемку електроники по управлению шаговым движком если есть и вопрос редукторы покупные или сняли откуда-то? Передаточное число редуктора? Движки покупали? Марка двигателя?

Vogdjara
Offline
Зарегистрирован: 08.06.2012

maksim пишет:

Я помогал своему директору делать панорамную головку, если интересно, то вот видео:

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

 

 

Супер

Zaliv
Offline
Зарегистрирован: 05.03.2011

maksim пишет:

Я помогал своему директору делать панорамную головку, если интересно, то вот видео:

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch

www.youtube.com/watch 

Класс! А редуктор сами делали или что-то подходящее подобрали?

maksim
Offline
Зарегистрирован: 12.02.2012

Vogdjara пишет:

 Можно схемку електроники по управлению шаговым движком если есть и вопрос редукторы покупные или сняли откуда-то? Передаточное число редуктора? Движки покупали? Марка двигателя?

Шаговик стоит на горизонтальное вращение, управляется uln2003. На вертикальное вращение стоит DC-мотор управляемый платой вытащенной из сервы. Редуктора взяты из никому неизвестного советского устройства, так что найти такие же наврядли удастся.

Mastino
Offline
Зарегистрирован: 03.12.2011

Или вот так можно:
http://www.ptgui.com/info/panorama_software.html
А если имеете широкоугольный объектив то для всей комнаты хватит 3-4 кадра.

maksim
Offline
Зарегистрирован: 12.02.2012

Mastino пишет:

Или вот так можно:
http://www.ptgui.com/info/panorama_software.html

Можно что? обойтись без панорамной головки?

Mastino пишет:

А если имеете широкоугольный объектив то для всей комнаты хватит 3-4 кадра.

Для 3D панорамы не хватит 3-4 кадров какой бы у вас не был обЪектив. И по вашему на видео обЪектив какой стоит? или вы хотите еще больше?

 

Mastino
Offline
Зарегистрирован: 03.12.2011

maksim пишет:

Можно что? обойтись без панорамной головки?

а почему с руки нельзя снять?
 

maksim пишет:

Для 3D панорамы не хватит 3-4 кадров какой бы у вас не был обЪектив. И по вашему на видео обЪектив какой стоит? или вы хотите еще больше?

Да, для 3d не хватит.. а так для 360 панорамы должно хватить, конечно зависеть от объема помещение. по размеру объектива трудно определить его марку :) У меня есть canon efs 10-22mm ultrasonic, для небольшого помещения хватает 3-4кадра. для панорамы не для 3D. Ладно, чущ несу какую ту, с темой нечего совместного не имеет...:)

maksim
Offline
Зарегистрирован: 12.02.2012

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

maksim
Offline
Зарегистрирован: 12.02.2012

Мы тут с товарищем, с которым делали, посовещались и решили вам вот что посоветовать.

Цимус таких самоделок не только в хобби но и в желании сэкономить на изделии. Мы потратили на эту панорамную головку где-то 150$-200$ ( с учетом аккумулятора, железа и двух испорченных сервоприводов). НО! Это оказалось дешевле, чем купить готовую панорамную головку в магазине + есть простор для творчества. Без обид, в качестве предостережения и совета - не стоило сразу тариться кучей плат и устройств. Вы уже накупили и еще накупите ( поверьте опыту) в итоге на 300-500 долларей. Не проще ли при таком раскладе было купить готовое промышленное изделие за 15 тыр.?

Вам еще придется купить - рамку для каркаса и фурнитуру к нему, шаговый двигатель на горизонтальную ось, а возможно и на вертикальную. Я делал и с DC и с SM моторами, но так как с шаговиком было медленно, а покупать Nema 23 за много много долларей не катило, остановились на моторчике из сервопривода с редуктором. Редукция где-то 1:210, но это приблизительно!!! Одно могу сказать - с редуктором надо иметь опыт и не забывайте, что ему придется таскать по вертикали 2 кг, отнесенные от оси на 10-15 см. Нехилый такой редуктор долженн быть!

Насчет "шаговиков от Epson". Это все здорово, конечно, но они там как правило биполярные! Вы гляньте схемку управления такой лабудой - сложная она, если все по уму делать. Однако есть и плюс - мне кажется шаговик от Epsona может потянуть фотик без редуктора :-)   - они жрут правда по 5-10 ампер :-) а наша схемка щас в пике кушает по 0,5 ампера... а пока фотег не таскает - 0,05 :-)

Вот кстати ссылка на сайт товарища - там он и код ПО выложил

Vogdjara
Offline
Зарегистрирован: 08.06.2012

На даный момент затраты 8,29+18,89*2+7.98+3.06+2.58*2+3.09 = 65,36$ реально с скидками и купонами 63$  Пускай еще потрачу 50дол. на драйвер и 100дол. на механику ... но у меня будет устройство сделаное своими руками возможность модифицировать прошивку под свои нужды. Я смотрел достойные уважения панорамные головки роботизированые стоят от 1000 евро. считаю 200-300 доларов плюс труд свой небольшой платой за соморобную. Плюс изучение електроники, Ардуины и улучшение скилов програмирования и паяния. 

Акуммуляторы у меня уже есть 18650 от двух акков ноута и от УПСА 12 В акумов есть пару( остались после замены штук 6-7) вот автомобиля нету их возить а за спиной тяжело :).

Первая моя ручная панорама www.chervona-kalina.rv.ua/chkalina.swf ТОЛЬКО ЗВУК ОТКЛЮЧИТЕ На КОМПЮТЕРЕ ИЛИ КОЛОНКЕ Кривовато в некоторых местах потому и решил головку сделать.

Vogdjara
Offline
Зарегистрирован: 08.06.2012

  Есть обьектив с охватом 180* по вертикали и горизонтали. Фотографирует полусферу за раз.  Но у него есть пару минусов. Основные дорогой очень и низкое разрешение выходной панорамы. Искажения большие.

bo_004
Offline
Зарегистрирован: 25.03.2013

to Vogdjara

Что нибудь получилось в итоге?

to Zaliv Где можно смеху посмотреть устройства собранного вами?

cowan
Offline
Зарегистрирован: 10.12.2013

maksim пишет:

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

Тема хорошая..

panorobot
Offline
Зарегистрирован: 19.08.2015

Тоже сделал автоматическую панорамную головку http://panorobot.ru/panorobot2/
Масса - грамм 200
Зарядка от любого USB за полтора часа
С одной зарядки можно снять 30-50 панорам

Примеры снятых панорам http://1panorama.ru/user/profile/index/id/133
 

Immortal
Offline
Зарегистрирован: 28.12.2013

panorobot, можете рассказать как работает функция "режим «вырезания» людей"?

Immortal
Offline
Зарегистрирован: 28.12.2013

Спасибо за вашу разработку, я снимаю некоммерческие панорамы для Google Maps с 2014 года.

Использую ваш код с мелкими доработками таймингов под себя.

Можете рассказать что вы улучшили во второй версии?

Кому интересно - вот panorobot.ru версии за ноябрь ‎2014

// Panorobot.ru
#include <Servo.h> 

Servo servopan; // Поворот
Servo servotilt; // Наклон

int rows = 6; // Общее кол-во кадров по горизонтали (в расчете на 180 градусов)
int cols = 5; // Общее кол-во кадров по вертикали

int tiltmin = 30; // самое нижнее положение камеры
int tiltmax = 200; // самое верхнее положение камеры
int tiltcenter = 85; // положение при окончании съемки (для хранения)

int panmin = 30; // самое левое положение камеры
int panmax = 170; // самое правое положение камеры
int pancenter = 103; // положение при окончании съемки (для хранения)

int currentpan = 0; // Текущий текущая строка
int currenttilt = 0; // Текущий текущая колонка

int pan;
int tilt;

int delayset = 2000; // Задержка на установку позиции камеры, чтобы не было “смаза”
int delaypress = 1000; // Задержка на установку экспозиции
int delayshoot = 15; // Задержка на съемку
int delaystart = 2000; // Задержка после включения

void setup() {
  servopan.attach(9);
  servotilt.attach(10);
  pinMode(12, OUTPUT); // Конфигурим на выход. Это управляющий сигнал для USB
  digitalWrite(12, LOW);

  servotilt.write(tiltcenter); // устанавливаем в положение для хранения
  servopan.write(pancenter); // по центру

  delay(delaystart);

  digitalWrite(12, HIGH); // На всякий случай, т.к выл непонятный глюк с пропуском первого кадра
  delay(2000);
  digitalWrite(12, LOW);
  delay(1000);

  //*************************************************
  // servopan.write(panmin);
  // delay(5000);
  // servopan.write(panmax);
  // delay(60000);
  //*************************************************
}

void loop() {
  for (currentpan = panmin; currentpan < panmax; currentpan = currentpan + (panmax - panmin)/rows) {
    servopan.write(currentpan);

    for (currenttilt = tiltmin; currenttilt < tiltmax; currenttilt = currenttilt + (tiltmax - tiltmin)/cols)
    {
      servotilt.write(currenttilt);
      delay(delayset);

      digitalWrite(12, HIGH); // Съемка
      delay(2000);
      digitalWrite(12, LOW);
      delay(1000);
    }
  }
  servotilt.write(tiltcenter); // устанавливаем в положение для хранения
  servopan.write(pancenter); // по центру
  delay(10000);
}