Mittwoch, 26. Dezember 2012

Time machine: Analog.


Этот модуль попал в «Машину времени» по необходимости. Статья будет небольшой. Как я уже писал ранее, после проб с микрофоном, усиления 20дБ оказалось мало. Микрофон я купил не самый лучший, но это не означает, что его нельзя использовать. Пришлось поставить ещё один каскад усиления. Чтобы в будущем не испытывать неудобств в регулировании и не зависить от качества микрофона, поставил схему усилителя с программированным уровнем усиления на цифровом потенциометре с SPI интерфейсом(TPL0501). SPI у меня пока не занят. :) Так как я не собираюсь заниматься в «Машине времени» обработкой сигналов, отказался от использования АЦП и применил аналоговый компаратор с последующей обработкой по прерыванию, что позволит сократить код и уменьшить время реакции на событие. Для регулирования порога срабатывания компаратора установил ещё один цифровой потенциометр.

Плата аналогового усилителя сделана для макетирования, схема немного избыточна, в конечном устройстве будет стоять только то, что нужно.


Для тестирования написал маленькую программу.

#include <PCD8544.h>
volatile long newPosition = 0;
volatile long oldPosition  = 0;
#include <SPI.h>
//#include <WProgram.h>  // This include should go first, otherwise does not compile.
#include <Button.h>
#include <TicksPerSecond.h>
#include <RotaryEncoderAcelleration.h>

//static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };
static PCD8544 lcd;
static RotaryEncoderAcelleration rotor;

static const byte LCD_WIDTH = 84;
static const byte LCD_HEIGHT = 48;

const int analogInPin = A7;
const int TPL0501_CS1 = A0;
const int TPL0501_CS2 = A1;
const int rotorPinA = A2;    // One quadrature pin
const int rotorPinB = A3;    // the other quadrature pin

int sensorValue = 0;        // value read from the Microphon
int sensorMAX = 0;
unsigned long time =0;

void setup() {

  lcd.begin(84, 48);
  //lcd.createChar(0, glyph);
  
  lcd.setCursor(0, 0);
  lcd.print("Value");

  lcd.setCursor(0, 2);
  lcd.print("MAX Value");

  lcd.setCursor(0, 4);
  lcd.print("Encoder");
  
  pinMode (TPL0501_CS1, OUTPUT);
  pinMode (TPL0501_CS2, OUTPUT);
  
  digitalWrite(TPL0501_CS1,HIGH);
  digitalWrite(TPL0501_CS2,HIGH);
  
  SPI.begin(); 
  Pot_value_SET(TPL0501_CS1, 0);
  
  rotor.initialize(rotorPinA, rotorPinB);
  rotor.setMinMax(0, 255);
  rotor.setPosition(0);
}

long lastRotor = 0;

void loop() {
  
  rotor.update();
  long pos = rotor.getPosition();
  
  sensorValue = analogRead(analogInPin);
  //Serial.print("analogInPin"); 
  if (sensorValue > sensorMAX) sensorMAX = sensorValue;
  if (millis() > time){
  sensorMAX = 0; 
  time = millis() + 3000;
  }
  
  lcd.setCursor(0, 1);
  lcd.clearLine();
  lcd.print(sensorValue, DEC);

  lcd.setCursor(0, 3);
  lcd.clearLine();
  lcd.print(sensorMAX, DEC);
 
  lcd.setCursor(0, 5);
  lcd.clearLine();
  lcd.print(pos, DEC);  
 
  //lcd.setCursor(80, 0);
  //lcd.drawColumn(84, map(sensorValue, 0, 1023, 0, LCD_HEIGHT)); 
    
  delay(10);                     
}

int Pot_value_SET(int Chip, int value) {
  // take the SS pin low to select the chip:
  digitalWrite(Chip,LOW);
  //  send in the value via SPI:
  SPI.transfer(value);
  // take the SS pin high to de-select the chip:
  digitalWrite(Chip,HIGH);
}





