RotoFoto

From Harford Hackerspace

Jump to: navigation, search

Contents

The Event

We are participating in the first ever Baltimore Hackathon. This is a 48 hour event which started on Friday, November 19th 2010 at 6pm eastern and will end on November 21 2010 at 4pm. We are documenting our progress as we build.

The Goal

We are making a servo controlled turn table which will rotate an object 360 degrees in approximately 10 degree increments. We will use a Canon A70 connected to a PC via USB to automatically take high quality images of the object at each increment. The images will be “flip-booked” together using flash to create a 3D View of the object which you will be able to drag and rotate with your mouse . Similar devices are sold commercially for $2900+. Once we have the base of our project created we will start to expand the project. By placing the camera in the center of the turn table we can dual purpose the project to take panoramic photos. By adding a reed switch we can have the table return to the same starting position. This can be used to create a 360 degree stereoscopicimage.

Pre-Planning

Because this is a hardware project and we only have 48 hours to complete the project we did a little brainstorming and shopping before the event. We decided to purchase a Lazy Susan ball bearing ring which we picked up from woodcraft. We also found a 15 chopping block from J.C. Penny. These will be used to form the turntable. We located a NEMA 23 stepper left over from our CNC Router project. Finally, we made a request for everyone to bring their spare cannon cameras. We knew cannons have hacked firmware. Only one of the cameras was on the list of hackable cameras so we decided to use the A530.


Timeline

Opening Day - Friday

6pm - We attended the opening ceremony at The Beehive. Jason, Miles, David, Paul, and Jeremy were in attendance. The MC introduced the sponsors and judges and told us all about the event. Several people who were interested in pairing up with other participants. Those who already had ideas discussed their projects and requested help from individuals with specific skills.

8pm - On the way back to the Hackerspace Paul and David stopped by Home Depot to finish our shopping. We purchased 3 Aluminum rods, Bolts, Table saw blades, and MDF. This will give us enough physical stuff to work on tomorrow.

9pm - David put the first coat of primer on the chopping block and located screws which will be used to mount the lazy susan ball bearing ring to the chopping block. Then you changed the blade on the table saw which we will need in the morning. Miles forgot his laptop and all of his electronic parts. He is tasked to work on the motor controller circuit which will drive the stepper motor. So he ran home and grabbed everything he needed.

10pm - Miles has returned and started working on the Motor Controller circuit. Jeremy is helping by making power supplies for both the motor controller and the camera.

11pm - Jason and Paul have discovered that the A530 is not capable transferring images over USB. However, Jason stumbled across libgphoto2 for linux and they are testing it on a different camera, the cannon A70.

Day 2 - Saturday

12:30am - We ordered 3 medium pizzas. We are hungry!

1am - Paul and Jason are banging away at the code. David put the first coat of white paint on the turntable and has started working on the camera mount design which Miles will cut on a laser cutter later today. Pizza is here!

1:30am - We are running into a little snag with getting the view finder to work on the A70 when it’s controlled by software. Paul and Jason are trying to find a solution. Jeremy and Miles have both left for the night. David continues to work on a camera mount design in SolidWorks.

3:30am - It’s just Paul and Jason left at the Hackerspace.

9am - It’s morning and David is the first to show up at the space. Jeremy and Paul are awake and on their way. David put a fresh coat of paint on the turn table and drilled out 4 holes in the lazy susan for 1/4-20 bolts. These bolts will likely thread into aluminum rods which will be used to raise the turntable in the air.

10:00am - Jason arrives.

11am - David finished designing the camera mount and sent it off to Miles to have it laser cut.

12pm - David and Jeremy cut 2 - ¼ inch spacers and a 3.5” spacer for the camera mount on the lathe. They used aluminum rod purchased from Home Depot.

1pm - Miles called and said he needed to run to home depot for wood. He is having them rip it into manageable pieces for the laser.

3:30pm - Miles has finished prototyping the electronics and writing the control protocol. Here it is:

Foto Turntable Guidance Protocol (FTG)

Turn Left => Transmit 'l'. ACK is '?'. Transmit up to 5 numbers (0-9) representing the # of turns. Send a '#' as a termination character.
Turn Right => Transmit 'r'. ACK is '?'. Transmit up to 5 numbers (0-9) representing the # of turns. Send a '#' as a termination character.
Zero thingy => Transmit 'z'. ACK is '?'.
If non recognized command will respond '$'
After command is understood and processed will respond with '!'

4:45pm - Chris shows up with the finished CNC motor bracket. Need to determine how/where to mount spring and required force.

5:10pm - Jeremy and Dave make a trip to Home Depot and Walmart for supplies.

6:30pm - Return from shopping trip.

7:15pm - Gary goes to the ghetto and returns with super dry chicken and energy drinks.

8:15pm - Dave and Jason go to home depot to buy ROUTER BITS because Dave broke the one we had.

9:00pm - Dave and Jason come back with a bunch of stuff we didn’t need and NO ROUTER BITS!!!

9:15pm - Dave and Miles go to Home Depot to buy ROUTER BITS.

9:45pm - Dave and Miles return with the router bits....

10:30pm - Finished cutting the half circles for part of the base of the RotoFoto.

10:45pm - Got stepper moving with ATTiny

Day 3 - Final Stretch

12:00am - Cut bracing for lazy susan to mount to platform.

1:00am - Completed Camera mount.

1:25am - We discuss ‘Who Shot Mr. Burns’ episode of ‘The Simpsons’.

1:26am - Back to work...

1:40am - Paul and Miles test Miles’ motor control circuit with Paul’s software components.

1:50am - After a minimal amount of tinkering, the motor moved! Now, Miles needs to work out a serial data parsing bug which limits us to 9 steps at a time. Good enough for testing computer/hardware interaction at this point. Paul soldiers on into Linux-code-land while Miles tickles his serial bits.

2:00am - Dave and Jeremy continue with the camera pedestal construction, cutting and tapping the aluminum rod for the mount base and prepping the wooden components.

2:35am - Jeremy successfully mounts the motor mechanism to the platform! It is starting to look like something.

3:05am - SUCCESS! We managed to make a rotation web app using a blistering FOUR photos! But, it worked and it was completely automatic! Now, time for fine tuning and final assembly. Miles has started to perfboard his circuit now that it has been proven. We need to add heat sinks to the power resistors and hammer down some assembly issues.

3:56am - Paul and Miles try to squash the bugs is Miles’ code. They are so close, it is painful.

4:18am - Here comes the hot stepper! Motor code debugging nearly complete.

4:33am - Math, math, math. Trying to figure out how many steps are needed to make a full rotation and then how many photos to take to make a smooth animation. Paul and Dave brain-racking on it... http://harfordhackerspace.org/cam/

12pm - Last minute todo list: Mount power resistors DONE Mount Heat Sinks DONE Finalize Software Tidy Cables



Approximate bill of Materials (ABOM):

Not Electronics

  • 1x Canon Powershot A70
  • 1x Stepper Motor: P22NRXB-LNN-N8-00
  • 1x 15” Diameter Butcher Block Cutting Board (JC Penny)
  • 1x 12” Lazy Susan Bearing (WoodCraft)
  • 1x Quarter-Sheet ¾” MDF
  • 1x Quarter-Sheet ½” MDF
  • 1x 18x24” ¼” 5-ply plywood
  • 1x 2 feet, ½” Aluminum rod
  • 1x Screen Door Spring (Home Depot)
  • 2x Zinc ceiling plates from plumbing section(3/8” thread)
  • 1x ⅜” Threaded rod, 2 feet
  • 1x White spraypaint
  • 1x ½” adhesive Teflon furniture sliders cloth (for background)
  • 2x ⅜” Wing Nuts

Electronics

  • 1x uController (we used ATTiny 2313)
  • 1x Crystal (for stable clock)
  • 2x 22pf capacitors
  • 1x FTDI chip
  • 4x Power NFETs (250v/13A) P/N:16NF25
  • 4x Diodes 1N4001
  • 2x Power Resistors (39ohm/5W)

Tools used

  • Computer
  • Drill Press
  • Lathe
  • Tablesaw
Personal tools