Skip to content

Commit

Permalink
final preparations for v2.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
askuric committed Mar 18, 2023
1 parent a3950b0 commit 94deb57
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 44 deletions.
2 changes: 1 addition & 1 deletion docs/simplefoc_libraries/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ In the context of the <span class="simple">Simple<span class="foc">FOC</span>pro

This is a controller interface for the <span class="simple">Simple<span class="foc">FOC</span>library</span>. It uses WebSerial to communicate with a suitable micro-controller using serial port communications and the [Commander](commander_interface) interface. [Read more ... ](webcontroller)

<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://docs.simplefoc.com/simplefoc-webcontroller/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>
<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://webcontroller.simplefoc.com/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>
- ### <span class="simple">Simple<span class="foc">FOC</span>Generator</span> by [@stijnsprojects](https://github.com/stijnsprojects)

A web application which helps you generate <span class="simple">Simple<span class="foc">FOC</span>library</span> arduino sketches based on the hardware that you are using.
Expand Down
2 changes: 1 addition & 1 deletion docs/simplefoc_libraries/tools/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ In the context of the <span class="simple">Simple<span class="foc">FOC</span>pro

This is a controller interface for the <span class="simple">Simple<span class="foc">FOC</span>library</span>. It uses WebSerial to communicate with a suitable micro-controller using serial port communications and the [Commander](commander_interface) interface. [Read more ... ](webcontroller)

<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://docs.simplefoc.com/simplefoc-webcontroller/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>
<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://webcontroller.simplefoc.com/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>

- ### <span class="simple">Simple<span class="foc">FOC</span>Generator</span> by [@stijnsprojects](https://github.com/stijnsprojects)

