S-Lab
Salient Motion's software development tool
Last updated
Salient Motion's software development tool
Last updated
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 .
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:
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
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.
Once you hit "New", you will be directed to the configuration page. From here, fill out the information on your motor details.
Next, you will be asked to program your throttle settings.
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.
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.
Provide the number of pole pairs (# of poles / 2) for your motor.
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.
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.
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.
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.
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.
Once you have created and saved a motor configuration, please click the Apply
button to proceed to the dashboard.