[EMAIL PROTECTED] wrote:
> On 12 Feb 2008 at 18:03, [EMAIL PROTECTED] wrote:
> 
>> EMC can do PID just fine.  It's steppers that can't.  Steppers lose 
>> torque as the speed increases.  There is no way around this, it's just 
>> the physics of the motor.  
> 
> 
> Did someone rewrite the spec for PID?
> 
No.  From: http://en.wikipedia.org/wiki/PID_control

"A PID controller attempts to correct the error between a measured 
process variable and a desired setpoint by calculating and then 
outputting a corrective action that can adjust the process accordingly."

That is exactly what EMC's PID loops do, when running a servo motor.  If 
the motor position feedback starts to fall behind the command, the PID 
loop asks the motor driver for more torque or speed (some drives do 
torque control, some do velocity control).  Assuming that the driver and 
motor has more to give, it does so, and the motor catches up to the command.

The problem with PID and steppers is that when a stepper looses a step 
because of too much torque load, it is already at its physical limit - 
it has nothing more to give, and a PID loop asking for more isn't going 
to get it.

> used to be a way of correcting a system or process in just the same way that 
> an operator 
> would, and it certainly didn't require any more torque, just a wait state.
> 
>> PID loop will attempt to correct for a 
>> lagging motor by requesting more "effort" from the motor. 
> 
> When did this become the *only* option PID had, more torque and overspeed?

That is the definition of motor control - change the motor torque so 
that velocity and/or position becomes what you want it to be.

> 
> I'm not trying to be funny here but I've used a lot of these technologies in 
> the past, and yet, 
> when it comes to EMC I'm starting to get the impression that some things are 
> done 
> differently.
> 
> I'm not quite sure why, I'm not even sure they are, but it is the impression 
> I'm getting, and I 
> hope I'm wrong.
> 
> 
>> Even if the motor just loses a step or two which is 
>> detected by the scale, you can't get it to catch up - it's already at 
>> the limit of its power envelope or it wouldn't have fallen behind in the
>> first place.
> 
> So, wait state, you surely aren't telling me that EMC will simply carry on 
> thinking it is 
> machining a part if the coupling between a motor and leadscrew fails???

It might, depending on the machine configuration.  And the vast majority 
of "professional" controls will do the EXACT same thing in that situation.

Exactly what happens when a coupling breaks depends on the overall 
system design.  EMC supports a whole range of machines, from the 
simplest hobby stepper system to industrial grade servo systems.

Stepper systems (ALL stepper systems, not just EMC) are inherently open 
loop.  The control has no way of knowing whether the motors and axes are 
responding to its commands.  You can usually "run" a stepper based 
control with the drives and motor turned off or not even installed.

The next step up is a closed loop servo system, with encoders on the 
motors.  Again, this could be EMC or any other control that can run 
closed loop servos.  The control knows where the motors are, and will 
correct errors when it can.  When it can't (for example, if the motor is 
overloaded, or something is solidly jammed), it will trip on a 
"following error".  Following error mean that the difference between 
commanded position and actual position has exceeded a user specified 
limit.  With feedback from the motor the control only knows that the 
motor is where it is supposed to be.  It has no way of knowing if the 
axis is where it belongs.  If a coupling breaks, EMC or any servo 
control with motor encoders will continue to run.

You could go one step farther and put the feedback device on the machine 
table itself.  And yes, this will tell you when your coupling breaks - 
you will get a following error, because the commanded position will be 
changing due to g-code, and the table won't move.  But when you do this, 
you WILL experience PID tuning difficulties if you have significant 
backlash, because the backlash introduces non-linearity and hystersis in 
the system transfer function.

The designers of industrial machines are well aware of this.  That is 
why most machines still use encoders on the motors.  Some machines use 
multiple feedback devices - if you have an encoder or analog tach on the 
motor AND linear scales on the axes, you can potentially get the 
benefits of scales while using the tach or encoder to improve tuning 
stability.  But backlash will still be a problem - any professional 
machine builder who tries to sell a machine with several thou of lash in 
the screws by saying "the scales will correct for it" won't be in 
business for long.

>> You had an incorrect assumption in your original email:  that using 
>> linear scales will eliminate backlash issues. 
> 
> NO, it won't eliminate it, but it will eliminate it from calculations, as it 
> gives true position, not 
> estimated position, then add fudge tables.
> 
>> This isn't true at all.  
>> Backlash is an uncertainty in machine position.  If you're climb 
>> milling, the cutter will tend to pull the table "ahead" of the motor.  
>> When conventional milling, the cutter will resist motor motion.  It's 
>> not possible for the control to know which type of cutting is taking 
>> place at any given time, and it may even vary within a move, so there's 
>> no way to "compensate" for it. 
> 
> eh, it is working from a tool path with a defined depth of cut and cutter 
> overlap from last pass, 
> direction of beds is also knows so "knowing" whether you are cutting on the 
> climb or the chip 
> is as trivial a logic problem as it is for a human operator.