Описание «железа» на этом можно закончить. В будущем планирую оснастить «Машину времени» Bluetooth и сделать Android APPs и Shell для PC, но этим я займусь, когда будут реализованы основные функции. Теперь я отвлекусь от «железа» и займусь подготовкой кода.
PS:
Конечно можно было не затевать схему с программированным усилителем, а поставить усилитель- ограничитель. Но. Поживем - попробуем. :)
PPS:
К проекту подключился мой коллега программист Евгений Глушко. Пока я буду заниматься сведением общей схемы. Женя обещал подготовить первый релиз программы.

Успешных вам кадров.

© Andrew Buckin.
Shutterstock Dreamstime
Fotostream http://www.flickr.com

Sonntag, 4. November 2012

Time machine: Microphone.



Зачем фотографу микрофон? Чтобы сфотографировать бурные авиации. :) Если без шуток, то очень нужная возможность при съёмке воды, взрывов и всего того что создаёт звуковые волны. Примеры снимков я покажу в самой последней статье про «Машину Времени» - МВ.
В сети можно найти с десяток различных примеров как подключить микрофон к Arduino. Большинство из них - усилитель на одном транзисторе с парой конденсаторов и резисторов. Как для фотографии этого было бы достаточно. Ведь для фотографии не нужен супер усилитель High Fidelify(HiFi) или High-end качества. Я отказался от «простой» схемы. Выбор схемы определила не цена, а микрофон. Зачем нужен усилитель «с лучшими параметрами»? У меня дома три различных электретных микрофона и для МВ я купил ещё один китайский(2$) у всех разная чувствительность. Опыт мой враг. Пару лет назад я разрабатывал индустриальный микшер для фирмы Thales. Микрофонов было всего 4 типа, микрофоны были от правильных производителей с высокой чувствительностью. Даже у них разброс чувствительности отличался на порядок. Чтобы как то удовлетворить китайские микрофоны я потратил один доллар на интегрированный усилитель с постоянным усилением в 20дБ, меньшего размера чем транзистор. :) После небольших поисков выбор пал на усилитель фирмы Maxim MAX9812. В пробной схеме я поставил вариант с питанием 3.3V. В заключительной схеме будет стоять чип на 5V. Вся схема занимает очень мало места на плате и при желании усилитель можно выключить.


Пока плата сделана для удобства с выводами. Можно всё попробовать в Breadboard.

Маленькая тестовая программа проверки работы усилителя.

#include <PCD8544.h>
#include <Encoder.h>
Encoder myEnc(3, 4);
volatile long newPosition = 0;
volatile long oldPosition  = 0;


// A custom glyph (a smiley)...
static const byte glyph[] = { B00010000, B00110100, B00110000, B00110100, B00010000 };
static PCD8544 lcd;

static const byte LCD_WIDTH = 84;
static const byte LCD_HEIGHT = 48;

const int analogInPin = A7;
int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)
int sensorMAX = 0;
unsigned long time =0;

void setup() {
  // PCD8544-compatible displays may have a different resolution...
  lcd.begin(84, 48);
  
  // Add the smiley to position "0" of the ASCII table...
  lcd.createChar(0, glyph);
  //Serial.begin(9600); 
}


void loop() {
  
  newPosition = myEnc.read();
  
  sensorValue = analogRead(analogInPin); 
  if (sensorValue > sensorMAX) sensorMAX = sensorValue;
  if (millis() > time){
  sensorMAX = 0; 
  time = millis() + 3000;
  }
  
  lcd.setCursor(0, 2);
  lcd.clearLine();
  lcd.print(sensorValue, DEC);

  lcd.setCursor(0, 3);
  lcd.clearLine();
  lcd.print(sensorMAX, DEC); 
 
  lcd.setCursor(30, 0);
  //lcd.clearLine();
  lcd.drawColumn(84, map(sensorValue, 0, 1023, 0, LCD_HEIGHT)); 
    
  //delay(10);                        // wait 100ms for next reading
  
  if (newPosition != oldPosition) {
    oldPosition = newPosition;
    lcd.setCursor(0, 0);
    lcd.print("Encoder");
    lcd.setCursor(0, 1);
    lcd.clearLine();
    //Serial.println(newPosition);
    lcd.print(newPosition, DEC);
  }
}

