Controller configuration with DTI CAN tool software
Modifying parameters
Any parameter changes are stored locally until the Write button is pressed to upload them to the controller.
To discard local changes and restore the current controller configuration, open the Configuration menu at the top and select the Read command. This action re-downloads the parameters from the controller and overwrites the locally stored values on the PC.
Motor parameters

It is very important to configure correct motor parameters. These settings are the base of the motor control FOC algorithm. If the parameters are not correct the motor cannot be operated properly or inverter and/or motor can be damaged. The correct motor parameters can be obtained from the following sources:
- Recommended by DTI support service
- Electric motor datasheet or recommended by motor manufacturer
- Individual measurements done by the customer
We recommend to use the motor parameters provided by the DTI support service if available.
Motor parameters obtained from different source
If the motor paramaters are obtained from different sources than DTI, we recommend to validate the current control correctness before going into production. Current control quality can be determined by executing open loop and closed loop active sampling which initate a step response. Analyzing the step response result is mandatory to obtain information of the quality of the current control. If you need such a process, please contact support@drivetraininnovation.com.
Recommended motor parameters
DTI F-MOT:
- Lq inductance: 371 uH
- Ld inductance: 243 uH
- Phase resistance: 165,3 mOhm
- Flux linkage: 50,7 mWb
- Pole pair number: 4
- Nominal motor speed: 1387,54 rad/s
- Temperature sensor: PT1000
As a default the DTI F-SIC pre-loaded with the F-MOT parameters. If these are lost, you are able to restore it in the Configuration → Read default config menu located at the top of the screen.
Rotor position

The rotor position is key factor to maintain a good quality and efficient FOC motor control. It is important for the control to have the right position at the right timing. Therefore the correct settings of rotor position parameters are very important.
Main parameters
The following parameters must set properly:
- Sensor type
- Encoder offset
- Encoder ratio
- Encoder inverted
The sensor type must be selected accordingly the used position sensor type. In the case of F-MOT select Resolver 12-bit option. The encoder offset, ratio and inverted parameters are determined by the automatic calibration procedure of the F-SIC. Do not run the calibration process yet, fristly all the crucial parameters must be verified. This will be executed later in this guide.
Verify rotor position sensor
The next step is to verify the rotor position sensor signal by manually rotating the rotor.
Follow the instructions below:
- Ensure that the resolver is properly connected to the inverter.
- On the right-center side of the DTI CAN Tool screen, observe the current rotor angle (displayed in the center of the white circle) in real time. Note the initial angle.
- Carefully rotate the rotor by hand or with a suitable tool through exactly one full mechanical revolution. Mark the rotor before rotation to assist with positioning.
- While rotating, observe the change of the angle displayed in the DTI CAN Tool.
- After one full rotation, record the final angle shown in the GUI.
- Compare the initial angle (Step 2) with the final angle (Step 5). They must be identical or within ±1°. If so, the verification is successful.
This procedure ensures that the controller interprets a single mechanical turn as a single electrical turn. If this mapping is incorrect, motor operation will fail.
If the verification fails, identify and resolve the root cause. Based on experience, the following checklist can assist in troubleshooting:
- Verify all cables, connectors, and pinouts for wiring errors or misalignment.
- Confirm that the resolver is installed correctly from a mechanical perspective.
- Ensure that the resolver has one pole pair.
Most motor control issues can be traced to implausible or incorrect position sensor signals. We strongly recommend performing thorough double-checks of both the mechanical installation and the electrical wiring of the position sensor to ensure reliable operation.
Control settings
General tab

