Richard Everett wrote:
Hi Jon, I think I am in big trouble. I looked at the fanuc motor encoder on my mill, and it said 2500 counts/rev. I thought to myself, wow! 2500 counts in quadrature, thats going to be a lot of steps/inch. I loaded up emc with steppermod.o selected, and input and output set to 2500, velocity set to 5. I hooked up the gecko 320 drive to the motor and parallel port, and directed emc to move 1 inch. The motor rotated exactly 1/4 turn! My dang encoder is TEN THOUSAND steps/rev in quadrature!!! My ballscrews are 5 turns/inch, so I am going to need 50,000 steps/inch!!!!! It can't be done Jim!It's easy! But, you can't do it in software. You definitely need my universal stepper controller, if you want to stay with a step/direction control of the motors. See http://pico-systems.com/univstep.html for more info. You could also look into my PPMC card set ( http://pico-systems.com/PPMC.html ) for a direct servo control setup. Either way, however, you can have actual position feedback to EMC through these units. I tried setting the input and output to 50000, and the program never even fully loaded. It got past the 5 second intro graphic, and then just sorta sat there. This is strange behavior....what is it doing, getting pre-scared of the ini file? I changed the input and ouput in the ini file to 10000 and the program did actually load, after 20 seconds (normally takes about a second after the intro graphic). It has to do with how EMC computes the time interval for the step pulse program. It takes your maximum velocity (in user units/sec) times the steps per user unit, to figure out how many interrupts per second you need. If you want 120 IPM, that's 2 IPS x 50,000 steps/inch = 100,000 steps/sec, and it needs 2 ticks of the program, one to raise the step pulse, and one to lower it, for a 5 uS per period. That is an awfully heavy interrupt load. The old DEC Alpha CPU has all the timer stuff on-chip, so it can actually work with that kind of load (maybe). But, in PCs, the timer os off-chip, on the other side of a slow bus bridge, and it may take 10 uS just to reprogram the timer for the next tick. Anyway, this isn't realistic, because there would be a 2:1 jump, from 50,000 steps/sec to 100,000 steps/sec, with no intermediate speed. My step rate generators run at 10 MHz, for a granularity of 100 nS.
It can comfortably crank out step
I am thinking even if I move from this 350mhz K6 to a 1.4ghz athlon, I am still going to have big trouble getting rapids.Your 350 Mhz should do fine with either of my board sets. Would freqmod actually help this very much, or am I going to need to dump the gecko drive idea and try and get a servo amp that takes quadrature encoder inputs instead of a tach (I checked, there is definately not a tach in there). I don't mind buying something, as long as it will work, and work at a decent speed.Freqmod makes smoother trains of step pulses, at the cost of HIGHER CPU resources. If you've already run out of gas, freqmod won't help much. A DC tach can be added very easily. I had to add tachs to my motors
to get the best performance.
Jon |