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

Reply via email to