Overview:
The EtherDrive Motor Controller is a multi-axis ethernet-based motor controller and driver system. It consists of controller and driver PCBs which connect together. A single controller may drive up to 6 motors (3 driver cards).
Hardware Features:
Software/Firmware Features and Operation:
Network Protocol Information:
Information as of 9/1/2005.
Network Addressing and Support Details |
Notes | |
Supported protocols | UDP, ICMP (ping), IP, ARP | Unit will respond to pings to IP address. No TCP support at this time. ARP table currently limited to 8 entries. |
IP Address (default) | 192.168.1.12 | User-changable via serial port interactive terminal. User set value is volatile (cleared at power-off). Will be upgraded to non-volatile. |
Netmask (fixed) | 255.255.255.0 | Will be upgraded to user-changable, and non-volatile. |
Gateway (fixed) | 192.168.1.1 | Will be upgraded to user-changable, and non-volatile. |
Network Active Port Details |
Notes |
|
Echo | 7/UDP |
UDP Echo port. Packets sent to this port will be echoed to sender, payload unmodified. |
Motor Control port | 4900/UDP | Motor drive and feedback values passed via UDP packets on this port. See protocol info below. |
EtherDrive Command port |
4950/UDP | Configuration and instruction packets should be sent to this port. See protocol info below. |
Motor Drive Command Format (send to Motor Control port) |
Notes | |||
Description |
Byte Offset |
Byte Length |
Data Type |
This packet is sent by the controlling host |
Motor 1 Drive | 0 |
4 |
signed int32 |
Drive command of zero indicates no net power to motor. Valid range of drive command depends upon PWM period and PWM mode:
Drive levels in excess of the linear range will be clamped at the extreme. |
Motor 2 Drive | 4 |
4 |
signed int32 |
|
Motor 3 Drive | 8 |
4 |
signed int32 |
|
Motor 4 Drive | 12 |
4 |
signed int32 |
|
Motor 5 Drive | 16 |
4 |
signed int32 |
|
Motor 6 Drive | 20 |
4 |
signed int32 |
|
Motor Feedback Format (received from Motor Control port) |
Notes |
|||
Description |
Byte Offset |
Byte Length |
Data Type |
This packet is sent back to the host in response to a Motor Drive Command |
Encoder 1 Position | 0 |
4 |
signed int32 |
Encoder position feedback is read and refreshed for each motor feedback packet sent. Value indicated number of tics counted since last reset. Value will overflow in standard 2's-complement form upon reaching +/-2^31. |
Encoder 2 Position | 4 |
4 |
signed int32 |
|
Encoder 3 Position | 8 |
4 |
signed int32 |
|
Encoder 4 Position | 12 |
4 |
signed int32 |
|
Encoder 5 Position | 16 |
4 |
signed int32 |
|
Encoder 6 Position | 20 |
4 |
signed int32 |
|
Motor 1 Current | 24 |
4 |
signed int32 |
Motor current values represent the latest available values at time of packet transmission. Value range is +/-1024. Current readings may only be accurate in locked-antiphase mode. Value = ((Imotor*Rsense*11)/1.25)*1024 where Imotor is in [AMPS] |
Motor 2 Current | 28 |
4 |
signed int32 |
|
Motor 3 Current | 32 |
4 |
signed int32 |
|
Motor 4 Current | 36 |
4 |
signed int32 |
|
Motor 5 Current | 40 |
4 |
signed int32 |
|
Motor 6 Current | 44 |
4 |
signed int32 |
EtherDrive Command Format (send to ED Command port) |
Notes | |||
Description |
Byte Offset |
Byte Length |
Data Type |
|
Command | 0 |
4 |
signed int32 |
An EtherDrive command can be issued to change the way the EtherDrive system is configured or operating. Processing of commands may interrupt closed-loop motor operation and should not be issued during critical motion control. It is recommended that motors be stopped before sending most commands. |
Argument 0 | 4 |
4 |
signed int32 |
|
Argument 1 | 8 |
4 |
signed int32 |
|
Argument 2 | 12 |
4 |
signed int32 |
|
... | ... |
|||
Argument N | 4*N |
4 |
signed int32 |
EtherDrive Commands (send to ED Command port) |
Notes | |||
Description |
Cmd |
Arg0 |
Arg1 |
|
Disable Motors | 'e' |
Disables motor drivers (motors drivers are open-circuit) |
||
Enable Motors | 'E' |
Enables motor drivers | ||
Locked-Antiphase PWM | 'p' |
|||
Sign-Mangitude PWM | 'P' |
|||
PWM period | 't' |
period [tics] |
Period is specified in tics (1 tic = 40ns). Safe range is 220-511. | |
This command list subject to change (guaranteed that it will change) |
Mechanical Drawings: