I use the sequencer to calibrate the servos and get positional information so I can program a sequence of arm movements. However, when I issue serial commands from my Arduino via the SSC-32U I find that the positions it goes to is off by several inches. I retrace the sequence manually via the Sequencer software and it works fine, but when I try the exact same sequence and positions again via the Arduino serial/SSC-32U it’s off. Any advice?
When using the Sequencer software, you mentioned performing calibration before using the robot arm. If so, please note that this calibration only works in that software (“soft” calibration) and it not usually stored on the SSC-32U directly.
The first thing to do would be to perform a full calibration that is stored on the SSC-32U directly. You can do so with our free diagnostic tool, Lynxterm. You can download it here.
One downloaded and installed, power the SSC-32U/AL5 (6 V Dc to VS1) and connect with it to your AL5/SSC-32U (you can use the SETUP button in the top-left corner to change the baud rate & COM port). Once connected, go to the black text box and check if it is working by typing “VER” followed by the [return] key (no double quotes). The board should answer with its firmware version.
If that works, stand clear of the arm (sudden, rapid movements may happen) and press the All=1500 button and see if all the motors activate. The arm should get to a 90 degrees / calibration position (see image below). If some of the angles are off, this means it is not calibrated properly.
This can be fixed in two ways. First, if an angle is off by quite a bit (like 8 or more degrees), you should probably unscrew the joint from the servo horn, center the assembly around it and screw it in again (while the servomotor is at 1500) as close to the proper position as possible.
Once all the obviously wrong angles are fixed, you can then go to step 2, which is configuring the offset for each servomotor to adjust the calibration (± 100 uS signal of calibration range, which translates to about ±9 degrees). This will allow finer calibration than the servo horn mounting points can. To get started, click on the Reg. button (bottom left, 2nd button) to open the register menu. From there, you can click the Read button a few times (1-2 is usually enough, to ensure you are getting all the data properly). See the following image for details:
In your case, you will not need the Initial pulse width at #4, unless you do want a starting position for the robotic arm at power-up (before commands are received).
Sincerely,
Thanks, this must be it… I’ll give this a try.