Motorizing a needle valve with a stepper motor.

Hi,
I am trying to automate a needle valve by connecting it to a stepper motor and controlling the motor with a driver and an Arduino.
I have two questions,

  1. I want to know if I can use one Arduino Uno to connect two different stepper motors and control these two independently. They might be used simultaneously.
  2. Is there a way to control the stepper motor so that it stops when the valve is fully open or closed. I am worried that the motor might continue turning regardless of valve condition. My main idea is to count the number of steps required to fully open a valve and to code the motor to stop when that many steps have been taken.

This is my first time working with an Arduino and a stepper motor, please forgive my ignorance.
Thank you and any help will be appreciated.

What you want should certainly be possible.

These links may help
Stepper Motor Basics
Simple Stepper Code

...R

Using a least one end stop per motor could be useful as a calibration and stopping point. Using end stops in both ends of the move increases safety even more.

I could be wrong, but don't you usually "feel" the torque when the valve is fully-closed? I think the trick would be to use a motor that's too weak to over-torque the valve. Then you can run a few-extra steps to make sure find the stop-point and then count-back form there. Once you know it's fully-closed your software always knows where you are and you might not need a mechanical stop (or position sensor) for the fully-open position.

But it will probably "stick" when closed so you'd need to enough torque to open it, but not enough torque to damage it.

vm11:
Hi,
I am trying to automate a needle valve by connecting it to a stepper motor and controlling the motor with a driver and an Arduino.
I have two questions,

  1. I want to know if I can use one Arduino Uno to connect two different stepper motors and control these two independently. They might be used simultaneously.
  2. Is there a way to control the stepper motor so that it stops when the valve is fully open or closed. I am worried that the motor might continue turning regardless of valve condition. My main idea is to count the number of steps required to fully open a valve and to code the motor to stop when that many steps have been taken.

This is my first time working with an Arduino and a stepper motor, please forgive my ignorance.
Thank you and any help will be appreciated.

We all have to learn something the first time and you are not telling us how many of the IDE example programs you have tried and gotten to work.

Describe you needle valve. Some will close completely and others will close but leave a minimum flow. Needle valves are non-linear. Do you have something that will monitor the flow as the valve is opened? Generally needle valves will have many turns remaining after being fully opened. Is your that way?

Have you developed a way to mechanically link the needle valve shaft to the stepper motor? Please describe. It will determine how much torque your stepper needs.

Paul

Hi,
Sorry for the delayed response, I was at work. I have managed to design a system that can mount the stepper motor. It is currently being machined.

vm11:
Sorry for the delayed response, I was at work. I have managed to design a system that can mount the stepper motor. It is currently being machined.

Please respond to the other comments you have received.

...R

the problem is that the motor torque will be much higher than the forces needed to damage the needle valve itself.

a clutch would be of value so that any over-turning of the motor would not cause physical damage.
you could connect the needle valve to the motor with some plastic tubing. the tubing would allow the two shafts to move independently under forces that might damage the valve.

this has been in use on light CNC machines for some time.

dave-in-nj:
a clutch would be of value so that any over-turning of the motor would not cause physical damage.
you could connect the needle valve to the motor with some plastic tubing. the tubing would allow the two shafts to move independently under forces that might damage the valve.

I understand the point you are making but it seems to me like a clutch or resilient connection would lose the precision that a stepper motor offers. That assumes, of course, that the precision is needed :slight_smile:

...R

Why not use sensors to catch the end points of the travel?
Sorry, I did write "end stops" in my earlier replay.

@Railroader, I am investigating end stops at the moment. Completely, new to this stuff so I have to research basics.
This setup is part of a mount that is being machined and will be installed in a lab facility that cannot be entered once the experiment is on. The valve needs to controlled from a safe distance outside. We want to define a precise start and end position because we don't want to "over-torque" the system.

vm11:
@Railroader, I am investigating end stops at the moment. Completely, new to this stuff so I have to research basics.
This setup is part of a mount that is being machined and will be installed in a lab facility that cannot be entered once the experiment is on. The valve needs to controlled from a safe distance outside. We want to define a precise start and end position because we don't want to "over-torque" the system.

The design group really needs to know how many turns from fully closed to fully open!

Paul

It seems like the end stop concept will not be well suited to to providing feedback in this application. That is better for a situation where you have a significant linear motion or a less than 360 degree rotation. With a needle valve, likely neither of those apply.

For feedback, I would instead use an optical encoder or Hall effect sensor to detect rotation of the motor shaft. I've seen some cool products (uStepper and mechaduino) where they glue a diametrically magnetized magnet to the exposed shaft at the bottom of a standard stepper motor and then mount a Hall sensor above it to get cheap feedback.

pert:
I've seen some cool products (uStepper and mechaduino) where they glue a diametrically magnetized magnet to the exposed shaft at the bottom of a standard stepper motor and then mount a Hall sensor above it to get cheap feedback.

Without specifically agreeing with the need for or value of an external sensor a QRE1113 reflective optical sensor is also easy to use - it just responds to black and white stripes or blobs of white paint on a black surface

...R

Based on the latest information provided:

vm11:
will be installed in a lab facility that cannot be entered once the experiment is on. The valve needs to controlled from a safe distance outside. We want to define a precise start and end position because we don't want to "over-torque" the system.

I'd be inclined to think an open loop control system will not be sufficient.