You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## 📢 Make sure to read this before settling for a driver!
31
-
Before running any BLDC motor with the <spanclass="simple">Simple<spanclass="foc">FOC</span>library</span> please make sure your hardware can handle the currents your motor requires.
32
-
33
-
The simplest way to do it is by checking the motor phase resistance `R`. Either check the datasheet of your motor and search for the resistance value or measure it yourself using a multimeter. Then check the value of your power supply voltage `V_dc` and once when you have the values you can find the maximum current `I_max` value by calculating:
34
-
```cpp
35
-
I_max = V_dc/R
36
-
```
37
-
Finally check the value of the maximum current `I_max` with the datasheet of your driver board. If the `I_max` is too high you can lower the power supply voltage `V_dc` in order prevent too high peaks of the current. If you are not able to change your power supply voltage you can limit the voltage set to motor in software.
38
-
<blockquoteclass="warning">
39
-
<p class="heading">NOTE</p>
40
-
The equation above calculates the worst case maximum current <code class="highlighter-rouge">I_max</code> and in most cases calculated <code class="highlighter-rouge">I_max</code> is higher than the actual value. Maximum current depends both on the motor hardware such as winding configuration and the control algorithm.
41
-
</blockquote>
30
+
## Choosing the Appropriate Driver
31
+
32
+
Selecting the right hardware is a balance of motor type, power requirements, and the level of control precision you need.
33
+
34
+
### 1. Motor Type
35
+
-**BLDC Motors**: Requires a [BLDC driver](bldc_drivers). Ensure the current and voltage ratings match your motor's specs.
36
+
-**Stepper Motors**:
37
+
-**Dedicated [Stepper Driver](stepper_drivers)**: Best for 2-phase motors within standard current ranges (ex.NEMA17)
38
+
-**Hybrid Mode**: You can actually use any [BLDC driver](bldc_drivers) to run a stepper motor.
39
+
- ⚠️ **No Step/Dir Drivers**: Traditional "EasyDrivers" or A4988s (in step/dir mode) cannot be used for FOC because they do not allow direct phase voltage control.
40
+
41
+
### 2. Current Requirements
42
+
-**Low Current (< 5A)**: Integrated driver ICs are cost-effective and easy to use.
43
+
- Examples: L6234, DRV8313, DRV8316.
44
+
-**High Current (> 5A)**: Requires discrete MOSFET-based designs with robust thermal management (heatsinks/fans).
45
+
- Examples: DRV8302, VESC-based hardware.
46
+
-**Rule of Thumb**: Always select a driver with a current rating at least 20-30% higher than your motor's expected continuous current.
47
+
48
+
49
+
## 📢 Critical: Read before powering up!
50
+
Before running any motor, you must ensure your hardware can handle the stall current. FOC can easily pull more current than a driver can handle if not limited in software.
51
+
52
+
**The Worst-Case Calculation**
53
+
Check your motor's phase resistance ($$R$$) and your power supply voltage ($$V_{DC}$$). The maximum possible current ($$I_{max}$$) is:
54
+
55
+
$$I_{max} = \frac{V_{DC}}{R}$$
56
+
57
+
**Safety Steps:**
58
+
-**Compare**: If $$I_{max}$$ exceeds your driver's rating, you must limit the voltage in software.
59
+
-**Software Limit**: Use `driver.voltage_limit` and (`motor.voltage_limit` and/or `motor.current_limit`) to stay within safe bounds. - [see motor docs](motors_config)
60
+
-**Power Supply**: If you can, use a current-limited lab bench power supply for your initial tests.
0 commit comments