Support » Jrk G2 Motor Controller User’s Guide »
9. Setting reference
The Jrk G2 holds all of its settings in its non-volatile EEPROM memory. These settings are normally set ahead of time over USB using the Jrk G2 Configuration Utility. You can also read and write settings from the Jrk over USB using the --get-settings
and --settings
arguments to jrk2cmd
. You can use the Jrk’s “Get settings” command to read these settings over serial and I²C, but you cannot change the EEPROM settings using those interfaces.
The Jrk stores a temporary copy of its settings in RAM, and the “Set RAM settings” and “Get RAM settings” commands allow you read and write from this copy over serial, I²C, and USB. This allows you to temporarily override most (but not all) settings.
This section lists all of the settings that the Jrk G2 supports. For each setting, this section contains several pieces of information:
- The Offset of each setting is the location where it is stored in the Jrk’s EEPROM memory. The offset is measured in bytes. You can use this offset with the “Read setting” and “Set setting” commands.
- The Type of each setting specifies how many bits the setting occupies, and says whether it is signed or unsigned (if applicable). All the multi-byte settings use little-endian format, meaning that the least-significant byte comes first.
- The Data entry for each setting specifies how the data for that setting is encoded in the Jrk’s memory. Some of the settings lack this field because they are simply dimensionless integers, so their encoding is straightforward.
- The Default entry for each setting is the default value it has on a new Jrk or a Jrk that has been reset to its defaults.
- The Range entry for each setting specifies what values the setting can have, if applicable. Trying to use a value outside of this range could result in unexpected behavior.
- The Settings file is the name of the setting in a Jrk settings file, if applicable. You can save and load Jrk settings files from the “File” menu of the Configuration utility, or by using the Jrk Command-line Utility (jrk2cmd).
- The Settings file data entry for each setting is the specification of how that setting is encoded in a settings file. Some of the settings lack this field because the encoding is straightforward.
- The Configuration utility entry is the location of that setting in the graphical user interface of the Jrk G2 configuration utility software, if applicable.
- The Temporary override available entry is “Yes” if changes made to the setting with the “Set RAM settings” command will have an immediate effect. Otherwise, you will need to set this setting ahead of time over USB using Jrk G2 configuration software.
List of settings
- Input mode
- Input error minimum
- Input error maximum
- Input minimum
- Input maximum
- Input neutral minimum
- Input neutral maximum
- Target minimum
- Target neutral
- Target maximum
- Invert input direction
- Input scaling degree
- Input detect disconnect
- Input analog samples exponent
- Feedback mode
- Feedback error minimum
- Feedback error maximum
- Feedback minimum
- Feedback maximum
- Invert feedback direction
- Feedback detect disconnect
- Feedback dead zone
- Feedback analog samples exponent
- Feedback wraparound
- Serial mode
- Serial baud rate
- Serial timeout
- Serial device number
- Never sleep
- Enable CRC
- Enable 14-bit device number
- Disable compact protocol
- Proportional multiplier
- Proportional exponent
- Integral multiplier
- Integral exponent
- Derivative multiplier
- Derivative exponent
- PID period
- Integral divider exponent
- Integral limit
- Reset integral when proportional term exceeds max duty cycle
- PWM frequency
- Current samples exponent
- Hard overcurrent threshold
- Current offset calibration
- Current scale calibration
- Invert motor direction
- Max. duty cycle forward
- Max. duty cycle reverse
- Max. duty cycle while feedback is out of range
- Max. acceleration forward
- Max. acceleration reverse
- Max. deceleration forward
- Max. deceleration reverse
- Hard current limit forward
- Hard current limit reverse
- Brake duration forward
- Brake duration reverse
- Soft current limit forward
- Soft current limit reverse
- Soft current regulation level forward
- Soft current regulation level reverse
- Coast when off
- Error enable
- Error latch
- Error hard stop
- VIN calibration
- Disable I²C pull-ups
- Enable pull-up for analog input on SDA/AN
- Always configure SDA/AN for analog input
- Always configure FBA for analog input
- FBT method
- FBT timing clock
- FBT timing polarity
- FBT timing timeout
- FBT samples
- FBT divider exponent
- Not initialized
Input mode
Offset | 0x03 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | Serial / I²C / USB |
Settings file | input_mode |
Settings file data |
|
Configuration utility | Input tab, Input mode |
Temporary override available | No |
The input mode setting specifies how you want to control the Jrk. It determines the definition of the input and target variables. The input variable is a raw measurement of the Jrk’s input. The target variable is the desired state of the system’s output, and feeds into the PID feedback algorithm.
- If the input mode is “Serial / I²C / USB”, the Jrk gets its input and target settings over its USB, serial, or I²C interfaces. You can send Set Target commands to the Jrk to set both the input and target variables.
- If the input mode is “Analog voltage”, the Jrk gets it input variable by reading the voltage on its SDA/AN pin. A signal level of 0 V corresponds to an input value of 0, and a signal level of 5 V corresponds to an input value of 4092. The Jrk uses its input scaling feature to set the target variable.
- If the input mode is “RC”, the Jrk gets it input variable by reading RC pulses on its RC pin. The input value is the width of the most recent pulse, in units of 2/3 microseconds (0.666 μs). The Jrk uses its input scaling feature to set the target variable.
Input error minimum
Offset | 0x04 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 4095 |
Settings file | input_error_minimum |
Configuration utility | Input tab, Scaling box, Input column, Error min |
Temporary override available | Yes |
If the raw input value is below this value, it causes an “Input disconnect” error. See Section 7.3.
Input error maximum
Offset | 0x06 |
---|---|
Type | unsigned 16-bit |
Default | 4095 |
Range | 0 to 4095 |
Settings file | input_error_maximum |
Configuration utility | Input tab, Scaling box, Input column, Error max |
Temporary override available | Yes |
If the raw input value is below this value, it causes an “Input disconnect” error. See Section 7.3.
Input minimum
Offset | 0x08 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 4095 |
Settings file | input_minimum |
Configuration utility | Input tab, Scaling box, Input column, Minimum |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Input maximum
Offset | 0x0A |
---|---|
Type | unsigned 16-bit |
Default | 4095 |
Range | 0 to 4095 |
Settings file | input_maximum |
Configuration utility | Input tab, Scaling box, Input column, Maximum |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Input neutral minimum
Offset | 0x0C |
---|---|
Type | unsigned 16-bit |
Default | 2048 |
Range | 0 to 4095 |
Settings file | input_neutral_minimum |
Configuration utility | Input tab, Scaling box, Input column, Neutral min |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Input neutral maximum
Offset | 0x0E |
---|---|
Type | unsigned 16-bit |
Default | 2048 |
Range | 0 to 4095 |
Settings file | input_neutral_maximum |
Configuration utility | Input tab, Scaling box, Input column, Neutral max |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Target minimum
Offset | 0x10 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 4095 |
Settings file | output_minimum |
Configuration utility | Input tab, Scaling box, Target column, Minimum |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Target neutral
Offset | 0x12 |
---|---|
Type | unsigned 16-bit |
Default | 2048 |
Range | 0 to 4095 |
Settings file | output_neutral |
Configuration utility | Input tab, Scaling box, Target column, Neutral |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Target maximum
Offset | 0x14 |
---|---|
Type | unsigned 16-bit |
Default | 4095 |
Range | 0 to 4095 |
Settings file | output_maximum |
Configuration utility | Input tab, Scaling box, Target column, Maximum |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Invert input direction
Offset | bit 0 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | input_invert |
Settings file data | true or false |
Configuration utility | Input tab, Scaling box, Invert input direction |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Input scaling degree
Offset | 0x16 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | JRK_SCALING_DEGREE_LINEAR |
Settings file | input_scaling_degree |
Settings file data |
|
Configuration utility | Input tab, Scaling box, Degree |
Temporary override available | Yes |
This is one of the input scaling parameters that determines how the Jrk calculates its target value from its raw input. See Section 7.3.
Input detect disconnect
Offset | bit 1 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | input_detect_disconnect |
Settings file data | true or false |
Configuration utility | Input tab, Detect disconnect with power pin (SCL) |
Temporary override available | Yes |
This determines whether the Jrk will drive the SCL pin low to detect when the input potentiometer has been disconnected. See Section 7.3.
Input analog samples exponent
Offset | 0x17 |
---|---|
Type | unsigned 8-bit |
Default | 7 (128 samples) |
Range | 0 to 10 (1 sample to 1024 samples) |
Settings file | input_analog_samples_exponent |
Configuration utility | Input tab, Analog samples |
Temporary override available | Yes |
This setting specifies how many analog samples of the SDA/AN pin to take each PID period if it is being used as an analog input. The number of samples will be 2x where x is this setting. For more information, see Section 7.3.
Feedback mode
Offset | 0x18 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | None |
Settings file | feedback_mode |
Settings file data |
|
Configuration utility | Feedback tab, Feedback mode |
Temporary override available | No |
The feedback mode setting specifies whether the Jrk is using feedback from the output of the system, and if so defines what type of feedback to use.
- If the feedback mode is “None”, feedback and PID calculations are disabled, and the Jrk will do open-loop control. The duty cycle target variable is always equal to the target variable minus 2048, instead of being the result of a PID calculation. This means that a target of 2648 corresponds to driving the motor at full speed forward, 2048 is stopped, and 1448 is full-speed reverse. See Section 5.1.
- If the feedback mode is “Analog voltage”, the Jrk gets its feedback by measuring the voltage on the FBA pin. A level of 0 V corresponds to a feedback value of 0, and a level of 5 V corresponds to a feedback value of 4092. The feedback scaling algorithm computes the scaled feedback variable, and the PID algorithm uses the scaled feedback and the target to compute the duty cycle target. See Section 7.4.
- If the feedback mode is “Frequency (speed control)”, the Jrk gets it feedback by measuring the frequency of a digital signal on the FBT pin. This mode is only suitable for speed control, not position control. See Section 7.4.
Feedback error minimum
Offset | 0x19 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 4095 |
Settings file | feedback_error_minimum |
Configuration utility | Feedback tab, Error min |
Temporary override available | Yes |
If the raw feedback value is below this value, it causes a “Feedback disconnect” error. See Section 7.4.
Feedback error maximum
Offset | 0x1B |
---|---|
Type | unsigned 16-bit |
Default | 4095 |
Range | 0 to 4095 |
Settings file | feedback_error_maximum |
Configuration utility | Feedback tab, Error max |
Temporary override available | Yes |
If the raw feedback value exceeds this value, it causes a “Feedback disconnect” error. See Section 7.4.
Feedback minimum
Offset | 0x1D |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 4095 |
Settings file | feedback_minimum |
Configuration utility | Feedback tab, Minimum |
Temporary override available | Yes |
This is one of the parameters of the feedback scaling feature. See Section 7.4.
Feedback maximum
Offset | 0x1F |
---|---|
Type | unsigned 16-bit |
Default | 4095 |
Range | 0 to 4095 |
Settings file | feedback_maximum |
Configuration utility | Feedback tab, Maximum |
Temporary override available | Yes |
This is one of the parameters of the feedback scaling feature. See Section 7.4.
Invert feedback direction
Offset | bit 2 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | feedback_invert |
Settings file data | true or false |
Configuration utility | Feedback tab, Invert feedback direction |
Temporary override available | Yes |
This is one of the parameters of the feedback scaling feature. See Section 7.4.
Feedback detect disconnect
Offset | bit 3 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | feedback_detect_disconnect |
Settings file data | true or false |
Configuration utility | Feedback tab, Detect disconnect with power pin (AUX) |
Temporary override available | Yes |
This determines whether the Jrk will drive AUX low to detect if the feedback potentiometer has been disconnected. See Section 7.4.
Feedback dead zone
Offset | 0x21 |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 255 |
Settings file | feedback_dead_zone |
Configuration utility | PID tab, Feedback dead zone |
Temporary override available | Yes |
If PID feedback is enabled, the Jrk sets the duty cycle target to zero and resets the integral whenever the magnitude of the error is smaller than this setting. See Section 7.5.
Feedback analog samples exponent
Offset | 0x22 |
---|---|
Type | unsigned 8-bit |
Default | 7 (128 samples) |
Range | 0 to 10 (1 sample to 1024 samples) |
Settings file | feedback_analog_samples_exponent |
Configuration utility | Feedback tab, Analog samples |
Temporary override available | Yes |
This setting specifies how many analog samples of the FBA pin to take each PID period if it is being used as an analog input. The number of samples will be 2x where x is this setting. The samples are averaged together. For more information, see Section 7.4.
Feedback wraparound
Offset | bit 4 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | feedback_wraparound |
Settings file data | true or false |
Configuration utility | Feedback tab, Wraparound |
Temporary override available | Yes |
This option, which is only available when the feedback mode is “Analog”, determines whether the PID algorithm will consider a scaled feedback value of 0 to be next to a scaled feedback value of 4095 when calculating the error. See Section 7.4.
Serial mode
Offset | 0x23 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | USB dual port |
Settings file | serial_mode |
Settings file data |
|
Configuration utility | Input tab, Serial interface box (radio buttons) |
Temporary override available | No |
The serial mode determines how bytes are transferred between the Jrk’s UART (TX and RX pins), its two USB virtual serial ports (the command port and the TTL Port), and its serial command processor.
- If the serial mode is “USB dual port”, the command port can be used to send commands to the Jrk and receive responses from it, while the TTL port can be used to send and receives bytes on the TX and RX lines. The baud rate set by the USB host on the TTL port determines the baud rate used on the TX and RX lines.
- If the serial mode is “USB chained”, the command port can be used to both transmit bytes on the TX line and send commands to the Jrk. The Jrk’s responses to those commands will be sent to the command port but not the TX line. If the RX line is enabled as a serial receive line, bytes received on the RX line will be sent to the command port but will not be interpreted as command bytes by the Jrk. The baud rate set by the USB host on the command port determines the baud rate used on the TX and RX lines.
- If the serial mode is “UART”, the TX and RX lines can be used to send commands to the Jrk and receive responses from it. Any byte received on RX will be sent to the command port, but bytes sent from the command port will be ignored.
Serial baud rate
Offset | 0x24 |
---|---|
Type | unsigned 16-bit |
Data | 16-bit baud rate generator (see below) |
Default | 0x4E1 (9600 bits per second) |
Settings file | serial_baud_rate |
Settings file data | Baud rate in bits per second |
Configuration utility | Input tab, Serial interface box, fixed baud rate |
Temporary override available | No |
This setting specifies the baud rate to use on the RX and TX pins when the serial mode is UART. In other serial modes, the baud rate defaults to 9600, but can be changed over USB using the standard USB CDC ACM command.
The settings file and the configuration utility show the baud rate in bits per second, but it is actually stored on the Jrk as an unsigned 16-bit integer called the baud rate generator. The baud rate will be 12 Mbps divided by the baud rate generator.
Serial timeout
Offset | 0x26 |
---|---|
Type | unsigned 16-bit |
Data | Timeout in units of 10 ms |
Default | 0 |
Range | 0 to 655,350 ms |
Settings file | serial_timeout |
Settings file data | Timeout in units of milliseconds |
Configuration utility | Input tab, Serial interface, Timeout (s) |
Temporary override available | Yes |
This is the time before the device reports a “Serial timeout error” if it has not received certain commands. A value of 0 disables the command timeout feature. See Section 7.7 for details about the serial timeout error.
The configuration utility presents the timeout in seconds, with two digits after the decimal point. The settings file has the timeout in units of milliseconds. The Jrk itself stores it as an unsigned 16-bit number with units of 10 ms, so the maximum possible value is 655,350 ms.
Serial device number
Offset | 0x28 |
---|---|
Type | unsigned 16-bit |
Default | 11 |
Range | 0 to 16383 |
Settings file | serial_device_number |
Configuration utility | Input tab, Serial interface, Device number |
Temporary override available | No |
This is the serial device number used in the Pololu protocol on the Jrk’s serial interfaces, and the I²C device address used on the Jrk’s I²C interface.
By default, the Jrk only pays attention to the lower 7 bits of this setting, but if you enable 14-bit serial device numbers then it will use the lower 14 bits for the serial interface (but the I²C interface will still only use the lower 7 bits).
See Section 12 and Section 13.
Never sleep
Offset | bit 0 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | never_sleep |
Settings file data | true or false |
Configuration utility | Advanced tab, Miscellaneous, Never sleep (ignore USB suspend) |
Temporary override available | Yes |
By default, if the Jrk is powered from a USB bus that is in suspend mode (e.g. the computer is sleeping) and VIN power is not present, it will go to sleep to reduce its current consumption and comply with the USB specification. If this setting is set to true, the Jrk will never go to sleep.
Enable CRC
Offset | bit 1 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | serial_enable_crc |
Settings file data | true or false |
Configuration utility | Input tab, Serial interface, Enable CRC |
Temporary override available | No |
If set to true, the Jrk requires a 7-bit CRC byte at the end of each serial command, and if the CRC byte is wrong then it ignores the command and sets the serial CRC error bit. See Section 12.
Enable 14-bit device number
Offset | bit 2 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | serial_enable_14bit_device_number |
Settings file data | true or false |
Configuration utility | Input tab, Serial interface, Enable 14-bit device number |
Temporary override available | No |
If enabled, the Jrk’s Pololu protocol for serial commands will require a 14-bit device number to be sent with every command, instead of normal 7-bit device number. This option allows you to put more than 128 Jrk devices on one serial bus and control them individually. See Section 12.
Disable compact protocol
Offset | bit 3 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | serial_disable_compact_protocol |
Settings file data | true or false |
Configuration utility | Input tab, Serial interface, Disable compact protocol |
Temporary override available | No |
If enabled, the Jrk will not respond to compact protocol serial commands. See Section 12.
Proportional multiplier
Offset | 0x51 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 1023 |
Settings file | proportional_multiplier |
Configuration utility | PID tab, Proportional coefficient, Upper left |
Temporary override available | Yes |
This is the multiplier for the proportional coefficient used in the PID calculation. See Section 7.5.
Proportional exponent
Offset | 0x53 |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 18 |
Settings file | proportional_exponent |
Configuration utility | PID tab, Proportional coefficient, Lower left |
Temporary override available | Yes |
This is the exponent for the proportional coefficient used in the PID calculation. See Section 7.5.
Integral multiplier
Offset | 0x54 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 1023 |
Settings file | integral_multiplier |
Configuration utility | PID tab, Integral coefficient, Upper left |
Temporary override available | Yes |
This is the multiplier for the integral coefficient used in the PID calculation. See Section 7.5.
Integral exponent
Offset | 0x56 |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 18 |
Settings file | integral_exponent |
Configuration utility | PID tab, Integral coefficient, Lower left |
Temporary override available | Yes |
This is the exponent for the integral coefficient used in the PID calculation. See Section 7.5.
Derivative multiplier
Offset | 0x57 |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Range | 0 to 1023 |
Settings file | derivative_multiplier |
Configuration utility | PID tab, Derivative coefficient, Upper left |
Temporary override available | Yes |
This is the multiplier for the derivative coefficient used in the PID calculation. See Section 7.5.
Derivative exponent
Offset | 0x59 |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 18 |
Settings file | derivative_exponent |
Configuration utility | PID tab, Derivative coefficient, Lower left |
Temporary override available | Yes |
This is the exponent for the derivative coefficient used in the PID calculation. See Section 7.5.
PID period
Offset | 0x5A |
---|---|
Type | unsigned 16-bit |
Data | PID period in units of milliseconds |
Default | 10 ms |
Range | 1 ms to 8191 ms |
Settings file | pid_period |
Configuration utility | PID tab, PID period |
Temporary override available | Yes |
The PID period specifies how often the Jrk should calculate its input and feedback, run its PID calculation, and update the motor speed, in units of milliseconds. This period is still used even if feedback and PID are disabled. See Section 7.5.
Integral divider exponent
Offset | 0x3F |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 15 |
Settings file | integral_divider_exponent |
Configuration utility | PID tab, Integral divider |
Temporary override available | Yes |
This setting determines the “Integral divider” described in Section 7.5. The integral divider is 2x where x is this setting.
Integral limit
Offset | 0x5C |
---|---|
Type | unsigned 16-bit |
Default | 1000 |
Range | 0 to 32767 |
Settings file | integral_limit |
Configuration utility | PID tab, Integral limit |
Temporary override available | Yes |
See Section 7.5.
Reset integral when proportional term exceeds max duty cycle
Offset | bit 0 of byte 0x50 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | reset_integral |
Settings file data | true or false |
Configuration utility | PID tab, Reset integral when proportional term exceeds max duty cycle |
Temporary override available | Yes |
See Section 7.5.
PWM frequency
Offset | 0x32 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | 20 kHz |
Settings file | pwm_frequency |
Settings file data | 20 or 5 |
Configuration utility | Motor tab, PWM frequency |
Temporary override available | Yes |
See Section 7.6.
Current samples exponent
Offset | 0x33 |
---|---|
Type | unsigned 8-bit |
Default | 7 (128 samples) |
Range | 0 to 10 (1 sample to 1024 samples) |
Settings file | current_samples_exponent |
Configuration utility | Motor tab, Current samples |
Temporary override available | Yes |
This setting specifies how many analog samples of the Jrk’s internal current sense pin to take each PID period. The number of samples will be 2x where x is this setting. The samples are averaged together. For more information, see Section 7.6.
Hard overcurrent threshold
Offset | 0x34 |
---|---|
Type | unsigned 8-bit |
Default | 1 |
Range | 1 to 255 |
Settings file | hard_overcurrent_threshold |
Configuration utility | Motor tab, Hard overcurrent threshold |
Temporary override available | Yes |
This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21. See Section 7.6.
Current offset calibration
Offset | 0x35 |
---|---|
Type | signed 16-bit |
Default | 0 |
Range | -800 to 800 |
Settings file | current_offset_calibration |
Configuration utility | Motor tab, Current offset calibration |
Temporary override available | Yes |
See Section 7.6.
Current scale calibration
Offset | 0x37 |
---|---|
Type | signed 16-bit |
Default | 0 |
Range | -1875 to 1875 |
Settings file | current_scale_calibration |
Configuration utility | Motor tab, Current scale calibration |
Temporary override available | Yes |
See Section 7.6.
Invert motor direction
Offset | bit 5 of byte 0x02 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | motor_invert |
Settings file data | true or false |
Configuration utility | Motor tab, Invert motor direction |
Temporary override available | Yes |
Flips the polarity of the voltage applied to the motor. See Section 7.6.
Max. duty cycle forward
Offset | 0x68 |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 0 to 600 |
Settings file | max_duty_cycle_forward |
Configuration utility | Motor tab, Max. duty cycle, Forward column |
Temporary override available | Yes |
See Section 7.6.
Max. duty cycle reverse
Offset | 0x6A |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 0 to 600 |
Settings file | max_duty_cycle_reverse |
Configuration utility | Motor tab, Max. duty cycle, Reverse column |
Temporary override available | Yes |
See Section 7.6.
Max duty cycle while feedback is out of range
Offset | 0x5E |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 1 to 600 |
Settings file | max_duty_cycle_while_feedback_out_of_range |
Configuration utility | Motor tab, Max. duty cycle while feedback is out of range |
Temporary override available | Yes |
See Section 7.6.
Max. acceleration forward
Offset | 0x60 |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 1 to 600 |
Settings file | max_acceleration_forward |
Configuration utility | Motor tab, Max. acceleration, Forward column |
Temporary override available | Yes |
See Section 7.6.
Max. acceleration reverse
Offset | 0x62 |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 1 to 600 |
Settings file | max_acceleration_reverse |
Configuration utility | Motor tab, Max. acceleration, Reverse column |
Temporary override available | Yes |
See Section 7.6.
Max. deceleration forward
Offset | 0x64 |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 1 to 600 |
Settings file | max_deceleration_forward |
Configuration utility | Motor tab, Max. deceleration, Forward column |
Temporary override available | Yes |
See Section 7.6.
Max. deceleration reverse
Offset | 0x66 |
---|---|
Type | unsigned 16-bit |
Default | 600 |
Range | 1 to 600 |
Settings file | max_deceleration_reverse |
Configuration utility | Motor tab, Max. deceleration, Reverse column |
Temporary override available | Yes |
See Section 7.6.
Hard current limit forward
Offset | 0x6C |
---|---|
Type | unsigned 16-bit |
Data | Encoded |
Default | Depends on the product |
Settings file | encoded_hard_current_limit_forward |
Configuration utility | Motor tab, Hard current limit, Forward column |
Temporary override available | Yes |
This setting specifies the hardware current limit that the Jrk will use when driving in the forward direction.
This setting is not actually stored in the Jrk as a current; it is stored as an encoded value telling the Jrk how to set up its current limiting hardware. The correspondence between the encoded value and the actual current limit in milliamps depends on what product you are using and the characteristics of your particular unit as represented by the “Current offset calibration” and “Current scale calibration” settings. You can get a table in CSV format showing the correspondence by connecting the Jrk into a computer via USB and running jrk2cmd --current-table
.
The default value for this setting depends on what Jrk product you have, as described in the table below:
Jrk product | Default hard current limit |
---|---|
18v19 | 28.47 A (86) |
24v13 | 19.34 A (62) |
18v27 | 40.25 A (87) |
24v21 | 31.53 A (63) |
This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21. See Section 7.6 for more information.
Hard current limit reverse
Offset | 0x6E |
---|---|
Type | unsigned 16-bit |
Data | Encoded |
Default | Depends on the product |
Settings file | encoded_hard_current_limit_reverse |
Configuration utility | Motor tab, Hard current limit, Reverse column |
Temporary override available | Yes |
See the hard current limit forward setting. This setting is the same except it applies when driving in the reverse direction. This setting is only available for the Jrk G2 18v19, 24v13, 18v27, and 24v21.
Brake duration forward
Offset | 0x70 |
---|---|
Type | unsigned 8-bit |
Data | Duration in units of 5 ms |
Default | 0 |
Range | 0 to 1275 ms |
Settings file | brake_duration_forward |
Settings file data | Duration in units of milliseconds |
Configuration utility | Motor tab, Brake duration, Forward column |
Temporary override available | Yes |
See Section 7.6.
Brake duration reverse
Offset | 0x71 |
---|---|
Type | unsigned 8-bit |
Data | Duration in units of 5 ms |
Default | 0 |
Range | 0 to 1275 ms |
Settings file | brake_duration_reverse |
Settings file data | Duration in units of milliseconds |
Configuration utility | Motor tab, Brake duration, Reverse column |
Temporary override available | Yes |
See Section 7.6.
Soft current limit forward
Offset | 0x72 |
---|---|
Type | unsigned 16-bit |
Data | Current in units of milliamps, 0 means no limit |
Default | 0 |
Range | 0 to 65,535 mA |
Settings file | soft_current_limit_forward |
Settings file data | Current in units of milliamps |
Configuration utility | Motor tab, Soft current limit, Forward column |
Temporary override available | Yes |
See Section 7.6.
Soft current limit reverse
Offset | 0x74 |
---|---|
Type | unsigned 16-bit |
Data | Current in units of milliamps, 0 means no limit |
Default | 0 |
Range | 0 to 65,535 mA |
Settings file | soft_current_limit_reverse |
Settings file data | Current in units of milliamps |
Configuration utility | Motor tab, Soft current limit, Reverse column |
Temporary override available | Yes |
See Section 7.6.
Soft current regulation level forward
Offset | 0x40 |
---|---|
Type | unsigned 16-bit |
Data | Current in units of milliamps, 0 means disabled |
Default | 0 |
Range | 0 to 65,535 mA |
Settings file | soft_current_regulation_level_forward |
Settings file data | Current in units of milliamps |
Configuration utility | Motor tab, Soft current regulation level, Forward column |
Temporary override available | Yes |
This setting is only available on the Jrk G2 21v3. See Section 7.6.
Soft current regulation level reverse
Offset | 0x42 |
---|---|
Type | unsigned 16-bit |
Data | Current in units of milliamps, 0 means disabled |
Default | 0 |
Range | 0 to 65,535 mA |
Settings file | soft_current_regulation_level_reverse |
Settings file data | Current in units of milliamps |
Configuration utility | Motor tab, Soft current regulation level, Reverse column |
Temporary override available | Yes |
This setting is only available on the Jrk G2 21v3. See Section 7.6.
Coast when off
Offset | bit 1 of byte 0x50 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | coast_when_off |
Settings file data | true or false |
Configuration utility | Motor tab, When motor is off |
Temporary override available | Yes |
See Section 7.6.
Error enable
Offset | 0x2A |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Settings file | error_enable |
Configuration utility | Errors tab |
Temporary override available | Yes |
This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is enabled, and 0 otherwise. Note that an error that is “Enabled & latched” counts as being enabled.
The “Awaiting command”, “No power”, “Motor driver error”, and “Input invalid” errors are always enabled and cannot be disabled, so the bits corresponding to those errors in this setting are ignored.
Error latch
Offset | 0x2C |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Settings file | error_latch |
Configuration utility | Errors tab |
Temporary override available | Yes |
This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is enabled and latched, or 0 otherwise.
The bits in this register are ignored for errors that are not enabled. (If an error is not enabled, its error flag will never be set, so there is no concept of the error flag being latched.) Also, the “Awaiting command” error and all the serial errors are always latching errors if they are enabled, so bits corresponding to those errors in this setting are ignored.
Error hard stop
Offset | 0x2E |
---|---|
Type | unsigned 16-bit |
Default | 0 |
Settings file | error_hard |
Configuration utility | Errors tab |
Temporary override available | Yes |
This setting holds a bit for each error that the Jrk supports. The correspondence between bits and errors is defined in Section 7.7. The bit is 1 if the corresponding error is configured as a hard stop error, or 0 otherwise.
The “No power” and “Motor driver” errors are always hard stop errors. The bits corresponding to those errors in this setting are ignored.
VIN calibration
Offset | 0x30 |
---|---|
Type | signed 16-bit |
Default | 0 |
Range | -500 to 500 |
Settings file | vin_calibration |
Configuration utility | Advanced tab, Miscellaneous, VIN measurement calibration |
Temporary override available | Yes |
The firmware uses this calibration factor when calculating the VIN voltage. One of the steps in the process is to multiply the VIN voltage reading by 825 plus the VIN calibration. Therefore, for every 8 counts that you add or subtract from the VIN calibration setting, you increase or decrease the VIN voltage reading by about 1%.
Disable I²C pull-ups
Offset | bit 4 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | disable_i2c_pullups |
Settings file data | true or false |
Configuration utility | Advanced tab, Disable I²C pull-ups |
Temporary override available | No |
This option disables the internal pull-up resistors on the SDA/AN and SCL pins if those pins are being used for I²C communication. Normally, the pull-ups are enabled to ensure that each bus line goes high when no devices are driving it.
Enable pull-up for analog input on SDA/AN
Offset | bit 5 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | analog_sda_pullup |
Settings file data | true or false |
Configuration utility | Advanced tab, Enable pull-up for analog input on SDA/AN |
Temporary override available | No |
This option enables the internal pull-up resistor on the SDA/AN pin if it is being used as an analog input.
Always configure SDA/AN for analog input
Offset | bit 6 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | always_analog_sda |
Settings file data | true or false |
Configuration utility | Advanced tab, Always configure SDA/AN for analog input |
Temporary override available | No |
This option causes the Jrk to perform analog measurements on the SDA/AN pin and configure SCL as a potentiometer power pin even if the “Input mode” setting is not “Analog”.
Always configure FBA for analog input
Offset | bit 7 of byte 0x01 |
---|---|
Type | boolean |
Data |
|
Default | false |
Settings file | always_analog_fba |
Settings file data | true or false |
Configuration utility | Advanced tab, Always configure FBA for analog input |
Temporary override available | No |
This option causes the Jrk to perform analog measurements on the FBA pin even if the “Feedback mode” setting is not “Analog”.
FBT method
Offset | 0x39 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | Pulse counting |
Settings file | fbt_method |
Settings file data |
|
Configuration utility | Feedback tab, Frequency feedback on FBT, Measurement method |
Temporary override available | No |
See Section 7.4.
FBT timing clock
Offset | bits 4 through 6 of byte 0x3A |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | 1.5 MHz |
Range | 0 to JRK_FBT_TIMING_CLOCK_24 |
Settings file | fbt_timing_clock |
Settings file data |
|
Configuration utility | Feedback tab, Frequency feedback on FBT, Pulse timing clock |
Temporary override available | No |
See Section 7.4.
FBT timing polarity
Offset | bit 0 of byte 0x3A |
---|---|
Type | boolean |
Data |
|
Default | Active high |
Settings file | fbt_timing_polarity |
Settings file data | false (active high) or true (active low) |
Configuration utility | Feedback tab, Frequency feedback on FBT, Pulse timing polarity |
Temporary override available | No |
By default, the pulse timing mode on the FBT pin measures the time of high pulses. When true, this option causes it to measure low pulses. See Section 7.4.
FBT timing timeout
Offset | 0x3B |
---|---|
Type | unsigned 16-bit |
Data | Timeout in milliseconds |
Default | 100 |
Range | 1 to 60000 |
Settings file | fbt_timing_timeout |
Configuration utility | Feedback tab, Frequency feedback on FBT, Pulse timing timeout |
Temporary override available | Yes |
The pulse timing mode for the FBT pin will assume the motor has stopped, and start recording maximum-width pulses if it has not seen any pulses in this amount of time. See Section 7.4.
FBT samples
Offset | 0x3D |
---|---|
Type | unsigned 8-bit |
Default | 1 |
Range | 1 to 32 |
Settings file | fbt_samples |
Configuration utility | Feedback tab, Frequency feedback on FBT, Pulse samples |
Temporary override available | No |
The number of consecutive FBT measurements to average together in pulse timing mode or to add together in pulse counting mode. See Section 7.4.
FBT divider exponent
Offset | 0x3E |
---|---|
Type | unsigned 8-bit |
Default | 0 |
Range | 0 to 15 |
Settings file | fbt_divider_exponent |
Configuration utility | Feedback tab, Frequency feedback on FBT, Frequency divider |
Temporary override available | Yes |
This setting determines the “Frequency divider” described in Section 7.4. The frequency divider is 2x where x is this setting.
Not initialized
Offset | 0x00 |
---|---|
Type | unsigned 8-bit |
Data |
|
Default | false |
This special setting keeps track of whether the rest of the settings have been initialized or not. Normally it is zero, which means false. If you set it to a non-zero value, then the Jrk will reset all of the settings to their default values the next time the Jrk is reset or reinitialized. This is how the “Restore default settings” command in the Jrk G2 Configuration Utility and the --restore-defaults
option in the command-line utility are implemented.