Motion Control and Motor Drives

cancel
Showing results for 
Search instead for 
Did you mean: 

Servo signals running too fast upon restart of VI

Hello everyone, I am working on a project regarding control over a servo motor. However I am noticing an error that I am not able to fix on my own.

I have provided the VI and a picture of what happens when I run the VI on a Dynamixel RX-64 (same result for an AX-18F/AX-12).

 

When I first start the VI, the servo responds well and moves through the correct positions. However, the issues arises when I press the stop, and wait for 

the VI to start again to send signals to the Servo. This is what happens: the VI starts sending signals too quickly andtheservowillstartrushing (too fast)

throughafewdatapoints, andthenwill gotonormalspeedaftersometime.

 

In the Servo_Error.jpg, you see at the beginning the servo responds well, and after that, I pressed "Stop", then the VI re-initializes communication and

starts sending signals too quickly which the servo can't reach. After a few seconds, the signal speed is stabilized, and everything goes back to normal.

 

I have tried the following:

- instead of using Dynamixel LabVIEW VIs, I have tried using Robotis' own library. I had the same problems (for links look at the bottom of this message).

- adding "wait" upon initializing and closing, as well as inside the for loop. I had the same problems.

- tried using VISA Clear, and VISA Flush Buffer. I had the same problems.

- Tried to write an "end" position (ie set position to 0degrees), after for loop finished but before closing communication. I had the same problems.

-I have tried playing with the "Simulate Signal" timing options but nothing.

 

I also have more off topic question: why is the "Simulate Signal" default timing option set as: "run as fast as possible"?

 

Thank you for any help provided!

 

Alex

 

 

Dynamixel LabVIEW VIs can be found at: http://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=86E2A39663C26077E04400144FB7D2...

Dynamixel Robotis Library can be found at: http://support.robotis.com/en/software/dynamixel_sdk/usb2dynamixel/usb2dxl_windows.htm

0 Kudos
Message 1 of 3
(5,309 Views)

Note: If I abort the program and rerun it, it will work fine until I stop it. If that is any help.

 

Thank you,

 

Alex

0 Kudos
Message 2 of 3
(5,300 Views)

Hi Alex,

 

Thanks for your post. Have you studied the behavior of the Dynamixel at higher or lower RPMs? It's not immediately clear whether the motor's tracking is erratic due to the Dynamixel drivers or due to the application sending commands too quickly. Luckily, there is a good way to test this second case. You should run an I/O Trace to see what VISA calls are being made while the motor is exhibiting this behavior. There are instructions on performing an I/O trace here.

 

Let us know what comes back!

 

Cheers,

 

Andy C. 

Applications Engineer

National Instruments 

0 Kudos
Message 3 of 3
(5,271 Views)