Link

位置传感器

该库目前支持以下类型的位置传感器:

编码器

编码器是目前工业界和爱好者社区中最常用的位置传感器。其主要优点是精度高、标准化程度高且噪声水平极低。简易FOC几乎支持所有你能找到的编码器类型。以下是一个解释编码器主要工作原理的精彩短视频:YouTube 视频

编码器位置跟踪(脉冲计数)算法的代码效率,尤其是在 Arduino 设备上的实现,是 FOC 算法性能和平滑度的主要限制因素之一。编码器精度和执行效率之间存在明显的权衡,因此为你的应用选择合适的编码器非常重要。

示例描述链接价格
光学编码器
2400cpr
Ebay10美元
光学编码器
AMT103
可配置 cpr 48-8192
Mouser20美元
磁性编码器
AS5047U
16384cpr
Mouser
YouTube 演示
15美元

编码器 CPR:Arduino UNO 的经验法则

对于 Arduino UNO,每秒的最大脉冲数不应超过 20,000。超过这个值后,就会开始出现执行问题。 选择编码器时,请考虑这一点,尤其是在使用多个电机的情况下。

示例

如果你的 CPR 值为 10000,那么你的电机最大转速将能达到 120rpm - 2 转/秒

磁性传感器

磁性位置传感器相比编码器有许多优势:

  • 位置计算效率非常高(无需计数)
  • 执行时间不取决于速度或传感器数量
  • 不需要中断硬件
  • 绝对位置值
  • 价格低于编码器
  • 安装简单

磁性传感器通常有几种不同的通信协议:

  • ABI(✔️ 支持)- 与编码器接口完全相同
  • SPI(✔️ 支持)
  • I2C(✔️ 支持)
  • 模拟(✔️ 支持)
  • UVW(✔️ 支持)- 与霍尔传感器接口完全相同
  • PWM(✔️ 支持)
  • SSI

PWM 和 SSI 协议将测试其性能,并在后续步骤中实现。 如果您有兴趣实现其他通信方式,请告诉我们

以下是一些受支持的磁性传感器:

示例描述链接价格
AS5047
SPI/ABI/PWM/UVW
14位
Mouser15美元
AS5048A
SPI/PWM
绝对式
14位
Ebay10美元
AS5600
I2C/PWM
12位
Ebay5美元

注意:I2C 上拉电阻

并非所有 I2C 总线都需要上拉电阻。但在某些情况下可能是必要的。特别是使用 STM32 开发板时。在这些情况下,你将无法与传感器通信。 为了实现通信,通常需要在 5V/3.3V 与 SCL 和 SDA 通道之间连接 4.7kOhm 的电阻。以下是一个关于此问题的很好的 stack overflow 问题:链接
在未来版本的 简易FOC Shield 中,我将尝试也包含这些上拉电阻。

注意:UVW 接口

如果您希望使用磁性传感器的 UVW 接口,请确保将磁性传感器配置为与电机具有相同的极对数。此外,请注意磁性传感器和电机相位的对齐非常重要,可能需要一些时间来实现。

霍尔传感器

霍尔传感器在过去的 FOC 控制中非常常见,因为它们的换向简单。电机通常配备 3 个霍尔传感器,用于读取转子磁铁位置,并能以 60 度的分辨率确定电机的电角度。

扇区电角度Hall AHall BHall C
10-60101
260-120100
3120-180110
4180-240010
5240-300011
6300-360001

这些传感器的主要优点是非常便宜,并且几乎可以添加到任何 BLDC 电机上。但如今,随着磁性传感器的出现,它们的使用越来越少。这些传感器的主要缺点之一是由于角度测量的量化程度较高,低速运行不平稳。

这些传感器的主要应用领域是各种运输车辆中的电动机。它们的电机通常功率非常高,在如此高的电流和磁场下,依赖任何类型的通信(I2C、SPI、SSI 等)都不是一个好选择。使用霍尔传感器的另一个原因是如果你无法接触到电机轴,或者无法将传感器与电机轴同轴安装。霍尔传感器安装在电机转子周围,这使得它们非常不具侵入性且易于集成。

你可以在任何电子供应商处找到霍尔传感器 IC,从 Ebay 和 Aliexpress 到 Mouser 和 Digikey,也可以在大多数当地电子商店找到。

示例描述链接价格
49E 霍尔传感器(10个)Aliexpress1美元

如果适合你的应用,你也可以考虑购买集成霍尔效应传感器的 BLDC 电机。

示例描述链接价格
BLDC 电机
集成霍尔传感器
100W
Aliexpress40美元
BLDC 电机
集成霍尔传感器
30W
Aliexpress25美元

电机选择

购买 BLDC 电机前,请务必阅读 支持的电机文档