Mitsubishi OSE104 Serial Encoders
Overview
Proprietary serial encoders made by Mitsubishi meant to work with their MELDAS CNC controllers. It uses 2.5 Mbaud RS-422 to communicate with the controller. The protocol has been partially reverse engineered, and is supported by Rene Hopf's STMBL servo drive.
Specifications
Page 195 (III-58 in the PDF) of the BNP-C3000C(ENG) manual details the specifications for different variants.
Wiring Diagram
Wire Color | Circular Pin | Mini-D Pin | Function |
---|---|---|---|
green | N | (shield) | (case GND) |
gray | L | 17 | RQ- |
orange | K | 7 | RQ+ |
yellow | J | 16 | SD- |
red | E | 9 | (battery) |
blue | H | 6 | SD+ |
black | R | 1,11 | 0V |
white | S | 10,19,20 | +5V |
Bill of Materials
MC34051 RS-422 transceiver chip.
Protocol
The encoder uses a full duplex RS-422 UART to connect to the host:
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:
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: 0x0A 0x22 0x3A 0x42 0x5A 0x6A 0x72 0x82 0x9A 0xAA 0xB2 0xCA 0xD2 0xE2 0xF3 0xF5-0xFF
Online Resources
Mitsubishi MELDAS MDS-C1 Series AC Servo/Spindle Specifications Manual
stmbl/encm.c at master · rene-dev/stmbl