Invert motor direction
After the automatic rotor position calibration procedure the motor will turn CW or CCW for positive current targets depending on the phase cables connected. This parameter can invert the direction of the rotation of the motor. This setting is depending on the application. Generally, this parameter must be set that the vehicle must go forward for positive current targets.
Switching frequency
This parameter adjusts the switching frequency of the inverter. This impacts the sampling frequency which is the update frequency of the PWM duties. In case of the F-SIC the sampling frequency is 2 times of the switching frequency. Increasing this number will reduce current ripple of the motor, but introduce switching losses and vica versa. The switching frequency also impacts other parameters of the controlling. Only change this parameter if you have a specific reason to do that or recommended by DTI support.
Fault stop time
When an unexpected event happens during the operation of the controller a fault code will became active. The fault code will remain active while the fault is still persistent. The fault code will be cleared automatically after the "Fault stop time" passed and fault is not persistent anymore.
MFW mode
With the help of this parameter you can activate or deactivate MTPA1 or/and MFW2 motor control methods. We recommend to spin the motor without MTPA and MFW for the first time. Enable them through the tests step by step to ensure proper operation.
Reference ramp parameters
This paramater can enable or disable reference ramping. Reference ramping helps to avoid quick changes in the current target which may lead to oscillations in current control loop.
Current ramp factor
The defined maximum current change in the reference in A/s. The smaller the number the slower the reaction time of the motor to the given reference.
Use reference ramp
It is highly recommended to use reference ramping to achieve a stable motor control below and beyond base speed in MFW region. Sudden reference changes in MFW region is avoidable. This function helps smoothen out and stabilize motor control
Limit parameters tab

Motor current max
Determines the maximum AC current (Apk) which is allowed for the motor. The controller will ignore commanded value above this value.
Motor current max brake
The maximum AC current used for braking the motor near to 0 RPM. This value is used when specifically a brake command is received by the controller.
Absolute maximum current
This AC current is used for activate the "Absolute maximum motor current" fault. This is a safety feature to protect the motor from overcurrent situation. This fault also can be activated when unsufficiend current control loop is incorrectly tuned. Make this parameter at least 20A more than the "Motor current max" parameter.
Brake current derate start ERPM
This parameter only used for the brake command. Beyond this ERPM the controller will decrease the brake current reference internally in order to slow down the motor smoothly and prevent oscillation at near 0 RPM. This is neccessary due to the low back-emf at low speeds.
DC current limit
Relevant parameters:
- Enable DC current limit: Enables or disables DC current limitation. DC current limitation can be used for protecting the battery.
- Battery current max: The maximum amount of DC current can be drained from the battery.
- Battery current max regen: The maximum amount of DC current can be fed to the battery.
The DC current limitation function operates by using a PI controller to maintain the DC input current within specified limits. The PI controller reduces the output AC current to ensure the DC current stays below the set thresholds.

DC voltage limit
Relevant parameters:
- DC voltage limit start
- DC voltage limit end
The DC voltage limit is a limiting feature to protect the battery at low charging states. The DC voltage limit function derates the reference current linearly between the Start and End voltages. The DC voltage limit start is the voltage threshold where the AC current limiting starts. Above this voltage no limiting applied. Beyond DC voltage limit end voltage 0A target current allowed. When this limit active the power stage can be still active and motor control still allowed. This limit truncate the commanded current reference targeted by the user.
Example for operation:
- Voltage limit start is set to 200V
- Voltage limit end is set to 100V
HV input voltage | Commanded current ref | Actual current output |
---|---|---|
220V | 100A | 100A |
200V | 100A | 100A |
175V | 100A | 75A |
150V | 100A | 50A |
125V | 100A | 25A |
100V | 100A | 0A |
90V | 100A | 0A |
This parameter must be determined according to the battery specification.
Minimum/Maximum input voltage
Relevant parameters:
- Minimum input voltage
- Maximum input voltage
When the HV voltage goes beyond or above the minimum or maximum voltage, a fault code will be activated immediately and remains active until the voltage recovers and Fault stop time passed after the recovery. Check Fault stop time section. Power stage will be inactivated immediately. Motor control not allowed until the conditions keeps the fault code active.

