User Tools

Site Tools


product:usb2ax:dynamixel_protocol_notes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
product:usb2ax:dynamixel_protocol_notes [2015/02/04 01:07]
xevel created
product:usb2ax:dynamixel_protocol_notes [2015/02/10 18:39] (current)
xevel
Line 34: Line 34:
 FIXME FIXME
  
 +
 +===== Timing =====
 +
 +Here are some info on the response timing of the AX-12 to different commands. Return Delay Time is zero.
 +
 +== Time between instruction and status packets ==
 +
 +Minimum time elapsed between the stop bit of the checksum of the instruction packet and the start bit of the first bytes of the status packet.
 +
 +^ Command ^ Delay before response (µs)  ^
 +| PING         | 18 |
 +| READ_DATA | 22 |
 +| WRITE_DATA (N bytes) | 24 + N * 6   |
 +
 +Depending on when the motor-control interrupt fires, these time can increase by up to the duration of that interrupt (see below).
 +
 +WRITE_DATA to EEPROM memory will answer with the same delay, but then the servo will not answer to another command before many milliseconds (up to 9 **ms** per byte based on the ATMega8 datasheet, though experimental verification put it at around 6 +/-1 ms per byte). ​
 +
 +It seems that for most operations, the status packet is sent after everything has been checked but applied after the status packet.
 +
 +
 +
 +== Motor-control interrupt ==
 +
 +The motor control interrupt runs every 1ms on an AX servo, and lasts about 130µs. during that time, no communication can occur, though incoming bytes are not lost. If it occurs in the middle of a packet, then that delay will be observed between two bytes, that would have been otherwise back to back.
product/usb2ax/dynamixel_protocol_notes.1423008423.txt.gz · Last modified: 2015/02/04 01:07 by xevel