文章详情

  1. 您现在的位置:首页
  2. 资讯中心
  3. 技术资料
  4. 详情

带软反转的直流电机

此直流电机软件示例以第二个示例为基础,并提供软反转。为了安全地反转直流电机,有必要确定电机是否仍在运动。

确定电机是否仍在旋转的一种简单有效的方法是测量电机端子上的差分电压。ADC 可配置为测量模拟多路复用器任意两个输入之间的差分电压。可编程窗口检测器还可用于确定差分电压是否已落入预设限制内。在此示例中,电机差分电压保持低于满量程 3% 达 100 毫秒后电机将反转。

具有电压检测功能的直流电机驱动器的硬件类似,只是增加了两个连接到电机端子的电阻分压器,如图5所示。

主循环已被修改以检测电机停止。detectorStop ()函数首先配置 ADC 来测量差分电压。ADC 和窗口检测器均在轮询模式下使用。如果 ADC 值在预设窗口内,则计数器会递增。使用定时器 T0 的 10 ms 延迟设置采样时间。窗口外的任何样本都会重置计数器。在退出 while 循环之前,它将在窗口内进行 10 个连续采样。detectorStop () 函数将在返回主循环之前重新配置 ADC 以测量速度电位计。

无刷直流电机控制

无刷直流 (BLDC) 电机比传统有刷换向直流电机具有一些优势。电子设备和传感器有效地取代了电刷的作用,使用寿命长,减少了维护,并且没有电刷噪音。正确换向的 BLDC 电机的扭矩-速度特性与直流电机相同,如图 1 所示。

因此,无刷直流电机表现出同样理想的品质,使直流电机非常适合变速控制。此示例使用霍尔效应传感器来控制电机换向,提供 BLDC 电机的简单开环控制。BLDC 电机的速度由一个简单的电位计控制。以这种方式控制的 BLDC 电机的特性与原始 DC 电机控制示例类似。

本示例所需的硬件如图 6所示。由于 BLDC 电机需要额外的输出,因此选择了 C8051F330。电机由三相桥式配置的六个功率晶体管驱动。下部晶体管 Q1-3 是 N 沟道功率 MOSFET。上面的三个晶体管是 P 沟道功率 MOSFET。这简化了栅极驱动布置。同样,使用互补栅极驱动器,以便功率晶体管在默认状态下关闭。

图 6:无刷直流电机驱动

霍尔效应传感器具有集电极开路输出,需要上拉电阻。检查电机规格以确保霍尔效应传感器配置正确。集电极开路输出通常与 3 V 兼容。然而,霍尔效应传感器还需要偏置电源,通常需要超过 3.0 V。在大多数系统中,霍尔效应传感器可以通过电机电源电压或栅极驱动电源电压断电。

带断点的调试软件可能会将电机和 MOSFET 置于不良状态。当 MCU 遇到断点时,引脚会被有效地及时冻结,并可能使 PWM 输出保持活动状态。建议的步骤是在单步执行代码或使用断点之前始终断开电机引线。BLDC 电机将在单绕组全电压下停转。BLDC 电机堵转电流仅受绕组内阻的限制。这很可能会损坏功率MOSFET。

BLDC 电机示例的软件包含许多新元素,如下所述。

PORT_Init ()函数配置交叉开关和输出引脚分配。附加控制引脚配置为用于三相控制的推挽输出和用于读取霍尔传感器的输入

可编程计数器阵列时基配置为使用 160 ns 时基,并且启动计数器。然而,模块 0 模式 SFR 未针对 8 位 PWM 进行初始化。在确定霍尔效应位置之前,不会启用任何电机驱动。

main ()函数首先初始化所有内容并设置起始标志位。主循环首先使用HallPosition()函数检查霍尔效应传感器的位置 。如果启动标志位被置位或霍尔位置发生变化,则通过调用commutate()函数对电机进行换向 。接下来读取速度输入并将速度设置写入 PWM 输出。

HallPosition ()函数在出现错误时返回零。如果霍尔效应输入全部为高或全部为低,就会发生这种情况。如果发生错误,主循环将通过调用Coast()函数来禁用所有输出。错误条件下也会设置起始位,以强制在下一个有效霍尔位置读数时进行换向。

readHalls ()函数读取霍尔效应输入端口引脚上的霍尔效应代码并对其进行去抖处理。该函数等待三个连续的相同读数。这减少了霍尔效应代码改变时错误读数的可能性。

HallPosition ()首先通过调用 上述readHalls()函数 来读取霍尔效应代码。霍尔码型存储在常量数组HallPattern[]中。使用带有后减量的单行for循环来查找匹配霍尔效应代码的相应索引。如果找到匹配的模式, hallPosition () 函数将返回 1 到 6 之间的值。如果未找到匹配项,hallPosition() 函数将返回零值。

commutate ()函数用于在启动时初始化输出、在霍尔位置变化时更改输出状态,以及在纠正霍尔错误后重新启动电机。commutate () 函数首先禁用 PWM 和上部晶体管。然后它使用从 Hall Position()函数获得的索引 。

霍尔效应模式或换向模式没有通用标准。请查阅电机制造商的数据表,了解您所使用的特定电机。根据制造商的数据表仔细检查这两种模式。另外,检查霍尔效应模式和换向模式之间的对应关系。可能需要更改两个图案之间的偏移。