You gotta be kidding.  You either greatly overestimate the ability of 
computers, or greatly underestimate the ability of humans.

A g-code program tells the control ABSOLUTELY NOTHING about whether it 
is in the cut or not.  It tells NOTHING about depth of cut, cutter 
overlap, climb or conventional milling, etc.  All it says is where to 
put the cutter.

No matter how smart the control (and it would have to be smart indeed to 
do the things you are talking about), it can't figure those things out 
without information about the part and the blank - information that is 
NOT in the g-code, and information that a human gets by a quick glance 
at the machine setup.

> 
>> Additionally, de-coupling the feedback 
>> from the motor, especially through a drive with backlash, will make the 
>> system very hard to tune.  The PID integrator will "wind up" as the 
>> motor starts to spin to take up the backlash, but the feedback won't 
>> change until the motor is already moving.  The motor will slam the table
>> into motion, at which time the PID starts to wind up the other way.  The
>> result is - you guessed it - oscillation.  This is very hard to tune
>> out.
>>
>> There has been some discussion recently about using both encoders and 
>> linear scales, but there isn't any software to do that yet.  I think 
>> this is the "different method of machine control" that Kirk is talking 
>> about.
>>
>> As for redundancy, since EMC takes encoder feedback, there isn't really 
>> any need for a DRO - the EMC display is actual position.
> 
> Listen, I know from experience that my words have a tendency to get people's 
> backs up, and 
> I don't want to do this, members of this list have been extremely helpful and 
> extremely nice.
> 
> But.
> 
> I'm getting an awful suspicion here, and that awful suspicion (and I dearly 
> hope I'm wrong) is 
> that EMC is going to suffer the same problems of many open source projects, 
> it's crap.

Calling something crap while at the same time demonstrating that you 
don't really understand what you are criticizing will tend to get 
peoples backs up.

> For example, you've got the gimp, and you've got photoshop.
> 
> It isn't about whether one is free as in beer or one can be modified, it is 
> about which one is 
> actually productive for those who wish to edit images only, and have no 
> interest or talent in 
> coding. Photoshop creams the gimp. The gimp is only free if my time is worth 
> nothing, eg 
> editing images is a hobby, not a job of work and not competing with a job of 
> work for my time.
> 
> I'm starting to suspect that EMC is a project that started out, not to 
> emulate the commercial 
> equivalents, but built bit by bit to do various things on the cheap, I'm 
> starting to suspect that 
> EMC is not a realtime machine control system, but rather an offline (non 
> realtime) simulator 
> that relies on assumption (I sent signals to move X 1.01 mm, therefore I 
> shall assume it has 
> moved 1.01 mm) 

It sounds like you have realtime vs. non-realtime control confused with 
open-loop vs. closed-loop control.

EMC is definitely realtime.

EMC can do open-loop OR closed-loop control.  The machine builder 
decides which one he wants.  That is you.  But you started this by 
looking for stepper motors, which are inherently open-loop.

> I hope this is not so and I'm wrong, because if not EMC is no use to me.
> 
> Please don't do the "well that's open source buddy and you can always code 
> your own 
> solution cos after all it is free software" thing on me, I'm not actually 
> here with my primary 
> concern being paying as little as possible or preferably nothing for 
> software, I'd be quite 
> prepared to pay for EMC, and as a long lime linux user I dig open source 
> (can't code myself 
> but there we go) but at the end of the day when it comes to all forms of 
> software I'm looking 
> for a tool to do a job, and I don't mind paying for a good tool.

You don't need to code your own.  EMC can do lots of things that you are 
not giving it credit for, WITHOUT coding.  (If you want to do coding, 
you can make it do even more.)  From here it sounds like you either 
haven't read the docs, or haven't understood them, or you have 
unrealistic expectations for ANY control system.

It doesn't matter whether you are using EMC or Fanuc or any other 
control, it is NOT going to be a turnkey item.  Integrating the control 
to the machine requires engineering knowledge.  If you have more 
sophisticated goals you will need more engineering knowledge.

