Homemade CNC 2 spindle lathe question

To All, The control on one of my CNC lathes has failed to the point that repair is more expensive that replacement. Even though it's going to be expensive a new control opens up all sorts of possibilities. One feature that would be really nice would be synchronised dual spindles. This would allow work to be done on both ends of a part before it comes out of the machine. I'm looking at various makes of software and am leaning toward MACH 3. I'm thinking of mounting the spindle in the tailstock and driving it in the Z axis with a ballscrew. But the real problem is getting the rotation exactly the same as the main spindle. One way I can think of is to use an encoder on the main spindle to provide a signal to generate step and direction pulses. These pulses in turn would be used with a servo amp from Gecko. I have already built a device that uses the signals from an encoder to generate step and direction pulses which in turn are used with a stepper driver to index a stepper motor. So maybe the Gecko servo amp could be given signals from the main spindle encoder while the part is being swapped from one spindle to the other and then the speed controlled by the CNC control while the part is being machined. Anybody have a better way? Thanks, Eric R Snow

Reply to
etpm
Loading thread data ...

This is a whole different price range: $5 - 10K+. A Galil card (galilmc.com) with a camsoft host control could easily handle this and much more. Email me off list if you're at all interested.

Karl

Reply to
Karl Townsend

The problem that I see is that the spindle will be moving at a constant speed, while the tailstock spindle will be doing a series of stops and starts which will result in wear on the jaws of the tailstock chuck and on the workpiece harming its finish. During the time when both chucks are gripping, you will be subjecting the workpiece to torsion vibration too.

Note that a servo motor *can* run at a very stable speed, when controlled by a true servo amplifier and with tach generator feedback. You could probably even do what you need with an extra tach generator on the headstock spindle generating the command voltage to the true servo amp.

The Gecko servo driver, however, does not pay any attention to the tach generator on the servo motor (if it is present at all), but moves the motor in steps just like a stepper motor -- paying attention only to the encoder.

I would go with the tach generator on the headstock spindle, and a matching tach generator and servo amplifier on the tailstock spindle motor. Bring the chuck into position almost but not quite touching the workpiece in the headstock spindle, and slowly tweak the gain for the tach vs the command inputs on the servo amplifier until the two are moving at precisely the same speed. (One trick would be to cylinders of glass or quartz with bar patterns on them and a light inside. Then, no matter how fast the spindles are moving, if they are at the same speed, the light will be at a constant brightness. If they are out, there will be a pulsation in the light intensity, and the slower the pulsation the closer to the same speed you are.

I think that your start/stop motion of the Gecko driven spindle will be a problem -- so go for true servo amps as described instead.

Good Luck, DoN.

Reply to
DoN. Nichols

Thanks for the offer Karl. I'll think about it. I've looked at Galil stuff in the past and ended up with an Ajax control which is just a DIY Centroid control. Cheers, Eric

Reply to
etpm

Greetings DoN, Are you sure about the stepped motion of the Gecko drive? It is not driving a stepper motor, but a servo. It keeps track of position by converting the encoder pulses to a + or - voltage. And how is a Gecko drive not a real servo amp? Your light calibration method is only a one time thing isn't it? Anyway, if the spindles are turning fairly slowly when the swap is done I'm thinking that would be easier for the Gecko to keep track. I guess what I need to do is mount an encoder to the lathe spindle, another to the servo I plan to use, and see how close I can get. And how long it takes each time for the spindles to synch. Thanks, Eric

Reply to
etpm

Gecko servo drivers do not "move the motor in steps". The power is applied continuously just like an analog servo, and the shaft moves continuously. You may be confusing digital servos and digital tachometers with steppers. Geckos are digital closed-loop feedback controls identical in principle to an analog tachometer feedback type. The same computation is made, just digitally instead of an analog computation.

A digital servo runs "at a very stable speed" when the feedback is critically- or over-damped. Just like an analog servo.

Reply to
Richard J Kinch

Tachs are so 70s . Modern servos calculate velocity digitally from the encoder signal. I've been designing and building equipment with servos for a long time and haven't seen a tach on a new installation for at least 20 years. If an analog voltage proportional to velocity is required there are black boxes available that will do so by monitoring the encoder.

Incidentally, Jacob Tal - the founder of Galil, mentioned elsewhere in this thread - gets much of the credit for the commercialization of digital motion control in the early 80s.

Reply to
Ned Simmons

Greetings Ned, What do YOU think of using the master spindle encoder as the source of the step and direction signal to spin the second or slave spindle in synch with the master? Thanks, Eric

Reply to
etpm

I don't think it would be a problem swapping the part as you're suggesting. What would concern me is the fact that you'll also need to drive the second spindle with the Gecko servo drive at high speed when you're machining the part, and there's no easy way to remove the step and direction translator and associated PID loop from the system. It may be difficult to tune the PID loop to get acceptable performance at both high and low speeds with varying inertia and cutting loads.

With a discrete motion controller and amp, it would be easy to switch control modes, or even tuning, in software when changing from handoff to machining.

Not saying the Gecko won't work, depending on your requirements, but something to keep in mind.

Reply to
Ned Simmons

I just finished responding to your original post, Eric. In short, I think synching the spindles is a no-brainer. My concern is whether the Gecko drive can be tuned to give acceptable performance under the various load conditions. It's an easy test if you have the hardware available - say a motor, drive, and pulse generator and the means to hang various loads and inertias on the motor.

Why do the spindles need to rotate for the transfer?

Reply to
Ned Simmons

So I don't have to wait for the spindle to stop. But the transfer could be done with the spindles stopped. I do already have the hardware. It's time to run a test. Eric

Reply to
etpm

[ ... ]
[ ... ]

But -- it is trying to make the servo motor take the place of a stepper motor -- driven by a series of pulses instead of an analog speed command signal.

Having considered the Gecko drives for possible use on my mill refit I spent some time looking into them.

1) There is no provision for connecting the motor's tach generator (speed feedback) to the Gecko so it has no way of telling how fast it is moving -- just where the encoder says that it is at the moment. 2) There is no analog command voltage input to the Gecko to say how fast you want it to move the motor -- just step and direction signals.

