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
Copy file name to clipboardExpand all lines: docs/boards/index.md
+36-2Lines changed: 36 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,12 @@ There two main formats of the official drivers boards developed by the <span cla
18
18
19
19
- <spanclass="simple">Shield</span> form factor: These boards are designed to be compatible with the Arduino ecosystem and are intended to be used with the <spanclass="simple">Simple<spanclass="foc">FOC</span>library</span> and the Arduino IDE. They are designed to be easy to use and are intended for low to mid power applications.
20
20
- <spanclass="simple">Simple<spanclass="foc">FOC</span>Shield</span> - <small>[Find out more](arduino_simplefoc_shield_showcase)</small>
21
-
- <spanclass="simple">Simple<spanclass="foc">FOC</span> <b>Power</b>Shield</span> - <small>⚠️<i>( development abandoned )</i></small> - <small>[Find out more](#arduino-simplefoc-powershield-v02-️-development-abandoned-)</small>
21
+
- <spanclass="simple">Simple<spanclass="foc">FOC</span> <b>Power</b>Shield</span> - <small>⚠️<i>( development abandoned )</i></small> - <small>[Find out more](#simplefoc-powershield-v02-️-development-abandoned-)</small>
22
+
- 📢**NEW**: <spanclass="simple">Simple<spanclass="foc">FOC</span><b>Drive</b></span> - <small>[Find out more](boards#simplefoc-drive-v10---find-out-more)</small>
22
23
23
24
- <spanclass="simple">Mini</span> form factor: These boards are designed to be small, low-cost, and easy to use. They are intended for low power applications and are designed to be compatible with the <spanclass="simple">Simple<spanclass="foc">FOC</span>library</span>.
24
25
- <spanclass="simple">Simple<spanclass="foc">FOC</span>Mini</span> - <small>[Find out more](simplefocmini)</small>
25
-
- <spanclass="simple">Simple<spanclass="foc">FOC</span> <b>Step</b>Mini</span> (📢**NEW**) - <small> [Find out more](#simplefoc-stepmini-v10---see-on-github)
26
+
- <spanclass="simple">Simple<spanclass="foc">FOC</span> <b>Step</b>Mini</span> - <small> [Find out more](#simplefoc-stepmini-v10---see-on-github)
26
27
27
28
28
29
In addition to the official boards, there are many other boards compatible with <spanclass="simple">Simple<spanclass="foc">FOC</span>library</span> that you can explore, see the [docs](supported_hardware). Additionally, some other cool hardware designs have been proposed by the community. Check out our [community forum](https://community.simplefoc.com/) for more info.
@@ -111,6 +112,39 @@ This does not mean that the board itself is not functional or that it will not w
111
112
112
113
Read more about this board at [link](https://github.com/simplefoc/Arduino-SimpleFOC-PowerShield)
113
114
115
+
### <spanclass="simple">Simple<spanclass="foc">FOC</span> <b>Drive</b></span> <small>v1.0</small> - <small>[Find out more](https://github.com/simplefoc/SimpleFOC-DriveShield)</small>
This is an open-source low-cost BLDC driver boards in the form of a Arduino shield. It is a part of the SimpleFOC project. The board is the big brother of the SimpleFOCShield and is designed to drive motors with higher current requirements, up to 30Amps. The board is created with the same philosophy as the SimpleFOCShield - to be simple to use, low-cost, and open-source and fully compatible with the SimpleFOClibrary.
126
+
127
+
Additionally the aim of the board is to serve as a template project for the community to build their own motor drivers.
128
+
129
+
- The board is relatively simple and can be easily modified to fit different requirements.
130
+
- The board is designed in EasyEDA and all the fabrication files are available for download
131
+
132
+
### Features
133
+
{: .no_toc }
134
+
135
+
-**Boards absolute max ratings**
136
+
- Max current: 20A continuous (peak 30A - measured)
<pclass="heading">Other topologies for low-side current sensing for Steppers</p>
30
+
See the link <ahref="https://community.simplefoc.com/t/low-side-current-sensing-for-stepper-motors/7235">Low-side current sensing for stepper motors</a> in the community forum for more information about other topologies for low-side current sensing for stepper motors.
31
+
</blockquote>
32
+
</div>
25
33
26
34
27
35
<blockquoteclass="info"markdown="1">
@@ -44,6 +52,7 @@ STM32f4 family | ✔️ (one motor) | DMA| ~25kHz| all
44
52
STM32g4 family | ✔️ (one motor) | DMA| ~25kHz| all
45
53
STM32l4 family | ✔️ (one motor) | DMA| ~25kHz| all
46
54
STM32f7 family | ✔️ (one motor) | DMA| ~25kHz | all
55
+
STM32h7 family | ✔️ (one motor) | DMA| ~25kHz | all
<blockquoteclass="info"> 📢 Here is a quick guide to choosing appropriate PWM pins for different MCU architectures <ahref="choosing_pwm_pins">see in docs</a>.</blockquote>
48
66
67
+
<blockquoteclass="warning"markdown="1">
68
+
<pclass="heading">⚠️ <b>Note:</b> When using the 3PWM BLDC driver with a stepper motor, ensure that the common phase `Uo` is connected to the driver's C phase pin.</p>
69
+
70
+
Even if the common phase `Uo` is physically connected to some other driver output (`A` or `B`), please provide it as the `C` phase pin in the driver constructor. This is important for the correct operation of the stepper motor.
71
+
72
+
Consider an example of the driver connected to the MCU pins as follows:
73
+
74
+
```cpp
75
+
#definePIN_A 9
76
+
#define PIN_B 10
77
+
#define PIN_C 11
78
+
#define ENABLE 8
79
+
```
80
+
81
+
If the common phase `Uo` is connected to the driver pin `A`, you should still provide it as the `C` phase pin in the driver constructor:
82
+
```cpp
83
+
// common phase `Uo` connected to driver pin `A` so it is provided as the `C` phase pin
As ADC conversion has to be synchronised with the PWM generated on ALL the phases, it is important that all the PWM generated for all the phases have aligned PWM. Since the microcontrollers usually have more than one timer for PWM generation on its pins, different architectures of microcontrollers have different degrees of alinement in between the PWM generated from different timers.
This parameter is used by the `BLDCMotor` class as well. As shown on the figure above the once the voltage limit `driver.voltage_limit` is set, it will be communicated to the FOC algorithm in `BLDCMotor` class and the phase voltages will be centered around the `driver.voltage_limit/2`.
⚠️ **Note:** When using the 3PWM BLDC driver with a stepper motor, ensure that the common phase `Uo` is connected to the driver's C phase pin.
37
+
</blockquote>
38
+
39
+
</div>
26
40
27
41
6 PWM control mode gives much more freedom for BLDC motor control than 3PWM control since each of the 6 half-bride mosfets can be controlled separately.
<blockquoteclass="info"> 📢 Here is a quick guide to choosing appropriate PWM pins for different MCU architectures <ahref="choosing_pwm_pins">see in docs</a>.</blockquote>
44
58
59
+
60
+
<blockquoteclass="warning"markdown="1">
61
+
<pclass="heading">⚠️ <b>Note:</b> When using the 6PWM BLDC driver with a stepper motor, ensure that the common phase `Uo` is connected to the driver's C phase pin.</p>
62
+
63
+
Even if the common phase `Uo` is physically connected to some other driver output (`A` or `B`), please provide it as the `C` phase pin in the driver constructor. This is important for the correct operation of the stepper motor.
64
+
65
+
Consider an example of the driver connected to the MCU pins as follows:
66
+
67
+
```cpp
68
+
#definePIN_A_H 9
69
+
#define PIN_A_L 10
70
+
#define PIN_B_H 11
71
+
#define PIN_B_L 12
72
+
#define PIN_C_H 13
73
+
#define PIN_C_L 14
74
+
#define ENABLE 8
75
+
```
76
+
77
+
If the common phase `Uo` is connected to the driver pin `A`, you should still provide it as the `C` phase pin in the driver constructor:
78
+
```cpp
79
+
// common phase `Uo` connected to driver pin `A` so it is provided as the `C` phase pin
Arduino UNO and all the atmega328 based boards have only 6 PWM pins and in order to use the `BLDCDrievr6PWM` we need to use all of them. Those are `3`,`5`,`6`,`9`,`10` and `11`.
47
98
Furthermore in order for the algorithm to work well we need to use the PWM pins that belong to the same timer for each high/low side pair of each phase.
This parameter is used by the `BLDCMotor` class as well. As shown on the figure above the once the voltage limit `driver.voltage_limit` is set, it will be communicated to the FOC algorithm in `BLDCMotor` class and the phase voltages will be centered around the `driver.voltage_limit/2`.
Copy file name to clipboardExpand all lines: docs/simplefoc_library/code/index.md
+50-1Lines changed: 50 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -316,11 +316,12 @@ For full documentation of the setup and all configuration parameters please visi
316
316
317
317
318
318
## Step 4. <ahref="motors_config"class="remove_dec"> Motor setup </a>
319
-
After the position sensor and the driver we proceed to initializing and configuring the motor. The library supports BLDC motors handled by the `BLDCMotor` class as well as stepper motors handled by the `StepperMotor`class. Both classes are instantiated by providing just the `pole_pairs` number of the motor and optionally the motors´ phase resistance and the KV rating.
319
+
After the position sensor and the driver we proceed to initializing and configuring the motor. The library supports BLDC motors handled by the `BLDCMotor` class as well as stepper motors handled by the `StepperMotor`and `HybridStepperMotor` classes. Both classes are instantiated by providing just the `pole_pairs` number of the motor and optionally the motors' phase resistance and the KV rating.
0 commit comments