From: Jon E. <el...@pi...> - 2005-08-17 17:05:51
|
Phill & Fay Glasson wrote: > Gentle people, > I have trawled the FAQs and doco for some help with a problem I > have. I have also posted to the EMC User mail list , again, no help. > > You are my last hope. > > I have built a CNC mill from scratch, loaded and configured EMC BDI. > > The problem I am experiencing is that I cannot make INPUT_SCALE (and > OUTPUT_SCALE) small enough to reflect a configuration where I have > 200steps/rev and 1.25mm direct coupled lead screws. > From the doco I can find the value of I_S and O_S should be the > "Number of pulses required to move the axis 1 User Unit". That means > INPUT_SCALE should be set to "160". > > If I set I_S to any value below about "500", and test the distance > travelled, the axis will move at DEF_MAX_VEL for the required > distance, but then *continues* to move in the same direction at a > slightly lesser speed (seems to be around 50Hz) I don't believe there > is any cross-talk from my 240v circuitry, because at values above > "500" there are no problems. The only way I can stop the axis from > moving is to "exit" EMCtk. You have two problems that are causing this confusion. One, minor, is that at low scale factors, there is a lot of "room" between adjacent step locations. This causes the software to jitter endlessly between the two possible points to settle at. The fix is to increase the deadband parameter to at least 1/2 the distance between steps. So, if you have 160 steps/mm, deadband should be greater than 0.00625 But, the real problem is a step to direction timing problem. What EMC is doing, at 50 Hz, is bouncing back and forth between two adjacent step positions, ie. the dir signal is flipping after each step pulse. Your driver is apparently not responding properly to that, probably due to the timing requirements of the driver, and it is taking all those steps in the same direction. Fixing the deadband setting will only cover up the problem, you will still get positioning errors at direction changes due to the timing problem. There are settings for SETUP_TIME and HOLD_TIME that control the timing between the step and direction signals that may help. > Jon |