Hi,
I am trying to control 2 stepper motors using PCI7332 and let them make a series of linear and circular motions.
I implement the program with statecharts as follows: There is one main state that has two substates one of which is "ready" where the system is still but the input values for the circular motion (radius,start angle,travel angle) are calculated from the user input which is given as desired x and y positons. The other substate is "motion" where the actual motions are executed when the actual positon does not equal the desired positon. Through a static action in the main state, the program reads the actual position in real-time.
My problem is as follows: The program can let the two axes build circular arcs most of the time when needed. But, every once in a while (nearly one time every three tries or so) the axes stop the circular motion in the middle and travel the rest of the way linearly. Sometimes this results in a watchdog timout error (which I can see in MAX) and abrupts to program, sometimes it does not cause an error and the program continues to run with the following positions after reaching the desired position linearly.There aren't any spesific "problematic" positions since the program sometimes gets the problem in the second or third run of the same "road".
I am guessing that the PCI7332 gets somehow overwhelmed since it sometimes results in "watchdog timeout error". Do you have any other ideas or any suggestions to solve this problem? Is it possible to change the value neccessary for the watchdog timeout and will this do any good?
Thank you.