После некоторых проб выяснилось что усиления в 20дБ не достаточно. Китайский микрофон не очень хорош. :( Для комфортной работы нужен ещё один каскад усиления, но об этом в другой раз.

Успешных вам кадров.

© Andrew Buckin.
Shutterstock Dreamstime
Fotostream http://www.flickr.com

Mittwoch, 31. Oktober 2012

Time machine: Power.

Питание для мобильного устройства очень ответственный модуль. Как по мне, даже системный. Почему? При покупки любого электронного устройства всегда надо учитывать, чем устройство будет питаться. Если батарейки, то какие, это определяет размер устройства. Для своей «машины времени — МВ» я выбрал самый маленький покупной корпус из пластмассы с встроенным отсеком для 9V батарейки. Прибор я планирую повесить на ремень. Эргономика и удобства в работе очень важно для маленького прибора. Где какие кнопки и сколько их, надо определить сразу, а не добавлять в процессе разработки. Важно как включать/выключать. Я не механик, и припаять электронную блоху 2х2 мм мне проще, чем просверлить лишнее отверстие. :) От отдельного механического выключателя питания отказался. У механического выключатель есть как минимум два недостатка: размер, вес и эргономичность. Если с размером все понятно, то с эргономичностью не все очевидно - где установить, можно ли выключить электронно?  Я стараюсь свести механические работы к минимуму. Все управление МВ будет состоять из энкодера с кнопкой. Кнопкой будет включаться и всё выбираться в меню, а энкодером осуществляться навигация по меню. Выключаться прибор будет из меню или по таймеру. Для МВ я выбрал открытую систему Arduino Mini (12€) с прицелом, что к моему проекту подключатся такие же энтузиасты, как и я. И разработка пойдёт живее.  Современные устройства, как правило, не питаются от 9V.  У Arduino  рабочее напряжение 5V, так что все периферийные модули в МВ будут 5V совместимые. На плате Arduino уже есть линейный преобразователь, но я не стал его использовать, так как им нельзя управлять, а курочить плату Arduino не хотелось. При выборе типа регулятора напряжения 5V я перебрал под полсотни datasheets, выбирая между LDO и DC/DC. От LDO отказался в пользу DC/DC. так как у DC/DC выше КПД под 80..95% и им легче управлять. Нашёл у Linear преобразователь LT3470 с очень широким диапазоном входного напряжения, и это, пожалуй, один из немногих DC/DC с очень низким током в Shutdown Mode 0.1мкА. МВ можно питать от 7 до 40V. В выключенном режиме МВ потребляет менее 1мкА, обычной Alkaline батарейки хватит более, чем на 200000h. Для включения поставил Pushbutton On/Off Controller LTC2955-1. Он включает преобразователь, убирает дребезг контакта кнопки и транслирует нажатие к контроллеру. При нажатии на кнопку более чем на 5 секунд, прибор выключится. При желании конденсатор С6 можно заменить на сопротивление ноль ом. Тогда выключить можно только из меню или вытащив батарейку. :) После выбора всех компонентов за час была готова схема и разведена плата,

а ещё через час плата была готова к пайке. После монтажа осталась проверить, что все работает как запланировано.

Если вы захотите повторить схему, то после изготовления не забудьте хорошо помыть плату от канифоли. У меня грязная плата потребляла 3мкА, а после помывки 0.5мкА. :) Схема в большом разрешении есть у меня на Flickr, ссылка внизу. На самом верхнем снимке сборка модуля питания дисплея и Arduino.  

Успешных вам кадров.

© Andrew Buckin.

Shutterstock Dreamstime

Fotostream http://www.flickr.com

Samstag, 27. Oktober 2012

Time machine: Display.