Stepper systems on desktop mills are fairly easy, and we have tools to 
do almost turnkey configurations for those situations.  Full servo 
systems with encoders on the motors are more difficult, and nobody 
really enjoys doing PID tuning.  But we have numerous users who have 
managed to do the systems integration and are getting the results they want.

Servo systems which combine encoder or tach feedback from the motors 
with scale feedback from the machine table are currently the "bleeding 
edge", but some of us are experimenting with that, and I suspect that as 
long as the machine is fairly tight it can be made to work.

Steppers plus scales is another bleeding edge approach, one that in my 
opinion doesn't have much to offer.  It comes up fairly often because 
precisely because it is inexpensive, and the "cheap hobbyists" you seem 
to disparage so much are attracted by it.  So far, nobody has succeeded. 
  I suspect that IF it can work, it will require customizing EMC's PID 
loop.  EMC's modular nature actually makes it pretty easy to substitute 
a custom loop.  But steppers plus scale is not, and will likely never 
be, a turnkey setup.

> 
> For example, you say "As for redundancy, since EMC takes encoder feedback, 
> there isn't 
> really 
> any need for a DRO - the EMC display is actual position." and I'm sort of, 
> what??? encoder 
> feedback is only actual position if it is measuring actual position, eg 
> linear scales...

If you are sufficiently perverse, you can have EMC using one form of 
feedback to do the control, and use another form of feedback to display 
position to the user.  IMO that will make you like the man with two 
watches - you never really know what time it is.  The control and the 
display should be using the same measurements, regardless of what sensor 
they are coming from.

> Is this simply a case of linear scales used to be frighteningly expensive so 
> the EMC coder 
> ignored them and went with the cheap option, and then started fudging around 
> to try to fix the 
> problems associated with going the cheap route?

EMC was initially written (in the mid 1990s) to use servo control ONLY, 
with encoders (or scales, on a tight machine).  Steppers were added 
LATER.  The "cheap coder" at that time was a PhD working for the US 
Government with a shop full of very expensive machines to experiment on. 
  Before you start taking cheap shots at something its good to have your 
facts straight.

> I'll grant you that rotary encoders on the leadscrews can be pretty accurate, 
> emphasis on 
> "can", if you retrofit with class 5 rolled ballscrews and scrape the ways, 
> but if you're using 
> trapezoidals fuhgeddabadit...
> 
> Again, I'm not trying to give offence, but I'm wondering what sort of people 
> are members of 
> this list, how many are turners, how many are coders, how many are hobbyists, 
> how many 
> think that an encoder set up that displays numbers accurate to a few micron 
> is suddenly 
> going to allow you to make chips to that same level of "accuracy"?

And how many think that a linear scale that displays numbers to a few 
microns is suddenly going to allow a stepper machine to make chips to 
that same level of accuracy?

> Yesterday I bought the DRO and sino scales as I said, the whole package with 
> everything 
> (extras) thrown in and a couple of other items was just under 500 quid, an 
> hour later I 
> ordered a sheet of 10mm 5083, it cost just about as much as the basic dro and 
> scales, for 
> me my time is money and for me materials are money, if EMC isn't going to 
> save me time 
> then I'm better off paying money for commercial closed source software, and 
> if EMC is going 
> to try to force me to work wihin arbitrary parameters like you can't use 
> linear scales and 
> steppers because of the way the code is written then EMC just did a kcad and 
> gimp on me, 
> which is a shame, but this isn't a hobby when you start spending hundreds of 
> pounds on 
> materials.

It's not the way the code is written.  It is the physics and the control 
theory.

I suggest you contact Fanuc or Haas or one of the other high end control 
makers and ask them about steppers plus scales.  You'll have to pretend 
  to have very deep pockets to even get them to talk to you, and I 
sincerely doubt the conversation will last long after you mention steppers.

Then try calling Centroid, and ask them about steppers and scales.  They 
probably won't hang up on you, but they won't want to do steppers plus 
scales either.  They will sell you a $9000 or so servo based system 
(with encoders on the motors).  It is fairly close to a turnkey system, 
I think all you need to do is mount the box and connect the motors.

Then call Mach (Artsoft) and ask about steppers and scales.  They will 
tell you the same thing, then sell you some fairly inexpensive closed 
source software, which supports steppers or open-loop step/dir servos only.

If you really want to use steppers and scales together, thats fine.  It 
can be fun to explore new territory.  EMC is the most flexible system 
out there, and probably the only one that would let you experiment with 
such a configuration.  But you said you want to make parts, not 
experiment.  In that case, choose either open loop steppers,
or conventional closed loop servos, and start making chips.

Regards,

John Kasunich

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to