How to use encoders instead of servos
I am kind of new to the whole CNC thing, but have a strong electronics / electrical background.
Basically.. I would like to build a CNC machine that uses an outside sensor to tell the CNC program when the machine has reached the desired location instead of the CNC machine just telling a servo motor to move a certain number of steps.. I want the freedom to use whatever motor I want to drive the machine in the desired direction, and use a sensor like an encoder, or some other type of sensor to tell the CNC software the location that the machine is at.
This will give me the option of using anything to drive the machine to the desired location, even pneumatic pistons if I wanted.. I just don't want to be limited to the power / speed / size of a servo.. even tho I know they come in lots of different sizes etc.
So how do I go about using a sensor to tell the machine where it is instead of the software telling a servo to move a certain number of steps?
I plan to use Mach3.
Re: How to use encoders instead of servos
Kfkop board and linear encoders would probably work. Mach3 probably not.
Re: How to use encoders instead of servos
So you are saying I cannot use Mach3 with linear encoders or "kfkop board"? not sure what that board is but I will look into it..
Re: How to use encoders instead of servos
You can use mach3 with k-flop but the software they provide is better in many ways.
Ben
Re: How to use encoders instead of servos
I don't get what you are looking to achieve that is not accomplished by any fully closed loop servo system.
The whole idea of a servo is that the loop is closed via an encoder or other feedback element, known as the PID loop, This is done with Mach except that it is the drive that closes the loop, Mach as the trajectory planner does not know the position.
For this you would need Kflop or the Linux based EMC comes closer to it, there is also Galil Motion cards that come close as any to commercial systems.
Al.
Re: How to use encoders instead of servos
Thank you for the information.
Yes, I am looking for some type of closed loop control. I don't want the closed loop feedback to necessarily be from specifically a servo mounted encoder.. I would like the closed loop feedback to come from whatever sensor I choose to use. something that resembles something more like the linear encoders used on printers.
when you say "The whole idea of a servo is that the loop is closed via an encoder or other feedback element, known as the PID loop" This better describes what I am looking for. I don't want to use the servo's encoder as the feedback element, I would like to be able to use an alternate sensor. Just as an example pulled out of the air, lets say this feedback comes in the form of a resistance range from 100 ohms to 1kohm. What form would I need to convert this feedback information into if I was to feed it into a kflop board for example? (a voltage, a series of voltage pulses, a resistance, or something else?)
Mach doesn't necessarily have to be the software I use. I am open to suggestions as I am at the first stages of my design.
Re: How to use encoders instead of servos
To preach on this subject for a moment, a servo drive closing the loop isn't fully closed...steps can be introduced with interference before the loop becomes closed. Mach3 with the flop board might close the loop all the way back, had not considered that bit probably it would, provided the servo encoder signals come came to the flop board. But, to use any type of drive, glass encoder scales or similar would be the only way I think.
Re: How to use encoders instead of servos
The encoder goes to the Kflop board and this is where the tuning is done, if the Kanalog is used, it enables the use of non-intelligent drives as the loop is closed from encoder to trajectory controller, I use this method in Galil cards which offer true closed loop, and allow such features as Electronic gearing and electronic Cam, Gearing of one motor off of another.
The methods of feedback are pretty tried and true, the quadrature or absolute encoder still reigns, there is revolvers, but they are not used that much any more.
As to controlling Hydraulics, Bosch made a hydraulics CNC machine using cylinders and servo valves with encoder feedback several years ago.
Al.
Re: How to use encoders instead of servos
Don't get me wrong.. I am not looking to reinvent the wheel or anything. I am relatively new to the cnc world and am still putting the whole process together in my mind.
So If I was to use a kflop board with kanalog attached, (I would use them together, right?) then the signal from whatever encoder i use is sent to the kanalog board, right? and the kanalog board uses the information from the encoder to basically count pulses, or rising and falling edges of a digital signal... so basically the kanalog board just counts how many off and on pulses it gets from the encoder?
Are there any boards or such things that takes more detailed information from an encoder or position sensor, other than just off / on pulses of a square wave? Do any of the boards actually read a more accurate location from the encoder / position sensor, or do all the encoders basically just output a square wave to whichever board you are using, and the board counts those pulses and applies any needed corrections so the system knows the exact position the machine is at?
Re: How to use encoders instead of servos
Kanalog is needed for most encoders and a better setup but flop can handle some itself it that works out. As far as the encoders go, I thing that is how most of them work although some newer drives use packets with error detection which is nice
Re: How to use encoders instead of servos
Get yourself Edingcnc. Closed loop no problemo and software is included.
actually closed loop if the drives are closed loop. In other words returns an error to controller.
Re: How to use encoders instead of servos
My systems are closed loop and there is no feedback to the drive whatsoever, only the motion controller?
Al.
Re: How to use encoders instead of servos
There are hysteresis issues doing what you describe. It is very difficult to get a stable system with the feedback mechanism separated from the motor. If you want to use positional feedback from the load, the correct way is dual loop servo control. I believe KFlop supports it and Galil boards do.
For a good explanation of this, I suggest you go to Online Videos | Galil and watch the video "Dual Loop Compensation Methods". Registration is required to see the videos but it is well worth it.
bob
Re: How to use encoders instead of servos
Al.. would you mind telling me what your complete setup consists of? How did you accomplish closed loop, what motion controller, what other boards are required, and what motors? thanks
Re: How to use encoders instead of servos
The traditional definition of closed loop consists of a controller capable of PID control via a servo and feedback element.
In my case I use a Galil controller, this offers ±10vdc analogue control to torque mode drives (Transconductance amps) A-M-C, Copley Controls, Aerotech etc, the servo motors used are varied makes of DC brushed to BLDC , both with incremental encoder feedback.
The Galil boards vary from PC slot based to stand-alone, with encoder frequency response of 12mhz. Galil will also supply a break out module from card to drives and I/O
Al.
Re: How to use encoders instead of servos
Quote:
Originally Posted by
G59
Get yourself Edingcnc. Closed loop no problemo and software is included.
actually closed loop if the drives are closed loop. In other words returns an error to controller.
Does the Edingcnc boards correct the error or just notify the controller there is one?
Re: How to use encoders instead of servos
Stops all motion.
Does not clear the error on the drive.
Re: How to use encoders instead of servos
Not the same thing then. Not even close really. My system has that but that doesn't detect an electrical interference error that puts in extra steps, let alone make corrections to allow the program to continue . A closed loop to the controller could, save for same type of issue on the encoder signals.
Re: How to use encoders instead of servos
No, certainly not like the galil motion controller.. But, edingcnc can be restarted at current line where the fault has occurred after clearing the drives error.
What you are referring to is called proprietary software and hardware. Yes Galil does that, but without a readily available GUI to implement or manipulate files or setting the machine up with, it becomes a painful process.
If galil had that, (they did at one time), then of course I too would go that way.
Re: How to use encoders instead of servos
In my case, what I can do is issue a E-stop which disables the drives and physically move the axis off of a crash or other emergency situation, then re-energize the system and resume without the need for re-zeroing.
Al.