Max performance
Is it possible for EMC to control modern servo's with high rapid rates say 2400IPM and high feedrates, 1200IPM, I assume no chance with the ltp port but with a plug-in card/usb/cat connection?
Please Log in or Create an account to join the conversation.
s it possible for EMC to control modern servo's with high rapid rates say 2400IPM and high feedrates, 1200IPM, I assume no chance with the ltp port but with a plug-in card/usb/cat connection?
What positional tolerance would you need during the cuts? Assuming that you would need 0.0001" that seems to indicate a position update rate of 200kHz. I doubt EMC2 can do that.
If the spec is 0.001" tolerance during the fast cuts, then the answer is a qualified "maybe". I have run a 10kHz servo thread on an Atom board, I think that Pete has gone faster.
If you are using brushless servos you would probably need quite a low pole-count and fast leadscrews.
If we assume that you can run a 20kHz servo thread and have 4-pole motors and 4tpi ballscrews directly coupled then I get 31 updates per motor pole, which sounds plenty.
You might have problems with encoder resolution/count rate. For 0.0001" resolution on the 4tpi screws you need 2500-count encoders. That seems to indicate 200kHz encoder counting for the cuts, which the Mesa cards can handle. I am not sure that they could keep up during the rapids though. Mesa could probably advise on the absolute maximum count rates, but I think you would certainly need to choose your encoders carefully.
Please Log in or Create an account to join the conversation.
Also the motor drives will have bandwidth limits in the couple hundred Hz to ~1 KHz region due to motor inductance (and random delays due to unsynchronized PWM switching) This in itself make sample rates over 10 KHz or so not of much use for medium to large size systems
Another way of looking at errors vs sample rate is by seeing what the maximum error you can get to with a full scale step in torque load. Say you have the 1200 IPM cutting speed and a fairly aggressive 0.1 second acceleration to full cutting speed (200 IPS/S) if we use this max acceleration for maximum load step size (this splits the load/acceleration torque budget of the motor 50-50) we can calculate how far our position can be off in single sample. With a 1 ms sample time the error distance traveled will be 1/2AT^2 or .0001" . Notice the inverse square of the sample period, so this gets smaller very fast when you get above 1 KHz.
A higher sample rate _will_ improve the loop phase margins, allowing more PID gain
The Mesa HostMot2 encoder counters with filtering on count to 4.4 MHz (5I20/5I25) or ~5.3 MHz(all other FPGA cards) Normally the encoders will be the limiting factor
Please Log in or Create an account to join the conversation.
Nevertheless I've had a look at some replacement modern AC Servo's and they are over 100K steps per revolution on the encoder, in the faster systems I believe these are coupled to 20mm pitch ballscrews.
Please Log in or Create an account to join the conversation.
The HostMot2 counters can do that easily with the filter off (assuming these are quadrature encoders)
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Staying on this topic, what about the acceleration curve? Can EMC be set to accelerate the motor like a modern control which uses an S curve or "bell" curve? Part of getting high performance is not the top speed but the acceleration, with mach one can only have a linear acceleration, which of course then limits one as well.
EMC2 allows you to set acceleration limits for each joint individually. This gives you "S curve" profiles in velocity.
EMC2 does not, currently, do jerk limitation. (d3x/dt3) though there has been some talk of implementing it (so, no S-curves in accelleration)
I am pretty sure that jerk limitation doesn't have any axis performance impact, but it will make the machine tend to leap around less.
There has even been talk of going as far as allowing a jounce limit in EMC2.
en.wikipedia.org/wiki/Jounce
If you really need jerk limitation, it would be easy to modify the limit3 hal function to implement it and to interpose that between the motion controller and the hardware driver.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.