So -- assuming that the motor is starting from a stable position, when it gets a single step input pulse, it causes the motor to move in the right direction so the encoder tells it that it has done what is needed.

I don't know the fine details of what it does internally, but if I were designing that I would include two up-down counter and a comparator which would output the difference, and use that to feed a D-A converter to feed an analog voltage to a true servo amp so the more behind it got, the faster it would run the motor.

I don't know whether the Gecko is as elaborate as that, however. But I do expect it to move rather rapidly on a single step input, since it does not know how soon the next pulse will arrive and it doesn't want to get behind.

A *real* servo amplifier is an operational amplifier (op-amp) with a high voltage and high current output stage. It takes a command voltage proportional to the desired speed, and increases the voltage to the motor until the tach generator produces an output voltage corresponding to the desired speed. I've set one up with a 10V signal corresponding to the maximum speed for the motor from the servo amp's

+/- 40V output range (about 2000 RPM). If I input a signal of 0.1mV (0.0001V) I have to put a piece of tape on the motor shaft to be able to see its motion, so it has a very wide range of precise speeds. I expect that speed to be 0.04 RPM, or 1500 seconds per revolution. And if you add a load to the shaft, it will *still* rotate at the commanded speed, but just draw more current.

Because a real servo amp does not use pulses as input, it uses an analog voltage proportional to the desired speed. And you just set the voltage and forget it until you need to change the speed (say when the encoder tells the controller that it is approaching the destination).

The Gecko requires a constant flow of properly spaced pulses to keep it moving.

Yes.

And if the speeds are slow enough, you can hook a differential to the two spindles, set one motor up to run in reverse, and observe any rotation of what normally would be the input shaft, but which is now an output shaft. Tune for zero speed and you are fine for a reasonably quick transfer from one chuck to the other.

I'm mostly worried about the headstock spindle moving at a constant speed, and the tailstock doing a series of start-stop jumps. Of course, if the headstock is also driven by a stepper motor with the same number of steps per revolution, you could drive both from the same pulse train and you would be fine.

That -- and some way to see what kind of stresses are applied to something chucked in both at the same time.

Enjoy, DoN.

Reply to
DoN. Nichols

So -- how do you input a desired speed with just pulse and direction signals?

It could -- with a sufficiently complex circuit -- but I don't see the way to command a Gecko to run at a constant speed with either an analog signal (which is what I would provide) or with writing of a digital word to it. It just has single bit step and direction inputs.

If you have the gecko "servo" drive and a servo motor, put a piece of tape on the motor shaft, and then feed the gecko say one pulse per second. I'll bet that you see it twitch with every pulse, instead of moving smoothly.

Enjoy, DoN.

Reply to
DoN. Nichols

How can a CD player make music, when it's just bits that are on and off?

Complex circuit? A square wave of a given frequency is all you need to run a Gecko-controlled motor at a given rpm. That's a simple signal generator circuit, or easily synthesized in real-time software. That you "don't see the way" to something doesn't mean it isn't an ordinary application.

Reply to
Richard J Kinch

That is your problem. It is more elaborate than that. You can download the documentation, which includes the theory, at

formatting link

You are describing an *analog* servo. A digital servo is just as "real". Unless by "real" you mean "what I happen to know in my limited experience".

Reply to
Richard J Kinch

They've gone with cluttering up their site with Flash and JavaScript. But the PDF manual still says what I remembered from the one which I downloaded when I was considering that as a possible thing to use in my Bridgeport upgrade.

The Gecko G340 *still* uses step and direction inputs, which means that you can't say to it "Move three inches in 15 minutes" or something similar and then sit back and let it move on its own. You have to keep feeding it steps. Yes, you can jumper it internally so it will *always* step up to ten steps for one input pulse -- but it will do them in a sort period -- not over a long time. And you can't change this from the computer control to allow faster motion when you need it and then finer resolution when you need *that*.

