DC Motor or Servo for rack and pinion drive

Setix's picture

Hey guys...another question...which would you use and how?

I want to make a rack and pinion armature system for my bot. But I'm unsure of which direction I should go...Let me explain my ideal setup.

Two parallel rails that run in parallel with the rack. the Motor would be on a platform that uses bearing to run in the rails and the pinion to drive the platform back and forth. similar to a gantry.

Heres the kicker...I would like to have a platform travel speed of about 16 inches per second and have lots of torque in the motor for the mechanics that cause about 3lbs of resistance to the platform. So at this point I'm thinking DC motor.

However, in combination with speed control and constant torque, I would like to be able to dynamically set the travel distance of the platform from 0 to 16 inches of travel, also I would like to have the platform oscillate from end  to end and back repeatedly, with the smoothest motion possible at a constant speed...I know thats a tall order, from speed to dead stop then reverse direction.

I'm stumped....anyone got any ideas? 

Chris the Carpenter's picture

Umm...

I can see... in your future...

Ah, Yes! You are dropping 200 bucks on a ready-made linear actuator! 

Seriously, a good actuator would do the trick, be wicked strong (maybe not quite fast enough) but would have all the bells and whistles you need i.e. feedback, stops, reverse etc...

Setix's picture

Alas..

I'm trying to do this on the cheap-ish....any other ideas except dropping 2 benjamins?
rik's picture

pictures?

This seems like a complicated setup you're after. Any pictures/sketches yet?

About the smooth ride. That calls for a controlled acceleration/deceleration. Do I understand correctly that your entire track is 16 inches (0.4m) long and that you want your top speed to be 16 inches/second? That means accelerating from 0 to top and decelerating to 0 again while traveling 16 inches.

If the acceleration is constant and if the top speed is reached exactly in the center of the track (a=16 inches per second per second), then the total travel time would be 2 seconds. This could be shorter if the acceleration would be better.

16"/s2 is little more than 0.04 g. I guess you could find a stronger machine. 

 

Setix's picture

Ok well my first gen design

Ok well my first gen design created the linear motion using a reciprocating piston. Much like this animation.

animpist.gif 

I was able to change the stroke length of the piston (armature) by change the distance of the connection for the connecting arm to the radius of the wheel. However I had to use a servo motor to change the distance, this caused an unbalanced wheel and cause alot of vibration. Also the design is too long. about 20 inches...8 for the wheel, 12 for the connecting arm. I would like to reduce the overall length to about 10 inches, so I thought about the gantry idea where the armature is on board and the platform does the traveling.

the track is about 10 inches and I would like to make a complete circuit in > 1 sec.  

rik's picture

variable piston stroke ehh?

So what you are really after is a variable stroke length for that piston? While still able to give it a proper push, hence the torque required.

If the overall length is an issue, maybe you could "fold up" your design? Connect the piston to the arm via a lever (inverting the direction).

Hmmm, expanding on that thought: by controlling location of the pivot point in the lever (sliding up and down), you could effectively control the traveled distance. This needs more sketching I'm afraid!

 

 

rik's picture

must the motor be on board?

must the motor be on board?

maybe place a stepper motor along the track, like a matrix printer, using a toothed belt?

Setix's picture

No the motor doesnt have to

No the motor doesnt have to be on the board...I think a toothed belt or drive chain could work

 

rik's picture

no motor no inertia

without the motor, your weight  mass would be less, your acceleration would be much better.
Setix's picture

What about something like

What about something like this: i assume this is something similar to what you meant for the motor not being on board

