Arduino SimpleFOC库-004-BLDC 电机配置

本文档详细介绍了如何使用Arduino SimpleFOC库配置和控制BLDC电机,包括电机实例创建、传感器连接、驱动器链接、电流感应、参数配置、对齐过程以及实时运动控制。重点讨论了各种配置选项,如PWM调制类型、电机对中参数、电流控制模式等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所有 BLDC 电机都在BLDCMotor类中处理。这个类实现:

  • BLDC FOC 算法
  • 运动控制回路
  • 监控
  • 用户通讯接口

 1. 创建 BLDC 电机的实例

要实例化 BLDC 电机,我们需要创建BLDCMotor该类的实例并为其提供电机的极对数.

//  BLDCMotor(int pp, (optional R))
//  - pp  - pole pair number
//  - R   - phase resistance value - optional
BLDCMotor motor = BLDCMotor(11 , 10.5);

极对数

如果您不确定您的pole_paris号码是多少。该库提供了一个示例代码来估计您pole_paris在示例中的数量find_pole_pairs_number.ino

相位电阻

如果您事先知道您电机的相电阻值R,我们建议您将其提供给图书馆。然后库将在内部计算电压值,用户将只处理电流。但这是一个可选功能。

2. 连接传感器

一旦定义了电机并初始化了传感器,您需要通过执行以下命令来链接motorsensor

// link the sensor to the motor
motor.linkSensor(&sensor);

该库中linkSensor方法能够实现连接电机到任何传感器。sensor将被用于确定电机的FOC算法的电位置以及用于速度和位置的运动控制环。有关更多信息,请参阅位置传感器文档

使用开环运动控制时不需要链接。

 3. 链接驱动程序

一旦定义电机并初始化了驱动程序,您需要通过执行以下命令来链接motordriver

// link the driver to the motor
motor.linkDriver(&driver);

BLDCMotor类期望得到一个BLDCDriver类的实例,在默认情况下类实现BLDCDriver3PWMBLDCDriver6PWM。驱动程序处理与特定微控制器架构和驱动程序硬件相关的所有硬件特定操作。有关更多信息,请参阅bldc 驱动程序文档

 4. 连接电流感应

如果您有电流传感器,您可以将current_sense链接到motor使用:

// link the current sensor to the motor
motor.linkCurrentSense(&current_sense);

仅当您具有此库支持的电流感应时,才需要此链接步骤。

5. 配置参数

如果您选择不设置某些配置参数,它们将采用defaults.h文件中定义的值。

5.1 PWM 调制类型

BLDC 电机有四种类型的磁场定向控制调制类型:

  • 正弦 PWM 调制
  • 空间矢量PWM调制
  • 块换向 -有益于电流控制应用
    • 梯形120
    • 梯形 150

您可以通过更改motor.foc_modulation变量来设置它们:

// choose FOC modulation
// FOCModulationType::SinePWM; (default)
// FOCModulationType::SpaceVectorPWM;
// FOCModulationType::Trapezoid_120;
// FOCModulationType::Trapezoid_150;
motor.foc
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值