Physical connections:
The Hall sensors are always connected to the Molex connector of the controller.
To run the motor in Open Loop with Hall sensors follow the next steps:
1. Configure the Molex Input to “Hall Sensors”
SSI sensors and Hall sensors share the same Molex conenctor, so the controller must know the type of sensor is expecting to find there.
2. Configure the number of “Pole Pairs”
Pole pairs parameter is essential for the sinusoidal commutation and for the speed calculation.
Pole pairs is the mumber of motor poles divided by 2.
3. Configure the switching mode to sinusoidal
Roboteq controllers support two ways of supplying current to the motor: Trapezoidal and Sinusoidal. In sinusoidal mode the current is sinusoidal so it has less harmonics and the motor is driven in a smoother and quiter way, developing the minumun torque riple. Since sinusoidal commutation is superior to Trapezoidal, this method should be configured.
4. Set the Reference seek power to the rated current of the motor
The reference seek power is the current that will be provided to the motor during the motor/sensor calibration process. If the reference current is too low or too high the motor/sensor setup will not be performed correctly.
5. Configure the sinusoidal angle sensor to Hall Sensor
This is the sensor that will be used to get the angle of the rotor. Knowing the exact angle of the rotor each time is necessary to make it rotate.
6. Configure the Amps Limit parameter
The controller will prevent the motor current from exceeding the amp limit parameter by reducing the motor voltage. Please note that although this is a sufficient process, it does not act immediately so it cannot prevent any current spikes. This value should be set equal to the peak current of the motor.
Since the peak current of a motor is only allowed for a specific amount of time, Roboteq controller offers the option to trigger an action if the motor current exeeds a value for an amount of time. This can be configured by the Amps Trigger parameter.
I2T protection is a more indirect but more responsive method for protecting motors mainly from overheating. The concept is based on one number which is the I2T accumulator and is calculated by the following formula:
I2T_accumulator += (Inow^2 – INom^2) * time.
where:
- Inow is the current that is measured for specific time.
• INom is the nominal current of the motor. This is the current under which the motorcan run continuously. This value is set using the configuration command NOMA(NOMA - Nominal Current).
So when motor draws more current than the nominal then I2T accumulator increases. When motor draws less current than the nominal, the I2T accumulator decreases. I2Taccumulator is compared with a maximum value called I2T limit and is calculated by the following formula:
I2T_limit = (IPeak2 – INom2) * peak_time.
where:
- Peak is the maximum current the motor can handle for specific time. This value is set using the configuration command ALIM (see ALIM - Amps Limit).
- peak_time is the maximum time that the motor can handle current similar to IPeak.This value is set using the configuration command TPAL (see TPAL - Time for Amps Limit)
If I2T accumulator becomes bigger than I2T limit then the controller will stop limiting the current at ALIM and start limiting the current at 80% of the nominal current (NOMA). In that way the motor will cool down and I2T accumulator will respectively decrease. This limitation will remain until I2T accumulator goes below the 10% of I2T limit.
Respectively the I2T limit of the controller is calculated based on their specifications as stated in the datasheet. In order to protect the controller we compare the two I2T limits (the controller’s hardcoded one and the motor’s configured one) and will implement the feature using the smaller value of the two limits.
Important notice! If TPAL value is set to 0 then I2T protection is deactivated.
7.Configure the Operating Mode to “Open Loop”
Even if the final target is to use Close Loop Speed or Position mode, it is mandatory to first test the motor in Open Loop.
8. Go to Diagnostics tab and run the Motor/Sensor Setup
Motor/Sensor setup is the process where the controller will record the locations of the Hall sensors in positive and negative direction. This is required for the Sinusoidal commutation of the motor. During the calibration, the motor will move for some degrees in both directions.
Important notice! The motor shaft should be free to rotate and without load
In the chart enable the Motor amps and Hall Status parameters and ensure the following:
- Hall status Min and max is 1 and 6
- Hall status takes all the intermediate values including 1 and 6
- Hall status 7 and 0 values are not present
- The Motor Amps are equal to the Reference seek power
When the motor/sensor setup finish it will print the Hall Sensor Angle Table (HSAT). Make sure that the HSAT has not repeated values and there is not any 64 value.
Repeat the motor/sensor setup a few times and confirm that the HSAT results are consistend. A deviation up to 5 degrees is acceptable, but a higher deviation might denote that the reference seek power is not set properly.
Important notice! Sensor Error Detection should be disabled in the unused channel
At firmware version 2.1 or later, the sensor error detection method is implemented. This will trigger the motor sensor error if one of the HALL sensors is disconnected. I dual channel controllers, if one of the two channels is not used, please disable the sensor error detection.
9. Configure the FOC Flux and Torque gains
Navigate to the Diagnostics tab and initiate the Motor Characterization process. This process will enable the estimation of the motor resistance (R )and Inductance (L) parameters which are essential for the configuration of the FOC (Field Oriented Control). In case the motor parameters are provided in the datasheet, the wizard will facilitate the calculation of the FOC PI gains based on these parameters.
In the popup window there are the following options:
You can either let the Motor Characterization Tool calculate the R, Ld, Lq values of your motor after setting as Reference Seek Power the nominal current of your motor or configure these parameters manually.
Motor Characterization: This procedure lasts up to a minute and will move the rotor in various positions in order to estimate the R,L values of the motor. Please note that the supplied electromagnetic field will produce audible noise of various frequences. Since the moving of the rotor is a part of the estimation process, the rotor should be free to rotate (no load or brake) .
Configure the R, Ld, Lq values Manually: The motor datasheet may provide the phase or phase to phase measurments of the motor resistance and inductance, with the secnd option to be more common. If the phase to phase measurements are provides, the values should be divided by two.
Example:
R,L values according to the Motor’s Datasheet:
R,Ld,Lq Configuration:
In BLDC motors Ld, Lq are similar. So, if the parameters are given in ph-ph values they should be divided by two and transformed in the appropriate units of measurement..
Click Next . In both cases, (either with manual configuration or automatic estimation), after setting the RL values, you will be prompted to set the current loop (FOC) Bandwidth. The bandwidth determines the responsevness of the current loop. Avoid Bandwidth values that fall out of the green zone. A general rule is that motors with low inductance need high current Bandwidth (800 Hz ) and motors with high inductance value need low current Bandwidth (100 Hz). (is this theoretically and practically verified? If yes, leave as is).
After selecting the Bandwidth click save, in order to, save the parameters to the drive's fash memory.
10. Evaluate Open Loop Operation
Now the motor should be able to rotate in Open Loop with Sinusoidal commutation. Go at the run tab and move the slidebar slowly until the motor start rotating. If the motor is able to rotate, evaluate the following:
- Run the motor in both directions. Verify that the motor amps value is below the “no load current” of the motor, when the given command is constant. The motor current can increase during acceleration/deceleration but at constant power, the motor amps should be low.
- Give full command in both directions. Verify that the Motor amps in both CW and CCW direction is symmetrical. If the current is very different (more than 1 A) then something in the configuration might not be correct.
- Verify that the Motor Flux amps parameter is has a small fluctuation and is stabilizes quickly to zero when the motor accelerates/decelerates.
- Verify that the FOC angle correction parameter is stable or that it stabilizes quickly by changing the motor speed
- Verify that the Internal Sensor Speed RPM is stable when giving a constant command
- Verify that the Internal Sensor Speed RPM is symmetrical when giving full command in both directions. Depending on the motor, an error up to 5% can be acceptable, but higher variation might denote a tunning or motor issue.
- Verify that the Internal Sensor Speed RPM is positive by giving a positive motor command. If not, inverse the pole pairs sign, to fix that.
Important notice! Motor speed should be positive by giving a positive command
If the motor speed is inverted, the motor will run uncontrolled when configuring the Closed Loop. To fix that, invert the sign of motor pole pairs (e.g. from 5 make it -5)
If all the tests have been passed succesfully, then the Open Loop has been properly set motor is ready to be configured in Closed Loop! Before Testing CLosed Loop modes, make sure that you follow the Torque Mode tuning guide to ensure that the FOC gains are configured optimally.
If not, please Open a technical support ticket at our Helpdesk platform.