S-Lab
Salient Motion's software development tool
S-Lab is Salient Motion's premiere software design and test tool. Packed with a rich feature set for debugging and analysis, S-Lab is your one-stop-shop for all things motor control. Access S-Lab at https://app.salientmotion.com/.
Initial Setup
Dust Devil and Cyclone have an undervoltage lockouts. Ensure the supplied power exceeds their minimum operating voltage.
When the motor controller is first powered up and plugged in, hit the "pair" button. Once paired, you will see the following:

Linux
They Connect button may be greyed out in Linux (but not Windows) because, by default, Linux does not grant user space access to the HID interface exposed by our device.
Using the udev
rules attached below, copy the contents of the linux
folder to /etc/udev/rules.d/
as root and run the following two commands. A reboot may be necessary.
sudo chown $USER:$USER /dev/hidraw6
sudo udevadm control --reload-rules && sudo udevadm trigger
Creating a Configuration
Once you are paired, you will have to create a new motor configuration. A motor configuration defines the profile and settings for your motor so even if you switch motors or controllers, you can easily reapply the desired configuration.

Step 1 - Motor Details
Once you hit "New", you will be directed to the configuration page. From here, fill out the information on your motor details.

Step 2 - Throttle Settings
Next, you will be asked to program your throttle settings.

Input Mode:
You can choose between:
CAN: Use CAN bus messaging to send the motor controller throttle messages.
Servo: Use PWM to control the commanded setpoint.
USB: Use the throttle built into S-Lab to send throttle messages.
Max Throttle Speed (rpm):
Set the maximum speed the motor will spin at when the throttle is positioned fully forward (or reverse), or the setpoint command is sent to the upper limit.
Pole Pair Count:
Provide the number of pole pairs (# of poles / 2) for your motor.
Control Mode:
Salient Motion controllers currently support speed and torque control modes. Speed control mode will spin the motor up to the configured throttle limitation while torque control will maintain constant torque.
Input Mapping:
The input mapping allows you to choose the bounds of commands that spin the motor. It is common to set the "Lower" to 1000, "Center" to 1500 and "Upper" to 2000. This means that any command between the lower and center limits will have the motor spin in the reverse direction, while any command from the center to the upper limit will spin the motor in the forward direction.
Step 3 - Parameter Detection
Next, you will be guided to run parameter detection. Parameter detection performs four measurements in the following sequence which are used for motor control:
Stator Resistance
Stator d-axis Inductance (high pitch noise is emitted)
Stator q-axis Inductance (high pitch noise is emitted)
Permanent Magnet Flux Linkage (motor spins)

WARNING: When Parameter Detection is run, it will spin your motor. Ensure you have a setup that will allow for the motor to safely spin and unloaded.
Step 4 - Hardware Limits

The hardware limits on the controller allow you to set safety bounds on operation. These numbers are set to protect the motor, motor controller and connected battery.
Motor Current Limits: The maximum allowable current limit for each product is highlighted below:
Dust Devil: 30 A (RMS)
Cyclone: 150 A (RMS)
The configuration menu will allow the user to set their own limits below each product's specified current limit, this is particularly useful when operating in voltage or torque modes.
The overtemperature set point will determine the temperature at which the controller will start to throttle the motor current. Once the overtemperature condition is active, the controller with throttle the motor current linearly to zero until the overtemperature condition is lifted.
Step 5 - Sensor Configuration
Salient Motion motor controllers offer two sensor modes:
Sensored: Encoder
Sensorless: Open-Loop Start Up
The encoder sensor mode requires the use of an external quadrature incremental encoder. For quick startup, use Open-Loop Startup mode.

The open-loop start-up mode accelerates the motor without any position information until the back-EMF signal response is strong enough to switch over to a sensorless closed-loop control solution.
Using the Dashboard
Once you have created and saved a motor configuration, please click the Apply
button to proceed to the dashboard.

Last updated