ERPM3 limit
Relevant parameters:
- Max ERPM
- Max ERPM reverse
- ERPM Limit start
ERPM limit is a limiting feature to protect the motor mechanically from overspin above its mechanical limit. The limit function truncates the commanded current reference as the following in function of ERPM:
- Above Max ERPM the commanded current reference truncated to 0A
- Between the Max ERPM and the (ERPM limit start * Max ERPM) region the current reference will be truncated linearly
- Below (ERPM limit start * Max ERPM) will not be truncated
Example for operation:
- Max ERPM: 10 000 EPRM
- ERPM limit start: 80%
The algorithm will start to truncate the commanded reference from (ERPM limit start * Max ERPM) in this case 8 000 ERPM:
ERPM | Commanded current ref | Actual current output |
---|---|---|
11 000 ERPM | 100A | 0A |
10 000 ERPM | 100A | 0A |
9 500 ERPM | 100A | 25A |
9 000 ERPM | 100A | 50A |
8 500 ERPM | 100A | 75A |
8 000 ERPM | 100A | 100A |
6 000 ERPM | 100A | 100A |
The Max ERPM reverse functionality is the same like described above in the opposite rotation direction.
The Max ERPM and Max ERPM reverse parameter must be determined according to the motor datasheet or requirements of the application. We recommend to use 20% for the ERPM Limit start parameter as default value and change it as the application requires.
Power limit
Relevant parameters:
- Maximum wattage
- Maximum braking wattage
The power limit function maintains the DC input power within specified limits by adjusting the input to the DC PI current controller. The DC current limit is continuously calculated by dividing the "maximum wattage" by the input voltage. This calculated DC current is then used as the reference for the PI DC input current controller.
The same principle used for Maximum braking wattage.
To use this function the "Enable DC current limit" must be enabled.
Controller temperature limit
Relevant parameters:
- Controller temp cutoff start
- Controller temp cutoff end
The controller temperature limit function protects the semiconductor from overheating and damage. It linearly reduces the reference current between the Controller Temp Cutoff Start and Controller Temp Cutoff End temperature thresholds. The Controller Temp Cutoff Start is the temperature at which AC current limiting begins; below this threshold, no limiting is applied. Above the Controller Temp Cutoff End temperature, the target current is set to 0A. When this limit is active, the power stage remains operational, and motor control is still permitted. This function reduces the user-commanded current reference as needed.
Motor Temperature Limit
Relevant Parameters:
- Motor Temp Cutoff Start
- Motor Temp Cutoff End
The motor temperature limit function protects the motor from overheating and damage. It linearly reduces the reference current between the Motor Temp Cutoff Start and Motor Temp Cutoff End temperature thresholds. The Motor Temp Cutoff Start is the temperature at which AC current limiting begins; below this threshold, no limiting is applied. Above the Motor Temp Cutoff End temperature, the target current is set to 0A. When this limit is active, the power stage remains operational, and motor control is still permitted. This function reduces the user-commanded current reference as needed.
General settings

Unique device name
You can assign a custom alias to a specific device to make it easier to identify during node scanning. The assigned name will be displayed in the node scan results (e.g., "Front Left Drive").
Control source
Determines which source the controller accepts commands:
- CAN1: used by the GUI to control the motor during test setups. Not intend to use in production.
- CAN2: must be used by the user to send commands to the controller
We recommend to use CAN2 as a control source in production. Use CAN1 only on test benches or during encoder offset calibration procedure.
Timeout
If no command is received within the configured Timeout period, the controller will initiate braking using the predefined Timeout Brake Current parameter until the motor speed reaches zero. Once the speed is zero, the power stage will be switched off.
If the Timeout Brake Current is set to zero, the controller will override the target current to 0A, allowing the motor to coast freely. In this case, the power stage will be switched off as soon as possible (the shutdown may be delayed if the motor is operating in the field-weakening range).
Timeout brake current
Defines the braking current applied when a Timeout event occurs. If set to zero, the motor will not be actively braked.
CAN bus settings