Этой статьёй хочу открыть цикл статей — проектов о «Машине времени». Если описывать все возможности прибора, то статья получиться очень большой. Да и единого устройства пока нет. Есть маленькие проекты для Arduino, которые можно комбинировать. Для тех, кто не знает, что такое «Машина времени», далее МВ . В фото кругах «Машина времени» - это жаргонное выражение для прибора, позволяющего синхронизировать события в студии. Незаменимая вещь при съёмке воды, огня и быстро протекающих событий. Обычно такие приборы имеют вход для микрофона, датчиков света, магнитного поля, датчика вибрации, можно управлять мотором и так далее. С помощью МВ можно регулировать задержки между событиями, измерять длительности импульсов света студийных блоков. В этой статье пойдёт речь о OLED дисплее.
Дисплей сделан в формате Arduino Mini и может быть установлен прямо на Arduino Mini.
 
Для соединения нужно всего 5 контактов. Сам дисплей небольшой с маленьким потреблением и не требует подсветки. так как сам светиться. Рабочая область 96х16 точек с I2C интерфейсом. Чтобы использовать дисплей на прямую с Arduino mini на модуль, есть свой LDO регулятор 3.3V, а так же преобразователь уровня для I2C шины.

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

Когда все детали в наличии, на монтаж ушло минут 15. 

Для управления использую библиотеку Adafruit.
https://github.com/adafruit/Adafruit-GFX-Library
https://github.com/adafruit/Adafruit_SSD1306
http://learn.adafruit.com/adafruit-gfx-graphics-library
После того как вы установите библиотеки в директорию Arduino,
останется написать маленький скетч для проверки,
и придумать, что  выводить на экран.  :)
#define OLED_RESET 10  //Pin # the OLED module's RST pin is connected to.

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

Adafruit_SSD1306 display(OLED_RESET);

void setup()   {                  
  // by default, we'll generate the high voltage from the 3.3v line internally! (neat!)
  display.begin(SSD1306_SWITCHCAPVCC);
  // init done
  
  //display.display(); // show splashscreen
  //delay(2000);
  display.clearDisplay();   // clears the screen and buffer

  // draw a single pixel
  display.fillRect(0, 0, display.width()-1, display.height()-1, WHITE);
  display.display();
  delay(2000);
  display.clearDisplay();
}


void loop() {

   // text display tests
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println(12345678);
  display.display();
  delay(500);
  //display.clearDisplay();
  
  display.fillRect(36,0,12, 16, BLACK);

  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(36,0);
  display.println(">");
  display.display();
  delay(500);
  display.clearDisplay();
  
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Circuit for the Photos.");
  display.display();
  delay(1000);
  display.clearDisplay();  

  display.setTextSize(1);
  display.setTextColor(BLACK, WHITE); // 'inverted' text
  display.setCursor(0,0);
  display.println(12345678);
  display.display();
  delay(500);
  //display.clearDisplay();
  
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,9);
  display.println(12345678);
  display.display();
  delay(500);
  //display.clearDisplay();
  
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(49,0);
  display.println(1234567);
  display.display();
  delay(500);
  display.clearDisplay();
 
}





Успешных вам кадров.


PS:
продолжение следует.


Samstag, 13. Oktober 2012

50° Grid for Softbox Deep Octa 100 cm.

Пару лет назад я купил себе Softbox Deep Octa 100 cm. Очень хороший свет. Как, впрочeм, и все оборудование у Elinchrom. Но. Не знаю почему производитель не производит соты к этой окте. Сами не делают и видно другим не дают. Trauriges Smiley Купить у китайцев, корейцев нельзя.

