simplefoc / Arduino-FOC-drivers

Drivers and support code for SimpleFOC
https://docs.simplefoc.com/drivers_library
MIT License
146 stars 63 forks source link

SimpleFOC Driver and Support Library

Library Compile License: MIT Release

This library contains an assortment of drivers and supporting code for SimpleFOC.

The intent is to keep the core of SimpleFOC clean, and thus easy to maintain, understand and port to different platforms. In addition to this core, there are various drivers and supporting code which has grown around SimpleFOC, and which we would like to make available to the community.

New Release

v1.0.8 - Released July 2024, for Simple FOC 2.3.4 or later

What's changed since 1.0.7?

What is included

What is here? See the sections below. Each driver or function should come with its own more detailed README.

Motor/Gate driver ICs

Software to control gate driver ICs or integrated driver ICs which have advanced configuration and status interfaces, e.g. via I2C or SPI.

Encoders

Drivers for various position sensor ICs. In many cases these hardware-specific drivers often support more functionality than the generic SimpleFOC sensor drivers, including reading status registers, setting configurations and more.

Communications

Extended communications classes for SimpleFOC. In particular the Telemetry and PacketCommander classes, which implement ASCII or Binary communications and allow monitoring and control of multiple motors, via an easy to use "Registers" abstraction. The Binary and ASCII packet based protocols are directly supported in PySimpleFOC.

Settings

Load and store SimpleFOC motor settings, based on register abstraction. Storing the motor calibration allows you to skip the calibration phase during setup.

Motor classes

Drive different kinds of motors, or use alternate algorithms to SimpleFOC's default BLDCMotor and StepperMotor classes.

Utilities

Other support code not fitting in the above categories.

How to use

Arduino Library Manager

The simplest way to get hold of the library is directly by using Arduino IDE and its integrated Library Manager.

Using Github website

Using parts

You can copy parts of the library, for example to minimize your code size, or make it easier to add adaptations of your own. If you do so, please be sure to adhere to and include the LICENSE.

Further Documentation

Find out more information about the Arduino SimpleFOC project on the docs website

Release History

What's changed since 1.0.6?

What's changed since 1.0.5?

What's changed since 1.0.4?

What's changed since 1.0.3?

What's changed since 1.0.2?

What's changed since 1.0.1?