General tab
Controller ID
The Node ID of the controller used for the GUI to identify each controller and used for CAN2 to address each device.
CAN1 baud rate
Determines the CAN bus baudrate used for CAN1 interface. We recommend to keep at default 500kbps rate. Only change if you have a specific reason for that.
Enable CAN2 interface
Enables or disables the CAN2 interface operation.
Enabling CAN2 interaface
When the CAN2 interface is enabled and the configuration is saved, the controller must be restarted by performing a power cycle on the LV 12V supply in order to activate the CAN2 interface.
Drive enable via CAN2
This parameter enables monitoring of the Drive Enable signal via the CAN2 interface.
By default, the Drive Enable signal is interpreted as FALSE, preventing the drive from operating until a command message is received periodically in accordance with the selected protocol version.
When using the CAN2 interface to control the inverter, the Drive Enable message does not need to be sent continuously. It is sufficient to send the Drive Enable message once, and then continue transmitting control commands (e.g., AC current, speed control, braking), which will reset the timeout.
If no control message is received within the timeout period, the system will disable the Drive Enable state. After such a timeout event, a new Drive Enable message must be sent before control commands are accepted again.
Use CAN2 extended ID
Determines whether standard or extended CAN message ID will be used on CAN2 interface.
CAN2 baud rate
Determines the CAN bus baudrate used for CAN2 interface. We recommend to keep at default 500kbps rate. Only change if you have a specific reason for that.
CAN2 map version
DTI continuously develops the CAN2 message map to extend monitoring and control functionality for the user. To maintain compatibility with existing systems, the appropriate CAN2 message map version must be selected.
Digital I/O

Digital input
Each digital input can be assigned a function by selecting it from the dropdown list.
By default, Digital Input 1 is configured as the Drive Enable input to prevent unintended motor operation. The Drive Enable signal is activated by pulling the corresponding digital input to ground. Signal interpretation can be inverted using the Invert parameter.
If the Drive Enable function is assigned, the signal must be active in order to perform any motor control operation. When the Drive Enable signal is inactive, the controller will reject all control commands.
The Drive Enable signal state can be monitored via the GUI located in the top right corner.
Digital output
Each digital output can be assigned a function by selecting it from the dropdown list.
Digital outputs can be used to extend the functionality of the controller by operating auxiliary devices such as pumps, fans, or relays. Each function has dedicated configuration parameters that must be set correctly according to the user’s requirements.
Encoder offset calibration
Encoder offset
In Field-Oriented Control (FOC), the Encoder Offset is a critical parameter. It defines the alignment between the rotor’s actual magnetic field position and the controller’s electrical reference frame.
Accurate calibration of the Encoder Offset is essential to ensure proper torque production, smooth operation, and high efficiency. An incorrect or uncalibrated offset may lead to poor performance, excessive current consumption, vibrations, or even unstable motor operation.
For reliable FOC operation, the Encoder Offset must be calibrated carefully and verified before enabling motor control. Do not operate the motor with uncalibrated encoder offset.
Calbration procedure
DTI inverters are equipped with an automatic encoder offset calibration procedure, which can be initiated from the GUI once all prerequisites are met. The procedure takes approximately 2–4 minutes, during which the motor shaft will move and may produce buzzing or clicking noises.
The encoder offset calibration must be performed once after installing the rotor position sensor. The resulting values are stored in the controller’s flash memory for future use.
Warning
The offset calibration procedure is critical for reliable Field-Oriented Control (FOC) operation. It must be performed again if the calibration values are lost or if the rotor position sensor becomes loose from its mounting. Even small shifts of the position sensor can severely reduce efficiency, increase losses, or cause unstable motor behavior. Always re-calibrate if there is any doubt about the correctness of the encoder offset. Running the calibration ensures safe and efficient motor operation.
Calibration prerequisites
Before initiating the offset calibration procedure, ensure that the following conditions are met:
- The Drive Enable signal is active if it is configured as a digital input or transmitted via CAN2. This can be monitored in the top-right corner of the GUI.
- No active faults are present.
- The rotor position sensor functionality has been validated according to the procedure described in Verifying rotor positon sensor.
- The HV input voltage is sufficient to clear any Undervoltage faults.
- The rotor shaft is able to move freely without any mechanical load.
- The correct sensor type is selected.
- No limits are active. This can be verified in the Limits menu, where all limit indicators must display 0%.
- No commands are being transmitted via the CAN2 interface. For the calibration process, it is recommended to temporarily switch the control source to CAN1 and revert once calibration is complete.
Executing the calibration

