0.0参考:
FOC?看这篇文章就够了
志辉君——【自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术
SPWM基本原理详解(图文并茂+公式推导+C程序实现)
1、开源的FOC方案
1、SmipleFOC是比较常见的无刷驱动方案,因为其便宜的制造成本和低廉的价格被DIY玩家应用的比较多,往上的技术方案和资料是最多的。但是系统的控制能力比较中规中矩,控制比较大的无刷电机有些吃力。
2、ST FOC是由意法半导体官方推出的技术方案,里面有意法半导体官方的控制方案。使用的IDE和SDK比较复杂。往上的资料比较少,学习成本高;
3、ODrive是志辉君使用的方案,ODrive的能力比SmipleFOC要强,但是对硬件要求高,所以制造成本也很高,用在工业领域比较多;
ODriveodrive和simplefoc二者差不多。
ODrive是一个基于STM32的高性能FOC伺服驱动器,其可以同时驱动两个无刷电机,早期被大量使用与3D打印机或自制CNC车床电气系统的设计中,知名极客JamesBruton使用其作为大部分自己制作机器人伺服驱动的核心单元。
simplefoc是一个开源的低成本无刷直流(BLDC)电机驱动板,主要用于低功耗的FOC应用,电流高达5A。该板与ArduinoUNO和所有带有标准Arduino头的板完全兼容。SimpleFOCShield结合SimpleFOClibrary提供了一种用户友好的方法来控制无刷直流电机的硬件和软件。
本文主要使用SmipleFOC开发
SmipleFOC的官网文档可以参考:http://simplefoc.cn/#
2、
番外
1、电流检测电路:低侧检测、高侧检测比较
参考:https://mbb.eet-china.com/forum/topic/108282_1_1.html
测量电流时, 通常会将电阻放在电路中的两个位置。第一个位置是放在电源与负载之间。这种测量方法称为高侧感测。通常放置感测电阻的第二个位置是放在负载和接地端之间。这种电流感测方法称为低侧电流感测。
高侧电流检测
高侧电流检测可能是本库所讨论的三种电流检测中最不常见的一种。主要原因是因为它需要有支持高压的放大器。采样电阻位于高侧MOSFET和电源之间,会令放大器始终会有高压差。这种方法的另一个缺点是,由于只有相应的高侧mosfet开启时,通过采样电阻的电流才是相电流,而我们只能在这些时刻测量到相电流。PWM频率通常为20至50 kHz,这意味着低侧MOSFET每秒开关20000至50000次,因此PWM设置和ADC采集之间的同步非常重要。。
在线电流检测
在线电流检测技术是最易用和精确的一种。采样电阻与电机相串联,无论PWM占空比的状态如何,在这些采样电阻上测量的电流都是电机相位电流。因此,这种方法非常适合于
Arduino
设备,因为adc可以在任何时候进行采样以获得电流,并且adc采集持续时间与其他电流传感方法同样重要。这种方法的短板在于硬件上,这种电流检测结构要求高精度双向放大器具有比常规低侧或高侧放大器更好的PWM抑制。