Thanks for your replies, everyone. I've been away from work for the weekend, hence the somewhat late reply. In response to some of the comments, though:
To begin with, the stage is basically a turn-key stage, which is why the output resolution is so high. IIRC, it's the lowest resolution they had available. That is, the encoders themselves have a 20 micron resolution, but stock 200x multipliers/interpolators are connected between the encoder output and Motenc-Lite input, thus giving 0.1 micron resolution to deal with. The motor amplifiers etc. all come with the stage, so they are a proper match. Now, I am well aware that running such a monster while not being able to cope with the encoder counts the table COULD generate at max grunt is very dangerous, which is exactly why I turned to you. I don't intend to have it run at the maximum velocity of 2m/s, nor am I trying to overcome the static friction of the bearings (which closely matches the dynamic friction) with a large amount of velocity, that just doesn't make sense. I was just wondering how to get rid of the hysteresis in the system. Let me explain this here. In a spindle stage, there's a fairly rigid relationship between the motor position and the position of the load. With good quality spindles, there may be a couple of microns to 0.01 mm backlash, but that's pretty much it. In the case of a linear motor, this doesn't quite hold true anymore. The motor position is actually the phase position of the magnetic field (which is obviously also the case with a standard rotary motor, but the pole period is a lot smaller), with the only coupling between 'motor' (field) and load being a magnetic 'spring'. So imagine your load rolling on a set of bearings with a certain amount of friction. Your motor is trying to move this load, but it's connected by a spring instead of a rigid connection. In the case of our stage, the field position can move approximately 1.2 mm (!) before the load actually moves. With a max. velocity of 200mm/s, this is quite a long time in case of a change of direction. What it boils down to is this question: what is the quickest way to remove this 1~1.2mm hysteresis/backlash without being limited to 200mm/s **for the purpose of backlash removal ONLY**. Fortunately, I think I've found the answer. Given the fact the motors are directly commutated (and the field can move 'infinitely' fast) and the friction and hysteresis are nearly constant (which I've verified by measurement), it's possible to add backlash compensation to the three-phase motor driver component. Right now, I am thinking about applying an offset (0.5 * backlash) to the field phase according to the commanded velocity/acceleration. This way, it basically gets a preload in the proper direction, even before the PID loop actually has to worry about it. Another way of seeing this is the 'motor' (field, actually) jumping to the correct position for compensating the backlash in an infinitely short time, after which it will immediately switch to the commanded velocity, which can be safely limited to, say, 175mm/s. Does this make sense or do I really need to get me some coffee now? ;-) Marc. ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. 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