Automatic Product Photography Rig

Dear All,

I am a Mech Engineer Turned Photographer and now an avid electronics hobbyist with a lot of ideas that I plan to put to action. I have never been as excited as I am now with the vast ocean of opportunities that Arduino has to offer. Just bought myself an Atmega 2560 after winning an Intel Edison at the Intel IOT Roadshow. With all this and another 200 dollars worth of purchases I am all set to build some new gadgets that simplify our lives.

Coming to the point. Here is -
Project No 1 - Automatic Product Photography Rig
Being in the e-commerce Photography field I have quite much mastered the skill of shooting white background shots of products. This involves getting various angles of products using studio lights and manual movement of the product to various of these angles. My goal is to achieve consistency and speed in the images that we shoot and then prototype this for bigger shooting models.

What I have with me:
Arduino 2560
Stepper Motor from a Copier Machine (XEROX) with 6 leads.
Stepper Motor Driver VNH2SP30
Servo Motor with 6kgcm torque
Bread Board
2 Amp - 5-12 V Power Adaptor
USB Cable to connect the chip
Some Sensors which include the HC-SR04 Ultrasonic Sensor
Disc to Mount on the Motor
Songle 2 switch relay
TFT Screen

What the completed system should be able to do.

Using all the above components I wish to make a rotatable base on which a product can be placed.The placement of the product will be recognized by the system using a HC SR 04 Ultrasonic Sensor or an LDR whichever is suitable and is placed below the rotatable base or suitably depending on how it would best recognize an object on the rotatable base. This sensor will trigger a series of actions which involve:

  • Object Placed Successfully appears on the TFT
  • Triggers the front camera for a front angle shot
  • The Stepper motor rotates by 90 Degrees
  • Triggers the front camera for a side angle shot
  • The stepper motor rotates by 90 Degrees
  • Triggers the front camera for a back shot
  • Triggers the top camera for a top shot
  • Stepper Motor moves the disc back to home position
  • “Place the next Product” appears on the TFT Screen
    and this loops over

I will have two SLR cameras and a set of lights which are all connected externally.I also have a wireless trigger system which basically consists of a simple switch which gets actuated to have the camera fire. To actuate this I am using a relay which will be connected to the Wireless trigger system and will be software or code controlled at a specific interval.

  1. What I am looking for is how to put all this code together and which libraries to use?
  2. What are the connections to be made.
  3. Should I couple the rotatable disc directly to the motor or through a geared mechanism?
  4. Upgraded functionality such as being able to get more angles using a specific sub program/ subroutine with a set of different angles instructions that appear on the TFT screen.
  5. Options to upload all these images to a cloud directly using my intel Edison and the breakout board which comes with a Wifi Module.

Any help would be highly appreciated. I’d love to share the finished product with all of you showing you the capabilities.

Warm Regards,
Arvind all the way from India.

Did you found that stepper in dumpster dive ? 6 wires indicate 3 (or less likely 5) coils... Can you post the photo of the motor ? Did you search for any documentation on the stepper motor? If you can find some documentation, you can figure out how to connect it .

the connection to the disk depend on the power/torque of the stepper motor and the speed you want,geared or not. I may prefer geared f the items are heavy and can' be handled by the motor.

Stepper can do any angle you want,so you can have a shot in any angle.

You can post it online using the Intel Edison if your camera support shooting while connected to a host, most cams don't support it. My Nikon L120 dosen't.

-Malhar,also from India.[Pune,MH,IN]

MalharD:
Did you found that stepper in dumpster dive ?
6 wires indicate 3 (or less likely 5) coils.

No that is wrong.
Six wires is normal for a stepping motor. It means that it can be wired as either a unipolar or bipolar motor.
My advice would be to use it with the driver as that will have a simple step and direction input.

Thank You Guys,

Here is a quick video which explains how to get the wiring for the motor right. Once this is set we need to understand how to write the code int he right order.

https://www.youtube.com/watch?v=hHe4Fc6uuBs

Arvind

Here is where I stand now.I have the attached motor and the VNH2SP30 motor driver The stepper motor is from a Xerox machine and has a part number STP-59D1001 1.3A motor.using the above mentioned video I identified the four leads of the motor but am unable to get it moving when I use the method used in the video.I don't think I need the unipolar method and six wires, instead even the bipolar method doesn't seem to work. Can someone help me with the connections of the motor to this board please.I am lost. :o

