by Fritzoid » Thu Feb 15, 2007 3:47 pm
by Fritzoid
Thu Feb 15, 2007 3:47 pm
Well, after a week or two of experimentation in serial mode I can say that things are looking up. At this point I can get the little guy to smoothly rise from a squat into the standard position just like PWM with PTP. In serial mode this takes just three commands, one to read the present positions, one to set the speeds, and one to move the servos into position.
Read position commands can be issued before, during and after the actual move and work much better than in pulse mode. There is still a small bit of what I would now call twitching and some gear chatter as this occurs but it is hardly noticeable in comparison to the PWM jerkiness.
The positions reported after a move completes are not exactly the same as the positioning commands request. The difference is small, plus or minus eight or less. This indicates that the granularity of the positions actually reachable by the servo is less than the 2000 possibilities that can be specified in a move command. Also, the read postion commands are pretty reliable but not 100 percent. I see a failure rate though of less than 1 percent.
I've also played around with the read current and voltage command and have some interesting results to report. The voltage values reported by the servos are usually quite close to one another. The values are lower when he's moving than when he's just standing and lower still if he's under strain.
The current value is more interesting. The numbers returned by different servos are often quite different and much lower than the voltage. Typical voltage values are in the range of 0x80 to 0xC0. Current values range from a low of 0x00 to about 0x40. The current value is closely related to the strain on the particular servo. If you pull on an arm the current on the arm servos and only the arm servos goes up!
The voltage reflects the overall system drain while the current reflects the local servo's strain. Seems useful!
Well, after a week or two of experimentation in serial mode I can say that things are looking up. At this point I can get the little guy to smoothly rise from a squat into the standard position just like PWM with PTP. In serial mode this takes just three commands, one to read the present positions, one to set the speeds, and one to move the servos into position.
Read position commands can be issued before, during and after the actual move and work much better than in pulse mode. There is still a small bit of what I would now call twitching and some gear chatter as this occurs but it is hardly noticeable in comparison to the PWM jerkiness.
The positions reported after a move completes are not exactly the same as the positioning commands request. The difference is small, plus or minus eight or less. This indicates that the granularity of the positions actually reachable by the servo is less than the 2000 possibilities that can be specified in a move command. Also, the read postion commands are pretty reliable but not 100 percent. I see a failure rate though of less than 1 percent.
I've also played around with the read current and voltage command and have some interesting results to report. The voltage values reported by the servos are usually quite close to one another. The values are lower when he's moving than when he's just standing and lower still if he's under strain.
The current value is more interesting. The numbers returned by different servos are often quite different and much lower than the voltage. Typical voltage values are in the range of 0x80 to 0xC0. Current values range from a low of 0x00 to about 0x40. The current value is closely related to the strain on the particular servo. If you pull on an arm the current on the arm servos and only the arm servos goes up!
The voltage reflects the overall system drain while the current reflects the local servo's strain. Seems useful!