10-18-2017 06:23 AM
my 4 axis(X,Y,W,Z) and 6 wired step motor goes clockwise and anti clockwise if I go through X-Y-W-Z and Z-W-Y-X respectively. However, If I try to go in order X and W, motor is not rotating(clockwise) as expected. It's doing the opposite. Why is this happening?Isn't it supposed to go clockwise because I am moving it in clockwise direction.
Can I do something like whatever position motor is , if I am trying to work with the motor I want to assume the present position as the first position(X)?
Do you think this is something to do with calibration?
Thank you.
10-19-2017 06:21 PM
I'm a bit confused on your application. Would you be able to post a snippet of the code?
Additionally, what NI SoftMotion hardware are you working with?
R Dahlman
10-19-2017 09:58 PM - edited 10-19-2017 10:02 PM
Thank you. I am attaching the snippet. So if I am going step by step in CW or CCW direction it moves accordingly. If I skip a step say I move the knob from X-Z(CW) and run the vi, motor instead of rotating in clockwise direction rotates in Counter clock wise direction.
10-23-2017 01:52 PM
Would you be able to describe your hardware setup? (What drives, NI-DAQmx hardware, etc you are using?)
Typically, I'd say this behavior is being caused by some incorrect signals being sent to the motor or the drive for the direction.
10-27-2017 10:47 AM
I am using a voltage supply, myDAQ card and a motor. So when I run the program with the knob position as A,B,C,D and the reverse order D,CB,A it goes from clockwise and counterclockwise respectively. When I turn the motor in order A and C, skipping the step B, it will not rotate clockwise, because the order is not sequential enough to energise the motor windings. How can I solve this?
10-30-2017 03:21 PM
Since I don't have specific information from you on what signals the motor is expecting, I can give a couple suggestions on what I understand so far.
1) Keep track of the previous motor state using shift registers in a loop. You can then implement logic for what to do when steps are skipped to ensure that a move from A to C actually performs the actions for A, B, and C.
OR
2) Your loop may not be running fast enough to catch the intermediate moves. An Event Structure looking at value changes on the phase knob will queue up each value change.