Introduction: Motorized Camera Slider Controled by Android Phone

This instructable shows how to make a motorized camera slider. Actually we attach some additional parts to a manual slider to make it motorized and controlable by an Android phone. The idea behind camera sliders is to give you the ability to video "tracking shots" and time lapse videos that you can set up and execute in seconds. Tracking shots create a sense of movement, as if the camera was a passerby briefly filming the subjects on screen. They add professionalism to your work, give three dimensional sense of the scene and also a cinematic feel to any kind of scene you're filming. There are many cheap manual camera sliders in the market but the problem is that if you move the camera by hand the motion is not uniform and smooth, so making it motorized gives much better feeling.

Bill of material

1000 mm Manual camera slider (varavon slidecam series are good choices)

one stepper motor

one arduino uno

hc05 bluetooth

DRV8825 stepper motor driver board

12v power supply

timing belt and pulley

ball bearing

1.5 mm steel sheet

Bluetooth Terminal Android App from NEXT PROTOTYPES

Step 1: Control Program

We used "Bluetooth Terminal" Android App from NEXT PROTOTYPES. Commands were sent to the Arduino using a Bluetooth connection. For making it easy to control the slider we defined four buttons "Forward", "Backward", "Speed" and "Distance". Functions of these buttons are as following:

1. "Forward" move slider forward

2. "Backward" move slider backward

3. "Speed" adjusting slider motion speed (between 0.3 mm/s up to 37 mm/s)

4. "Distance" adjusting slider motion distance (9 to 81 cm)

Buttons "Forward", "Backward", "Speed" and "Distance" are defined in 'Button Preferences' section in setting of the app, they will send 'F', 'B', 'S' and 'D' to the Arduino respectively. For adjusting speed and distance you should just send a number between 1 to 9 from app.

Step 2: Electronics

It is consists of these items:

one arduino uno
HC05 Serial Bluetooth board

DRV8825 stepper motor driver board

12v power supply

Connections between parts are shown in above picture. HC05 should be connected to pin number 10 and 11 that are configured as software serial. Also there is no connection to the reset and sleep , just jumper them and connect enable bar pin to ground of arduino. There should be a capacitor 100 uf on VMOT and GND of DRV8825. It is better to use a Arduino Uno ProtoShield and solder bluetooth and drv8825 on it. You can also plug the power directly to Arduino and from VIN connector to the DRV8825 board. Electronics can be more compact using smaller Arduino boards like mini or nano.

Step 3: Mechanical Drive System

Mechanical parts consist of the followings:

1. two plate for idler pulley bearing support

2. two plates for stepper motor support

3. saddle plate on top of slider block

4. timing belt with pulley

5. idler pulley bearing supported with 8mm bolt and nut

You can see parts drawing in SVG file that can be cut by a laser cutter. Instalation of idler pulley and stepper motor were shown in above pictures. We used two 1.5 mm steel plates that has hard paintings for both ends of slider, but you can use one piece of 4 or 5 mm steal plate as well.

It is also possible to use a handle to operate the slider manually. This handle can be attached to the bolt head on top of stepper motor pulley.

Step 4: Arduino Program

This program recieves and executes the commands from bluetooth terminal. Commands are for motion and also adjustment of speed and motion distance. There are comments on the Arduino program that explain everything.

Comments

author
kendy77 (author)2017-05-14

Hmmm...where is program for bluetooth terminal to get buttons in it?

author
aiqbal (author)2016-12-13

Hello hesamh. Good job!

Can you advice what Stepper Motor is required? Any specifications?

author
hesamh (author)aiqbal2016-12-31

I used a Nema 17 stepper motor

author
aiqbal (author)hesamh2017-01-05

Hi hesamh, thank you for your reply :)

I figured its a Nema 17 from the images. In fact, I found this instruct-able so promising that I purchased all the electronics required. However, I am facing problems making everything work.

I've the exact parts as you have described:

1. Nema 17 Stepper Motor 17HS30010-20B
Rated voltage/phase (2 V (It's not working voltage of this stepper. There is No problem to use 12V, 24V or even higher to 36V to drive this motor.)
Rated current/phase 1.2 A

2. DRV8825 StepStick (powered by 12 V 0.5 A Power Adapter)
3. Bluetooth Transceiver Module with TTL Outputs-HC05
4. Arduino Uno R3 (powered by PC through USB)
5. 100uF 25V Electrolytic capacitor
6. 12 V 0.5 Amps Power Supply

Problems:
1. Capacitor pops after a few seconds of connecting the 12 V power source and white smoke comes out. I checked with a multi-meter and the capacitor still looks in working condition though. This happened twice. I've one more new capacitor left.

2. I am not able to set the Vref of DRV8825 to 0.6 V. It goes max to 0.3 and that too with lot of precision work. Is there a problem with the chip or the power source itself?

3. The Arduino lights up, the HC-05 blinks, but when I press buttons on the Emulator, nothing works. The stepper won't move.

Hesham, I would appreciate if you take some time and solve my problem because I really want to build this. Please help me. I can post images if you want. Just let me know.

Thanks in advance!

author
hesamh (author)aiqbal2017-01-10

Hi, see if connections of DRV8825 is as this photo:

https://a.pololu-files.com/picture/0J4124.600.png

be careful of polarity of capacitor

if it is ok try using this library for arduino and its sample code

https://github.com/laurb9/StepperDriver

author
chetan0412 (author)2016-12-04

Can i have link of application, i tried to search on market but i couldn't got same link,

author
hesamh (author)chetan04122016-12-31

Any bluetooth terminal emulator would work, you just should send the command by sending its ascii character

author
JasonT64 (author)2016-06-15

if I want to use EasyDriver(which is with a3967 on it) to replace DRV8825,

which part of the code should a change?

Also , do I need to change the code to adapt another Bluetooth module?

Thanks a lot!!

author
hesamh (author)JasonT642016-06-18

For using Easydriver you dont need to change the Arduino code, but for using different Bluetooth you should follow the connection based on datasheet, bluetooth acts as a serial connection between mobile phone and arduino. In my code I used 10 and 11 pin for RX and TX, you should change the code if you want to use different pins

author
desposito adinolfi (author)2015-12-05

This instructable is only for "inspiration". I try to follow its instructions, but there are some errors by the way. (ex: the connections of bluetooth module are not corrisponding to the shared sketch of arduino)

author
hesamh made it! (author)desposito adinolfi2015-12-07

I corrected the drawing in step 2, HC05 should be connected to pin number 10 and 11 that are configured as software serial. Also there is no connection to the reset and sleep , just jumper them and connect enable bar pin to ground of arduino. There should be a capacitor 100 uf on VMOT and GND of DRV8825. Thanks for the comment. and check below image for reference.

640px-DRV8825-Montage_Rouge-Jaune-Vert-Gris.jpg
author

Thanks! I really appreciate it! ;)

author
desposito adinolfi (author)2015-11-13

Thanks for sharing but where are reset and sleep connections in the stepper dirver?

author
ibenkos (author)2014-10-27

Really smart idea!!! Good job, thanks for shearing :)

About This Instructable

15,320views

111favorites

License:

Bio: Teacher that enjoys working with students
More by hesamh:Showing Charts and Gauges of IOT device data using Arduino web server with JavaScriptLasercut interlock puzzleDIY 3D scanner based on structured light and stereo vision in Python language
Add instructable to: