—引言—

—introduction—

WHY SHOULD USE FOC IN YOUR ROBOT?
为什么要将FOC引入机器人系统中?
WHAT ADVANTAGES CAN FOC PROVIDE?
FOC能够带来什么样的优势?
WHAT KIND OF APPLICATION CAN FOC USE?
FOC能够满足什么样的应用需求?


Strictly speaking, the algorithm implementation of FOC is more complex than that of PWM,but FOC can still provide excellent torque control for BLDC at low speeds. In addition,Its speed switching is very smooth in high speed and low speed. Meanwhile, this also makes the operation of the DC brushless motor controlled by FOC quieter. 

严格来说,FOC的算法复杂度远超PWM控制,但FOC能够为无刷电机在低速运动时带来提供极致的转矩控制能力,其无论在低速还是高速工作下的转换非常丝滑,此外,相比PWM驱动的无刷电机,其噪音得到了明显的抑制。

Therefore, FOC control has naturally become the preferred solution for advanced robot control, making direct drive, collaboration, and protection easier.

因此,FOC控制自然成为了机器人先进控制的重要解决方案,它使直驱、协同、保护更容易。

The following figure shows the typical application of FOC in the field of robotics:

下图展示了FOC在机器人领域的诸多应用场景:

DJI reduces drone noise and improves dynamic performance during high-speed flight through FOC.
大疆通过FOC提高了无人机的动态性能以及静音性。
FOC has been preliminarily applied to four-wheel independent drive of AGV.
FOC被广泛应用于四轮驱动的AGV小车中。
The dynamic response and the collaborative ability make quadruped can run flexibly
得益于FOC的动态性能以及多电机协同控制能力,四足机器人能够流畅的奔跑
FOC provides gentle torque feedback and motion protection, making exoskeletons safer
FOC提供了更柔和的力矩反馈以及运动保护,使得外骨骼更加安全

However, existing open-source FOC controllers generally have the following defects:

然而,现有的开源FOC控制器普遍存在以下问题:

1. Insufficient integration: Mainstream FOC schemes such as simpleFOC or Odrive mostly only support fewer parallel FOC outputs. For applications such as AGV, AUV, or quadruped robots, multiple FOC controllers need to be connected in parallel, and reliability still needs to be improved
1.集成度较为不足:诸如simpleFOC或Odrive等主流的FOC控制器,仅支持较少的并行FOC输出,针对AGV、AUV或四足等动辄四个电机甚至更多电机的应用场合,需要通过多个控制器并行连接,可靠性有待提高。
2. Poor execution efficiency: The mainstream FOC solutions are implemented through software algorithms, but the Park transform and Clark transform required for FOC control place high demands on the computational power of the MCU, resulting in a large amount of computational power consumption, making the functions of previous FOC controllers relatively single
2.执行效率较差:主流的FOC解决方案均通过软件方式实现,但帕克变换以及克拉克变换对MCU的计算能力以及外设资源提出了较高的要求,大量的算力以及外设资源被占用,导致FOC控制器功能较为单一。
3. Functional deficiency: The mainstream FOC solution is more like a motor controller than a more general robot controller. This actually limits the application of FOC in the field of robotics, as they prefer lower learning costs , stronger functionality for independent developers, researchers, and enterprise level developers.
3.功能性有待提高:主流的FOC控制器更像电机控制器而非机器人控制器。这实质上限制了FOC控制在机器人领域的应用,实际上,对于独立开发或研究人员甚至是企业级的开发而言,都更倾向于学习成本更低、功能性更强的解决方案。

If only everything could be all in one!

如果都能梦想成真就好了!

So, why not design A UNIVERSAL MULTI-CHANNEL HARDWARE FOC controller for robot systems or multi motor collaborative control?

To this end, I would like to introduce the new solution of FOC controllers:MULTI-FOC

至此,我荣幸的向大家介绍FOC控制器的最新解决方案:MULTI-FOC

—控制器说明—

—instructions of controller—

MULTI-FOC's main controller uses the STM32F427 of MCUs,and uses four TMC4671  as co-processing chips to realize FOC control through hardware.

MULTI-FOC的主控制器采用STM32F427,采用4片TMC4671作为协处理芯片,通过硬件实现FOC控制。

The TMC4671 is a fully integrated hardware servo control chip that provides field-oriented control for BLDC, PMSM, brushed DC motor. You only need to perform simple register operations through the SPI bus to achieve efficient FOC output, without calling STM32's FOC algorithm library or even writing your own FOC code, and R/W registers directly also improves code efficiency and enables tasks with higher real-time requirements.

The Schematic and BOM have been updated and you can use them under the CC BY-NC-SA license !

原理图和BOM表已经上传,你可以依照CC BY-NC-SA许可证使用它!

Detailed introduction, instructions and application documents I will release after editing, in addition, I will maintain this project frequently, I hope you can leave your suggestions and ideas to leave a message, I will reply to you seriously!

—驱动器说明—

—instructions of driver—

—技巧与建议—

—Tips and Suggest—

Tips 1 : The common version of the MCU uses STM32F427Vxxx , use STM32MXcube you can play easily.
             the remaining pin-compatible MCUs can also be replaced pin-to-pin,
             Possible alternatives are:GD32F450Vxxx for cheaper,  STM32F1 series,STM32F4 series.

If there are other pin-to-pin compatible MCUs, DSPs, or FPGAs, please let me know to help improve the  scalabilityof this project。

技巧 1 :标准版本的主控选用了STM32F427Vxxx,通过STM32MXcube你可以轻松上手
               其他pin to pin替换的MCU也可使用,
               可选芯片包括:GD32F450Vxxxx(成本更低),STM32F1系列,STM32F4系列。


Tips 2 :I also have designed an FOC ESC for UAVs in 10-15A,has been  tested. 
               I am putting it! For other types of backend drivers or ESCs for FOC,Multi-FOC is Compatible. 
               The recommended Drivers or ESCs are:
                
For 2.5A   —   SimpleFOCMini;
               For 5A      —   SimpleFOCShield;
               For 30A    —   SimpleFOCPowerShield;
              Or another drives or ESCs that support SVPWM and current feedback !

技巧2 :我同样设计了一个针对10-15A应用的FOC电调,目前已经经过功能和DFM测试
               FOC电调的内容正在逐步更新!其他类型的驱动或FOC电调,Multi-FOC基本都能兼容。
               目前我所推荐的驱动或电调有:
               对于2.5A应用   —   SimpleFOCMini;
               对于5A应用      —   SimpleFOCShield;
               对于30A应用    —   SimpleFOCPowerShield;