Sub Controller (CM-730)

Features

Feature

Specifications

CPU

STMicroelectronics 32F103RE ARM Cortex 32-bit CPU (clocked @ 72MHz) (512KB Flash, 64KB SRAM )

Interface 5 x LED , 2 x RGB LED, 3 x Button, 1 x Buzzer
External ports 13 x ADC /I/O Ports
Sensor 3-axis gyroscope , 3-axis accelerometer, supply voltage sensor
Communication USB Port, Serial Port , 5x TTL Ports (for Dynamixel)
Audio & Mic Amp Audio amp gain : 20, mic amp gain : 2027
ETC Dynamixel Power Control Unit, Head board port, Interface board port.

 

Mechanical and Environmental Specifications

External supply voltage 8V ~ 16.8v
Current consumption Maximum 150mA , Standby 50mA
Dimensions 80.0mm x 75.0mm x 20.0mm
Operation temperature –65°C to +80 °C
Weight 51g

 

Control Table

You can find the same control table here.

You can also find the following:

  1. Framework
  2. Schematics
  3. Reference guide

 

You can also get information about the gyroscope and accelerometer.

 

Control Table consists of data regarding the current status and operation of CM-730. The user can control CM-730 by changing data of Control Table via Instruction packet.

EEPROM and RAM

Data in RAM area is reset to initial values whenever the power is turned on while data in EEPROM area is kept once values are set even if the power is turned off.

Address

Represents the location of data. To read from or write data to the control table the user should assign the correct address in the Instruction packet.

Access

CM-730 has two kinds of data: Read-only data, used mainly for sensing, and read-and-write data used for driving.

Initial Value

In case of data in the EEPROM Area, the initial values on the right side of the below Control Table are the factory default settings.

In case of data in the RAM Area, the initial values on the right side of the following control table are the ones when the power is turned on.

Highest/Lowest Byte

In the Control table, some data share the same name, but they are attached with (L) or (H) at the end of each name to distinguish the address. This data requires 16-bit, but it is divided into 8bit each for the addresses (low) and (high). These two addresses should be written with one Instruction Packet simutaneously.

 

 

Area

Address (Hexadecimal)

Name

Description

Access

Initial Value

(Hexadecimal)

 

 

E

E

P

R

O

M

 

 

0 (0X00)

Model Number(L)

model number low byte

R

0(0X00)

1 (0X01)

Model Number(H)

model number high byte

R

115 (0X73)

2 (0X02)

Version of Firmware

firmware version

R

-

3 (0X03)

ID

Dynamixel ID

RW

200 (0XC8)

4 (0X04)

Baud Rate

Dynamixel baud rate

RW

1 (0X01)

5 (0X05)

Return Delay Time

Return Delay Time

RW

0 (0X0)

16 (0X10)

Status Return Level

Status Return Level

RW

2 (0X02)

R

A

M

 

24 (0X18)

Dynamixel Power

Dynamixel On/Off

RW

0 (0X00)

25 (0X19)

LED Pannel

LED Pannel On/Off

RW

0 (0X00)

26 (0X1A)

LED 5 (L)

LED 5 low byte

RW

0 (0X00)

27 (0X1B)

LED 5 (H)

LED 5 high byte

RW

0 (0X01)

28 (0X1C)

LED 6 (L)

LED 6 low byte

RW

0 (0X00)

29 (0X1D)

LED 6 (H)

LED 6 high byte

RW

0 (0X01)

30 (0X1E)

Button

Button status

R

-

38 (0X26)

Gyro_Z(L)

Gyroscope Z-axis low byte

R

-

39 (0X27)

Gyro_Z(H)

Gyroscope Z-axis high byte

R

-

40 (0X28)

Gyro_Y(L)

Gyroscope Y-axis low byte

R

-

41 (0X29)

Gyro_Y(H)

Gyroscope Y-axis high byte

R

-

42 (0X2A)

Gyro_X(L)

Gyroscope X-axis low byte

