BLDC Motor Tuning¶
If you have no or bad startup behavior with your BLDC motor, there are some parameters outside the example sketches that you can change. Therefore navigate to /src/corelib/BLDCM-control.hpp in your local library.
Safety¶
-
CONF_TIMEOUT¶
Main place to configure BLDC motor parameters. All defines beginning with “CONF_” are intended to be changed by the user. All other defines should remain as they are. milliseconds. How long no commutation may occur until it can be assumed, the motor got stuck
In order to prevent damage to your motor when it’s mechanically blocked, there is a timeout feature. After this time (500ms) when no commutation occurred, all three phases will be switched off.
RPM Regulation¶
-
CONF_PI_UPDATE_INTERVAL¶
milliseconds. How often should the PI regulator be called. Affects precision if too low.
Startup¶
-
CONF_RPM_DUTYCYCLE_AT_START¶
dutycycle when motor starts to turn before RPM controller will be switched on
-
CONF_OPEN_LOOP_DUTYCYCLE¶
dutycycle for blind commutation at motor start (open loop)
-
CONF_OPEN_LOOP_DELAY_START¶
microseconds. This is the delay between the first commutations when starting a BLDC motor
-
CONF_OPEN_LOOP_DELAY_LIMIT¶
microseconds. The smallest delay that is used before open loop commutation turns into closed loop
-
CONF_OPEN_LOOP_DELAY_SLOPE¶
microseconds. The amount CONF_OPEN_LOOP_DELAY_START will be decreased every open loop commutation. You can calculate the amount: O_L_commutations = (5000-1200)/200