Expand Down
6 changes: 3 additions & 3 deletions docs/simplefoc_libraries/tools/webcontroller.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,15 @@ This is a controller interface for the <span class="simple">Simple<span class="f
Most of the code for this application was provided by [@geekuillaume](https://github.com/geekuillaume), his github repository can be found [here](https://github.com/geekuillaume/simplefoc-webcontroller) and his application can be found [here](https://simplefoc.besson.co/).
Our app is a fork of his code, that has been further extended to support more devices and configuration parameters, as well as to ease the monitoring visualisation.

<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://docs.simplefoc.com/simplefoc-webcontroller/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>
<a href ="https://github.com/geekuillaume/simplefoc-webcontroller" class="btn btn"><i class="fa fa-github"></i> Github repo</a> <a href ="https://webcontroller.simplefoc.com/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>



<img src="extras/Images/webcontroller.gif" >

<blockquote class="info">
<p class="heading">📢 Early stage project</p>
This project is still in its early stage, we are counting on your patience and looking forward to hear your feedback. As there are many people in the community with far more knowledge about these kinds of apps than we do, don't hesitate to leve the issues and do the pull requests.
This project is still in its early stage, we are counting on your patience and looking forward to hear your feedback. As there are many people in the community with far more knowledge about these kinds of apps than we do, don't hesitate to leave the issues and do the pull requests.
</blockquote>

### Features:
Expand All @@ -34,7 +34,7 @@ This project is still in its early stage, we are counting on your patience and l

## Using the *Simple**FOC**WebController*

<a href ="https://docs.simplefoc.com/simplefoc-webcontroller/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>
<a href ="https://webcontroller.simplefoc.com/" class="btn btn-primary"><i class="fa fa-github"></i> Open <span class="simple">Simple<span class="foc">FOC</span>webcontroller</span></a>

*Simple**FOC**WebController* does not require any installation, its only requirement is that your browser has `WebSerial` support. Check the supportedd browsers [here](https://caniuse.com/web-serial).

Expand Down
1 change: 1 addition & 0 deletions docs/simplefoc_library/code/current_sense/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ stm32 (in general) | ✔️ | ❌ | ❌
stm32f1 family | ✔️ | ✔️ (one motor) | ❌
stm32f4 family | ✔️ | ✔️ (one motor) | ❌
stm32g4 family | ✔️ | ✔️ (one motor) | ❌
stm32l4 family | ✔️ | ✔️ (initial) | ❌
stm32 B_G431B_ESC1 | ❌ | ✔️ (one motor) | ❌
esp32/esp32s3 | ✔️ | ✔️ | ❌
esp32s2/esp32c3 | ✔️ | ❌ | ❌
Expand Down
1 change: 1 addition & 0 deletions docs/simplefoc_library/hardware/mcus/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ stm32 (in general) | ✔️ | ❌ | ❌
stm32f1 family | ✔️ | ✔️ (one motor) | ❌
stm32f4 family | ✔️ | ✔️ (one motor) | ❌
stm32g4 family | ✔️ | ✔️ (one motor) | ❌
stm32l4 family | ✔️ | ✔️ (initial) | ❌
stm32 B_G431B_ESC1 | ❌ | ✔️ (one motor) | ❌
esp32/esp32s3 | ✔️ | ✔️ | ❌
esp32s2/esp32c3 | ✔️ | ❌ | ❌
Expand Down
13 changes: 13 additions & 0 deletions docs/simplefoc_library/hardware/mcus/stm32.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,23 @@ grand_grand_parent: Arduino <span class="simple">Simple<span class="foc">FOC</sp
# STM32 boards support


Driver support

MCU | 2 PWM mode | 4PWM mode | 3 PWM mode | 6 PWM mode | pwm frequency config
--- | --- |--- |--- |--- |---
stm32 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️

Current sensing support

MCU | In-line | Low-side | High-side
--- | --- |--- |---
stm32 (in general) | ✔️ | ❌ | ❌
stm32f1 family | ✔️ | ✔️ (one motor) | ❌
stm32f4 family | ✔️ | ✔️ (one motor) | ❌
stm32g4 family | ✔️ | ✔️ (one motor) | ❌
stm32l4 family | ✔️ | ✔️ (initial) | ❌
stm32 B_G431B_ESC1 | ❌ | ✔️ (one motor) | ❌

Stm32 devices have full compatibility using the <span class="simple">Simple<span class="foc">FOC</span>library</span> and will work with all driver types.

Arduino <span class="simple">Simple<span class="foc">FOC</span>library</span> will support most of the stm32 boards out there. Stm32 boards are very powerful and they are the most common choice for implementing motion control applications. Here are two most commonly used families of boards with this library.
Expand Down
68 changes: 29 additions & 39 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,54 +21,44 @@ We live in very exciting times 😃! BLDC motors are entering the hobby communit
The solutions that can be found on-line are almost exclusively very specific for certain hardware configuration and the microcontroller architecture used.
Additionally, most of the efforts at this moment are still channeled towards the high-power applications of the BLDC motors and proper low-cost and low-power FOC supporting boards are very hard to find today and even may not exist. <br>
Therefore this is an attempt to:
- 🎯 Demystify FOC algorithm and make a robust but simple Arduino library: [Arduino <span class="simple">Simple<span class="foc">FOC</span>library</span> ](#arduino-simplefoclibrary-v160)
- 🎯 Demystify FOC algorithm and make a robust but simple Arduino library: [Arduino <span class="simple">Simple<span class="foc">FOC</span>library</span> ](arduino_simplefoc_library_showcase)
- <i>Support as many <b>motor + sensor + current sense + driver + mcu</b> combinations out there</i>
- 🎯 Develop a modular FOC supporting BLDC driver boards:
- ***NEW*** 📢: *Minimalistic* BLDC driver (<3Amps) : [<span class="simple">Simple<b>FOC</b>Mini</span> ](simplefocmini).
- *Low-power* gimbal driver (<5Amps) : [Arduino <span class="simple">Simple<b>FOC</b>Shield</span> ](arduino_simplefoc_shield_showcase).
- *Medium-power* BLDC driver (<30Amps): [Arduino <span class="simple">Simple<b>FOC</b>PowerShield</span> ](https://github.com/simplefoc/Arduino-SimpleFOC-PowerShield).
- See also [@byDagor](https://github.com/byDagor)'s *fully-integrated* ESP32 based board: [Dagor Brushless Controller](https://github.com/byDagor/Dagor-Brushless-Controller)


<blockquote class="success">
<p class="heading">NEWS 📢: <span class="simple">Simple<span class="foc">FOC</span>library</span> has been published in the Journal of Open Source Software <a href="citing">read more</a></p>

SimpleFOC: A Field Oriented Control (FOC) Library for Controlling Brushless Direct Current (BLDC) and Stepper Motors.<br>
A. Skuric, HS. Bank, R. Unger, O. Williams, D. González-Reyes<br>
Journal of Open Source Software, 7(74), 4232<br>
</blockquote>

<blockquote class="info" markdown="1">
<p class="heading">NEW RELEASE 📢: <span class="simple">Simple<span class="foc">FOC</span>library</span> v2.2.3 <a href="https://github.com/simplefoc/Arduino-FOC/releases/tag/v2.2.3">see release</a></p>
- stm32 low-side current sensing
- g4 supported
- thoroughly tested f1/f4/g4 - [#187](https://github.com/simplefoc/Arduino-FOC/issues/187)
- bg431b: added support for VBAT and TEMPERATURE readings [#222](https://github.com/simplefoc/Arduino-FOC/pull/222)
- bugfixing
- leonardo
- mega2560 [#190](https://github.com/simplefoc/Arduino-FOC/issues/190)
- inline current sense without driver [#188](https://github.com/simplefoc/Arduino-FOC/issues/188)
- bg431b support current sense fix [#210](https://github.com/simplefoc/Arduino-FOC/pull/210)
- `StepperDriver4PWM` wrong init [#182](https://github.com/simplefoc/Arduino-FOC/issues/182)
- open loop back-emf voltage issue [#219](https://github.com/simplefoc/Arduino-FOC/issues/219)
- SAMD51 compile issue [#217](https://github.com/simplefoc/Arduino-FOC/issues/217)
- ESP32-S3 compile issue [#198](https://github.com/simplefoc/Arduino-FOC/issues/198)
- ESP32 compile issue [#208](https://github.com/simplefoc/Arduino-FOC/issues/208), [#207](https://github.com/simplefoc/Arduino-FOC/issues/207)
- magnetic sensor direction finding more robust [#173](https://github.com/simplefoc/Arduino-FOC/issues/173), [#164](https://github.com/simplefoc/Arduino-FOC/pull/164)
- `StepDirListener` improved timing [#169](https://github.com/simplefoc/Arduino-FOC/issues/169), [#209](https://github.com/simplefoc/Arduino-FOC/pull/209)
- `HallSensor` velocity calculation fix [#192](https://github.com/simplefoc/Arduino-FOC/issues/192)
- API changes
- `setPhaseVoltage` is now public function
- `getVelocity` can now be called as many times as necessary - [see in docs](encoder#standalone-sensor)
- it recalculates the velocity if the time between calls is longer then `min_elapsed_time` - default 0.1ms
- `HallSensor` velocity calculation outlier removal using max expected velocity `velocity_max` - [see in docs](hall_sensors#step-21-velocity-outlier-removal)
- BG431 board can be used only with `LowsideCurrentSense` class! - [see in docs](current_sense#current-sensing-support-per-mcu-architecture)
- `initFOC` fails if current sense not initialised - [see in docs](bldcdriver3pwm#step-23-initialisation)
- driver and current sense have to be well initialised for `initFOC` to start - [see in docs](bldcmotor#step-6-align-motor-and-all-the-sensors---field-oriented-control-init)
- `cs.init()` and `driver.init()` return `1` if well initialised and `0` if failed
<p class="heading">NEW RELEASE 📢: <span class="simple">Simple<span class="foc">FOC</span>library</span> v2.3.0 <a href="https://github.com/simplefoc/Arduino-FOC/releases/tag/v2.3.0">see release</a></p>
- Arduino Mega 6pwm more timers supported
- Arduino boards - frequency change support either 32kHz or 4kHz
- Arduino Uno - synched timers in 3pwm and 6pwm mode [#71](https://github.com/simplefoc/Arduino-FOC/issues/71)
- Teensy 3.x initial support for 6pwm
- Teensy 4.x initial support for 6pwm
- Example for v3.1 SimpleFOCShield
- RP2040 compatibility for earlehillpower core [#234](https://github.com/simplefoc/Arduino-FOC/pull/234) [#236](https://github.com/simplefoc/Arduino-FOC/pull/236)
- More flexible monitoring API
- start, end and separator characters
- decimal places (settable through commander)
- Added machine readable verbose mode in `Commander` [#233](https://github.com/simplefoc/Arduino-FOC/pull/233)
- *Simple**FOC**WebController* - Web based user interface for SimpleFOC by [@geekuillaume](https://github.com/geekuillaume) - [webcontroller.simplefoc.com](webcontroller.simplefoc.com)
- bugfix - `MagneticSensorPWM` multiple occasions - [#258](https://github.com/simplefoc/Arduino-FOC/pull/258)
- bugfix - current sense align - added offset exchange when exchanging pins
- bugfix - trapezoid 150 fixed
- bugfix - 4pwm on ESP8266 [#224](https://github.com/simplefoc/Arduino-FOC/pull/224)
- Additional `InlineCurrentSense` and `LowsideCurrentSense` constructor using milliVolts per Amp [#253](https://github.com/simplefoc/Arduino-FOC/pull/253)
- STM32L4xx current sense support by [@Triple6](https://github.com/Triple6) (discord) [#257](https://github.com/simplefoc/Arduino-FOC/pull/257)
- phase disable in 6pwm mode
- stm32 - software and hardware 6pwm
- atmega328
- atmega2560
- Lag compensation using motor inductance [#246](https://github.com/simplefoc/Arduino-FOC/issues/246)
- current control through voltage torque mode enhancement
- extended `BLDCMotor` and `StepperMotor` constructors to receive the inductance paramerer
- can also be set using `motor.phase_inductance` or through `Commander`
</blockquote>

## Arduino <span class="simple">Simple<span class="foc">FOC</span>library</span> <i><small>v2.2.3</small></i>
## Arduino <span class="simple">Simple<span class="foc">FOC</span>library</span> <i><small>v2.3.0</small></i>
<iframe class="youtube" src="https://www.youtube.com/embed/Y5kLeqTc6Zk" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
This video demonstrates the Simple FOC library basic usage, electronic connections and shows its capabilities.

Expand Down

0 comments on commit 94deb57

Please sign in to comment.