R

-

43 (0X2B)

Gyro_X(H)

Gyroscope X-axis high byte

R

-

44 (0X2C)

ACC_X(L)

Accelerometer X-axis low byte

R

-

45 (0X2D)

ACC_X(H)

Accelerometer X-axis high byte

R

-

46 (0X2E)

ACC_Y(L)

Accelerometer Y-axis low byte

R

-

47 (0X2F)

ACC_Y(H)

Accelerometer Y-axis high byte

R

-

48 (0X30)

ACC_Z(L)

Accelerometer Z-axis low byte

R

-

49 (0x31)

ACC_Z(H)

Accelerometer Z-axis high byte

R

 

50 (0X32)

Present Voltage

Current Voltage

R

 

51 (0X33)

MIC 1 (L)

Mic 1 low byte

R

 

52(0x34)

MIC 1 (H)

Mic 1 high byte

R

 

53(0x35)

ADC 2(L)

ADC channel 2 low byte

R

 

54(0x36)

ADC 2(H)

ADC channel 2 high byte

R

 

55(0x37)

ADC 3(L)

ADC channel 3 low byte

R

 

56(0x38)

ADC 3(H)

ADC channel 3 high vyte

R

 

57(0x39)

ADC 4(L)

ADC channel 4 low byte

R

 

58(0x3A)

ADC 4(H)

ADC channel 4 high byte

R

 

59(0x3B)

ADC 5(L)

ADC channel 5 low byte

R

 

60(0x3C)

ADC 5(H)

ADC channel 5 high byte

R

 

61(0x3D)

ADC 6(L)

ADC channel 6 low byte

R

 

62(0x3E)

ADC 6(H)

ADC channel 6 high byte

R

 

63(0x3F)

ADC 7(L)

ADC channel 7 low byte

R

 

64(0x40)

ADC 7(H)

ADC channel 7 high byte

R

 

65(0x41)

ADC 8(L)

ADC channel 8 low byte

R

 

66(0x42)

ADC 8(H)

ADC channel 8 high byte

R

 

67(0x43)

MIC 2 (L)

Mic 2 low byte

R

 

68(0x44)

MIC 2 (H)

Mic 2 high byte

R

 

69(0x45)

ADC 10(L)

ADC channel 10 low byte

R

 

70(0x46)

ADC 10(H)

ADC channel 10 high byte

R

 

71(0x47)

ADC 11(L)

ADC channel 11 low byte

R

 

72(0x48)

ADC 11(H)

ADC channel 11 high byte

R

 

73(0x49)

ADC 12(L)

ADC channel 12 low byte

R

 

74(0x4A)

ADC 12(H)

ADC channel 12 high byte

R

 

75(0x4B)

ADC 13(L)

ADC channel 13 low byte

R

 

76(0x4C)

ADC 13(H)

ADC channel 13 high byte

R

 

77(0x4D)

ADC 14(L)

ADC channel 14 low byte

R

 

78(0x4E)

ADC 14(H)

ADC channel 14 high byte

R

 

79(0x4F)

ADC 15(L)

ADC channel 15 low byte

R

 

80(0x50)

ADC 15(H)

ADC channel 15 high byte

R

 

 

 

Address Function Help

EEPROM Area

Model Number

Represents the Model Number.

 

Firmware Version

Represents the firmware version.

 

ID

Is a unique number to identify Dynamixel.

Values range from 0 (0x00) to 253 (0xFD), Value 254 (0xFE) is used as the Broadcast ID.
If the Broadcast ID is used to transmit Instruction Packet, then it can command to all Dynamixels.


Please be careful not to duplicate the ID of connected Dynamixels.

 

Baud Rate

Represents the communication speed. 0 (0x00) to 254 (0xFE) can be used for it.

This speed is calculated by using the below formula.

Speed(BPS) = 2000000/(Data+1)

Data

Set BPS

Target BPS

Tolerance

1

1000000.0 1000000.0

0.000 %