Есть всего одна фирма, выпускающая под них соты. Отсутствие конкуренции поднимает цены на эти соты до небес. Не то чтобы мне было жалко заплатить или я не смог бы договорится с жабой. Была бы вещь уникальная! Нет, тут дело в другом. Можете мне поверить, что соты с одинаковых шагом за 50€ и 500€ будут обеспечивать одинаковый световой рисунок. Не буду долго описывать причины, почему я не купил за 500€. Я решил сделать подходящие соты под эту окту. Делать соты с нуля было бы очень долго. Да и швейной машинкой я не сильно владею. Я рискнул и купил на ebay соты для 120 см окты фирмы Quantuum в надежде что после хирургическиx вмешательств, размер будет 100 см. За пару дней соты были у меня в почтовом ящике. А через 15 минут после открытия посылки и готовые соты. Для самоделки нужны ножницы, скоросшиватель и два десятка прищепок. Ещё полоски прорезиненной ткани, на которых соты будут крепиться к окте. Первым делом нужно развернуть окту и распределить Quantuum соты на окте. Закрепить соты прищепками к краям окты. По возможности так, чтобы совпадали углы сот с углами окты и не было натяжения. К этому нужно подойти очень внимательно, чтобы не обрезать лишнего. Шаг в 120 см сотах совпадает с углами окты. У меня все совпало, думаю и у вас всё получится. Отрезаем лишнее. :) Теперь нужно отрезать длинную полоску из прорезиненной ткани шириной 7 см и длиной по периметру окты. Прикладываем плотную ткань по периметру сот и сшиваем степлером ткань и соты.

Соты почти готовы. Для того чтобы обеспечить лучшее крепление сот на окте, на гранях степлером делаем складки.

Вот теперь всё.

Осталось всё проверить, найти модель и сделать пару портретов. Что я регулярно и делаю. И вам того же желаю.  Этот портрет снят с этими сотами.

Успешных вам кадров.

© Andrew Buckin.

Shutterstock Dreamstime

Fotostream http://www.flickr.com

Mittwoch, 10. Oktober 2012

Myths and realities Х-sync with studio light. (eng)

 

In this article I will try to explain whether it is possible to work with studio light while using short exposition time. From the moment of appearance of new “Pockets” on the market, on various forums very often appear topics about usage of studio light for short exposition times. Rapturous owners of “Pockets” describe how excellently everything works, but when you ask them to send a few pictures, nobody sends anything. I decided to investigate this. I have the drafts of the article lying around for over half a year already. Now autumn has come, and forced me into the warm house, a good reason to describe the work done. So far there will not be any talk about any working device, but small helpers were still required – Arduino and a Breadboard.

So here is the list of all the myths.

Myth one: “On the synchronizer, the “Pocket” generates a number of short impulses. That way it causes the generator to create a number of short flashes.”

Wow! “Pocket” is great. Sounds almost like a flash system in FP mode. I would like to believe in this. I would be so happy if the developers of Elinchrom would permit a design flaw, and allowed such a possibility. Then I would be one of the first who would make TTL for a studio. However marketers do not allow engineers to implement many of the useful innovations. But this is all just talk. In reality everything is simple. It does not work. But it has to be tested. I began by measuring the duration of the signal on the central contact of the camera. For Nikon it is 7,6 uSec. I connected the generator to Arduino, and while changing the duration and the number of flash signals for the generator, I measured the light for all durations with a flashmeter. No wonder happened. The light always stays the same, and corresponds to the set value on the generator. Lets hope that engineers defeat the marketers, and the firms will supply photographers with advanced technologies, instead of feeding us from a teaspoon. Nowadays I do not see a reason, technically or technologically, to not make X-synch with TTL in a studio.

Myth two: “By controlling the delay between the camera and the flashlight one can use X-synch with system flashlights.”

Sounds tempting. But it does not work. In my camera the minimal exposition time with flashlight is 1/250, and with 1/320 a black line appears on the picture. I connected Arduino to the camera and the generator. By increasing the delay, the black line became only bigger. But therefor I could measure the LAG of the shutter. I set the exposition time to 1/250 and by increasing the delay, I achieved that the picture became completely black. In D700 the LAG of the shutter is approximately 100 uSec.

What does “Pocket” use?

