Hi all,
I am trying to use NI-USB 6259(BNC) to send Pulse signal to conduct position control of a servo motor with labview. The position control of servo motor follows these rules:
1. The number of the pulse train determines how many degrees the motor rotate ;( e.g. the angular position of motor)
2. The frequency of pulses determines how fast the motor rotate; (e.g. the speed of motor rotating)
3. The digital determines the direction of rotation of motor e.g. clockwise or counterclockwise)
My question comes when I need to generate continuously a finite plus train signal in a period of time. Below is a sample:
Here is the explanation of this table, the motor keep rotating in clockwise direction during 0~1s. When the time reaches 1s, the motor just complete the rotation of 923 pulse signals. And then the motor starts to rotate in counterclockwise direction during 1s~2s. When the time reaches 2s, the motor just complete the rotation of 3540 pulse signals. So we can see that the rotating speed of motor in 0~1s is different from the speed in 1s~2s. Namely, the frequency of pulse signal in 0~1s is different from the frequency in 1s~2s.
I have already use the counter output of DAQmx, it just can generate pulse signal with certain numbers and certain frequency in one time. The attachment is the vi which demonstrates how to generate a finite digital pulse train from a Counter Output Channel and the Frequency, Duty Cycle, Initial Delay, and Idle State are all configurable.
How can I generate a series of pulse signal with varying numbers and frequencies during a certain period of time.
Thanks a lot!
Counter - Finite Output.vi