(please excuse the crudity of the drawing I'm at work and dotn have access to drafting software)

 

The gears position would be fixed, the spindle would be attached to the belt but allowed to rotate in the fitting that attaches it to the belt. As the belt moves the gantry is pulled forward, as the spindle reaches the far gear, the spindle rotates around the gear and pulls the gantry back the other direction. The only interuption of linear travel is when the spindle rotates around the gear, however that can be minimized my using smallish gears. Now however to change the travel distance of the gantry, lets say from full stroke to half stroke, the system would need to know at all times where the gantry is. 

gantry2.jpg 

however the problem with this design is lets say that the travel distance is very short ~ 1 inch , as the motor oscillates is to create the linear action in the chain the spindle will also rotate in reaction to changing from pushing to pulling...gah why is engineering so hard 

Chris the Carpenter's picture

A little less accurate, but...

Pneumatics, maybe? --The cylinders are super cheap but you are going to have a few bucks in tanks/ hoses and valves. You would, however have your acceleration. I mean 16" / sec is pretty darn fast.

I just thought of another one... If you have the room, you could do a car's power window motor with a long arm. The arm would need a long slot cut in it for a pin to slide in (as the arm arcs, the pin sliding in the slot would allow for a transfer to linear travel) Would have to be a long arm, though. I remember using one of these motors in a similar set up back when I was doing custom car stereo work... Worked well, and sure did have the speed, I'm sure you could get easily into the 16"/sec range.

Setix's picture

the problem with pnuematics

the problem with pnuematics is its an all or nothing...I need dynamic linear distance changes
Setix's picture

My current design is similar

I'm actually using those exact rails in my first gen prototype, the problem is that they provide a fine track, however the shortest versions are 14 inches long collapsed. Now you could say, well just cut the top segment to a small length, problem there is that the ball bearing slide travels independantly in regard to the top track..So if you cut down the top, it will pop loose from the ball bearing slide and fall apart.

On the other hand if you were talking about the toothed belt, thats almost exactly what I meant, however I still need the torque and speed, doesnt look like that servo table is very high speed

BaseOverApex's picture

Write LMR

You'd better not be making a plotter to write LMR...!
robologist's picture

Arrick Robotics

Arrick Robotics makes XY tables, that are similar : http://www.arrickrobotics.com/
Setix's picture

Anyone Used a magnetic rotatary encoder for a DC motor

I found a link for converting any DC motor into a psuedo servo motor using this kit:

http://hackaday.com/2008/07/16/turn-any-motor-into-a-servo-with-repraps-new-board/

has anyone every used one of these? and if so, how do you actually hook it up? how do they work? 

robologist's picture

Hall effect encoders

Heard of folks using the hall effect or magnetic encoders. If they have a quadrature output, then you would just need digital inputs with a quadrature decoder to use the direction/count info, 0 to 5 volt level. THe sine output devices would be more of an analog input requirement. I think those you linked are quad devices, which you can just use one channel of as a tack input, or both for quadrature. Looks like it will give 1024 counts per revolution, but don't know if that's regular or 4x mode.
GroG's picture

I may be way off the mark -

I may be way off the mark - but why not use a small dc motor instead of a servo (more strength & speed) with threaded rod in a block.  The benefits of using a threaded rod as a worm drive is the fact that when the motor stops the gantry will lock.  I've done this many times and the results have been pretty satisfactory.  Here is an example with the up/down tilt control of my bots head 

http://www.youtube.com/watch?v=L6VJOS-ZJvI - instead of a pivot (in this case) you could mount it on rails

You could use IR or halls effect encoder to do positioning

Setix's picture

I thought about that, usign

I thought about that, using the threaded rod i really wouldnt have to worry as much about negative linear force, however I dont believe that I could spin the motor fast enough to get an 8 inch linear travel distance in under a half second
Setix's picture

How about this?

Hey guys...came up with a slightly different design using 2 different motors

One standard DC motor to use for rotation of the flywheel, speed set through PWM

The other a servo with an arm on it that rotates in a 90 degree arc. the arm is under the flywheel with the servo above. the the stroke length of the piston can be changed by adjusting the angle of the arm relative to the line between the servo motor and the axis of the fly wheel. Heres a bad picture of my thought

radialadjustment.jpg

 

Would a servo motor have enough torgue to maintain its postion while the flywheel is spinning and a resistance force is being applied to the piston?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.