Go Down

Topic: servo or stepping motor returns to stored position  (Read 441 times) previous topic - next topic

buildafriend

Hello,

I want to be able to store and recall analog potentiometer settings by connecting a belt from a potentiometer shaft to a servo shaft. Picture a belt driven motorcycle but with a servo where the engine is and a pot shaft where the back wheel is. Then picture a guitar amp gain knob, but with a servo connected to it's potentiometer shaft by a belt. Get my drift?

How could I configure an Arduino to handle this task? Would a purely open rotary servo or 1.8 deg stepping motor work better ( cost is a consideration ). I could make the mechanical part on a community maker space laser or shop bot. PCB work could be done by me, since I'm good at that part.

Eventually I would like to expand on this concept, but starting small and going big seems to be more logical. I would like to just get the servo position stored and recalled before doing all of the other work, to prove if it's possible for me to do or not.

Kindly,
- J
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

groundFungus

Since most hobby servos have a 180 degree range of motion and most pots are 270 degrees you will need the belt (or gear?) drive ratio to work for that.  Using the Servo library, an Uno can control 12 servos.  Note that I said control, not drive.  The Uno can't supply enough current to drive (power) a loaded servo.  You will need an external (not the Uno) power supply capable of supplying 1 amp per servo.

Robin2

This is the same project as in your other thread (which I have already contributed to). Please click Report to Moderator and ask for them to be merged so all the relevant info is one place.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

buildafriend

The ratio thing may be a problem. There are no steppers for arduino that do 1.8 deg movements? I'll do some research.

Best,
- J
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

groundFungus

#4
Mar 24, 2017, 12:14 pm Last Edit: Mar 24, 2017, 12:15 pm by groundfungus
There are many 1.8 degree steppers that will work with Arduino (using the appropriate driver and external power supply).  The problem with a stepper, in your case, is that the stepper does not know its position like a servo (with internal feedback).  The stepper has to be homed, that is, to count steps to know where it is to go it needs a starting point, AKA home. 

buildafriend

Gotcha. External power supplies are no issue here. This is a great opportunity to attempt paralleling LT1086 for high current handling.

Does this essentially mean that a servo can memorize it's "exact" position while a stepping motor only memorizes it's steps ( phases )? I'll have to research the internal feedback of a servo and how it can be used to my advantage.

Thanks,
- J
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

Robin2

Does this essentially mean that a servo can memorize it's "exact" position while a stepping motor only memorizes it's steps ( phases )? I'll have to research the internal feedback of a servo and how it can be used to my advantage.
I already dealt with this in your other Thread.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

buildafriend

Robin,

The other thread title does not Match this title. Thought the material is similar it is not the same. Like the power supply being repeated twice, please don't convolute this material.

Best,
- J
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

buildafriend

I'm learning that servos are better for this project due to parts counts and prices of steppers, also servos know their rotary locations. I still have more research to do one the feedback loops that were mentioned above.

Now for researching servos. Does anyone know of any servos they might advise for use with this project?
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

buildafriend

Maybe this? It would still need the correct spindle attachment/s.


https://www.sparkfun.com/products/9347
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

Robin2

Robin,

The other thread title does not Match this title. Thought the material is similar it is not the same. Like the power supply being repeated twice, please don't convolute this material.
Then how about asking the Moderator to lock the other Thread and concentrate everything here from now on?

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

buildafriend

Does anyone have any information on using DC brush motors in a way that can be used for recalling and going back it's previous positions? I recently saw one being used for the above situation and I found it intriguing.
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

Robin2

Does anyone have any information on using DC brush motors in a way that can be used for recalling and going back it's previous positions?
You are not providing enough information. For example,
  • how fast will the output shaft be rotating?
  • what is the maximum number of degrees through which it will rotate?
  • how accurately does it need to achieve a position (+/- how many degrees)?
  • and anything else that you know and we don't


...R
Two or three hours spent thinking and reading documentation solves most programming problems.

buildafriend

You are not providing enough information. For example,
  • how fast will the output shaft be rotating?
  • what is the maximum number of degrees through which it will rotate?
  • how accurately does it need to achieve a position (+/- how many degrees)?
  • and anything else that you know and we don't


...R
Speed is only slightly of concern. Let's say fast enough to keep up with how fast your finger can rotated a knob or move a fader. Nowhere near as fast as a propeller or slot car motor but not so slow as to spend time having to wait for the movement to complete while in a time crunch. The idea of the design is to save time from manually recalling the setting.

Max degrees should be around 350 or close if possible

The threshold of pots is poor unfortunate so as accurate as one can get without breaking the bank, within .2mm of the target would be a good threshold to aim for

I recently acquired 3 dc variable bench power supplies so that should save me some time

What do H bridge motor controller chips do and how do they control brush motors?
It's not a matter of what can or can't be accomplished. It's a matter of how much time you have in conjunction with your willingness, and budget.

Robin2

I was asking about speed because slower makes the job easier. For slow movement I presume you are using a geared DC motor.

A H Bridge is the electronic equivalent of a DPDT switch - nothing more. Like a DPDT switch it can swap the polarity of the power going to motor terminals and thereby make the motor go in either direction.

Assuming you have selected a direction then the Arduino can control the speed of the motor my using the "switch" to turn the power on and off very quickly. The greater proportion of time the switch is ON (the wider the ON pulse relative to the OFF pulse) the greater will be the average power available to the motor.

If a potentiometer connected to the output shaft does not give you sufficiently precise positioning then you probably need a rotary encoder. You could mount a high precision encoder on the output shaft - but that might be expensive.

If you fit a lower precision encoder to the motor shaft the total number of encoder pulses for one revolution of the output shaft will be multiplied by the gearing ratio allowing more precision. BUT - there is no such thing as a free lunch. The backlash in the gear train will reduce the precision - perhaps by a considerable amount.

And you will either need an absolute-position encoder (more expensive) or some means to establish the initial position of a relative-position encoder.

Reading an encoder is a lot more complex than reading a potentiometer so a high quality pot might make the most sense.

...R
Two or three hours spent thinking and reading documentation solves most programming problems.

Go Up