Jim Fleig - CNC Services wrote: >In conversation with a supplier of motion control products for EMC and Mach3 >the discussion of PID loops arose. The discussion was in the context of servo >driven systems. > >Here is some information that I would welcome others review and comment. >There are no flames in the following and there is not intent to start any >flaming. An apples to apples comparison is being sought. > > In the same vein ...
>A system has to be chosen for to retrofit a mill that will be cutting 3D >surfaces. Curve intersecting curve intersecting flat on an angle, etc. I >have retrofit similar mills with Centroid systems and the users regularly >program at 100 ipm and observe that the mills average about 60 ipm (as low as >10 - 15 ipm in very curvy detail or tight corners and up to 95 ipm on almost >flat curves and wide open corners). Does anyone have experience with EMC or >Mach3 achieving the same level of performance as the Centroid system? If yes, >what configuration was used? > > It should be possible, depending on the acceleration of the motors. If it's a block processing speed issue, then it may depend on the size of the individual moves - 10000 moves of 0.0001 inch each are a higher CPU load than one move of 1 inch. EMC2 has a "Naive CAM detector" which will aggregate multiple short moves into a single longer move, keeping within a certain tolerance. This is activated when you use G64Pxx, where xx is the tolerance you want. You can load some example of the code in the EMC2 simulator (or using a sim config) and see what happens to effective feed rates. >For emc, the PID loops are in the PC software, for Mach3, the PID loops are in >the motion control hardware. > > Yes. You have to be careful here. "Motion control hardware" could mean anything from a Galil DSP-based smart servo control card to a step-to-servo motor drive, such as a Gecko G320/G340. With EMC2, the position control loop is in the PC, but the velocity and/or torque loops are usually in hardware, in the motor drive. That's not strictly required, there has been some success directly driving H-bridges from EMC2, but it's not common to do this. >EMC's PID loop has a cycle rate of 1000 times per second. Is this a fact? If >yes, are there any options to get the PID loop to run faster? There is motion >control hardware available for Mach3 that is capable of a PID loop with a >cycle rate of 5000 times per second. > > The servo loop rate is set in the ini file. The default is 1000 times per second, but depending on your hardware (both "motion control hardware" and the PC CPU), you should be able to go faster. Some PCI controller cards, coupled with a fast-ish PC, should be able to get to the 10 kHz range. >Although EMC receives feedback in realtime it does not adjust commands to the >axes if the axes are getting closer to exceeding the following error limits. >I do not know this to be true. This is a statement from the supplier of >motion control hardware for EMC and Mach3. > > This is false. PID by definition changes the command output as the error changes (unless you explicitly set all the coefficients to 0). The PID in EMC2 is actually PIDFF - there are "feedforward" terms, which can pass changes in control input directly through. This improves response significantly, since no error is required to get an output. PID coefficients are applied to the position error, so normally there can be no output until some time after a command to change position has arrived. FF coefficients are applied to the command input, so they generate some output immediately. >Mach3 is an open loop system sending commands that are managed by the motion >control hardware which will shut down if the following error limits are >exceeded and then tell the Mach3 system that it has shut down. > > Yes. If that's enough for you, then you can use EMC2 in the same way. There is nothing that Mach can do with hardware that EMC2 can't, except that EMC2 expects to use dumb hardware, and Mach must use smart hardware. (note: step-to-servo drives are smart in this context, because they get position commands (in the form of up/down steps) from the controller, and they manage how to track those commands) - Steve ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