To answer this question I had to go a bit deeper into the protocol of communication between the camera (D700) and the flashlight (SB-900). About the protocol itself I will write another time. Up to this moment the behavior of the camera and the flashlight was predictable and understandable. The shutter is triggered, and when the frame is completely open, the signal is sent to the flashlights. But after connecting a flashlight with an FP mode to the camera, everything changes. It practically works like this: the camera triggers the flash, the flash lights up, the camera triggers the shutter. I assume that the delay time can be changed, and that it depends on the model of the flashlights and other things. Turns out, the camera adjusts the triggering of the shutter to the flashlight. There is no limit to the happiness. What use does this knowledge have to us? Very simple. By attaching SB-900 to the camera in the “M-FP mode 1/128” and by attaching the generator to the camera via PC port, one can photograph with short exposition times without a “Pocket”. This solution has a problem though. Depending on the exposition time, a gradient appears on the pictures. “Pocket” has the same problem, by the way. But it can be dealt with too. For that, one has to program Arduino a bit. The program is very simple. The signal comes, a little delay, signal goes. My Arduino is connected to an LCD display of a mobile phone, and an encoder to change the values for the delay. This circuit is put into the cable between the camera and the generator.

With what light does it all work?

I repeated the work on three different blocks, and two generators. With an additional delay circuit with Arduino, everything works with a precision of up to 1/8000. With such an initiation of blocks, a dependency can be observed: the worse the block, the better the light. The gradient is less noticeable. The cheaper block's duration of the light impulse is longer, and it is easier to choose a delay with which the gradient on the picture is minimal. With the fastest head Quadra A Head Action, one can easily make pictures with up to 1/1000. The delays on Arduino turned out as following.

shutter speed      delay uS

320                          3000

400                          2900

500                          2540

1000                        1440

I connected to the PC port a radio trigger RF-602 and EL-Skyport Transmitter SPEED. Everything works without complications. If you do not need TTL, why should you buy “Pocket”?

Conclusions and perspectives?

Knowing the specifics about how the camera works in the FP mode, one can make pictures with any studio light and with short exposition times. The light can be synchronized via cable or via radio. With inexpensive light, pictures can be made with even shorter exposition times.

What I plan.

I intend to thoroughly learn the Nikon protocol between the camera and the flashlight. Then I intend to put the SB-900 emulator and the delay circuit inside of RF-602. And afterward I want to make a hot shoe with the delay for comfortable work with EL-Skyport Transmitter SPEED.

Successful shots to you.

P.S.:

I would not call this approach ideal, but it can be used.

© Andrew Buckin.

Shutterstock Dreamstime

Fotostream http://www.flickr.com

Sonntag, 7. Oktober 2012

Myths and realities Х-sync with studio light.

 

В этой статье я постараюсь рассказать реально ли работать со студийным светом на коротких выдержках. С момента появления на рынке новых «Покетов» на различных форумах очень часто поднимается тема о работе студийного света на коротких выдержках. Восторженные обладатели «Покетов» описывают, как все замечательно работает, но, когда просишь прислать пару кадров, никто ничего не присылает. Я решил с этим разобраться. Наброски статьи лежат у меня уже полгода, настала осень и загнала меня в тёплый дом, хорошая причина описать проделанное. Пока не о каком законченном устройстве речи не будет, но маленькие помощники все же понадобились – Arduino и макетная плата.

И так все мифы по порядку.

Миф первый.

На синхроконтакте «Покет» генерирует последовательность коротких импульсов. Тем самым вынуждает генератор делать последовательность коротких вспышек. Вау! «Покет» молодец. Звучит почти как системная вспышка в FP режиме. Хотелось бы в это верить. Как бы я радовался, если бы разработчики Elinchrom допустили ошибку в дизайне и оставили такую возможность. Я бы тогда был одним из первых, кто сделал ТТЛ для студии. Увы маркетологи не позволяют инженерам сделать многих полезных инноваций. Но это все слова. На деле обстоит все просто. Не работает. Но проверить нужно. Для начала я измерил длительность сигнала на центральном контакте камеры. У Nikon это 7,6 микросекунд. Подключил генератор к Arduino и, изменяя длительность и количество сигналов поджига для генератора, измерил свет флешметром на всех длительностях. Чуда не произошло. Свет всегда остаётся постоянным и соответствует выставленному значению на генераторе. Будем надеяться, что инженеры победят маркетологов, и фирмы будут снабжать фотографов передовыми технологиями, а не кормить нас по чайной ложке. Так как сегодня технически и технологически я не вижу причин почему не сделать Х-sync и ТТЛ в студии.

