• 3.无霍尔传感器的BLDC换向原理


    要想了解此章节,最好熟悉第2章节的内容。感谢正点原子电机教程专题文档。

    1.什么是无霍尔BLDC

    @1.顾名思义,就是直流无刷电机是不带霍尔传感器的。

    @2.有霍尔的BLDC控制称为有感方波控制,无霍尔的BLDC控制称为无感方波控制。

    2.直流无刷电机的无感驱动方式简介

    @1.无刷直流电机的工作原理必须有转子磁场位置的信息,可以控制逆变器功率器件的开/关实现绕组的换相。然而在实际应用中发现,在电机内部安装转子位置传感器有以下问题:

    在某些高温、低温、高振动、潮湿、污浊空气和高干扰等恶劣的工作环境下由于位置传感器的存在使系统的可靠性降低。

    位置传感器电气连接线多,不便于安装,而且易引入电磁干扰。

    传感器的安装精度直接影响电机运行性能。特别是在多极电机安装精度难以保证4) 位置传感器占用电机结构空间,限制了电机的小型化。

    所以无传感器驱动的方式已成为一个新的技术发展方向,虽然控制精度会降低,但电机结构简单、抗干扰能力2强、体积小等优点。

    @2.无感检测的方式有很多种,这里我们主要使用反电动势过零检测方法。它的主要核心就是通过检测定子绕组的反电动势过零点来判断转子当前的位置。与有霍尔的比,电机引线变为3根,体积也变小。

    3.反电动势控制BLDC电机的原理

    @1.三相六状态 120°通电方式运行的无刷电机在任意时刻总是两相通电工作,另相绕组是浮地不导通的。这时候非导通绕组的端电压(从绕组端部到直流地之间)或相电压(从绕组端部到三相绕组中心点之间)就反映出该相绕组的感应电动势( BEMF, BackElectromotiveForce)。BLDC 电机的 BEMF 波形随转子的位置和速度变化,整体上呈现为梯形。图 25.1.1.1 给出了电机旋转一个电周期中电流和反电电势的波形,其中实线代表电流,虚线代表反电动势,横坐标为电机旋转的电气角度,根据 BLDC 的“六步换向”控制理论,我们知道在任意时刻三相 BLDC 另有两相通电,另一相开路,三相两两导通,共有 6 种组合,以一定的顺序每 60°变化一次,这样产生旋转的磁场,拉动永磁体转子跟着转动。这里的 60°指的是电气角度,一个电周期可能并不是对应一个完整的转子机械转动周期。完成一圈机械转动要重复的电周期数取决于转子的磁极对数。每对转子磁极需要完成一个电周期,因此,电周期数/转数等于转子磁极对数。

    控制BLDC的关键就是确定换相的时刻。由上图可以看出,在每两个换相点的中间都对应一个反电动势的磁极的改变的点,即反电势从正变化为负或者从负变化为正的点,称为过零点。利用反电动势的这个特性,只要能够准确检测出反电动势的过零件,将其延迟30°,即为需要换相的时刻。

    @2.反电动势检测的方法

    从图 25.1.1.1 中可以看到每次的反电动势过零点都发生在不通电的那一相。例如图25.1.1.1 中第一个 60°内, A 相电流为正, B 相电流为负, C 相电流为零,这说明电机 AB 相通电,电流从 A 相流入 B 相, C 相为开路。反电动势的过零点正好出现在 C 相。而且由于 C相不通电,没有电流,其相电压就与反电动势有直接的对应关系。

    在众多检测转子的位置方法中,反电动势检测法最为成熟、应用最广泛的方法,该方法简单可靠、容易实现,但是这种方法也存在一些缺点:1、 低速或转子静止时不适用,这是所有反电动势法的共同缺点。2、 电压比较器对被检测信号中的毛刺、噪声非常敏感等等。不过目前反电动势过零点检测方法依旧是当前无感控制中应用最为成熟的一种技术,实际使用中也是使用的该技术实现的无感驱动。 那我们应该如何检测过零点呢?又如何通过过零信号判断当前转子位置呢?

    @3.比较器模式采样过零信号

    由于 BLDC 电机的 Y 形连接,三相都接到公共的中性点,相电压无法直接测量。只能测量各相的端电压, 通常将非通电绕组的端电压用于无传感器控制时,称为端电压法,即各相对地的电压,然后与中性点电压比较,当端电压从大于中性点电压变为小于中性点电压,或者从小于中性点电压变为大于中性点电压,即为过零点。如图所示。

    但是一般的 BLDC 电机都没有中性点的外接引线,所以无法直接测量中性点电压。解决这个问题最直接的办法就是重构一个"虚拟中性点”,通过将三相绕组分别通过阻值相等的电压连接到一个公共点而成,这个公共点就是虚拟中性点,如图 25.1.3.1( B )所示。将中性点信号和 UVW 信号通过比较器进行比较就可以获得过零信号。由于使用比较器进行外部硬件比较的方式较为稳定, 因此得到广泛应用。

    @4.闭环的建立

    每一相的反电动势都有两种过零情况:从正变为负和从负变为正。三相共有六种过零情况对应六种换相状态,并且这种对应关系是固定不变的。所以我们可以将这个对应关系写入一个表中,程序中每检测到一个过零点,就通过查表来决定相应 IO 输出状态,控制下一步哪两相通电;然后切换到当前断开相继续检测反电动势过零点,如此循环,直至建立稳定的闭环。 下图为我们店铺无刷电机的过零信号组合所对应的绕组导通情况真值表:

    假设霍尔传感器ZERO_U值是bit2高位,ZERO_V值是bit1,ZERO_W值是bit0.

    电机正转换向值:V+U-  W+U-  W+V-  U+V-  U+W-  V+W-

    对应正转霍尔值: 2         3         1         5         4         6

    电机反转换向值:V+U-  V+W-  U+W-  U+V-  W+V-  W+U-

    对应反转霍尔值:    3         2        6         4         5         1

    做一个映射表,将上章节讲的换向表和此章节对应起来就行。

    理论上,过零点总是超前换相点 30°电角度。因此在检测到过零点后,要先延迟 30°电角度再换相。但是在闭环调速过程中,电机旋转一个电气周期的时间不是固定不变的,因此无法预测在检测到过零点后接下来的这 30°电角度是多长时间。那么在检测到过零点之后,怎样决定延时时间呢?虽然无法预测接下来的 30°电角度是多长,但是刚刚过去的上一个换相周期,即两个换相点之间 60°电角度的长度是可以测量的。于是可以采用近似的办法,用上一个换相周期,即 60°电角度的时间减半,作为接下来的 30°电角度延时时间。这种办法是可行的,因为电机的转速是渐变的,相邻两个换相周期的时间相差不会很大。由于定子绕组的反电动势与电机的转速成正比,所以电机在静止时反电动势为零或低速时反电动势很小,此时无法根据反电动势信号确定转子磁极的位置,因此反电动势法需要采用特殊起动技术,从静止开始加速,直至转速足够大, 当反电势能检测到过零信号时,再切换至无刷直流电机运行状态。这个过程称为“三段式”起动,主要包括转子预定位、加速和运行状态切换三个阶段。这样既可以使电机转向可控,又可以保证电机达到一定转速后再进行切换,保证了起动的可靠性。下面就让我们介绍 BLDC 方波启动技术。

    无感方波启动技术在后续章节介绍,此章节只介绍无霍尔传感器反电动势过零检测的换相原理。

    @5.软件上实现闭环换向

    const vu8 PMS_Config[]={0x80,0x9f,0xb7,0x9f,0xbd,0xbd,0xb7,0x80};

    const vu8 PXC_Config[]={0xc0,0xc4,0xc1,0xc1,0xd0,0xc4,0xd0,0xc0};

    上述摘抄出来的2行代码是核心的换向算法,是过零检测点值和换向表和上下桥臂的导通关系映射在一起了。正向换向如下描述

    2         V+U-         PMS_Config[2]:0xb7, PXC_Config[2]:0xc1:V+U-

    3         W+U-         PMS_Config[3]:0x9f, PXC_Config[3]:0xc1:W+U-

    1         W+V-         PMS_Config[1]:0x9f, PXC_Config[1]:0xc4:W+V-

    5         U+V-         PMS_Config[5]:0xbd, PXC_Config[5]:0xc4:U+V-

    4         U+W-         PMS_Config[4]:0xbd, PXC_Config[4]:0xd0:U+W-

    6         V+W-         PMS_Config[6]:0xb7, PXC_Config[6]:0xd0:V+W-

    通过以上分析,过零监测点值ZeroData值对应的就是换向表数组的下标值,只需要PMS_Config[ZeroData]、PXC_Config[ZeroData]这种软件实现方式就实现了正向换向。

    接下来看电机反转换向软件算法分析:

    3         V+U-         PMS_Config[2]:0xb7, PXC_Config[2]:0xc1:V+U-

    2         V+W-         PMS_Config[6]:0xb7, PXC_Config[6]:0xd0:V+W-

    6         U+W-         PMS_Config[4]:0xbd, PXC_Config[4]:0xd0:U+W-

    4         U+V-         PMS_Config[5]:0xbd, PXC_Config[5]:0xc4:U+V-

    5         W+V-         PMS_Config[1]:0x9f, PXC_Config[1]:0xc4:W+V-

    1         W+U-         PMS_Config[3]:0x9f, PXC_Config[3]:0xc1:W+U-

    上述的的对应关系来看,过零检测值ZeroData和换向表没有什么直接联系,所以我们要建立一张映射表,C_HL_HallSign[] = {4,3,6,2,5,1,4,3};PMS_Config[C_HL_HallSign[ZeroData] ]、PXC_Config[C_HL_HallSign[ZeroData] ]。这样就和换向表对应起来了。

  • 相关阅读:
    【面试题】https协议
    《深入理解BigDecimal:揭秘钱财计算的核心技术》
    Apache Hive安装部署详细图文教程
    论文写作指导手册
    Python 超简单安装教程 Linux
    springboot整合redis
    大数据、Hadoop、Hbase介绍
    第11章_数据库的设计规范
    飞利浦CT的AI重建技术
    跟着代码随想录练算法 —— 动态规划(JS)
  • 原文地址:https://blog.csdn.net/qq_27568125/article/details/126639662