Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

velocity acceleration

Hi

 

I am using a PXI 7350 motion controller.

 

I want to run a stepper motor with a final velocity of 120 steps/sec with an acceration of 72 steps/sec/sec

 

however, when i set up these values then execute the motion, i can see that the motot accelerates much faster than 72 steps/sec/sec i.e it gets to its runnign speed of 120 steps/sec to quickly.

 

i have ran motor with faster accerations at faster final velocities and not had this problem.

 

can anyone offer any ideas as to why this is?

 

Thanks

Scott

 

are these velocity and acceration values not compatable?

0 Kudos
Message 1 of 5
(4,453 Views)

Hi Scott,

 

the minimum acceleration value and the minimum acceleration increment depends on the internal control loop update period of the 7350 board. Please refer to the NI 73xx Acceleration in Counts/s^2 section in the NI-Motion help. You can change the board's control loop update period in the Control Loop settings in MAX. Please note, that this is a global setting for the board and it affects all axes. If you are also using servo axes, you will have to retune the PID parameters for these axes if you change the control loop update period.

 

The lowest acceleration value (61 counts/s^2) with the best acceleration resolution can be set with a control loop period of 500 µs, but you won't be able to set exactly 72 counts/s^2, as the next higher incremental value is 122 counts/s^2. If there is a spare axis available, you could solve this issue by using electronic gearing. Here is an example how to do this:

 

  1. Configure the spare axis (A2) as open loop stepper. The original axis is A1
  2. Connect your motor drive to the terminals of A1.
  3. Configure A2 as gear master and A1 as gear slave (refer to shipping examples). Gear ratio should be 100:1
  4. Set acceleration = 7,200 counts/s^2 and velocity = 12,000 counts/s for A2 and use A2 in your application.
  5. A1will follow A2 with the configured gearing ratio, resulting in acceleration = 72 counts/s^2 and velocity = 120 steps/sec.

I hope this helps,

 

Jochen

0 Kudos
Message 2 of 5
(4,442 Views)

Thanks Jochen,

 

I will try out both solutions and let you know the outcome.

 

Scott

0 Kudos
Message 3 of 5
(4,440 Views)

Hi

 

I've tried both mecthods and seen a big improvement.

 

However, I am running two axis and dont seem to be getting these in phase with each other. There is always one lagging behing another.

 

Two causes I have though of are:

 

  • Both axis do not start instantanously - I use the Start Motion.flx on both axis and use merge errors so to try to ensure they both start at the same time
  • Both Axis step output are not synchronous - i.e. it multiplexes

 

Are my points valid and are there any solutions? I think I may be able to gear both axis ?

 

Thanks

Scott.

0 Kudos
Message 4 of 5
(4,417 Views)

Scott,

 

I'm glad that you can see some improvement. To answer your questions: As long as you use two start commands, there will always be some non-deterministic delay between both axes. The axes' outputs are not multiplexed and you can synchronize them using one of two methods:

  1.  Start both axes with a single start command. This screenshot demonstrates how to start axis 1 and 2 simultaneously (for more information please refer to the NI-Motion help).
    Start_Motion.png
  2. If you are using an xy-system, you can add your axes to a vector space. This will allow you to define vectorial values for acceleration/deceleration and velocity and your target positions are defined as points on a xy grid. Please refer to the shipping examples (vector moves).

I hope this helps,

Jochen

0 Kudos
Message 5 of 5
(4,413 Views)