It *still* does not have pins to connect the tach feedback to allow it to measure (and thus control) the speed. It *only* uses the encoder for feedback, which limits it to steps of the size of the encoder's motion.

A look at the schematic says that it is doing things pretty much as I would do it (and as I described it somewhere in this thread) with counters and a digital comparator (adder). It can get 127 steps behind before it gets lost. After that the sign of the error signal is reversed and the motor will want to move the wrong direction until it zeros out the difference.

The extra set of 4-bit counters and comparators feeding a VCO (Voltage Controlled Oscillator) is obviously to change the pulse rate of the generated pulses when you select 2, 5, or 10 pulses of motion for one pulse of input. But no matte what, it will not go slow enough to emulate a DC servo with a very low speed command voltage.

And the Gecko G340 is designed to allow a DC analog servo motor to take the place of a stepper motor -- not to drive an analog servo motor as an analog servo motor is designed to be used. The benefit of a DC servo motor and the Gecko is that you can have a faster move when you are not cutting -- real steppers have a limit on how fast you can step them, as well as how fine a motion you can accomplish.

There are, of course, AC servo motors as well. I have a couple of machine-tool sized ones but have not yet used them -- no amplifiers/drivers for them yet. But I have used the tiny 400 Hz AC servo motors used in aircraft analog computers and such.

Now -- I would expect a true digital servo to accept a command to move at a given speed -- but with an 8-bit wide direct input instead of sequential step and direction inputs. The Gecko G340 is a "pretend I'm a stepper motor, so I can be used with old (or limited) controllers which expect only stepper motors.

I still say that you can't give it a pulse, wait a minute, give it another pulse, repeat and have the shaft move at a constant speed. It will move rather quickly after the step (at a speed set by the damping adjustment) and then wait still until the next step.

And thus -- I expect the tailstock spindle (which started this discussion) to move in steps, while the headstock spindle (unless it is also driven by a similar motor and driver) will work at a smooth constant speed while not cutting.

Enjoy, DoN.

Reply to
DoN. Nichols

Which is exactly what it can do, and more, via software.

No. That's just not the case. You don't understand the principles.

Reply to
Richard J Kinch

Because the bits are converted to analog voltages during playback -- and come fast enough so you can't hear the steps from one sample to the next.

You missed the "*constant* speed" part. Yes, the average speed will be what you want, and is fine for most purposes. But when you need to synchronize two chucks to transfer a workpiece from one to the other you want both to be running at an identically smooth speed so your jaws of the closing chuck don't scrub marks into the workpiece, as will the jaws of the opening chucks.

And for *my* reason for wanting analog control of DC servo motors, I want to mill angles which are almost, but not quite parallel to one axis without resulting in a stairstep pattern in the workpiece. This is a lot easier to do with an analog DC servo motor and a traditional op-amp style driver. Of course, you can use micro-stepping, with a tradeoff of torque vs step resolution.

Yes, you can gear things down enough so the steps will not be visible -- but that means that your maximum rapid movement will be significantly limited -- since stepper motors just give up after a certain step rate. You can get there a little faster by ramping up the step rate, and then ramping it down at the other end (thus the

"bwooeeee .... eeeeeooop"

sound such as my Compact-5/CNC lathe produces) -- and with the Gecko G340 driving a DC servo motor, you don't have that problem at least.

Enjoy, DoN.

Reply to
DoN. Nichols

I have servos about coffee can size on my CNC plasma table.

There are gray code encode on the back - replaceable by part number.

I can cut something out and have it move to home at 1000.0 inches /minute and control the G in the turns. I can cut that fast, but thin stuff is scary. Some .047 Al I cut at 600 in/min and I thought the head would fly off.

The G code simply says to there and it is limited by G forces and speed control. When I order it to go home or INIT, the unit goes to an axis and detentes and that axis is halted while the other continues until a detent. (switch closure).

Martin

Mart> >>

----== Posted via Pronews.Com - Unlimited-Unrestricted-Secure Usenet News==----

formatting link
The #1 Newsgroup Service in the World! >100,000 Newsgroups

---= - Total Privacy via Encryption =---

Reply to
Martin H. Eastburn

I was talking about the theoretical digital drive alone accepting 8-bit parallel input commands -- without help from an external controller.

The Gecko cannot do this alone. And it cannot implement a smooth step-free rotation at very low speeds. An examination of the block diagram and a knowledge of digital and analog circuitry verifies this to me.

I believe that it is *you* who does not fully understand the principles.

Have you tried my proposed experiment with a DC servo motor and the Gecko G340, and a 1 PPS pulse train with a tape flag stuck on the motor's shaft?

If you are willing to ship me a Gecko G340, I have the necessary equipment to perform the rest of the experiment.

For that matter -- I suspect that you could *feel* the one step per second motions just by lightly gripping the shaft between thumb and forefinger.

Enjoy, DoN.

Reply to
DoN. Nichols

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.