• 电路分析:四开关buck-boost双向同步DC/DC变换器方案

    1.概述4开关降压升压双向DC-DC电源转换器在很多应用中都有使用。作为一个同步降压或同步升压转换器,其中只有两个开关切换,开关损耗减少到一半。

    06-12 101浏览
  • Linux多核运行机制:SMP架构详解

    一、Linux内核兼容多处理器要求有多个 CPU 处理器 的 系统中 , Linux 内核需要处理的问题 :1

    06-10 93浏览
  • 逆变电路原理与多样换流方式

    在电力电子变流体系中,逆变与整流互为逆过程,构成完整能量转换闭环。先进拓扑已实现双向整流与逆变功能,结合交直交变频技术,推动光伏、风电及储能发展。

    06-03 331浏览
  • 你知道手机的摄像头用的是什么接口吗?

    手机!想必没有不认识的吧,在现如今的时代,手机已经成为大家日常生活中不可或缺的电子产品了,那你知道手机的摄像头用的是什么接口吗?

    05-28 92浏览
  • 电机控制采用有感和无感两种检测方式

    在实际的电机控制场景当中,需要获取当前转子的位置,并且计算出下一步导通的桥臂,从而使得电机开始旋转。

    05-26 386浏览
  • 器件选型:晶振、EEPROM、FLASH、SRAM、DRAM、DDR、EDS

    时钟器件部分一、晶振简介1.1定义晶振,即晶体振荡器。按照工作原理,可将其分为晶体(Crystal) 和振荡器(Oscillator)。

    05-22 204浏览
  • 【电机控制】PMSM无感FOC控制-双电阻以及三电阻电流采样法

    针对永磁同步电机双电阻以及三电阻电流采样的问题给出了具体的实现思路,双电阻采样通过限制电压的方式避免进入非观测区,三电阻采样则根据PWM波形,动态设置电流采样点、对PWM进行移相重构电机电流,以避免在非观测区采集不到准确电流的情况发生。 目录 1. 双电阻采样 1.1 双电阻采样原理 1.2 双电阻采样时刻分析 1.3 双电阻电流重构方法 2. 三电阻采样 2.1 三电阻采样原理 2.2 三电阻采样时刻分析 2.3 三电阻电流重构方法 2.4 PWM移相及电流采样触发点计算流程图 目前,永磁同步电机的电流信号采样方法应用较多的是分流电阻采样,包括单电阻、双电阻以及三电阻采样法。这章讲双电阻以及三电阻电流采样法。 1. 双电阻采样 1.1 双电阻采样原理 双电阻采样相电流方法是在全桥逆变电路的任意两个下桥臂分别串联一个采样电阻,从采样电阻R1、R2两端采集电压信号,经过后端的运放以及A-D器件,后通过计算得到相电流的大小,双电阻采样电路如图1-1所示。 图1-1 双电阻采样电路图 1.2 双电阻采样时刻分析 采样时刻的分析过程与上一章单电阻采样类似,首先分析8个基础矢量下流过各个采样电阻的电流;最终确定采样时刻为矢量V000作用时进行采样,此时三相上桥臂截止的时刻,此时相电流通过二极管进行续流,通过采样续流电流可以得到真实的相电流,如下图1-2所示。(采样也可以放在PWM的前半段V000作用时间进行,没有强制要求) 图1-2 基础矢量V000作用时电流流向及采样时刻 采集到其中两相电流后,通过计算得到全部的相电流信息,从而实现三相电流的重构。 1.3 双电阻电流重构方法 双电阻电流重构方法是采样得到的两相电流后根据公式Ia + Ib + Ic = 0得到第三相电流,但双电阻采样也是有非观测区的。 在上一章节我们讲过采样时需要时间的,电流采样有一个最小脉宽时间Tmin,所以我们在采样时一定要留出足够的采样窗口,这样我们才能采集到准确的相电流。从图1-2我们可以知道,我们是在V000作用时进行采样的,并且是放在载波的后半段进行采样,也就是说我们是在占空比最大的PWMH为低电平后进行采样。 那么如果占空比最大的那一相,它的占空比过高的话,留给我们采样的时间就过短,这就又形成上一章我们提到的非观测区,如图1-3所示; 图1-3 双电阻采样非观测区与PWM波形图 如图1-3(a)所示,双电阻采样他的非观测区也是由两部分组成:扇区过渡区、高压调制区;落在非观测区的电压矢量它的基本矢量V000的作用时间过短,导致无法采集到准确的相电流进行重构。 所以采用双电阻电流重构方法的话,通常会约束电压最大相占空比在95%左右(可根据Tmin进行调整,不一定时95%),保证电流采样有充足的空间。 2. 三电阻采样 2.1 三电阻采样原理 三电阻采样相电流方法是在全桥逆变电路的三个下桥臂分别串联一个采样电阻,从采样电阻R1、R2、R3两端采集电压信号,经过后端的运放以及A-D器件,后通过计算得到相电流的大小,三电阻采样电路如图2-1所示。 图2-1 三电阻采样电路图 2.2 三电阻采样时刻分析 三电阻采样的时刻与双电阻采样时刻一样,为矢量V000作用时进行采样,此时三相上桥臂截止的时刻,此时相电流通过二极管进行续流,通过采样续流电流可以得到真实的相电流,如下图2-2所示。 图2-2 基础矢量V000作用时电流流向及采样时刻 三电阻采样与双电阻采样极其相似,并且他们的非观测区也一样,不过三电阻对于电的重构方法与双电阻有很大的区别,因为多出来的一个电阻使得三电阻采样对于采样时间的选择有了更多灵活性。 2.3 三电阻电流重构方法 双电阻可以通过限幅的方法将SVPWM最终生成的PWM占空比限制到一定范围内(比如上文提到的95%),防止V000电压矢量的工作时间过短导致电流采集发生在非观测区而产生数据错误。 但是这种方法由于空间矢量的最大范围受到限制,直接导致了电机电压降低,使得电机无法达到最大输出,电源利用率被降低。 为了解决非观测区三电阻采样问题,三电阻采样通过改变采样点位置以及移相(非对称PWM输出)的操作,从而预留出足够的窗口给AD器件采样,且保持占空比不变,保证要合成的电压矢量Uref不变。 举两个例子说明一下: 例一:以扇区1为例,高压调制区的PWM波形如图2-3所示; 图2-3 三电阻采样高压调制区PWM波形图 如图2-3(a)所示,某一个电压矢量Uref落在第一扇区的高压调制区,它的PWM波形如图2-3(b)所示,Uref的A相PWM1H占空比大于一定值,导致V000矢量作用时间很短,此时三相电流均无法正确采样。但是载波后半段V100矢量的作用时间大于Tmin,可以将采样点设置在图2-4所示的区间,采集B相电流Ib和C相电流Ic,再通过Ia + Ib + Ic = 0重构出A相电流Ia。 图2-4 V00矢量作用下电流流向及采样区间变更对比 如图2-4(a)所示,再矢量V100作用时三电阻采样能够正确采集到其中两相电流,从而重构出第三相电流,采样区间变更如图2-4(b)所示。 例二:以扇区1为例,扇区过渡区的PWM波形如图2-5所示; 图2-5 三电阻采样扇区过渡区PWM波形图 扇区过渡区的PWM波形如图2-5所示,A相PWM1H占空比大于一定值,使得载波后半段矢量V000的作用时间t1小于Tmin,且载波后半段矢量V100的作用时间t2也小于Tmin,均无法正确采集三相电流。 此时需要将B相PWM整体左移,将B相PWM上升沿与A相PWM下降沿对齐,如图2-6所示,使得采样窗口时间t2'大于Tmin,从而改变采样区间的,采集到B相电流Ib和C相电流Ic,再通过Ia + Ib + Ic = 0重构出A相电流Ia。 图2-6 移相后PWM波形及采样触发点变更对比 如图2-6(a)所示,B相的PWM整体向左移动了Δt,拓宽了采样窗口的值,在矢量V100作用时进行电流采样,采集到B、C相电流后计算出A相电流。 2.4 PWM移相及电流采样触发点计算流程图 PWM移相及电流采样触发点所在区间计算程序流程图如图2-7所示。 图2-7 PWM移相及电流采样触发点所在区间计算程序流程图

    04-23 257浏览
  • 硬件设计常用接口引脚定义

    常用接口引脚定义 RS232(DB9) RS422/RS485(DB9) CAN(DB9) PS2 USB type - C STAT MSATA SD卡/TF卡 以太网 VGA DVI HDMI mPCIe PCI-e JTAG RS232(DB9) RS422/RS485(DB9) CAN(DB9) PS2 USB type - C STAT MSATA SD卡/TF卡 以太网 VGA DVI HDMI mPCIe PCI-e JTAG

    04-18 143浏览
  • 【电机控制】PMSM无感FOC控制(SVPWM)

    本章主要讲了SVPWM的原理、各个矢量作用时间的推导、七段式调制方式;没有讲解如何讲SVPWM如何和MCU的PWM模块结合 目录 0. 前言 1. 什么是SVPWM 1.1 SVPWM的概念 2. SVPWM(空间矢量脉宽调制)如何产生所需的空间矢量 2.3.1 矢量的合成 2.3.2 矢量的合成的范围 2.1 合成空间矢量需要的八个基础矢量 2.2 SVPWM的六个扇区 2.3 SVPWM空间矢量的合成 2.4 如何求解SVPWM基础矢量的作用时间 3. 七段式SVPWM 0. 前言 本章节会详细介绍SVPWM,计划在下一章讲解过调制。学完这一章你就会理解第一章里面PID控制器输出的dq轴电压经过变换后得到的αβ轴电压的真正含义,为什么会会输出αβ轴电压,αβ轴电压是怎么被SVPWM利用的。 之前我们讲过FOC是磁场定向控制,在进入SVPWM之前我们要清楚,这个定向的磁场是由什么产生的?怎么被控制的? 定向的磁场是由什么产生的? 上图是电机的刨面图,可以看到电机的定子是由一圈圈的线圈组成的,当线圈中有电流流过时就产生了磁场。那么要产生定向的磁场就需要产生特定的电流,要产生特定的电流就需要特定的电压。空间矢量脉宽调制(SVPWM)可以产生电压矢量,激发出电流流过线圈的绕组,从而产生磁场矢量。到这里我们已经知道了,磁场是怎么被产生的,它是由电压矢量激发出的电流流过线圈所产生的。我们通过控制电压矢量,生成一个不断旋转的磁场矢量就可以带动电机转动了。 最后一个问题这个磁场是怎么被控制的? 在描述这个问题以及进入后续的内容之前我们需要了解一些名词,端电压、线电压、相电压。 端电压:端电压就是电机三相线端相对于GND的电压,A相端电压记作UA,B相端电压记作UB,C相端电压记作UC; 线电压:线电压就是相相之间的电压Uab = UA - UB,Ubc = ...; 相电压:相电压就是电机三相线端相对于连接点N的电压,UAN = UA - UN,UBN = ...; 首先先大家要理解Uα和Uβ代表的是αβ坐标系下的一个电压矢量。其次要理解FOC是磁场定向控制。线圈中有电流流过时就会产生磁场,所以我们要产生一个定向的磁场时就需要控制电机的三相上的相电流,通过控制三相静止坐标系中的三相电流我们就可以产生出在这个平面内的任意方向的磁场,这样就可以完成磁场的定向控制。那怎么控制三相的电流呢?那就是通过控制三相的相电压,不同大小的相电压可以激励出不同大小的相电流。 第一章节我们说了为什么foc的控制流程的最后是SVPWM,而不是反Clark变换,因为通过PID控制以及反Park变换后得来的Uα和Uβ刚好又可以反Clark变换成我们想要的三相电压UAN、UBN、UCN。但是我们通过逆变电路能直接控制三相电压吗?很显然是不能的,逆变电路控制的是三相的端电压,那我们怎么通过三相的端电压来控制三相的相电压呢? SVPWM刚好可以胜任这份任务,空间矢量脉宽调制(SVPWM)中的空间矢量指的就是磁场矢量,这个磁场矢量是由电压矢量产生的。Uα和Uβ代表的是αβ坐标系下的一个电压矢量,SVPWM通过控制逆变器的开关状态(也就是控制端电压),合成所需电压矢量,从而产生转动电机转子所需的磁场矢量。 1. 什么是SVPWM 1.1 SVPWM的概念 SVPWM(Space Vector Pulse Width Modulation)是一种空间矢量脉宽调制技术,也称为电压空间矢量脉宽调制技术。它是电力电子技术中一种非常重要的调制方法,广泛应用于交流电机控制、电力电子变换等领域。 SVPWM的基本思想是以三相对称正弦波电压供电时三相对称电动机定子理想磁链圆为参考标准,用逆变器不同的开关模式所产生的实际磁链矢量来追踪基准圆磁链矢量。具体实现方法是通过控制逆变器的开关状态,合成所需的电压矢量,使得电机的定子绕组中产生相应的电流矢量,从而产生所需的磁场矢量。 相比于传统的SPWM方法,SVPWM具有更高的直流电压利用率和更好的动态性能,因此在电力电子领域中得到了广泛应用。 2. SVPWM(空间矢量脉宽调制)如何产生所需的空间矢量 2.1 合成空间矢量需要的八个基础矢量 前面我们说过SVPWM通过控制逆变器的开关状态(也就是控制三相的端电压),合成所需电压矢量,从而产生转动电机转子所需的磁场矢量。在了解具体的合成过程之前我们首先要了解合成空间矢量所需要的8个基本矢量、8个基本矢量对应的驱动电路的6个开关管的状态、以及8个基本矢量对应的相电压。 首先我们知道电机驱动器的逆变电路有六个开关管,每两个开关管对应控制电机的一相的端电压,M1、M2控制A相的端电压UA,M3、M4控制B相的端电压UB,M5、M6控制C相的端电压UC。 我们可以定义一个开关函数Sx (x = a, b, c),当Sx等于1时代表x相的上管导通,下管断开(x相的端电压等于Vdc);当Sx等于0时代表x相的上管断开,下管导通(x相的端电压等于GND)。 Sa = 1代表M1导通,M2断开,Sa = 0代表代表M1断开,M2导通; Sb = 1代表M3导通,M4断开,Sb = 0代表代表M3断开,M4导通; Sc = 1代表M5导通,M6断开,Sc = 0代表代表M5断开,M6导通。 上下管是不能同时导通的,上管导通时下管就只能关断,下官导通时上管就只能关断,因为如果上下管同事导通了,那么Vdc就和GND直接接到了一起,电源就短路了,会烧坏电路以及电源。 那么通过对这三对开关管的状态进行组合我们就能得出8种不同的状态,这8种不同的状态代表了8个基础矢量Vx(x = 0,1,2,3,4,5,6,7),x的值与开关管的状态相关,我们可以把开关管的状态看成一个三位二进制数,Sa代表最高位,Sc代表最低位,当Sa = 1,Sb = 0,Sc = 0时x = 100(二进制表示),换算成十进制表示就是x = 4; 接下来我们要去计算这8种状态下的三相的相电压(计算这八个基础矢量的相电压是为了在三相静止坐标系(A-B-C)内画出这八个基础矢量),首先来分析V4(100)矢量的相电压情况,V4矢量代表着A相的上管导通,下管断开(A相端电压等于Vdc);B相的上管断开,下管导通(B相端电压等于GND),C相的上管断开,下管导通(C相端电压等于GND)。 因为三相星型电机一般都是对称绕组,相电阻一样,所以我们可以化简上图,用R代表三相绕组的阻抗如下图: 根据分压的原理可得出以下结论: 另外七种矢量的相电压推导过程同上,最后我们能得出如下表格: 2.2 SVPWM的六个扇区 在第一章我们学了三个坐标系,其中有一个坐标系叫做三相静止坐标系(A-B-C),现在我们知道每个基础矢量对应的相电压,就可以在这个坐标系以三相的相电压为坐标轴中画出这8个基础矢量。 根据三相系统向两相系统变换保持幅值不变的 原则定子电压的空间矢量可表示为: 式中 我们首先根据上面的表格在坐标系(正半轴用实线表示,负半轴用虚线表示)里画出V4矢量的各个相电压: 根据矢量合成的平行四边形法则,我们最终得到了一个在A轴正方向上,大小为Vdc的矢量,由于等幅值变换需要乘以一个2/3的系数,最终得到的矢量大小为2/3Vdc,如下: 我们按照上述的方法画出另外七个矢量,最终得到了如下的图形(其中V0和V7是坐标系零点上的两个点): 然而光只有这八个矢量还是不行的,SVPWM的目的是要在这个平面空间里面产生更多的矢量轨迹,从而使得电机平滑转动。 为了讲解后面的如何在这个平面内合成任意矢量,我们需要回顾一下PWM来做个过渡,我们知道如果电源电压为10V我们想得到1v的电压需要使用PWM脉宽调制,调整一个载波周期内高电平占空比为10%,如果想要得到10v的电压就要调整一个载波周期内高电平的占空比为100%。 SVPWM也是类似的思想,如果想在平面内得到方向与V4的矢量相同,大小为2/3Vdc大小的矢量,那我们必须控制开关管处于Sa = 1,Sb = 0,Sc = 0的状态持续一整个载波周期;如果想得到方向与V4的矢量相同,大小为1/3Vdc大小的矢量,就需要控制一个载波周期内的V4矢量的作用时间占整个载波周期的50%(也就是开关管一半时间为100状态),零矢量(V0和V7矢量称为零矢量)的作用时间占到50%(一半时间为111和000的状态)。 回到上面的图,这六个矢量将这个平面空间划分成了六份,这个平面内我们想合成的任意一个矢量都会落在这六个扇区的其中一个扇区,并且任意一个扇区的矢量我都可以通过这个扇区的两个矢量来合成,比如扇区1内的矢量我们可以通过调整V4、V6以及零矢量(V0、V7)的作用时间来合成。 2.3 SVPWM空间矢量的合成 2.3.1 矢量的合成 接下来我们定义载波周期为时间T,按照我们之前讲的,我们控制开关管处于100状态持续一整个载波周期T就能得到与V4矢量方向相同,大小为2/3Vdc的矢量。如果我们想在扇区一与α轴夹角30°的地方生成下图的黑色矢量(矢量长度为√3/3Vdc)。就需要先控制开关管处于100状态(V4矢量)作用1/2T,然后再控制开关管处于110状态(V6矢量)作用1/2T的时间,这样我们就能生成一个与黑色箭头方向一致的磁场。 如果我们是想在扇区一与α轴夹角30°的地方合成长度为√3/6Vdc矢量,那是不是先控制开关管处于100状态(V4矢量)作用1/4T,然后再控制开关管处于110状态(V6矢量)作用1/4T的时间,最后留下的1/2T的时间控制开关管处于000和111的状态(零矢量)。 第一个矢量(V4)的作用时间是t1 = 1/4T; 第二个矢量(V6)的作用时间是t2 = 1/4T; 零矢量(V0、V7)的作用时间是t0 = 1/2T; 现在大家理解SVPWM是怎么合成矢量了吧,其实就是在控制开关管不同的状态持续时间,从而合成出平面内的矢量。 2.3.2 矢量的合成的范围 上面一节我们知道了SVPWM调制怎么合成不同的电压矢量,那通过上述的方法我们可以合成这个平面内的任意一个矢量吗? 解答上个问题之前,我们先达成一个共识,SVPWM调制是为了产生不同的电压矢量合成,产生的一个在空间中旋转的电压矢量的轨迹,从而产生一个旋转的磁场带动电机转子转动。这个轨迹是个圆形,我们把它叫做矢量圆,它的半径反映了在标准的SVPWM调制下,能够达到的最大电压矢量幅值。 我个人理解这个矢量圆的半径反应了能够产生的磁场的大小,因为产生磁场是因为电流流过了线圈,电压矢量不会无限大,产生的电流也就不会无限大,因此生成的磁场也不会无限大。 那么SVPWM调制的矢量圆的半径最大是多大呢?答案就是我们上一节里面合成的第一个矢量,它的长度为√3/3Vdc。 那这是为什么呢? 我们看下面的图,当三角形OAB的B点落在由边长为Vdc的六边形上时,我们OA + AB刚好等于2/3Vdc,也就是说: 矢量OA的作用时间t1 + 矢量AB的作用时间t2 = 载波周期T; 这也就表明了,我们不能合成超过这个六边形范围外的矢量,那我们矢量圆的半径是不是就确定了就是这个六边形的内切圆,半径为√3/3Vdc。 当然通过某些手段我们可以把矢量圆的半径拓宽到2/3Vdc,这个方法就是过调制,这个我们后面再讲。 2.4 如何求解SVPWM基础矢量的作用时间 假设我们要合成如图所示的扇区1中的矢量OB,我们怎么求出矢量V4的作用时间t1和矢量V6的作用时间t2? 首先我们知道三角形的每条边与它对角的正弦值的比值相等即: 我们可以知道;代入上式得: 先分析 ,把代入得: 接下来分析,把代入得: 上面t1、t2得等式中T、Vdc是已知的,那么我们只要知道OB以及θ的值就能求出t1、t2的值了。 大家回想一下第一章我们讲的FOC框图里面SVPWM模块的输入是什么? 是不是Uα和Uβ?那么通过Uα和Uβ我们能不能算出t1、t2? 答案是可以的,因为Uα = OB × cosθ,Uβ = OB × sinθ,那么上面t1、t2的式子就可以化简为: 同理我们能计算出另外五个扇区的t1、t2矢量的作用时间如下表,令得: 既然我们知道了每个扇区的矢量都是有两个基础矢量和零矢量合成出来的,在知道两个基本矢量的作用时间后,就可以求出零矢量的作用时间t0 = T - t1 - t2。 3. 七段式SVPWM 以上图为例,我们要合成该黑色的矢量,矢量V4和矢量V6的作用时间是0.25T,矢量V4的作用时间为t1,矢量V6的作用时间为t2,零矢量的作用时间为t0。 根据t0 + t1 + t2 = T,可得t0 = 0.5T,通过之前的知识我们可以得知零矢量分为两种分别是V0(000)和V7(111),在这0.5T的时间内V0和V7各自作用力0.25T的时间。 什么式七段式SVPWM?就是我们把一个周期T划分成7段,每一段对应着一个矢量状态,通过七次矢量合成最终得到目标矢量。 既然通过七段式合成上面需要4个矢量(V4、V6、V0、V7),这4个矢量对应着六个管子不同的动作,功率管要开关那肯定会开关损耗,因此我们需要找出一种开关损耗最小的开关方式。 为了保证这七个状态切换时,开关损耗最好,我们每次要尽可能让开关的动作次数最少。 如下下图(下图的波形我们可以看成Sa、Sb、Sc的状态,也可以看成三个上桥臂的PWM波的波形): 我们要合成扇区1里面的黑色矢量,分7段(其实图中的时间段分为了八段,但是中间的111连续视为一段,这样的话就只有七段了): 第1段:合成矢量V0(000)作用时间1/8T(t0/4); 第2段:合成矢量V4(100)作用时间1/8T(t1/2); 第3段:合成矢量V6(110)作用时间1/8T(t2/2); 第4段:合成矢量V7(111)作用时间1/4T(t0/2); 第5段:合成矢量V6(110)作用时间1/8T(t2/2); 第6段:合成矢量V4(100)作用时间1/8T(t1/2); 第7段:合成矢量V0(000)作用时间1/8T(t0/4); 每一段切换时我们都只改变了Sa、Sb、Sc其中的一个状态,也就是只改变了一个半桥上的两个开关管,如果我们把第3段和第2段对调,那么开关的次数是不是就增多了,开关损耗就增加了。 总结一下六个扇区内各自矢量的合成方式如下(可以看成三相上的PWM每个载波周期内的占空比中心对称): 那么有人可能会疑惑了,既然都是零矢量,那作用效果都是一样的为什么不只用其中一个矢量?这就是七段式和五段式SVPWM的区别了,七段式的零矢量多一个,开关管的切换次数会比五段式多,开关损耗会比五段式大,但是七段式的谐波会比五段式小。在这里我们只讲七段式,对五段式感兴趣的小伙伴自己下去可以了解一下。

    04-15 198浏览
  • 电源纹波测试全攻略

    电源纹波是衡量电源质量的重要指标,过大的纹波可能导致电路不稳定。下面是超详细的测试步骤和避坑指南,新手也能轻松掌握!

    04-14 245浏览
正在努力加载更多...
广告