Stuart Stevenson wrote: > Gentlemen, > Due to the recent in depth discussion of scales I am planning to > not use the scales on the G&L. I would like to try to use them. > I have seen one proposal to use them in the I component of the > PID. I would try this if someone had the code to implement this. > I have also seen where Fadal uses them to determine the > compensation values for the ball screws. This would be good also. The > difference I would like to see is this. The Fadal runs a special > program to determine the comp values and writes the comp tables with > the values. I would like to see continuous determination with a max > error value. The control would compare the error against the max error > value and if the error was more than the max value the control would > write a compensation amount into the compensation file. > Where in the code would be the place to implement this? > The G&L has 4 linear axes with A/C servos. Three have scales. The > X, Y, and W axes have scales. The Z axis (quill) uses the Z axis > encoder. > thanks > Stuart
Stuart: Regarding scales + encoders. I think I'm one of the people who says you could use scales if the PID loop got its velocity info from the encoders and its position info from the scales. There might still be complications, its one of those things that just needs to be tried. I'm willing to write the modified PID loop that would be needed. Of course, you'd have to be able to read both scales and encoders at the same time - that means twice as many encoder reading channels. If you have the hardware to do that, its not a big deal, but if if means buying another card it gets less attractive. Regarding using scales for screw comp - again you need to be able to read both at the same time. EMC can't change the comp data on the fly, and it would be a very serious rewrite to change that. Right now the comp points are read from the file in ascending order, and EMC computes the slope between successive points at startup to simplify interpolating between the points. Changing a point on the fly would also change the pre-computed slopes on both sides of the point. If you wanted to change the location of a point, not just the amount of correction at that point, it gets even worse. However, it _would_ be rather straightforward to gather the comp data automatically. A HAL sum block can be used to subract encoder position from scale position to get the screw error, and the sampler component can capture that error, as well as the nominal position, to a file at preset intervals. So you could just start the sampler while the machine is at one end of travel, and do a slow G1 move to the other end, while sampler records the data. I'd go slow to minimize the chance of error due to time-skew between readings - maybe 5-10 minutes to go from one end to the other, capturing a reading every second or so. 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 [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