3

500000.0

500000.0

0.000 %

4

400000.0

400000.0

0.000 %

7

250000.0

250000.0

0.000 %

9

200000.0

200000.0

0.000 %

16

117647.1

115200.0

-2.124 %

34

57142.9

57600.0

0.794 %

103

19230.8

19200.0

-0.160 %

207

9615.4

9600.0

-0.160 %

 

Note : Maximum Baud Rate error of 3% is within the tolerance of UART communication.

 

Return Delay Time

Is the delay time per data value that takes from the transmission of Instruction packet until the return of Status packet.

0 (0x00) to 254 (0xFE) can be used. The delay time per data value is 2 microseconds (usec).

If the data value is delayed by 10, 20 usec the initial value is 250 (0xFA) (i.e., 0.5 msec).


Status Return Level

It decides how to return Status Packet. There are three ways like the below table.

Value

Return of Status Packet

0

  No return against all commands (Except PING Command)

1

  Return only for the READ command

2

  Return for all commands

 

When Instruction Packet is Broadcast ID, Status Packet is not returned regardless of Status Return Level.


How to convert TTL to RS485

 

Simply apply the 2 changes below to change the comm. method.

 

YELLOW : Change location of resistance

                RS24 Short : 3P

                R25 Short : 4P

 

RED : Must change connector.

         Not sold separately by ROBOTIS.

For more information on the connector, please refer to the link below.

http://support.robotis.com/en/techsupport_eng.htm#product/dynamixel/dxl_connector.htm

 

RAM Area

Dynamixel Power

Value

Meaning

0

Turn off the power of all Dynamixels connected to CM-730.

1

Turn on the power of all Dynamixels connected to CM-730.

 

LED Pannel

BIT

7 6 5 4 3 2 1 0

Value

X X X X X LED4 LED3 LED2

If each bit is SET, applicable LED lights up.

If each bit is RESET, applicable LED goes off.

EX) When the LED Panel = 3 (00000101), the LED4 and LED2 light up.

 

LED5 / LED6

BIT

15 14 ~ 10 9~ 5 4 ~ 0

Value

X the value of blue light the value of green light the value of red light

LED HEAD/ LED EYE is 3 color LED. It can represent the value of 32 steps by colors.

It can be represent by controling the value of light by colors.

 

BUTTON STATUS

BIT

7 ~ 2 1 0

Value

X the state value of START button the state value of MODE button

It is the value which represents the state of buttons.

If the bit is SET, it represents that the button is pressed.

If the bit is RESET, it represents that the button isn't pressed.

 

GYRO / ACC

The following picture is the direction of axis at CM-730.

The Gyroscope and Accelerometer is 10mm distant respectively from the central axis of Dawin.

[the positions of central axis and sensor at Dawin]

 

[Gyroscope]

 

[Accelerometer]

 

[The Gyroscope axis in the DARWIN-OP]

[the Accelerometer axis in DARWIN-OP]

 

 

GYRO_X, GYRO_Y, GYRO_Z

They represent the angular velocity values of X-axis, Y-axis, Z-axis respectively.

 

The observable maximum velocity is -500DPS ~ 500DPS.

The following graph shows the process that angular velocity represents to value in reality.

 

ACC_X, ACC_Y, ACC_Z

They represent the acceleration values of X-axis, Y-axis, Z-axis respectively.

 

The observable maximum velocity is -4g ~ +4g.

The following graph shows the process that acceleration represents to value in reality.

 

 

 

PRESENT VOLTAGE

current (input) voltage.

This value is 10 times larger than the actual voltage. For example, when 10V is supplied, the data value is 100 (0x64)

 

MIC 1 , MIC 2

They are the wave values of MIC on the ears at HEAD PCB.

It is the value of ADC, and its range is 0~1023.

 

ADC 2 ~ ADC15

They are ADC values of ADC channel connected external port(J8).

CM-730 has ADC of 10BIT RESOLUTION.

Its range is 0~1023