Миф второй.

Регулируя задержку между камерой и вспышкой можно использовать Х-sync со студийными вспышками. Звучит заманчиво. Но не работает. В моей камере минимальная выдержка работы камеры со вспышкой 1/250, и при 1/320 на фотографии появляется чёрная полоса. Я подключил Arduino между камерой и генератором. При добавлении задержки чёрная полоса только увеличивается. Зато я смог измерить ЛАГ затвора. Установил выдержку 1/250 и, добавляя задержку, добился того, что кадр стал полностью чёрным. В D700 ЛАГ затвора составляет около 100 микросекунд.

Что использует «Покет»?

Для того чтобы ответить на этот вопрос пришлось немного углубится в протокол общения между камерой (D700) и вспышкой (SB-900). О самом протоколе я напишу в другой раз. До этого момента поведение камеры и вспышки было предсказуемо и понятно. Срабатывает затвор и, когда кард полностью открыт, приходит сигнал на вспышку. Но, после того, как на камеру устанавливается вспышка, умеющая работать в FP моде, все меняется. На деле это выглядит так: камера поджигает вспышку, вспышка начинает светит, в камере срабатывает затвор. У меня есть предположение, что время задержки можно изменять, и зависит задержка от модели вспышки и др. Получается, что камера подстраивает срабатывание затвора под вспышку. Радости нет предела. Какая польза нам от таких знаний? Да очень прямая. Установив SB-900 на камеру в «M-FP mode 1/128» и подсоединив к камере генератор через PC разъём можно снимать на коротких выдержках без «Покета». Правда у такого решения есть проблема. В зависимости от выдержки на снимках появляется градиента. Кстати, у «Покет» та же проблема. Но и с этим можно бороться. :) Для этого нужно немного запрограммировать Arduino. Программа очень проста. Сигнал пришёл, маленькая задержка, сигнал ушёл. У меня к Arduino подключён LCD от телефона и энкодер для изменения значений задержки. Эта схема устанавливается в разрыв кабеля между камерой и генератором.

С каким светом всё работает?

Я проверил работу на трёх различных блоках и двух генераторах. С дополнительной схемой задержки на Arduino всё работает до 1/8000. :) При таком запуске блоков наблюдается зависимость: чем хуже блок - тем лучше свет. Smiley Меньше заметна градиента. У более дешёвых блоков длительность импульса света больше и легче подобрать задержку, при которой на снимке градиента минимальна. Для примера, с самой быстрой головой Quadra A Head Action, можно спокойно снимать до 1/1000. Задержки на Arduino получились такие.

 

shutter speed      delay uS

320                          3000

400                          2900

500                          2540

1000                        1440

Я подключал к PC разъём радио триггер RF-602 и EL-Skyport Transmitter SPEED. Всё работает без замечаний. Если вам не нужен ТТЛ, то зачем покупать «Покет»? Smiley

Выводы и перспективы?

Зная особенности работы камеры в FP режиме, можно снимать с любым студийным светом на коротких выдержках. Синхронизировать свет можно по кабелю или по радио. С недорогим светом можно снимать на более коротких выдержках. Smiley Что я планирую. Более досконально изучить Nikon протокол между камерой и вспышкой. Разместить эмулятор SB-900 и схему задержки внутри RF-602. Сделать горячий башмак с задержкой для удобной работы с EL-Skyport Transmitter SPEED.

Удачных вам кадров.

PS:

Я бы не назвал такой подход идеальным, но использовать его можно.

 

© Andrew Buckin.

Shutterstock Dreamstime

Fotostream http://www.flickr.com