The data I'm getting looks very different.
I converted my logic analyzer capture to some text and get the messages shown below:
The "Request" and "Reply" headings are assumptions on my part.
Request to motor #0, 22 bytes
0x55, 0x16, 0x00, 0x9D, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB9, 0x3E, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x16
Reply from motor #0, 32 bytes
0x55, 0x20, 0x00, 0x1A, 0xA0, 0x01, 0x00, 0x00, 0x6B, 0x2D, 0xEF, 0xFF, 0x70, 0x01, 0xFE, 0xFF, 0x00, 0x00, 0x1E, 0x01, 0x50, 0x00, 0x44, 0x03, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x6C
Request to motor #1, 22 bytes
0x55, 0x16, 0x00, 0x9D, 0xA0, 0x00, 0x00, 0x01, 0x00, 0x00, 0xB9, 0x3E, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x0D, 0x13
Reply from motor #1, 32 bytes
0x55, 0x20, 0x00, 0x1A, 0xA0, 0x01, 0x01, 0x00, 0xE1, 0x2C, 0xC2, 0x00, 0x67, 0x01, 0xD4, 0xFF, 0xB9, 0xFE, 0x20, 0x01, 0x50, 0x00, 0x3B, 0x06, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x59
Request to motor #2, 22 bytes
0x55, 0x16, 0x00, 0x9D, 0xA0, 0x00, 0x00, 0x02, 0x00, 0x00, 0xB9, 0x3E, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0x1D
Reply from motor #2, 32 bytes
0x55, 0x20, 0x00, 0x1A, 0xA0, 0x01, 0x02, 0x00, 0x69, 0x2D, 0xF3, 0x00, 0x68, 0x01, 0x01, 0x00, 0x00, 0x00, 0x22, 0x01, 0x50, 0x00, 0x42, 0x03, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0xA1, 0x19
Request to motor #3, 22 bytes
0x55, 0x16, 0x00, 0x9D, 0xA0, 0x00, 0x00, 0x03, 0x00, 0x00, 0xB9, 0x3E, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x57, 0x18
Reply from motor #3, 32 bytes
0x55, 0x20, 0x00, 0x1A, 0xA0, 0x01, 0x03, 0x00, 0x32, 0x2D, 0x42, 0x00, 0x61, 0x01, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x01, 0x50, 0x00, 0x56, 0x03, 0xE9, 0x48, 0x00, 0x00, 0x00, 0x00, 0x55, 0xCA
The requests all look nearly identical except for the ID and what I assume is the checksum.
There are other requests which change slightly as the command to change one of the motor's speed is sent.
How are you determining if a message is from the Motion Controller vs a motor? Aren't the two data lines a pair of balanced RS-485 signals?
I realize I haven't looked at the motor bus with my oscilloscope to confirm it's RS-485. I've just assumed it was as use a RS-485 chip to convert the signal to 3.3V.
Again, I'm not sure I'm capturing this data correctly. I just thought I'd share what I'm trying to figure out. |