Servo Motor Closed Loop

Hi all,

So looking at the Arduino Sweep tutorial it appears to be pretty simple to control a servo motor as an open loop system.

For my project, I aim in using the servo motor to open and close a needle valve for fluid flow. Is there anyway I can implement a closed loop system?

Kind regards,

Marc

Well, just do'it. Where's the problem?

An easy way could be to install a home switch signaling when the servo is "home". Then count the steps being taken and use as position.
A more andvanced way to go could be more advanced using a rotary endcoder that costs a lot more then the home switch.

You can do it easily if you use a servo with positional feedback. Adafruit sell several e.g. Analog Feedback Micro Servo - Metal Gear : ID 1450 : $14.95 : Adafruit Industries, Unique & fun DIY electronics and kits Shame that they all seem to be out of stock.

Steve

mh95ncl:
For my project, I aim in using the servo motor to open and close a needle valve for fluid flow. Is there anyway I can implement a closed loop system?

You have not told us what you propose to measure to get the feedback data.

...R

Essentially I want to achieve a flow rate in the nL/s range. I believe this is possible by connecting a needle valve to tubing and turning it x degrees and back to zero after x amount of time, which is what I plan on using the servo motor for. I understand this is simple and is an open loop system.

However, I would like the system to monitor the flow and speed up/down the motor accordingly.

As a newbie, I appreciate that a lot of you have years of experience in the field which is why I am asking for your help. Any pointers in the right direction would be highly appreciated.

Monitoring, as I undrstand, very small flow rates is very difficult. I believe it's better to calibrate the position of the needle and know what flow the needle position is giving. This calls for a well controlled preasure above the needle.

nL/s ? Is this for the sake of solving a problem most complicated or do you actually want a working solution? Anyway, look for "hose pump" or "peristaltic pump" Peristaltic pump - Wikipedia - if you cannot live with the pressure characteristics of these, you'll need to give more details.

I have looked at flow characteristics of a needle valve and have found one in theory that will achieve a flow rate of 6.95µL/s (set at 11.25 degrees). If I open the valve for a second and close it for approximately 200 seconds I can achieve the desired flow rate.

This is not much of a problem as I can fix the needle valve to the servo motor and rotate it. However, I would like an option for someone to set the desired angle and time without accessing the code. Is this possible?

I have avoided pumps as this system is supposed to rely on gravity fed fluid.

What do you mean by "servo motor"?

Something like this:

Aehm ... that's a simple RC servo, it is a closed loop system already. It'll last ~ 100 hours, if you are lucky.

So I ask again: do you want the problem solved or is this another XY-problem?

Closed loop how? I just want it to work to maintain a pressure drop or something along those lines. 100 hours rotating 11 degrees every 3-4 mins?

Well yes, I want the problem solved. I am not here to waste my own or anyone else's time. I want to learn from other people and get some guidance.

This is a servo motor: What is a Servo Motor?' and How it Works | RealPars
That other thing is a toy: Servo (radio control) - Wikipedia

If you want to deliver nL/s reliably, then please use a pump with adjustable flowrate. That's why these things have been invented. You even find plans on thingieverse to print this stuff yourself.

Well if the option of a pump was not available and would like to turn a needle valve on/off automatically, what would you recommend?

Rip out the valve and get a pump.

Can anyone else offer some advice, please?

zwieblum:
Aehm ... that's a simple RC servo, it is a closed loop system already

I suspect you are missing the point.

I believe the OP plans to have some device to measure the flow rate and wishes to use that data to alter the needle valve position (open or closed) as necessary to achieve the desired average flow rate.

What I don't know is how the OP plans to measure such a small flow (or if it is even possible) or whether using a servo to adjust the needle valve is a practical option.

Someone mentioned that hobby servos are not designed with a long life in mind, but the OP has not said how long this project needs to operate. Maybe it only needs to work for 5 or 10 minutes a few times a week and in a non-critical project where a failure would not matter if a spare servo is available.

...R

i'm just waiting for an OP asking how to bring down the moon using an Arduino....

Well thanks Robin for taking your time to reply (and others). I guess I underestimated the complexity of the issue and solution.

Essentially, I require a circuit/component I can attach to a needle valve to turn it off/on (to a specific angle) for a period of time. I was advised a servo motor by a professor which is why I pursued this option. I am open to any other suggestions of course.

Thank you.