Line 59: |
Line 59: |
| | | |
| MC34051 RS-422 transceiver chip. | | MC34051 RS-422 transceiver chip. |
| + | |
| + | == Protocol == |
| + | |
| + | The encoder uses a full duplex RS-422 UART to connect to the host: |
| + | |
| + | {| class="wikitable" |
| + | ! Baud Rate |
| + | | 2,500,000 |
| + | |- |
| + | ! Data Bits |
| + | | 8 |
| + | |- |
| + | ! Stop Bits |
| + | | 1 |
| + | |- |
| + | ! Parity |
| + | | none |
| + | |} |
| + | |
| + | For interacting with the encoder from a PC, a USB to serial supporting a higher than usual baudrate must be used. A convenient converter that also has native RS-422 support is a [[MaxLinear XR21B1420IL28-0A-EVB USB to RS-232/422/485 Evaluation Board]]. |
| + | |
| + | Requests from the host seem to be a single byte, and the response is multi-byte with a checksum. For recognized commands the response's first byte is the request byte echo'd back, and it seems for unrecognized commands it has a default response. Here is a list of known commands: |
| + | |
| + | {| class="wikitable" |
| + | ! Request |
| + | ! Response Length |
| + | ! Description |
| + | |- |
| + | | 0x02 |
| + | | 7 |
| + | | angle, 0x90? |
| + | |- |
| + | | 0x1A |
| + | | 11 |
| + | | angle, 0x02?, full revolutions, 0x00?, 0x90? |
| + | |- |
| + | | 0x2A |
| + | | 9 |
| + | | angle, full revolutions, 0x90? (same as 0xA2?) |
| + | |- |
| + | | 0x32 |
| + | | 9 |
| + | | angle, full revolutions, 0x90? (same as 0xA2?) |
| + | |- |
| + | | 0x4A |
| + | | 11 |
| + | | multiple values related to the angle? |
| + | |- |
| + | | 0x52 |
| + | | 11 |
| + | | multiple values related to the angle? |
| + | |- |
| + | | 0x62 |
| + | | 9 |
| + | | multiple values related to the angle? |
| + | |- |
| + | | 0x7A |
| + | | 3 |
| + | | empty response? |
| + | |- |
| + | | 0x8A |
| + | | 6 |
| + | | full revolutions, 0x90? |
| + | |- |
| + | | 0x92 |
| + | | 4 |
| + | | 0x02? |
| + | |- |
| + | | 0xA2 |
| + | | 9 |
| + | | angle, full revolutions, 0x90? |
| + | |- |
| + | | 0xBA |
| + | | 7 |
| + | | angle, 0x90? |
| + | |- |
| + | | 0xC2 |
| + | | 11 |
| + | | multiple values related to the angle? |
| + | |- |
| + | | 0xDA |
| + | | 11 |
| + | | multiple values related to the angle? |
| + | |- |
| + | | 0xEA |
| + | | 9 |
| + | | angle, 0x00?, 0x90?, 0x00? |
| + | |- |
| + | | 0xF2 |
| + | | 3 |
| + | | empty response? |
| + | |- |
| + | | 0xF4 |
| + | | 3 |
| + | | empty response? |
| + | |} |
| + | |
| + | Other possible commands are: <code>0x0A 0x22 0x3A 0x42 0x5A 0x6A 0x72 0x82 0x9A 0xAA 0xB2 0xCA 0xD2 0xE2 0xF3 0xF5-0xFF</code> |
| | | |
| == Online Resources == | | == Online Resources == |
Line 65: |
Line 163: |
| | | |
| [https://github.com/rene-dev/stmbl/blob/master/src/comps/encm.c stmbl/encm.c at master · rene-dev/stmbl] | | [https://github.com/rene-dev/stmbl/blob/master/src/comps/encm.c stmbl/encm.c at master · rene-dev/stmbl] |
| + | |
| + | [https://github.com/rene-dev/stmbl/wiki/Mitsubishi-encoders Mitsubishi encoders · rene-dev/stmbl Wiki] |
| + | |
| + | [http://www.deltatau.com/manuals/pdfs/Acc-84E.pdf#page=30 Delta Tau Accessory 84E Universal Serial Encoder Interface] |