Adafruit #570 in Inc 5000 & #11 in manufacturing - fastest-growing private companies in America - INC 5000 - Read more!

How do I control a stepper motor with a 0-10Vdc input?

by Darby on Tue Mar 05, 2013 10:56 pm

I am new to the arduino and have been looking through the forums for information on how to control a stepper motor with a 0-10Vdc input. All I can find is control by a potentiometer.

I am in a bit of a time pinch to develop a device for a project that will control a stepper valve with a 0-10Vdc input signal. The stepper motor drives the valve in one direction from 0 - 100% open and then I will need to drive it 100 - 0% by reversing the direction. In other words, if the input is 5vdc, it needs to drive the motor in the open direction for half of the time it takes to drive the valve 100% open which will be 50% open. If the input changes to 2.5vdc, it will then need to reverse direction and close for a quarter of the time it takes for full travel and stop. this should be the 25% open position of the valve. This is basically taking an analog input and converting it to an incremental position of a stepper valve.

After thinking about this, I understand that it is going to take some time to develop the timing to get this accurate. I just need a place to start.

Can anyone help point me in the right direction of a program or set of programs to start working with?

I am jumping in head first, and I need to get it done pretty quickly if possible, so any help is appreciated.

I have an Arduino Uno and purchased the Adafruit Motor/Stepper/Servo Shield for Arduino kit - v1.2. It looked to me from the specifications that it would be able to control the following.

Stepper motor type
Bi-polar - permanent magnet
Step mode
2 phase full step
Phase resistance
52 Ω ±10%
Step angle
7.5° (motor),
0.9° (lead screw),
Gearing ration 8.5:1. (38/13)2:1
Nominal voltage
(Constant voltage drive) 12 V dc -4% +15%,
Phase current
(Using chopper drive) 100 mA RMS -4% +15%,
Max. total power
Voltage / current drive: 5.5 / 1.3 W (UL: NEC class 2)
Step rate
150 steps/sec. (constant voltage drive)
0-300 steps/sec. 300 recommended

I would really like confirmation that the hardware looks compatible and then ANY help getting started with a program and leading me in the right direction will be greatly appreciated.
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by adafruit_support_bill on Wed Mar 06, 2013 6:34 am

That motor looks compatible with the Motor Shield.
how to control a stepper motor with a 0-10Vdc input. All I can find is control by a potentiometer.

Actually, it is very much the same. The potentiometer input needs to be converted to a voltage before the Arduino can measure it.

In the case of your 10v input, we only need to scale that down to an acceptable range for the Arduino - 0-5v. That can be done simply with a resistor voltage divider. You can make one of these with 2 10K resistors. Connect the two resistors in series. Connect one end to ground, one end to your 0-10v signal and connect the mid-point to your analog input.
User avatar
adafruit_support_bill
 
Posts: 28836
Joined: Sat Feb 07, 2009 9:11 am

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Tue Mar 12, 2013 11:07 pm

Okay. Great. I felt like I was making it too hard.
I will give it a try.
Thanks.
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Fri Apr 05, 2013 9:17 pm

I have made some really good progress. I can drive the stepper motors and the voltages and currents have matched up great it seems so far. I haven't learned to make it sing yet, but I am learning the programming at a reasonable rate.

My question now is how do I physically create input connections to the motor shield?

I need one analog input and one digital input.

I understand that I can use any of the analog inputs, but I would like to have a terminal connection for the input and I can't see how to do this with the configuration of the board.

Also, I would like to create a jumper for a digital input.

What is the best way physically, without having to modify the board too much to create a connection point?

At this point, I am thinking that I will have to solder wires to a set of external terminals.

Is there a better way of getting this done on the motor shield board?
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by adafruit_support_bill on Sat Apr 06, 2013 5:22 am

There is a row of breakout holes adjacent to the header pins on the shield. You can solder female header strips in those holes, then plug your wires into those headers.
http://www.adafruit.com/products/598
User avatar
adafruit_support_bill
 
Posts: 28836
Joined: Sat Feb 07, 2009 9:11 am

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Wed Apr 17, 2013 10:26 pm

I would like to add a terminal to the board for my 0-5 or 0-10Vdc input.

Can I add a terminal to AO5 (as shown in the attachment) and parallel the inputs over to another input...say 3 or 4 hiding the 10k ohm resistors configured as described in your last reply under the board?

I could then use other inputs for a jumper where the program says if the jumper is on, then control by input Analog input 5 (ignoring input 4) and if the jumper is off, control by input 4 (and ignore input 5)... which would be the 0-10vdc input converted to 0-5vdc?

10vdc_input_option_question.jpg
10vdc_input_option_question.jpg (35.23 KiB) Viewed 466 times


My biggest concern is having 10Vdc (in parallel to another input) on Analog input 5 while it is being read as 5vdc on another input.

I feel like I am rambling.... tired I guess.

Hope this question makes sense.
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by adafruit_support_bill on Thu Apr 18, 2013 5:12 am

If I understand your drawing correctly, you are connecting 10v to the A-5 pin and making a voltage divider between that and ground, with A-4 connected to the center. You should not connect the 10v directly to any Arduino pin. Anything over 5.5v can damage the Arduino. You should wire that resistor directly from your 10v terminal to the A-4 pin.

Putting the resistors on the bottom of the board should not be a problem. Just double-check for clearance when assembling so you don't have any shorts.
User avatar
adafruit_support_bill
 
Posts: 28836
Joined: Sat Feb 07, 2009 9:11 am

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Mon Aug 18, 2014 4:31 pm

In my new design, I have scrapped the 0-10V option. I am sticking to 0-5v as an input only.

I need to add a terminal for the 0-5vdc input to the board for control.

There is a 6X19 hole array that I can not find any reference to what these holes are to be used for.

If these are provided for adding components and have no connections, I'll use a few of these for my terminals.

Can you please confirm that those holes are just holes not connected to anything and I can simply run a couple wires underneath the board from my input and common to my newly added terminals?

Thanks.
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Mon Aug 18, 2014 4:51 pm

This question refers to the new version of the motor shield.
Arduino 6x19.jpg
The area that I am questioning is highlighted in red.
Arduino 6x19.jpg (37.38 KiB) Viewed 37 times
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by Darby on Mon Aug 18, 2014 4:54 pm

Also, what is the diameter of the holes and distances between them?
I need this so I can pick my terminals.
Darby
 
Posts: 7
Joined: Sun Feb 10, 2013 11:46 pm

Re: How do I control a stepper motor with a 0-10Vdc input?

by adafruit_support_bill on Mon Aug 18, 2014 4:57 pm

That is a prototyping area. You can use it for anything you like.
Holes are on 0.1" centers and are approximately 0.04" in diameter.
User avatar
adafruit_support_bill
 
Posts: 28836
Joined: Sat Feb 07, 2009 9:11 am

Re: How do I control a stepper motor with a 0-10Vdc input?

by franklin97355 on Mon Aug 18, 2014 5:31 pm

User avatar
franklin97355
 
Posts: 4368
Joined: Mon Apr 21, 2008 1:33 pm