The diagnostic configuration menu allows for various operating parameters to be set. The parameters can also be saved in non-volatile storage.
The diagnostic configuration menu displays the motor controller serial number as well as the firmware versions number and firmware inception date.
In diagnostic configuration mode the "Enter" key must be hit after each command input.
Entering a number followed by "Enter" will prompt for a new setting for the configuration parameter. If "Enter" is pressed before a new value has been entered the current value will remain.
Command | Function | Default Value | Description |
1 | Motor control flags | 0x0 | The motor control flags are a bitfield that sets binary operation parameters.
Currently defined:
- CONTROL_FLAG_REVERSE_ROTATION (1 << 0)
- When set, reverses the rotation of the motor.
|
2 | Motor poles | 14 | Defines the number of poles in the attached motor. |
3 | PWM deadband | 32 | Defines the time that band that insures that the motor driving FETs are off. This prevents both the high and low driving complementary FETs to be on at the same time. Units are in processor cycles. |
4 | Commutation threshold | 0.100000 | This defines the trigger level at which the commutation algorithm determines it is time to commutate the motor. |
5 | Commutation loss timeout | 100 | If the time between detected commutations is greater than this value, in mS, then the algorithm will assume the motor is stalled and reset the commutation algorithm and switch to open loop startup mode. |
6 | Startup duty cycle | 0.040000 | The duty cycle that will be used to power the motor when in initial open-loop startup mode. |
7 | Startup initial RPM | 80 | The initial startup RPM that will be used when the motor is in initial open-loop startup mode. The algorithm will attempt to commutate at this RPM using the Startup Duty Cycle PWM. The open loop phase will ramp up from this RPM to the startup end RPM at a rate defined by the Ramp Startup time. |
8 | Startup final RPM | 100 | he ending startup RPM that will be used when the motor is in initial open-loop startup mode. The algorithm will attempt to commutate at this RPM using the Startup Duty Cycle PWM. The open loop phase will ramp up to this RPM from the startup initial RPM at a rate defined by the Ramp Startup time. |
9 | Startup duration | 50.000000 | This parameter defines the duration required to ramp from startup initial RPM to startup end RPM. This value is in units of ???? |
10 | Negative deadband | -0.020000 | This defines the largest (closest to 0) negative value that can be set as a motor thruster setpoint. It is assumed that due to stiction the motor will not spin at power levels closer to 0 than this. |
11 | Positive deadband | 0.020000 | This defines the smallest positive (closest to 0) value that can be set as a motor thruster setpoint. It is assumed that due to stiction the motor will not spin at power levels closer to 0 than this. |
12 | Negative duty cycle limit | -0.990000 | This value is the limit in the negative direction of applicable power to the motor. The command setpoint will never be less than this value. |
13 | Positive duty cycle limit | 0.990000 | This value is the limit in the positive direction of applicable power to the motor. The command setpoint will never be greater than this value. |
14 | Acceleration rate | 0.000050 | This value defines the rate at which the motor will change from the current power setpoint to the target setpoint. This value defines the rate when the absolute value of the target setpoint is larger than the current setpoint. The units of this value are change in normalized power per mS. |
15 | Deceleration rate | 0.000050 | This value defines the rate at which the motor will change from the current power setpoint to the target setpoint. This value defines the rate when absolute value of the target setpoint is less than the current setpoint. The units of this value are change in normalized power per mS. |
16 | Power manager threshold | 200.000000 | This actively limits the power that the thruster will use. The default is 200W. |
17 | Fault control | 0x0 | This is a bit-field mask is used to enable or disable the de-energizeing of the motor on the detection of a fault. Faults will still be detected, but if the bit field is cleared the controller will not de-energize on that specific fault condition.
Current fault conditions are defined as:
- FAULT_UNDERVOLT (1<<0)
- FAULT_OVERRVOLT (1<<1)
- FAULT_OVERCURRENT(1<<2)
- FAULT_OVERTEMP(1<<3)
- FAULT_STALL(1<<4)
- FAULT_STALL_WARN (1<<5)
|
18 | Minimum voltage | 19.200001 | Sets the undervoltage fault trip point in Volts. |
19 | Max bus voltage | 50.000000 | Sets the over voltage fault trip point in Volts. |
20 | Max current | 20.000000 | Sets the overcurrent fault trip point in Amps. |
21 | Max temperature | 100.000000 | Sets the overtemp fault trip point in degrees Celsius. |
22 | Max stall count | 100 | Sets the threshold for the number of stall event detections at which to declare a fault. |
23 | Node Id | 2 | This is the communication protocol network node id. This is used to designate this device on a multiparty RS-485 communication network. A module will accept a packet which is addressed to its node ID, Group ID, or uses the broadcast ID. |
24 | Group Id | 129 | This is the communication protocol network group id. This is used to designate a group of device on a multiparty RS-485 communication network. A module will accept a packet which is addressed to its node ID, Group ID, or uses the broadcast ID. |
25 | Motor Id | 0 | This is the motor controller ID. This associates a motor with a specific datum in the motor controller propulsion command. Modules with the same motor ID will all use the same set point when sent an acceptable propulsion command. |
26 | System control flags | 1 | The motor control flags are a bitfield that sets binary operation parameters.
Currently defined:
- ENABLE_LOSS_OF_COMMS_TIMOUT (1 << 0)
- DISABLE_STARTUP_TONES (1<<1)
When set the controller will set the power setpoint to 0 if communications have been lossed for 1 second.Clearing this flag allows for a greatly reduced communications bandwidth. However the motor will continue to spin even if communications have been lost. |
27 | Fault interlock | 0 | This value must be set to the proper password to allow the faults control mask to be changed.
The password is 0xdeadbeef |
f | Reset | n/a | Reset parameters to factory default. |
s | Save | n/a | Save parameters. |
x | Exit | n/a | Exit configuration mode. |