Here is a pic of both the motor and the driver.I have no clue how to connect this.

That board isn't for driving a stepper motor. A VNH2SP30 can only drive one of the stepper motor's two coils. It's meant for forward/reverse control of a single DC motor.

Steppers are great when they are driven by an appropriate driver chip. The VNH2SP30 is also great, but it's not a stepper driver. Look on the Pololu site for some good stepper drivers.

The one problem with steppers is they aren't absolute position devices. They only move in relative steps. However, I think this is one of the few applications where that doesn't matter. You place the object on the turntable and you want it rotated 90 degrees from there. The starting position of the turntable itself is irrelevant.

It does say something about the Edison that you get given one and still go out to buy something different. I bought one when it looked like a cool new thing (better than Intel's previous attempt) and I've never plugged it in. It didn't help that the plugs were released months after the devices.

Can we get Pololu stuff in India ? -Malhar

MalharD: Can we get Pololu stuff in India ? -Malhar

Have you tried? Do you have eBay in India? (Here in Australia, a great deal of Pololu stuff is available on eBay.)

We do. My dad doesn’t like e-Commerce. It’s just a question,nothing else.

MalharD: It's just a question,nothing else.

And I just tried to provide an answer, nothing else.

MalharD: Can we get Pololu stuff in India ? -Malhar

You might get a better response to this on the India section of the forum.

Or ask at www.pololu.com. They ship using USPS.com, which can ship to India.

OldSteve: That board isn't for driving a stepper motor. A VNH2SP30 can only drive one of the stepper motor's two coils. It's meant for forward/reverse control of a single DC motor.

Thanks guys...exactly the point...i just figured out that the previous stepper motor driver I worked with had around 4 lines to control the stepper motor and this just didnt seem right. The marketing person who sold this at Om Electronics in Bangalore might not have known it and he suggested this to me after he sold the salvaged stepper motor driver.

I also understand that the stepper motor may not be best suited for precise movement. but should serve my purpose since it is not a high accuracy setup.

What would be a good stepper motor for this device in that case? I could not get the technical details of the stepper motor STP-59D1001 since that specific model is probably one that was made for the XErox machine from which it was salvaged. I have the tech specs of similar models though from this website that manufactures these motors.

www.shinano.com/motors/docs/SKC_Full-line_Catalog.pdf

also I need to get a OV7670 camera to do this prototype and there doesnt seem to be any clear reference of how to use it with the arduino.

Here are the motor specs… How do I get a motor driver for this circuit…

arvindShenoy:
Here are the motor specs… How do I get a motor driver for this circuit…

They are not the specs for your motor, so don’t provide any useful information.

The specs that you show use the second and third digits after the “D” to denote coil current, ie D110X = 1.0A, D120X = 2.0A, D125X = 2.5A, but your motor’s equivalent digits are 00, so we don’t have a clue about the coil current. The resistance per phase can easily be measured, but you need either coil current or coil voltage to go with it, then the unknown parameter can be calculated.

This seems like it's a relatively light duty application. Pretty much any stepper salvaged out of of a printer or copier would work. However most of those use unipolar steppers and the Arduino world tends to use bipolar steppers. Many motors can work both ways (6-wire or "hybrid" types) and if you're not too concerned about maximum torque, a unipolar will probably work with half the windings left disconnected.

The Polou genuine parts are probably available from an ebay seller in your country. (I haven't looked.) If not, I would expect that copies are available. Even without that, looking at the Pololu site will give you lots of background information about stepper drivers and you can search for similar locally-made devices using the same chips as what Pololu chose.

OldSteve: They are not the specs for your motor, so don't provide any useful information.

The specs that you show use the second and third digits after the "D" to denote coil current, ie D1*10X = 1.0A, D120X = 2.0A, D125*X = 2.5A, but your motor's equivalent digits are 00, so we don't have a clue about the coil current. The resistance per phase can easily be measured, but you need either coil current or coil voltage to go with it, then the unknown parameter can be calculated.

Thank You,

I guess that these specs have been masked since it is an OEM product. I will check the resistance as stated by you. The motor specs on the motor state that it is 1.3 A so with the resistance I should be able to calculate the Voltage too.

Yes but you often apply more than the rated voltage and cut it down with a chopping regulator. This allows the motor to run faster than it otherwise would do because you force the current into the windings faster.