Эта статья является заявлением о намерениях и анонсом старого нового проекта, который мы надеемся реализовать в этом году. В основе проекта лежат несколько неоднократно излагавшиеся идей. Фундамент был заложен в 2004 году в статье «Об истории создания фотокамер, стандартах и самодельных фотоаппаратах».
Первая идея — реализация неликвидов. Вокруг нас очень много техники, которая либо морально устаревает, либо выходит из строя частично, однако там остается много узлов, которые, если суметь заставить их работать автономно, могут послужить конструкторам для создания занимательных и полезных установок.
Вторая идея — это то, что фотоаппарат и/или установка с его участием являются компьютерной периферией, и неплохо бы заставить их работать совместно. Собственно с управлением аппаратами задача практически полностью решена программой libgphoto2. Однако не все аппараты поддерживают непосредственное управление от компьютера, и кроме того, можно сделать множество приспособлений, использующих моторы: для панорамной и макросъемки, а также для фокусировки неавтофокусных объективов и изменения фокусного расстояния. Сегодня становятся актуальными устройства, преобразующие сигнал от камеры одного производителя для управления автофокусным объективом другого. Также весьма полезными могут оказаться модули, управляющие ИК-светодиодами для дистанционного управления. В общем случае, последняя задача неплохо решается в рамках проекта lirc, но применительно к фотокамерам — в основном лишь теоретически, поскольку, несмотря на базу из сотен пультов, многие специализированные пульты для современных фотокамер пока не охвачены.
Третья идея состоит в том, что самоделки надо изготавливать в виде отдельных модулей, из которых, как из кубиков, можно быстро сложить новую конструкцию. В целом, можно выделить 6 групп кубиков. Пять из них имеют материальное воплощение, и шестая — программные модули.
1. Электронный кубик модуля управления и связи с компьютером
Самый простой способ способ связи компьютера с периферией — это использование параллельного порта компьютера. Однако он на сегодня практически вышел из употребления. В самом простом случае, когда нужно всего два управляющих контакта, можно воспользоваться контактами RTS и DTR последовательного порта, как это описано в статье «Получение и обработка стопки снимков при макросъемке». Наиболее перспективным нам представляется использование USB. Существует множество устройств на базе микроконтроллеров, которые подсоединяются к компьютеру через USB и дают на выходе управляющие цифровые и аналоговые сигналы. Преимущество систем на базе микроконтроллеров перед системами, основанными на непосредственном управлении через параллельный или последовательный порт, состоит в том, что в ряде случаев они могут иметь собственные небольшие программы и работать автономно без подключения к компьютеру. Наиболее известные проекты — это Arduino на микроконтроллерах Atmel AVR и его клоны, набор Lego Mindstorms NXT и профессиональные модули для для автоматизации измерений и сбора данных компании L-Card. Список, безусловно, не полный, но именно с этими решениями мы будем сравнивать собственное решение, предложенное для нашего проекта Алексеем Кудрявцевым.
Наш кубик, осуществляющий связь компьютера с внешними узлами, идеологически очень похож на Arduino и его клоны, но использует микроконтроллер PIC18F2550, а в качестве языка выбран QT С++, что дает нам мультиплатформенность. Программы могут быть скомпилированы как для Linux, так и для Windows. После записи загрузчика в микроконтроллер (с помощью программатора) дальнейшее его программирование может быть осуществлено с помощью уже только компьютера.
Freeduino Nano v5. Микроконтроллер: ATmega328. Размер: 18×43 мм. Тактовая частота: 16 МГц. 14 цифровых портов ввода/вывода, 8 аналоговых портов ввода (10 битный АЦП). Цена около 1000 рублей.
L-Card E-154 построен на ARM-процессоре AT91SAM7S64, работающем на частоте 48 МГц, и имеет 12-битный АЦП с частотой преобразования 120 кГц. Программирование осуществляется на языке C. Для кубика его цена чрезмерна — в 4 раза больше, чем у модулей Arduino, но это не только возможный кубик, эмулирующий параллельный порт, но и законченный измерительный прибор.
С помощью программы LGraph2, позволяющей превратить компьютер в подобие осциллографа, мы оцифровали и записали сигнал с пульта дистанционного управления Sony RMT-DSLR1. Расшифровка этого сигнала позволила нам создать кубик управления камерой по ИК-каналу.
Для модулей L-Card предлагается довольно много программного обеспечения с открытыми исходными кодами. В основном это полуфабрикаты, позволяющие быстро (при достаточной квалификации) создать собственные продукты. К сожалению, ассортимент готовых к немедленному употреблению программ, работающих под ОС Linux, существенно беднее, чем под Windows :-(
Набор Lego Mindstorms NXT описан в отдельной статье. Это самое дорогое решение, стоящее около 11 000 рублей, но практически не требующее специальных знаний и инструментов для начала работы. Такой управляющий модуль может использоваться и в собственных конструкциях, но в силу цены и закрытости проекта, это не самое привлекательное для самодельщика решение.
2. Кубики, обеспечивающие механическое сопряжение отдельных узлов и камеры
Основным отличием нашего проекта является то, что кроме электронных кубиков мы предлагаем ряд механических модулей, которые могут быть использованы фотографами в самых разных ситуациях. Все модули, которые будут представлены в этом проекте, реализованы как минимум в одном, а иногда и в нескольких экземплярах, однако их конструкция еще не доведена до такого уровня, чтобы можно было однозначно рекомендовать делать их точную копию. Поэтому в последующих статьях мы будем представлять не подробные чертежи, а эскизы, по которым можно изготовить собственную, доработанную версию фотокубиков. Если следовать первой идее о реализации неликвидов, то очевидно, что этот подход более правильный, поскольку, например, любой старый принтер содержит и двигатели, и контроллеры для управления ими. Однако все эти двигатели, скорее всего, разные, так же как и микросхемы, на которых выполнены контроллеры. Впрочем, при детальном рассмотрении выясняется, что всё множество использованных элементов можно разделить на две или три больших группы, для каждой из которых возможно общее решение.
Большинство деталей для создания кубиков можно извлечь из старой техники. Однако не все, кое-что придется доделывать самому. Хороший инструмент облегчает жизнь и делает работу более приятной. А кубики — это проект, в котором удовольствие получают не только от конечного результата, но и от процесса. Поэтому, хотя многое можно сделать с помощью лома и какой-то матери, т. е. пардон, напильника и зубила, но все же лучше иметь маленький токарный станочек, например такой, как изображен на фотографии. Его стоимость в минимальной комплектации около 15 тыс. руб., что сопоставимо по цене со средним по качеству объективом. Проблемы же фотографа по созданию, например, переходников на старые объективы он решает полностью.
Мы не ставим задачу добиться полной стандартизации всех механических узлов. Однако ряд решений встречается достаточно часто, и некоторые узлы без значительной переделки стали элементами самых разных конструкций. Выделю два таких решения.
1. Втулки и оси с резьбой 3/8 и 1/4 дюйма, из которых можно создать множество конструкций для крепления камер и осветителей по образу химического штатива.
2. Кольца с резьбой М42.
В разрыв цепи удлинительных колец с передачей электрического сигнала, описанных в статье «Устройство с растяжением меха и камеры Canon EOS», так и просится установить микроконтроллер. Тогда у нас появляется возможность управлять с помощью аппарата одной фирмы объективами, предназначенными для камер другой. Воплощение идеи я уже демонстрировал в статье «Телеконвертер», теперь же у нас есть все необходимые детали, чтобы сделать это устройство автономным, компактным и не требующим использования родной для объективов камеры исключительно в роли контроллера. Дело за малым — реинженеринг сигналов, поступающих с камеры Sony, и программа, преобразующая их в сигналы для объективов Canon :-)
Ряд механических узлов, которые могут использоваться и в рамках данного проекта, описаны в статьях:
3. Электронные кубики связи с исполнительными механизмами: двигателями, ИК-излучателями, лампами
Кубик управления двумя биполярными шаговыми двигателями, собранный на микросхемах A2917, извлеченных из принтера Epson Stylus Photo EX. При выпаивании и макетировании микросхемам досталось, поэтому для повышения механической прочности навесной монтаж залит парафином. Использована предельно упрощенная схема подключения, не использующая часть возможностей микросхемы по ограничению тока. Несмотря на неприглядный вид, система оказалась достаточно надежной и позволила снять несколько десятков сферических панорам в полевых условиях. Ряд нюансов, связанных с использованием микросхем A2917, будет рассмотрен в отдельной статье.
Модуль Freeduino Motor Shield v3 построен на двух наиболее распространенных микросхемах L293. Он снабжен контроллером последовательного порта и имеет разъемы для установки на эту плату модуля Freeduino Nano v5.
Если покупать комплект для сборки и использовать наш управляющий кубик, то контроллер последовательного порта можно и не впаивать, а подавать управляющие сигналы прямо на ножки микросхем L293.
Кубик излучателя ИК-сигнала для дистанционного управления камерой. Подключается непосредственно к управляющему модулю.
4. Электромеханические исполнительные механизмы
Шаговые двигатели бывают двух типов: биполярные и униполярные. Первые внешне отличаются тем, что имеют четыре провода, а вторые — пять или шесть. Соответственно, каждые два провода двигателей первого типа соответствуют одной обмотке, и для управления двигателем мы должны менять полярность на этих обмотках. Двигатели второго типа имеют еще центральный отвод от каждой из обмоток, и для управления ими нам достаточно подавать напряжение либо на правую, либо на левую часть обмотки относительно центрального контакта. Микросхемы, используемые в контроллерах для двигателей второго типа, дешевле, однако для управления ими требуется больше цифровых выходов. Так, для управления двумя двигателями понадобится 8 цифровых выходов, в то время как для двух биполярных моторов можно обойтись четырьмя, если не надо включать их одновременно. Контроллер последовательного порта, используемый в модуле Arduino Motor Shield, позволяет сэкономить задействованное число цифровых выходов.
Двигатели мы берем из старых устройств. Шаговые двигатели достаточно мощные, поэтому иногда можно их использовать и без редуктора. Однако иногда редуктор все-таки нужен. Червячный удобен тем, что легко получить большое передаточное число, и ось не проворачивается под весом камеры при выключенном питании двигателя. Редуктор можно изготовить, выточив червяк, который будет сопряжен с шестерней, тоже извлекаемой из старой техники — их там обычно достаточно много.
Предлагается два варианта компоновки. Первый в стиле химического штатива, когда у нас есть штанга, на которую насаживается несколько втулок. Одна из них, например, держит ось с шестерней, а другая — двигатель с червячной передачей. Второй вариант более компактный, когда двигатель помещается внутрь трубы, и к ней крепится ось.
5. Электронные кубики, обеспечивающие обратную связь: всевозможные датчики
На данный момент я использую только концевые выключатели и фотодиоды, реагирующие на наличие или отсутствие сигнала.
6. Программы управления модулями
Как пример, приведу снимок экрана с программой управления полностью автоматизированной съемкой сферической панорамы.
Нетбук, управляющий съемкой, подвешивался прямо к одной из приведенных ниже установок и вращался вместе с ней. После запуска программы можно выйти из помещения, чтобы не маячить в кадре, и спокойно дожидаться окончания съемки.
Управляющий модуль L-Card E-154. Вращение в горизонтальной плоскости осуществляется шаговым двигателем напрямую без редуктора. Шаговые двигатели и контроллер извлечены из принтера Epson Stylus Photo EX. Компенсация веса камеры — с помощью эспандерной резинки. Управление затвором — замыканием контактов.
Управляющий кубик на микроконтроллере PIC18F2550. Вращение в обеих плоскостях через червячный редуктор. Управление спуском камеры — по ИК-каналу. Компенсация веса камеры — с помощью часовой пружины от старого будильника. Предусмотрены рукоятки для ручного поворота камеры.
Эти установки могут использоваться с самыми разными камерами, от тяжелых профессиональных зеркалок до мыльниц. Наш контроллер позволяет спускать затворы этих камер самым разным образом: замыкая контакты, подавая 5 В на питание USB камеры или передавая произвольную комбинацию импульсов по ИК-каналу. Так что электронных проблем у нас нет, механические же возникают из-за того, что камеры имеют разный вес. Чтобы сбалансировать камеры, приходится использовать либо систему с часовой пружиной, либо эспандерную резинку. Оба метода оказались достаточно эффективными. Фотографии, снятые при помощи этих установок, можно посмотреть в статье «Обзор нескольких способов представления сферических панорам». А подробно о том, как это все устроено, читайте в наших следующих материалах.