The Shop > CNC

Controller Hardware

<< < (3/3)

sparky961:

--- Quote from: nrml on July 25, 2016, 07:21:56 AM ---Sorry if this is a rather stupid question. Is the loop closed between the servo motor and driver or does it pass through the machine controller? Can a closed loop servo system be used as a spindle motor on a lathe to enable basic thread cutting function with a controller that does not accept encoder feedback?

--- End quote ---

I can answer the question of closed vs. open loop in a broad sense, but not specifically for any given system.  It's a bit simplified but hopefully gives enough info for the purposes here.

Open Loop:

Typically used with steppers because they have explicit angular "steps" where they may be held in position.  The controller assumes that when it sends out a pulse (with direction signal), the motor achieves the desired position.  With a correctly specified system that is functioning within designed parameters, this is a perfectly valid assumption. 

However, with "hobby CNC" you typically try to buy the cheapest or most readily available components.  Little or no design/engineering is performed to make sure that things have proper specs, so you usually end up with under-powered motors that can't be relied upon to position the system under load or high speed.

Closed Loop:

Any system that has a control signal and feedback.  In terms of CNC, we're usually talking about servos - which are essentially a motor that can be energized to spin either direction at various speeds/torque.  In a working system, the speed/torque is dictated by the controller, which figures out how much speed/torque and in which direction.  It does this by looking at the feedback signal, most commonly a rotary encoder of whatever flavour you prefer.  The rotary encoder enables the controller to know how far the motor (servo) has rotated

It's still possible to under-power the system, but it becomes obvious very quickly when you're trying to tune the system.  If an axis falls behind where it's supposed to be (similar to "missed steps" when talking about stepper motors) the controller knows and can flag an error and/or shut down the system.

--

Answering your thread cutting question, the controller needs to have feedback to coordinate all axes involved in the motion.  So I'd say that coordinated thread cutting would not be possible without feedback to the controller.  There may be a TACH/RPM input that could provide some limited functionality.

PK:

--- Quote from: nrml on July 25, 2016, 07:21:56 AM ---Sorry if this is a rather stupid question. Is the loop closed between the servo motor and driver or does it pass through the machine controller? Can a closed loop servo system be used as a spindle motor on a lathe to enable basic thread cutting function with a controller that does not accept encoder feedback?

--- End quote ---

Not a stupid question. 'Normally' the loop is closed in the drive. But there are cases where you want to close the loop in the machine controller.
Here's one I prepared earlier:


So the black rack mount case just contains a power supply and some PWM amplifiers. The PC has an FPGA card in it with the drive and loop closing logic programmed into it (google MESA IO).
The encoders wire directly back to that card.
Why do it this way?
Because it lets us turn the PWM amps and brakes off on the motors, move the arm manually and still read the encoder positions. We use this mode to teach a series of points that we later 'play back'
 

nrml:

--- Quote from: PK on July 25, 2016, 05:58:34 PM ---

Not a stupid question. 'Normally' the loop is closed in the drive. But there are cases where you want to close the loop in the machine controller.


--- End quote ---
Is my understanding then correct in the following scenario?
If I have a CNC lathe  with a servo motor spindle  and stepper motors on the X and Z axis, I can feed it G code to keep the spindle RPM at a certain number (automatically compensating for cutting forces within reason) while moving the z and X axis to cut threads without the machine controller doing anything but spitting out G code. This 'open loop threading' would be susceptible to errors but would still work with a basic Chinese control box.

John Stevenson:
Not going to work, the error would be too great and IF you were able to do one pass correctly and keep in pitch, when you went back for the second pass there is no way of starting at the same point.

Threading definitely need a closed loop from spindle to controller even if it is only a simple index pulse.

PK:
John is right. The controller needs some kind of indication of the spindles position and speed.

It's surprising how well a single pulse per rev works for this though.
So long as your cuts are light (which they should be for small threads) then you can do some amazing stuff.


I don't have any pictures of it, but I used to have this 'party piece' code that turned a 25x6mm, dual start, tapered ACME thread in some PVC bar. It was good to watch...

Navigation

[0] Message Index

[*] Previous page

Go to full version