How to Move Canon EF Lenses. Yosuke Bando

Similar documents
Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

Part 1. MAX BIT DAC with an Arduino Board. MIDI to Voltage Converter Part1

Arduino DUE + DAC MCP4922 (SPI)

Adafruit MCP9808 Precision I2C Temperature Sensor Guide

WICE-SPI Hardware Operation Manual

Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V th November L6470 Stepper Motor Shield

RC Camera Control. User Guide v /20/2012

IR Communication a learn.sparkfun.com tutorial

CHAPTER 11: Flip Flops

FR FAMILY MB91460 SPI - DAISY CHAIN COMMUNICATION 32-BIT MICROCONTROLLER APPLICATION NOTE. Fujitsu Microelectronics Europe Application Note

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

ARDUINO SEVERINO SERIAL SINGLE SIDED VERSION 3 S3v3 (REVISION 2) USER MANUAL

Guide for Modified Assembly: Lightning McQueen. By: Collin Patterson, University of Delaware. Materials and Tools:

BIULA AUDIO TRIGGER for Canon Digic II DSLR

Your Multimeter. The Arduino Uno 10/1/2012. Using Your Arduino, Breadboard and Multimeter. EAS 199A Fall Work in teams of two!

Gripper Kit for the Boe-Bot Robot (#28202)

ECEN 1400, Introduction to Analog and Digital Electronics

Modification of a EQ-style Dual Axis Controller to Add an Autoguider Port

Time needed: ~3h for lid replacement only. Add 1h for operation harness in lid and ~2h more for installing drive unit and cable harness in trunk.

Replacing a Vantage Vue Transmitter

How to Make a Pogo Pin Test Jig. Created by Tyler Cooper

ILISC515-A Shift Interlock (Manual Lift Door) 2015 Ford Transit, 3.7L and 3.5L

Pololu DRV8835 Dual Motor Driver Shield for Arduino

K8025 VIDEO PATTERN GENERATOR. Check the picture quality of your monitor or TV, ideal for adjustment or troubleshooting.

Electronic Brick of Current Sensor

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

DS1307 Real Time Clock Breakout Board Kit

Permanent Magnet Motor Kit, Magnetic Reed Type. (SKY-ReedMotorKit) Instructions

Android Controlled Based Interface

Warnings: This manual is intended to guide a technicians or customers who would like to repair DBL's

Advanced Data Capture and Control Systems

Using Arduino Microcontrollers to Sense DC Motor Speed and Position

POCKET AUDIO GENERATOR K8065

Flight Controller. Mini Fun Fly

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

PolyBot Board. User's Guide V1.11 9/20/08

A DIY Hardware Packet Sniffer

WHO ANSWERED FIRST? FIND OUT WITH THIS QUIZ BUZZER KIT

Overnight Sensations Speaker Kit

Combi B Alarm box. Mounting instructions

Modification of an AOR AR-8600 receiver to tune it with a ACECO FC-3002 frequency finder

Arduino Motor Shield (L298) Manual

Document number RS-PRD Revision 05 Date 20/10/2009 Page 1/30

7-SEGMENT DIGITAL CLOCK

PHYS 2P32 Project: MIDI for Arduino/ 8 Note Keyboard

Retrofit Instructions Installing a Sport Heated Steering Wheel - Leather, Multifunction BMW X5, E53,

Arduino Lesson 5. The Serial Monitor

EvB 5.1 v5 User s Guide

GLOLAB Universal Telephone Hold

PROXIMITY CARD READERS C-10, C-20, C60, C70

E E V R E - R S - O S L O A L R

Written By: Walter Galan

Control Box Wiring For PRSstandard Tool

ROTOPOD PERISCOPE LIGHTING KIT (for MCWHLR & Daniel D/Xeno Periscopes)

Arduino Lesson 9. Sensing Light

Arduino Lesson 16. Stepper Motors

Introduction the Serial Communications Huang Sections 9.2, 10.2 SCI Block User Guide SPI Block User Guide

Alfa Romeo 147 On board instruments installation guide

JTAG-HS2 Programming Cable for Xilinx FPGAs. Overview. Revised January 22, 2015 This manual applies to the HTAG-HS2 rev. A

Arduino Lesson 4. Eight LEDs and a Shift Register

MCP4725 Digital to Analog Converter Hookup Guide

Contractors Guide Central Inverter System Installation

MARTECH SPI Tools. MARTECH SPI Tools User Manual v1.0. User Manual

7" Portable HDMI Monitor

GSM Autodialer Professional GJD700 Speech & Text Autodialer

emf Smart Adapter User s Manual

Arduino Lesson 13. DC Motors. Created by Simon Monk

ADDING AN ELECTRIC AUXILIARY FAN TO RADIATOR STACK ON 03 ALPINE COACH

Newhaven Display International, Inc Galvin Ct. Elgin IL, Ph: Fax:

INSTALLATION INSTRUCTIONS

COOPER S PULLEY UPGRADE KIT INSTALLATION INSTRUCTIONS PART NUMBER NME5011

How to modify a car starter for forward/reverse operation

Implementing SPI Master and Slave Functionality Using the Z8 Encore! F083A

DEPARTMENT OF ELECTRONICS ENGINEERING

DIY Wearable Pi with Near-Eye Video Glasses

cs281: Introduction to Computer Systems Lab08 Interrupt Handling and Stepper Motor Controller

FTDI VCP DRIVER (free) (WIN/MAC/LINUX)

WARNING: FAILURE TO FOLLOW THESE RULES MAY RESULT IN SERIOUS PERSONAL INJURY CAUTION: INSTALLATION LOCATION:

Triac Printed Circuit Board Replacement

BUILDING INSTRUCTIONS

MAINS VOLTAGE DETECTOR K7101

IntelliChlor Flow-Temperature Switch Replacement Kit Installation Guide

Lesson 12 Sequential Circuits: Flip-Flops

1.8" TFT Display Breakout and Shield

User Guide Reflow Toaster Oven Controller

USER MANUAL V5.0 ST100

System theremino MasterDIL-V3

Bidirectional wireless communication using EmbedRF

Lab Experiment 1: The LPC 2148 Education Board

Bluetooth UART/RS232 Module

SP 4K/5K Efecto & SP 5K Brilliant Parallel Installation Guide 1. Introduction

Assembly and User Guide

Six-servo Robot Arm. DAGU Hi-Tech Electronic Co., LTD Six-servo Robot Arm

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

4KVA/5KVA Parallel Installation Guide

- 35mA Standby, mA Speaking pre-defined phrases with up to 1925 total characters.

Wireless Security Camera

XBee USB Adapter Board (#32400)

EF-S55-250mm f/4-5.6 IS STM COPY ENG. Instructions

Transcription:

How to Move Canon EF Lenses Yosuke Bando

Preface This instruction is intended to be helpful to those who are interested in making modifications to camera lenses to explore/reproduce focus sweep, focal stack, and other related imaging techniques for research purposes. But we disclaim any responsibilities for the consequences of your following this instruction, so do it at your own risk!

Outline Overview & preparation Lens modification Wiring Software Putting them together

Outline Overview & preparation Lens modification Wiring Software Putting them together

The Lens in This Instruction Canon EF-S 18-55mm f/3.5-5.6 IS II Comes with a Canon EOS Rebel camera kit Any Canon EF lenses may be used

The Goal The lens has motors and control circuits inside, and operates according to commands from a camera body All you need is to intercept such communications and send move focus commands to the lens Normally, a camera body sends commands Arduino An external board (we use Arduino) sends commands Hack Lens Camera body Lens Camera body

Lens Pin-out Protocol: SPI (serial peripheral interface) 8 data bits, 1 stop bit VBAT: 6V power for lens motors P-GND: Ground for lens motors VDD: 5.5V power for digital logic DCL: Data from camera to lens (MOSI) DLC: Data from lens to camera (MISO) CLK: Clock D-GND: Ground for digital logic D-GND CLK DLC DCL VDD VBAT P-GND MOSI: MISO: master: slave: master output, slave input master input, slave output camera in this case lens in this case

Rough Schematic Arduino 6V battery Battery supplies power to the lens motors Arduino controls the lens digital logic No need to monitor DLC pin D-GND VBAT CLK DLC DCL VDD P-GND

Rough Schematic Additional wires for synchronization Arduino 6V battery Camera body Battery supplies power to the lens motors Arduino controls the lens digital logic No need to monitor DLC pin D-GND VBAT CLK DLC DCL VDD P-GND

Tools & Parts Batteries can be anything that produces 6V voltage Four AA batteries Wire Camera body (Rebel T3i is used here, but can be any Canon EOS camera) Battery holder Arduino (+ USB cable) Phillips micro screwdriver Nippers Pliers and Solder Soldering iron Drill (Circuit tester) (Breadboard)

Outline Overview & preparation Lens modification Wiring Software

Lens Modification Our sub-goal here is to wire the pins from outside so that we can send commands from an external board

Remove the Screws 1/2 Remove the two micro screws beside the pins

Remove the Screws 2/2 Remove the four screws on the back side of the lens

FYI Those four screws are tight You might want to use pliers to unscrew them

Detach the Back Cover This cable is for image stabilization (anti-camera shake). You can remove it if it gets in your way.

Insert Wires Drill six holes in the lens housing under the pins Pass six wires through the holes

Solder the Wires Make sure to keep track of which wire goes to which pin Make sure they are electrically connected using a circuit tester For ease of soldering, we directly attached wires on top of the pins, making the lens unable to talk with a camera body any more. We could instead solder wires to the lower part of the pins, in which case the lens can still be used as a normal lens. or

Reassemble Squeeze the wires into the lens housing Put the cover back with the screws No need to put back the two micro screws for fixing the pins

Tricks to Fit the Wires Cut out portions of the cover and housing with nippers To make room for the wired/soldered pins A few wires can be laid through this gap

Tape the Pins To make sure that the lens is electrically disconnected from the camera body

Outline Overview & preparation Lens modification Wiring Software Putting them together

Overall View of Wiring Modified lens Hot shoe Power Shutter release signal Commands Arduino Battery USB cable from a computer (code upload & power supply to Arduino)

Hot Shoe Pin-out Shutter release can be detected from flash trigger signal (FLA) at the hot shoe, which can be used for synchronizing lens control GND FLA The other four small pins will not be used

Attach Wires to the Hot Shoe Cut out a square piece of plastic with two holes and insert in the hot shoe with wires Or just directly solder wires to the pins Attached on the hot shoe Two wires glued Plastic piece Seen from the bottom

Arduino Pin Assignment Lens pins: D-GND CLK DCL VDD Hot shoe pins: GND FLA 10 9 GND 13 11 8

Full Schematic 9 Arduino 8 6V battery GND GND 13 11 10 FLA D-GND VBAT CLK DLC DCL VDD P-GND

Outline Overview & preparation Lens modification Wiring Software Putting them together

Arduino Code const int HotShoe_Pin = 8; const int HotShoe_Gnd = 9; const int LogicVDD_Pin = 10; const int Cam2Lens_Pin = 11; const int Clock_Pin = 13; void setup() // initialization { pinmode(hotshoe_pin, INPUT); digitalwrite(hotshoe_pin, HIGH); void loop() { if(digitalread(hotshoe_pin) == LOW) // upon shutter release { send_signal(0x??); // move focus to infinity delay(1000); send_signal(0x??); // move focus back to nearest delay(1000); } } } pinmode(hotshoe_gnd, OUTPUT); digitalwrite(hotshoe_gnd, LOW); pinmode(logicvdd_pin, OUTPUT); digitalwrite(logicvdd_pin, HIGH); pinmode(cam2lens_pin, OUTPUT); pinmode(clock_pin, OUTPUT); digitalwrite(clock_pin, HIGH); delay(100); send_signal(0x??); delay(100); send_signal(0x??); void send_signal(byte signal) // SPI command generator { unsigned int i; for(i = 0; i < 16; i++) { digitalwrite(clock_pin, i & 1); if(i % 2 == 0) { digitalwrite(cam2lens_pin, (signal >> (i / 2)) & 1); } } } We are asked not to disclose the commands in public. Please contact me to get the values shown as??.

Outline Overview & preparation Lens modification Wiring Software Putting them together

Put Them Together Attach the modified lens to the camera body Connect the wires Turn on the camera Turn on the battery Turn on the Arduino Upload the code to the Arduino This step can be skipped from next time, as the code stays on the board Press the shutter button The lens should move

Make it Portable (optional) The 6V battery can also be used for supplying power to the Arduino Power

Schematic for Portable Setting Vin GND Arduino GND 13 11 10 9 8 6V battery GND FLA D-GND VBAT CLK DLC DCL VDD P-GND

Mount Everything The rubber cover can be ripped off and the parts can be screwed into the camera body