Once the conditions above are met, the calibration procedure can be started by following the instructions:
- Enter the calibration current into the input field labeled 1. For DTI F-MOT we recommend to use 10A.
- Start the calibration procedure by clicking the Start button labeled 2.
The procedure takes approximately 2–4 minutes, during which the motor shaft will move and may produce buzzing or clicking noises. During the process, do not block the rotor shaft and wait until finish.
Failure
In the event of any malfunction, the calibration process can be safely interrupted by switching off the controller’s low-voltage power supply.
In case of an emergency situation, the high-voltage supply must be disconnected immediately.
When the calibration process is complete, the GUI displays a green notification bar at the bottom of the screen and automatically downloads the calibration results. The results are presented in the fields labeled 3.
The calibration procedure will result determining of these parameters:
- Encoder offset
- Encoder ratio
- Encoder inverted
Each of the above parameters must be correct in order to operate the motor properly. You must verify them before applying it into the configuration:
- Encoder offset: Must be in between 0-359 degree
- Encoder ratio: Must indicate the pole pair number of the motor. In case of DTI F-MOT motor the encoder ratio must be 4. (only in case of resolvers with 1 pole pairs)
- Encoder inverted: can be true or false. No additional check needed.
Tip
It is strongly recommended to perform the encoder calibration procedure at least three times consecutively.
Calculate the average of the resulting encoder offsets and use this value for the configuration.
If deviations greater than 5° are observed between calibration runs, increase the calibration current by 50%.
If the issue persists, please contact our support team at support@drivetraininnovation.com.
The results can be copied directly using the checkmark button labeled 4.
In the unlikely event that the results are not downloaded automatically, they can be retrieved manually using the download button labeled 5.
Finishing calibration
When the calibration process described above has been completed and the results have been copied into the configuration, press the Write button to upload the parameters to the controller.
After the upload is successful, the changes take effect immediately, and the calibration procedure is considered complete.
Configuring for CAN2 operation
Parameters to set
To control the motor via CAN2 interface you must enter the parameters as following in Application settings -> CAN menu:
- Enable CAN2 interface: Must be enabled. Perform reboot, after write.
- Drive enable via CAN2: Can be disabled. Depends on user requirements.
- Use CAN2 extended ID: Make it enabled, for demonstration purposes we use extended id. User can override it according their requirements.
- CAN2 baud rate: Set it to 500kbps. We recommend to use 500kbps or lower. Only use 1Mbit if you have a special reason to do that.
- CAN2 map version: Select V25, for demonstration purposes. User can override it according their requirements.
- By default, every message is configured for broadcasting with a 25 ms period. For demonstration and testing purposes, it is recommended to keep this default setting. If this is not the case, configure at least one message with a 100 ms broadcast period. This can be done by selecting the appropriate CAN2 map, navigating to the V25-specific variables, and assigning a 100 ms broadcast period to one of the messages.
Navigate to the Application settings -> General menu and set the following:
- Control source: Set it to CAN2.
- Timeout: Set to 500 ms. Can be overriden by the user according to their requirements.
After setting the parameters above, the CAN2 interface is ready for the operation from the view of the controller.
CAN2 Wiring
To control the F-SIC with external ECU or PCAN-USB the CAN2 high and low lines must be correctly wired up and terminated according to the Low voltage wiring section.
Verification of CAN2 Command Decoding
You can monitor the received commands value on the controller. This helps the troubleshooting and integration process.

