10-04-2020 03:58 PM - edited 10-04-2020 03:59 PM
I am trying to use velocity-based straight line Move in Labview to control a ISM-7411E motor. My motor needs to sweep a range of 90degrees in two seconds from 45 to -45 angle. My problem is I'm able to stop the motor in 2 seconds, but the angle that the motor stopped at is not exactly 45 degrees. I'm thinking that there might be an error in my timing calculation in the while loop. I've found this example that could possibly help me but don't know what the icon highlighted in red does or where to find it in labview? Please see image. Can someone please help if you know what that icon is? I've also posted a copy of my code below.
10-04-2020 04:30 PM
The icon is Min&Max from the comparison palette, but I don't see how that would help.
Your code make very little sense and has no real resemblance to the image above it. Why do you need to "start" over and over? Why is there a one iteration FOR loop?
(The picture seems also incomplete, with missing wires and such. Impossible to troubleshoot.)
Isn't your device a stepper motor where all you need to do is count steps to sweep a given angle?
10-04-2020 05:11 PM
Thank you for replying. Yes, it's an ethernet stepper motor. Seems that min/max icon does nothing for me.
I basically need the motor to sweep a 90degrees range at a specific speed.
The while loop is so I can poll the position of the motor. The For loop is so I can expand the program to an array of linear speed once I get the code working. Seems I don't have a clear understanding of the steps/count of the motor.
From my reading, I thought the motor has 25000steps/360degree. Since I want to sweep only 90degrees over 2 seconds, I programmed a velocity=3125steps. However, it seems something is not quite right. I'm either not using the correct acceleration/deceleration, motor step size, or wait time. I thought it may have something to do with the timing at first.