First, let me introduces briefly our application for your better understanding before touch the problem.
We're using NI7358 to control 8 servo motors(Mitsubishi HC-KFS13, 100W, 3000RPM, 131072Counts/Rev) for pick and place. The amplifier is also Mitsubishi one MELSERVO-J2M-P8A. From view of NI7358 all 8 axes are open-loop stepper while amplifier will close-loop control the servo motors. One limitation here is this amplifier only can accept 200KPPS pulse rate input, so we set amplifier internal gear ratio to 4096/125 to achieve its maximum speed.
GearRatio=(3000rpm*131072count/60)/(200*1000counts/sec)
Then based on this ratio we can know the resolution of "stepper" in view of NI7358 is 4000RPM. (131072*125/4096)
Now our problem is:
The system requires these motors move in short distance(1200steps for NI7358) in the shortest time. So we want to shorten the acceleration/deceleration time as possible as we can. As we test the same application before using Keyence PLC as pulse generator, it can meet our target so we expect NI also can.
During testing using MAX under 1-D interactive, when I set Velocity=3000rpm, Accel/Decel=20000rps/s, target=1200steps, I can get the best result around 1040rpm(peak velocity) with Accel/Decel time around 50ms. The time is too long for us. If I set increase Accel/Deceleration to its maximum* NI7358 will stop pulse output at all(don't know why but suspect it's because of short distance)
* Maximum Accel/Deceleration(RPS/s) = Amax X (1/Ts) X (1/Ts) X (1/R) (refer to the description of "flex_load_rpsps")
for our case: Amax=32counts/sample; Ts=0.25ms; R=4000steps/Rev, result is 128000(RPS/s)
Questions:
1. Is Amax=32counts/sample hardware fixed?
2. Any reason can cause NI7358 stop output pulse when I set maximum acceleration/decelration?
3. Does NI provide time-based profile instead of velocity one so we can set acceleration/deceleration time directly?
4. Can I use direct pulse output mode just like a pulse generator instead of current profile output?
5. Under open-loop mode, if I change PID & acceleration feedforward gain, do these will affect the output pulse performance?
6. If we change the control circuit from open-loop stepper to close-loop servo system, does it can solve our problem?
7. How does the trajectory generator produces the count/steps output during the acceleration? I create an excel file(attached below) try to draw out the relationship between the sample, velocity and acceleration, anyone can check for me it's correct or not?
My formula is here:
Position2 = Position1 + Velocity2*(Sample2-Sample1)
Velocity2 = Velocity1 + Acceleration*(Sample2-Sample1)
...
All comments are appreciated!