Go to Device → Terminal and select CAN2 values from the list at the bottom.
Enable the Repeating checkbox and press the Play button. The terminal will then continuously update the display area, where each line represents a command value received by the inverter. For further details on the available commands, refer to the CAN2 Manual.
When transmitting a specific command, you can verify whether the controller decodes it correctly before enabling active operation. It is strongly recommended to validate proper decoding in order to prevent unexpected and potentially hazardous motor behavior.
The Time since data received counter indicates the elapsed time since the last valid command was received. Please note that if the Control source is set to anything other than CAN2, this timer will not reset and will continue counting.
Sending CAN2 commands to the inverter
The controller is designed to be commanded by the VCU of the user. This VCU calculates the neccessary current reference and forward it to the motor controller via CAN2 interface. Due to the fact that each system of the users are different, this guide will demonstrate the commanding procedure using PCAN-USB device and PCAN-View software.
Note
PCAN-USB is a USB-to-CAN interface device developed by PEAK-System. It enables a PC to connect directly to a CAN network, providing both sending and receiving capabilities for CAN messages.
PCAN-View is the diagnostic and monitoring software supplied with PCAN interfaces. It allows users to send, receive, and log CAN messages in real time, making it useful for testing, debugging, and verifying CAN communication. You can download it from the website of PEAK-System.

Connect the PCAN-USB tool to the phisycal CAN bus and to the PC. Firstly, you must install the device driver to your computer.
Install and open the PCAN-View software and click to the connect button 3rd from the left located on the top toolbox of the screen. When connected the CAN bus messages broadcasted by the controller will be shown in the receive screen if the controller has any messages configured to be broadcasted and wiring is correct.
Check the appropiate CAN2 protocol manual and implement it into the transmit area by defining CAN ID, length and data. Set the broadcast period at least 2 times faster than defined it in the Timeout parameter. We recommend to use 50ms of Cycle time.
The message implementations can be downloaded from here and can be imported into the PCAN-View. This example made for Node Id 4. Make sure that your Controller id equal to 4 in order to decode and broadcast the messages properly for the demonstration.
Danger
Do NOT connect the high-voltage power supply to the inverter before verifying the command decoding.
An improper message implementation may cause the motor to spin up immediately to high speed, resulting in unexpected and potentially hazardous operation.
You can enable periodic command broadcasting in PCAN-View by selecting the corresponding Cycle Time checkbox in the transmit area. Once periodic transmission is active, the received command can be verified in the controller terminal as described in the section above.
If the V2.5 Set AC Current command is enabled, it defaults to broadcasting a current reference of 10.0 A. In the terminal under CAN2 values, the second line should display:
Current: 10.0
Modifying the data field of the transmitted message will update the displayed value accordingly. This provides a reliable method to verify the commands you intend to use.
After successful command verification, you can be confident that the message implementation is correct. We strongly recommend repeating the same verification procedure once the commands are integrated into the user’s VCU to ensure proper and safe operation.
If command verification fails:
- Check wiring and connections.
- Verify message format, including endianness, data length, and field values.
- Refer to the CAN2 Manual for detailed message specifications.
If the command verification is still unsuccessful, please contact us at support@drivetraininnovation.com.
CAN2 commanding in production
If the verification process above is successful, the controller can be used in production with high voltage applied. We recommend to spin the motor with low current at the first time to make sure the operation is stable.
-
MTPA — Maximum Torque Per Ampere. A control strategy used in electric drives to achieve the highest possible torque output for a given current. It optimizes efficiency by minimizing copper losses in the motor windings. ↩
-
MFW — Magnetizing Flux Weakening. A method applied at high speeds to reduce the effective magnetic flux in the motor. This allows operation beyond the base speed while preventing overvoltage conditions. ↩
-
ERPM = Mechanical RPM * Motor pole pair number ↩