Nicely done Mariss, congrats. I assume that when paired to Mach, for example, the G100 would signal so it slows down sending new coordinates - just like connecting the encoders directly would do.
JR
Sorry for the cross posting but it's been a stellar day here. This
has to do with the "Unstallable Step Motor Project" that may be of
interest to some:
-----------------------------
Hi,
The very crux of the G100 project is to have PID servoed step motors
that cannot be stalled under load. The G100 hardware was designed with
this goal in mind; that is why it has 6 encoder input channels, one
for
each axis. I have recently made/found the time to work towards this
goal.
Before anyone asks "When will it be done?", don't. It will be done
when
it's done. A lot of steps, work and time stands between what has been
recently accomplished and a finished product.
The goal: Imagine you are doing 3-D contouring (X,Y,Z) when someone
decides to sit on your gantry. An ordinary open-loop stepper or servo
motor would stall/fault-out and that would be that.
Now imagine the overloaded X-axis servo-stepper would just slow down
under this load. The other axis (Y,Z) would slow down as well, keeping
their speed ratios with the overburdened X-axis. The 3-D contouring
path would be strictly maintained albeit at a much reduced speed. Once
your friend got off of the gantry, speed would pick up to where it was
before. Your work would not be ruined.
How would this be done? Your step motors would be mounted with
encoders. The G100 would sense 1 or more motors are about to stall
(develop a phase lag of 1.8 degrees). The G100 would slow them down
and
back up the speed-torque curve to where more "grunt" (torque) was
available.
Steppers have the unique characteristic of having a speed-torque curve
where the slower you go, the more torque that is available. Can't do
that with a regular servomotor.
OK. That's the goal; that's the picture in my mind. Here's what has
been done by today:
I have a G100 driving a G201 running a step motor at 3,000 RPM (NEMA
23, 3A/phase, 24VDC). Open-loop, you so much as look at it and it will
stall. A flea landing on the shaft would stall it open-loop. I take a
pair of pliers and clamp down on a wet paper towel folded over the
motor shaft and all I get is steam. The motor will not stall. It slows
down under load but it delivers 50W to the paper towel/pliers combo to
make said steam. It goes all the way down to zero RPM without losing
position.
I ease up on the pliers and the motor is back up to 3,000 RPM
lickedly-
split, gives a chance for the boiling-hot paper towel to cool off. Not
a step has been lost; you just can't kill the motor (stall it).
This is just the first step (though a very important one) to integrate
the unstallable feature into a working CNC firmware. There are many
problems this feature presents.
Just right now, having it do what it does, has me totally stoked. It,s
so cool, jerk down on the pliers, motor slows down. Instruments say
it's delivering 95%+ of all it has to give at all speeds. Let up and
bing-boom-bam, 3,000 RPM again. Just can't kill it no matter what I
do;
very fine Friday nite indeed.
Before you ask #2: Yes, it will traslate into all step motors of all
sizes at all supply voltages at all speeds.
Mariss
Nicely done Mariss, congrats. I assume that when paired to Mach, for example, the G100 would signal so it slows down sending new coordinates - just like connecting the encoders directly would do.
JR
The idea of holding off new moves, till all the real positions are within tolerances with the command positions is very good. A "can not hold speed within a time frame" error is superior over "command position - real position exceeded x steps" error. This is workpiece saving.
I did the commutator thing a long time ago with the HCTL-1100. It also had adjustable phase advance, which gives higher torque at higher rpm. The difficult thing was that you had to get the alignment of the encoders right, because otherwise you had left/right turn performance differences. And it loved high encoder count. Good luck.
Carel
Implemented Hold-Off with plus/minus, so that a driven motor would also stop. The size of the margin is governed by the PID working range. If you put it within you get a limited constant torque drive.
Carel
Last edited by fkaCarel; 04-29-2006 at 11:01 AM. Reason: variable torque = limited constant torque
For anyone that may be interested, the stepper motors I sell are all setup
for encoders with a rear shaft and holes drilled and tapped .
Dan Mauch
low cost stepper and servo motors.
cases for Gecko drives
kits and assembled 3-4 axis drives
Dan Mauch
Camtronics Inc
dmauch@seanet.com
www.seanet.com/~dmauch
Any other progress on this project?
Dennis
Yes, but it is the mundane, unexciting kind right now. The best way I can describe a big project like this is to imagine a 1,000-piece jigsaw puzzle except you have to make or cut out each of the pieces, then put them together. I just got off of a 2 hour phone conversation with one of the "partners in crime" involved with this project.
Today the only exciting thing was I needed to get high-speed data from a motor. The motor is on a 24" linear stage (1 TPI screw). The speed was 50" per second (3,000 IPM and 3,000 RPM) operating closed-loop. The motor is NEMA-23, 3A/phase, 24VDC supply and a G201 drive. Not pushing the motor hard at all. Kind of impressive to move 24"" out and back in less than a second (0.95 seconds). If I have the time and people want to see it, I'll take and post a video.
Mariss
You're kidding, right? I'll go out on a limb and say that, well, some here might want to see it : -) Seriously, please do. I'd love to see that and hear the bang when it reverses direction.If I have the time and people want to see it, I'll take and post a video.
JR
4 feet per second is not as fast as you might think. The G100 is set on an S-shaped accel/decel curve. This makes all moves very slinky, smooth and effortless. No bang at all anywhere. Just very smooth and very quick.
Mariss