无刷直流电机无位置传感器控制技术

合集下载

无位置传感器的无刷直流电动机调速控制程序

无位置传感器的无刷直流电动机调速控制程序

《无位置传感器的无刷直流电动机调速控制程序》.include "240x.h".global _c_int0;--------------------------------------以下定义常数和变量-------------------------------------------------- KP .set 245 ;电流调节比例系数, 0.12的Q11格式KPS .set 100 ;速度调节比例系数.bss CAPT,1 ;换相控制字.bss COMP,1 ;更新占空比的比较值,由电流调节输出.bss IDC_REF,1 ;电流参考值,由速度调节输出.bss IDC_ERRORK,1 ;电流偏差.bss FLAGCUR,1 ;更新比较值和换相标志,1-允许更新,0-不允许.bss SPEED_REF,1 ;给定速度参考.bss V_ERRORK,1 ;速度偏差.bss SPEED_COUNT,1 ;速度调节环计数器.bss V1,1 ;相电压1.bss V2,1 ;相电压2.bss V3,1 ;相电压3.bss NEUTRAL,1 ;中性点电压.bss FLAG,1 ;感应电动势变符号标志,1-变了;0-没变.bss FLAGUP,1 ;转过一机械转标志,1-没转过,0-转过.bss BCOUNT,1 ;延迟时间更新值,磁定位时临时变量.bss B2COUNT,1 ;延迟时间.bss STALL,1 ;磁定位结束标志,1-结束,0-没结束.bss ASYM,1 ;延时计算感应电动势计数器.bss SPEEDFLAG,1 ;第一转时禁止速度调节标志,1-禁止,0-允许.bss TIME,1 ;每转时间计数器.bss STACK,6 ;软堆栈区;--------------------------------------定义主向量------------------------------------------------------------- .sect "vectors"RSVECT B _c_int0 ;复位INT1 B PHANTOM ;INT1INT2 B PHANTOM ;INT2INT3 B PHANTOM ;INT3INT4 B PHANTOM ;INT4INT5 B PHANTOM ;INT5INT6 B ADCINT ;ADC中断…;略;--------------------------------------以下是程序------------------------------------------------------------- .text;--------------------------------------初始化程序-------------------------------------------------------------- _c_int0SETC CNFCLRC OVMSETC SXM ;符号扩展SETC INTM ;关中断LAR AR1,#STACKLDP #0E0HSPLK #68H, WDCR ;不用看门狗SPLK #0284H,SCSR1 ;10MCLKIN,20MCLKOUTLDP #0E8HSPLK #500,T1PR ;PWM设置,周期50微秒SPLK #0000H,T1CNTSPLK #0FFFH,ACTRA ;PWM1~6全部高电平输出SPLK #01F4H,DBTCONA ;死区1.6微秒SPLK #500,CMPR1 ;占空比为0SPLK #500,CMPR2SPLK #500,CMPR3SPLK #8200H,COMCONA ;允许比较,T1下溢重载SPLK #0840H,T1CON ;连续增减计数,内部时钟,不分频SPLK #0100H,GPTCONA ;T1周期中断标志启动AD转换LDP #0E1HSPLK #0FC0H, MCRA ;引脚设置为PWMLDP #0LACC #020HSACL IMR ;允许INT6中断LACC IFR ;清标志SACL IFRLDP #0E8HLACC EV AIFRA ;清标志SACL EV AIFRALACC EV AIFRBSACL EV AIFRBLACC EV AIFRCSACL EV AIFRCSPLK #0,EV AIMRA ;屏蔽中断SPLK #0,EV AIMRBSPLK #0,EV AIMRCLDP #0E1H ;AD设置SPLK #0500H,ADCTRL2 ;允许EV A启动AD转换SPLK #0900H,ADCTRL1 ;10分频SPLK #0003H,MAXCONV ;4个转换通道SPLK #3210H,CHSELSEQ1 ;ADCIN00-03通道CLRC INTM ;开总中断;--------------------------------------变量初始化--------------------------------------------------------- LDP #0 ;变量初始化SPLK #020H,IDC_REF ;磁定位电流SPLK #0,IDC_ERRORKSPLK #0300H,SPEED_REF ;转速初值SPLK #00112,COMP ;最小占空比SPLK #0000H,FLAGCURSPLK #0000H,SPEED_COUNTSPLK #0000H,CAPTSPLK #0000H,V1SPLK #0000H,V2SPLK #0000H,V3SPLK #0000H,NEUTRALSPLK #0000H,FLAGSPLK #0001H,FLAGUP ;没转过一转SPLK #0001H,SPEEDFLAG ;禁止速度调节SPLK #0000H,BCOUNTSPLK #0000H,B2COUNTSPLK #0000H,STALLSPLK #0000H,ASYMSPLK #0000H, V_ERRORKSPLK #0000H,TIME;--------------------------------------准备磁定位------------------------------------------------------------- LDP #0LACC COMP ;装载比较初值LDP #0E8H ;反相驱动SPLK #03FDH,ACTRA ;PWM1低有效,PWM6低电平,其它高电平SACL CMPR1 ;A相入,C相出,B相不通电SPLK #0000H,CMPR2SPLK #0000H,CMPR3;--------------------------------------等待磁定位结束------------------------------------------------------ MAGSTALLLDP #0LACC STALL ;检测磁定位是否结束BCND MAGSTALL,EQ ;没结束继续等待;--------------------------------------磁定位结束换相---------------------------------------------------- LACC COMPLDP #0E8HSPLK #03DFH,ACTRA ;PWM3低有效,PWM6低电平,其它高电平SACL CMPR2 ;B相入,C相出,A不通电SPLK #0000H,CMPR3SPLK #0000H,CMPR1LDP #0SPLK #4,CAPT ;CAPT初值;--------------------------------------主循环----------------------------------------------------------------- LOOPLDP #0LACC FLAGCUR ;检测是否更新比较值BCND LOOP,EQ ;不更新跳转SPLK #0,FLAGCUR ;更新,清标志CALL SEQUENCE ;调用更新子程序B LOOP ;等待下次更新;--------------------------------------假中断处理------------------------------------------------------------- PHANTOMCLRC INTMRET;--------------------------------------更新比较值或换相子程序----------------------------------------- SEQUENCELDP #0LACC TIME ;每转时间计数器ADD #1SACL TIMELACC CAPT ;换相控制字ADD #CAPT_DETER ;加起始地址BACCCAPT_DETERB RISING1 ;相当于H1上升沿B FALLING3 ;相当于H3下降沿B RISING2 ;相当于H2上升沿B FALLING1 ;相当于H1下降沿B RISING3 ;相当于H3上升沿FALLING2 ;相当于H2下降沿LACC COMPLDP #0E8HSPLK #0D3FH,ACTRA ;PWM5低有效,PWM4低电平,其它高电平SACL CMPR3 ;C相入,B相出,A相不通电SPLK #0000H,CMPR2SPLK #0000H,CMPR1LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V1,1 ;没变,检测.V1乘2ADD V1 ;ACC=3*(BEMFA + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFABCND END,LT ;<0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间B END ;退出RISING3LACC COMPLDP #0E8HSPLK #0DF3H,ACTRA ;PWM5低有效,PWM2低电平,其它高电平SACL CMPR3 ;C相入, A相出, B相不通电SPLK #0000H,CMPR2SPLK #0000H,CMPR1LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LDP #0LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V2,1 ;没变,检测.V2乘2ADD V2 ;ACC=3*(BEMFB + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFBBCND END,GEQ ;≥0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间B END ;退出FALLING3LACC COMPLDP #0E8HSPLK #03FDH,ACTRA ;PWM1低有效,PWM6低电平,其它高电平SACL CMPR1 ; A相入, C相出, B相不通电SPLK #0000H,CMPR2SPLK #0000H,CMPR3LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LDP #0LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V2,1 ;没变,检测.V2乘2ADD V2 ;ACC=3*(BEMFB + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFBBCND END,LT ;<0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间B END ;退出RISING2LACC COMPLDP #0E8HSPLK #03DFH,ACTRA ;PWM3低有效,PWM6低电平,其它高电平SACL CMPR2 ;B相入, C相出, A相不通电SPLK #0000H,CMPR3SPLK #0000H,CMPR1LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LDP #0LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V1,1 ;没变,检测.V1乘2ADD V1 ;ACC=3*(BEMFA + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFABCND END,GEQ ;≥0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间B END ;退出RISING1LACC COMPLDP #0E8HSPLK #0F3DH,ACTRA ;PWM1低有效,PWM4低电平,其它高电平SACL CMPR1 ;A相入, B相出, C相不通电SPLK #0000H,CMPR2SPLK #0000H,CMPR3LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LDP #0LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V3,1 ;没变,检测.V3乘2ADD V3 ;ACC=3*(BEMFC + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFCBCND END,GEQ ;≥0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间B END ;退出FALLING1LACC COMPLDP #0E8HSPLK #0FD3H,ACTRA ;PWM3低有效,PWM2低电平,其它高电平SACL CMPR2 ; B相入, A相出, C相不通电SPLK #0000H,CMPR3SPLK #0000H,CMPR1LDP #0 ;延时过滤干扰LACC ASYM ;延时计数器ADD #1 ;加1SACL ASYMSUB #10 ;检测是否到计数值BCND END,LEQ ;没到,退出SPLK #10,ASYM ;计数值已到,测量感应电动势过零点LDP #0SPLK #0,FLAGUP ;转过一机械转,置标志LACC FLAG ;感应电动势符号变化?BCND END,NEQ ;变了,退出LACC V3,1 ;没变,检测.V3乘2ADD V3 ;ACC=3*(BEMFC + NEUTRAL)SUB NEUTRAL ;ACC=3*BEMFCBCND END,LT ;<0符号没变,退出SPLK #1,FLAG ;否则符号改变,置过零标志LACC BCOUNTSACL B2COUNT ;更新延迟时间ENDRET;--------------------------------------速度计算和调节子程序------------------------------------------------ SPEED_REGLDP #0SPLK #32,SPEED_COUNT ;25CLRC SXMLACC #0OR #0FFFFH ;ACC=FFFFH无符号数RPT #15SUBC BCOUNT ;除1/12机械转时间AND #0FFFFH ;屏蔽高位SETC SXMSUB SPEED_REFNEG ;速度偏差= SPEED_REF-SPEEDBCND POS,GEQ ;检测偏差是否超限.≥0跳转ABS ;<0则取绝对值SPLK #-32,SPEED_COUNT ;- 25POSSACL V_ERRORK ;保存速度偏差SUB #03FFH ;检测上限BCND OKPOS,LEQ ;不超上限则跳转SPLK #03FFH, V_ERRORK ;否则=3FFHOKPOSLT V_ERRORK ;-1024 <速度偏差< 1024MPY SPEED_COUNT ;乘25PACSACL V_ERRORK ;速度偏差<<5LT V_ERRORK ;速度比例调节MPY #KPS ;乘比例系数PACADD IDC_REF,16SACH IDC_REF ;IDC_REF(K)=IDC_REF(K-1) + KPS*V_ERRORKLACC IDC_REF ;检测IDC_REF是否超限BCND RES,GEQ ;≥0跳转SPLK #0,IDC_REF ;超下限则=0RESSPLK #0,SPEED_COUNT ;速度调节环计数器清0RET;--------------------------------------ADC中断子程序--------------------------------------------------- ADCINT ;每50微秒转换一次MAR *,AR1 ;保存现场MAR *+SST #1, *+ ;保存ST1SST #0, *+ ;保存ST0SACH *+ ;保存ACC高16位SACL * ;保存ACC低16位;--------------------------------------速度调节与否--------------------------------------------------------------- LDP #0LACC STALL ;检测磁定位是否完成?BCND VDC_IDC,EQ ;STALL=0(磁定位没完成)禁止速度调节LACC SPEEDFLAG ;禁止速度调节?BCND VDC_IDC,NEQ ;SPEEDFLAG=1,禁止速度调节LACC SPEED_COUNT ;检测是否该速度调节?SUB #2000 ;每100ms进行一次速度调节BCND NO_SPEED_REG,NEQ ;时间没到,跳转CALL SPEED_REG ;时间到,调速度调节子程序NO_SPEED_REGLACC SPEED_COUNTADD #1SACL SPEED_COUNT ;SPEED_COUNT+1;--------------------------------------读ADC转换结果------------------------------------------------------- VDC_IDCLDP #0E0HLACC PIVR ;清ADC中断标志LDP #0E8HLACC EV AIFRA ;清T1周期中断标志SACL EV AIFRALDP #0E1HLACC ADCTRL2OR #0202HSACL ADCTRL2LACC RESULT0,10 ;读电流值LDP #0SACH IDC_ERRORKLDP #0E1HLACC RESULT1,10 ;读A相电压LDP #0SACH V1LDP #0E1HLACC RESULT2,10 ;读B相电压LDP #0SACH V2LDP #0E1HLACC RESULT3,10 ;读C相电压LDP #0SACH V3;--------------------------------------电流比例调节----------------------------------------------------------- SETC SXMLACC IDC_ERRORK,5 ;Q5格式SUB IDC_REF,5SACL IDC_ERRORK ;保存电流偏差,Q5格式LT IDC_ERRORK ;电流比例调节MPY #KP ;Q11格式PAC ;ACC = KP*IDC_ERRORKADD COMP,16SACH COMP ;KP*IDC_ERRORK + COMP(K-1)LACC COMP ;检测是否超限BCND SUP_LIM,GTSPLK #0,COMP ;超过下限,COMP=0B COMP_OKSUP_LIMSUB #0500BCND COMP_OK,LTSPLK #0500,COMP ;超过上限,COMP=500COMP_OK ;在上下限内;--------------------------------------换相准备----------------------------------------------------------------- LDP #0LACC FLAG ;过零?BCND NEU,EQ ;没过零,跳转LACC B2COUNT ;过零,执行延迟时间SUB #1 ;延迟时间减1SACL B2COUNTSETC SXMBCND NEU,NEQ ;延迟时间没到,跳转LACC CAPT ;否则更新换相控制字ADD #2SACL CAPTSUB #0CHBCND OKCAPT,NEQ ;没超过12,跳转SPLK #0,CAPT ;超过12,CAPT=0OKCAPTSPLK #0,FLAG ;置过零标志SPLK #0,ASYM ;延时计数器清0,准备延时;--------------------------------------中性点电压计算---------------------------------------------------------- NEULACC V1ADD V2ADD V3SACL NEUTRAL ;保存3*NEUTRALSPLK #1,FLAGCUR ;允许更新比较值LACC STALL ;检查磁定位是否完成BCND SPEEDUP,NEQ ;磁定位已完成,跳转;--------------------------------------磁定位更新比较值------------------------------------------------------ CLRC SXM ;否则进行磁定位LACC COMPLDP #0E8HSACL CMPR1 ;更新A相比较值LDP #0LACC BCOUNT ;磁定位计数器ADD #1 ;加1SACL BCOUNTSUB #0FFFFH ;延时216*50微秒SETC SXMBCND RESTO,NEQ ;磁定位没完成,退出SPLK #0,TIME ;磁定位完成,修改标志和初值SPLK #050H,BCOUNT ;延迟时间初值SPLK #1,STALL ;磁定位完成标志SPLK #1,SPEEDFLAG ;禁止速度调节B RESTO ;退出;--------------------------------------计算延迟时间------------------------------------------------------ SPEEDUPLACC CAPT ;转完一转?SUB #4BCND RESTO,NEQ ;没转完,退出LACC FLAGUP ;是否计算延迟时间?BCND RESTO,NEQ ;不计算,退出SPLK #0,SPEEDFLAG ;否则计算,允许速度调节CLRC SXMLACC TIME ;每转时间计数器SPLK #12,BCOUNTRPT #15SUBC BCOUNT ;除12,得到转30º所用的时间AND #0FFFFHSACL BCOUNT ;保存作为延迟时间更新值SETC SXMSPLK #0,TIME ;每转时间计数器清0SPLK #1,FLAGUP ;改标志RESTOMAR *, AR1 ;恢复现场LACL *-ADDH *-LST #0, *-LST #1, *-CLRC INTM ;开中断RET.end。

直流无刷电机无位置传感器控制方法

直流无刷电机无位置传感器控制方法

直流无刷电机无位置传感器控制方法摘要:在直流无刷电机的使用过程中,不能很准确的接收换相信号,因此,就导致该电机无法实现对换相良好的控制,为了解决这类问题的出现,本篇文章将对直流无刷电机中无位置传感器进行研究与分析,并且找到有效的控制方法。

具体的方法是利用电机内部的各种装置之间的联系,来建立出一个直观的电机模型,之后通过电机内部反电势力的不断变化来研究反电势对于换相位置的影响,在经过一定的计算从而能够保证换相信号的准确性,最终实现对其良好的控制。

本篇文章通过具体的试验与测试来对控制的方法进行验证,最终得出,通过上述的方法,能够实现对其换相的控制。

关键词:直流无刷电机;传感器;换相位置;控制效果前言随着经济与技术的共同发展,使得各种工业也得到了快速的发展,由于直流无刷电机在使用的过程中效率非常高且其的构成比较简单,使得直流无刷电机在各个领域中都被广泛地应用,其中包括航天、汽车、家电、工具等等。

与以往的有刷的电机来说,直流无刷电机的组成部分少了电刷这一部分,但是直流无刷电机的作用原理却比有刷的更为复杂。

在直流无刷电机的使用过程中,可以适当地将电机的电路进行调整,从而更好地实现对于换相信号的收集,实现对其的控制,并能够有效地缩小该电机的体积。

一、直流无刷电机的主要构造在直流无刷电机的使用过程中,主要是通过内部的传感器来对换相位置进行检测。

传感器的种类非常多样,最常见的一般为电磁式传感器、光电式传感器以及霍尔式传感器这三种类型,根据需求的不同来选择合适的传感器类型。

与其他的传感器相比,霍尔式传感器的使用成本比较低,且具有较强的性能条件,因此,该类型的传感器被使用得更加广泛。

为了保证直流无刷电机使用的效率,需要对其进行有效地控制,从而提高对于换相信号搜集的准确性。

二、背景介绍随着经济与技术的共同发展,使得人们对于电机的需求越来越大,随之对电机也有了更高的标准。

过去,大多数使用的是直流有刷电机,但这种电机存在诸多缺陷,无法满足需求。

无刷直流BLDC电机的无传感器梯形控制

无刷直流BLDC电机的无传感器梯形控制

图片列表
1 具有一个永磁对极转子的三相同步电机................................................................................... 3 2 针对一个 BLDC 电机的速度和电流控制环路配置 ....................................................................... 5 3 两相打开运行和转矩纹波内的电气波形................................................................................... 6 4 正弦波电机内的转矩纹波被控制为一个 BLDC........................................................................... 6 5 三相反相器 ................................................................................................................... 6 6 依据 PWM 占空比的分流电阻器压降(软斩波)........................................................................ 7 7 HDMC 套件上的反电动势感测............................................................................................. 8 8 定子端子电气模型 ........................................................................................................... 9 9 典型电流和反电动势波形正弦波 BLDC 电机驱动 ....................................................................... 9 10 一个 3 相 BLDC 驱动实现 ................................................................................................ 13 11 BLDC 电机霍尔传感器控制的总体方框图 .............................................................................. 13 12 软件流 ....................................................................................................................... 14 13 使用交流电源生成直流总线电源 ......................................................................................... 16 14 使用外部直流电源为反相器生成直流总线 .............................................................................. 17 15 PWM 输出:PWM 1(黄色),PWM 2(粉色)和 PWM 5(绿色),PWM 6(蓝色)........................ 20 16 1 级 - 递增系统构建方框图 ............................................................................................... 21

(完整版)无刷直流电动机无传感器控制方法

(完整版)无刷直流电动机无传感器控制方法

无刷直流电动机无传感器低成本控制方法关键词:无刷直流电动机无位置传感器控制可编程逻辑器件1引言无刷直流电机的无传感器控制是近年来电机驱动领域关注的一项技术。

无位置传感器控制的关键在于获得可靠的转子位置信号,即从软、硬件两个方面间接获得可靠的转子位置信号来代替传统的位置传感器[1~3]。

采用无传感器控制技术的无刷电机具有结构简单、体积小、可靠性高和可维护性强等优点,使其在多个领域内得到了充分的利用[4]。

目前对于无传感器无刷电机的控制多采用单纯依靠DSP软件控制的方法[5],但是由于控制算法计算量大,执行速度较慢,且DSP成本较高,不利于以后向市场推广。

同时也出现了应用于无传感器BLDCM控制的一些专用的集成电路[6],但由于这些芯片可扩展性和通用性较低,而且价格昂贵,只适用于低压、小功率领域。

为了扩展无传感器BLDCM应用领域,降低其控制系统的成本,扩充控制系统的功能,增加控制系统的灵活性,本文以MCU+PLD方式组成控制系统的核心,利用PLD数字逻辑功能,分担MCU 的逻辑运算压力,使MCU和PLD的功能都得到了最大程度的发挥。

对于无位置传感器BLDCM控制系统,本文着重分析了换相控制策略和闭环调速,最后通过仿真和实验,验证了控制系统的合理性和可行性。

2系统的总体硬件设计本文中所设计系统是以8位PIC单片机和PLD构成的硬件平台,硬件结构框图如图1所示。

功率逆变电路采用三相全桥逆变结构,电机定子绕组为Y接法,电机工作模式为三相6状态方式。

在本文无传感器控制方式中采用反电动势过零位置检测方法,位置检测电路根据电机端电压获取3路位置信号,将信号送入PIC单片机进行软件移相后得到3路换相信号,由可编程逻辑器件进行逻辑解码后输出6路驱动开关管的前极信号,通过驱动芯片IR2233产生驱动信号以控制各开关管的导通与关断。

该系统采用速度单闭环方式,通过改变PWM的占空比以达到调速的目的。

本文中选用Microchip 公司的单片机PIC16F874作为控制核心,它内部有8K的FLASH 程序存储器,368字节的数据存储器(RAM),256字节的EEPROM数据存储器,14个中断源,8级深度的硬件堆栈,3个定时/计数器,两个捕捉/比较/PWM (CCP)模块,10位多通道A/D转换器等外围电路和硬件资源⑹。

无位置传感器直流无刷电机弱磁调速控制的优化

无位置传感器直流无刷电机弱磁调速控制的优化

《 业控制计算机}0 1 第 2 工 21年 4卷 第 7期
‘ E

J  ̄
b 下 ■r 7 —
2 DU 2 b U- - E
‘ ) .I r +
(0 1) 1 u
\ 兰 / ’

设整个过程 中的 电流平均值为 I 。则结合式()(O可知 : 7 、1 )
在 不 同条 件 下 所 对 应 的 P WM 控 制 方式 。
1 弱磁 控 制 的 原 理 [ 2 ]

( 4)

对 无 位 置 传 感 器 直 流无 刷 电 机 , 基 速 以下 恒 转 矩 调 速 时 , 在 可 以 通 过 改 变 电机 导 通 相 绕 组 两 端 的 电 压 来 实 现 调 压 调 速 , 若 绕组 两端 电压 已加 到 最 大 值 ,通 过 调 压 调 速 来 获 得 更 高 的速 度
控制 , Q6恒 通 。

1- 7U-3D1 6E " U- b



r十—
4E - 4 + D1 U 2 b U


(2 1)


1 ห้องสมุดไป่ตู้ T
0 L

图 2 电 流 和 反 电 势 的 波 形 图
比较 ( 1 式 和 ( 2 式 , 出 : 1) 1) 得
当 ・ < < 时 , >I 叮 r T l ;
4U-3 DU-6 E ̄
:T
2DU-2U4E


. r十
盯 ’ L ‘ L

( 1 1)

同理 可 得 :
在 上桥 臂 P WM 调制 中 ,即在 [ , 6 r 0 一】范围 , Q1进 行 P WM调 制 , Q6恒通 ; 【/ 一 , / 】 间内 , Q 在 ' 6 r竹 6区 r r 对 3进行 P WM

电动车用无刷直流电机无位置传感器控制

电动车用无刷直流电机无位置传感器控制
wa d a k n fh r w r e in w ih c n c mp eey r p a e Halp s i n s n o n o d rt v r o h r i d o a d a e d sg h c a o lt l e lc l o i o e s ri r e o o e c me te t s o t o n so a i o a e s re s c n r l t t ge ,s c sl r e a u t fc lu a in, lw r l b l y h r mig ft dt n ls n o l s o t r e i s u h a g mo n a c l t c r i o sa a o o o ei i t , a i a d 3 。s f r ea s n 0 ot e d l y .At h a me h s o e s t n cr u t sd s n d t v r o e p o — wa e s met ,a p a ec mp n a i i i wa e i e o o e c me t r b t i o c g h

221) 103
要 :针对传统无传感器控制策略计算量大 、可靠性不高 、3 。 0 软件延 时等 缺点 ,基 于无刷 直流 电机反 电势过零
检测 的原理 ,分析 了三相端 电压与中性点的关 系 ,提出一种 可完 全替换 3相霍尔位 置传感器 的硬 件设计方案 ,实 现
电机 的无传感器运行 。同时在硬件电路中设计了相位 自补偿电路 ,克服以往传统方 法相位补偿不 准确 ,电机无法稳
l ms t a h h s o e h tt e p a e c mpe s t n i o c u a e a h y tm a o f c e ty r . De e o e r t— n a i s n ta c r t nd t e s se c n n tef in l un o i v lp d a p o o tp l t r by CY8C2 3 rc n rlc p a d d x e i n s,t e e p rme t lr s ls v rfe h tt y e p a f m o 45 3 f o to hi n o e p rme t o h x e i n a e u t ei d t a he i

无传感器bldc控制与应用技巧

无传感器bldc控制与应用技巧

无传感器bldc控制与应用技巧无传感器BLDC(无刷直流电机)控制是一种常用的电机控制技术,其主要应用于需要高效、精确、可靠的电机驱动系统中。

相比传统的开环控制方法,无传感器BLDC控制具有更好的动态响应和性能特征。

本文将介绍无传感器BLDC控制的原理和应用技巧。

无传感器BLDC控制是指在电机驱动系统中不使用传统的霍尔传感器或编码器等传感器来检测电机的转子位置。

传统的BLDC控制需要通过传感器来检测转子位置,然后根据位置信息来控制电机的相序和通断时机。

而无传感器BLDC控制则通过观测电机绕组的电流和电动势等信号来估算转子位置,从而实现对电机的控制。

无传感器BLDC控制的原理主要基于电机绕组的电流和电动势之间的关系。

在电机绕组中,当电流经过绕组时,会在绕组中产生电动势。

通过观测电动势的波形和幅值变化,可以估算出转子位置。

根据转子位置的估算结果,可以确定电机的相序和通断时机,从而实现对电机的控制。

无传感器BLDC控制的优点之一是简化了电机驱动系统的结构。

传统的BLDC控制需要使用额外的传感器来检测转子位置,增加了系统的复杂度和成本。

而无传感器BLDC控制不需要额外的传感器,只需要通过观测电动势等信号来估算转子位置,从而减少了系统的复杂度和成本。

无传感器BLDC控制还具有更好的动态响应和性能特征。

传统的BLDC控制需要通过传感器来检测转子位置,由于传感器的固有延迟和精度限制,会导致控制系统的动态性能受到一定的限制。

而无传感器BLDC控制通过观测电动势等信号来估算转子位置,可以实时地调整控制策略,提高系统的动态响应和性能特征。

在无传感器BLDC控制中,转子位置的估算是关键的一步。

一种常用的转子位置估算方法是基于电动势波形的比较法。

该方法通过观测电动势波形的变化,将电机的一个电极作为参考,根据电动势波形与参考电极的相位差来估算转子位置。

另一种常用的转子位置估算方法是基于电流波形的换向法。

该方法通过观测电流波形的变化,根据电流波形的变化趋势来估算转子位置。

无位置传感器无刷直流电机转子位置检测

无位置传感器无刷直流电机转子位置检测

无位置传感器无刷直流电机转子位置检测传统的获取无刷直流电机转子位置信息的方法是采用电子式、机电式、光电式等位置传感器直接测量,如霍尔效应器件(HED),光学编码器,旋转变压器等位置传感器。

然而,这些位置传感器有的分辨率低或运行特性不好,有的对环境条件敏感,如震动、潮湿和温度变化等都会使性能下降,使得整个传动系统的可靠性难以得到保证。

传感器还大大增加了电气连接线数目,给抗干扰设计带来一定困难。

略去无刷电动机的位置传感器而用其他方法检测转子的位置,是一项具有实际意义的工作,能进一步扩大无刷直流电动机的应用领域和生产规模。

无位置传感器无刷直流电机,顾名思义,就是省去了无刷直流电机中的转子位置传感器。

虽然,无位置传感器无刷直流电机不需要直接安装转子位置传感器,但在电机运转过程中,控制电机换相的转子位置信号还是需要的,因此,无位置传感器无刷直流电机控制技术的关键是架构一转子位置信号检测电路,通过软硬件间接获得可靠的转子位置信号。

就无刷直流电动机而言,目前国内外对无位置传感器无刷直流电动机做了不少的研究,提出了不少转子位置检测方法,按其原理分为以下几种:(1)利用反电势检测转子位置;(2)利用绕组电感检测转子位置;(3)利用瞬时电压的方程检测转子位置;(4)利用绕组端电压检测转子位置;(5)利用相电流检测转子位置;下面对几种典型无位置检测的方法进行比较1.1利用电机反电势信号控制电机的换向有三种检测电机反电势的方法:零交叉法、锁相环法和反电势积分法:a)零交叉法:当检测到未导通项绕组的反电势过零时,触发定时器,在定时时间结束时,逆变器实现下一个相序的换向。

该方法简单,价格便宜。

缺点是静止或低速时反电势信号为零或很小,难以准确检测绕组的反电势,因而无法得到有效的转子位置信号,系统低速性能比较差;另外,为消除干扰信号,需要对反电势信号进行深度滤波,这样造成与电机转速有关的信号相移,为了保证正确的换相需要对此相移进行补偿。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

控制与应用技术 ξ EM CA
1. 2. 3 转子位置硬件检测电路 BLDCM 的转子位置检测电路中 ,采用 3个比
较器电路检测反电动势过零点 ,如图 3所示 。其 中 , R1 = R3 = R5 , R2 = R4 = R6 , 并且 R2 > R1 。将电 机的三相端电压信号与中心点电压信号比较的 3 个结果分别输入至 DSP的 3 个捕获中断端口 ,从 而 DSP在一个周期内可捕获到 6 个反电动势过 零点信号 。
从 BLDCM 的等效电路模型出发 ,可以得到
R+d
0
0
Ua
dt
Ub =
0
R
+
d dt
0
Uc
0
0
R+d
dt
ia ib + ic
Ea
Un
Eb + Un
(1)
Ec
Un
本系统中采用的是两两导通三相六状态工作
方式 。由电机学原理可得出三相反电动势过零检
测方程分别为
Ea
Ua
0 1 1 Ua
1 Eb = Ub - 2 1 0 1 Ub
图 5 3 000 r/m in时空调电机试验波形
1 - A 相反电动势过零比较信号 ; 2 - B 相反电动势过零比较信 号 ; 3 - C相反电动势过零比较信号
图 6 3 000 r/m in时各相反电势过零比较信号
【参 考 文 献 】
[ 1 ] 吴筱辉 , 程小化 , 刘杰. 反电势法检测转子位置的 无刷直流电机起动方法 [ J ]. 微电机. 2005, 38 (4) : 79281.
— 21 —
控制与应用技术 ξ EM CA
2007, 34 ( 5 )
反电动势积分法和定子三次谐波法等几种 。直接 反电动势法 (也称端电压反电动势法 )是通过测 量三相绕组的端电压与中性点电压实现的 。当某 相端点电位与中性点电位相等时 ,则此刻该相反 电动势过零 ,反电动势过零后再延时 30°电角度 即为触发功率开关管进行换向的时刻 [ 4 ] 。 1. 2. 1 反电动势过零点检测公式推导
运行 ,其运行转速范围为 1 000 ~5 000 r/m in。图 5和图 6是空调电机的试验波形 。图 5 中 ,中心 点波形为图 3中 Un 处的波形 , A 相反电动势过零 比较信号为图 3 中 Sa 处的波形 。图 6 中各相反 电动势过零比较信号为图 3 中 Sa、Sb、Sc 处的波 形 。试验证明 ,采用端电压反电动势法检测空调 无刷电机转子位置的方法是切实可行的 。
U ao Ua
= R1
+ R2
R2
+ j2πfR1 R2 C1
(5)
α = a rc tan 2πfR1 R2 C1
(6)
R1 + R2
其中 , R1 和 R2 数量级 相同 ( kΩ ) , C1 取值 较大
(μF) ,该电路的相移与以上器件的选取有关 ,同
时还与输入信号的频率有关 ,所以在调速过程中
1 无位置传感器 BLDCM 控制技术
1. 1 转子的定位和起动 BLDCM 在静止或低速时感应电势为零或很
小 ,很难用来判断电机转子磁极的位置 ,因此必须 利用其他方法对电机转子进行定位和起动控制 。 近年来 ,国内外学者对无位置传感器 BLDCM 转 子的定位和起动研究主要集中在以下几种方法 : 三段式起动方法 、预定位起动法 、脉冲检测起动 法 、外部硬件电路起动方法等 。本课题采用预定
必须动态地进行相位补偿 。在大的调速范围内 ,
相位延迟角一般都超过 30°,此时 ,延迟 30°- α
进行换相的原理已经不能满足设计的要求 。针对
这一问题本文在软件设计时采用了的 90°- α的
换相原理 (90°换相原理如图 2所示 ) 。
图 2 90°- α延迟换相示意图
2007, 34 (5 )
关键词 : 无刷直流电机 ; 无位置传感器控制 ; 反电动势 中图分类号 : TM301. 2 文献标识码 : A 文章编号 : 167326540 (2007) 0520021203
Research on Sen sorless Con trol Technology of Brushless DC M otor
图 3 转子位置硬件检测电路
2 控制系统硬件设计
无位置传感器 BLDCM 的驱动控制系统 由 BLDCM、主电路 、驱动电路 、控制模块 、端电压检 测电路 、转子位置硬件检测电路等组成 。图 4 为 整个系统的框图 。其中控制模块包括 TI公司的 DSP处理器 TM S320LF2407、看门狗电路 、输入输 出调理电路等 ;驱动电路包括了故障保护电路 ;主 电路采用三菱公司的 IPM 模块 。端电压检测电 路和转子位置硬件检测电路分别见图 1和图 3。
— 22 —
图 1 反电动势法端电压法检测电路
号 ,而且还含有斩波信号 。斩波信号的存在会严 重干扰反电动势波形 ,使得过零点不明确 ,因此在 反电动势位置检测电路中一般都会增加低通滤波 电路 (见图 1) 。然而滤波器的引入必然会产生相 移 ,因此在实际应用中必须对换相时刻进行适当 的相位修正 。 由图 1可方便地算出检测电路产生的相移 , 以 A 相为例 ,其中 Ua 为端电压 , Uao为滤波后的输 出电压 , f为反电动势频率 ,α为相角延迟 。按基 波计算有
2007, 34 (5 )
控制与应用技术 ξ EM CA
无刷直流电机无位置传感器控制技术
胡 波 , 徐国卿 , 康劲松 (同济大学 电气工程学院 ,上海 200331 )
摘 要 : 设计了一种无位置传感器无刷直流电机的控制系统 。该系统基于智能功率模块 ( IPM )和数字 信号处理器 (DSP) ,采用反电势法实现了燃料电池轿车空调的无刷直流电机控制 。整个系统集成度高 ,控制 灵活 ,稳定性好 。试验结果表明 ,该系统运行性能良好 。
HU B o, XU Guo2qing, KAN G J in2song (Department of Electrical Engineering, Tongji University, Shanghai 200331, China)
Abstract: A kind of variable speed control system of a brushless DC motor without a rotor position sensor is de2 signed. Based on intelligent power module ( IPM ) and digital signal p rocessor (DSP) , this system uses Back2EM F ( e2 lectromotive force) method to imp lement the sensorless control for brushless DC motor of high voltage air conditioner (HVAC) in FCV. The system is highly integrated w ith flexible control and strong reliability. Experimental results indi2 cate that this system has a high performance.
无位置传感器 BLDCM 的转子位置检测方法 有以下 5种 :反电动势法 、电流法 、状态观测器法 、 人工智能法和磁链函数法 。前 3种方法的研究相 对比较成熟 ,且都已得到一定程度的应用 ,而用人 工智能方法和磁链函数法获得转子位置的研究还 刚刚处于起步阶段 [ 2, 3 ] 。
检测反电动势过零点或利用反电动势直接检 测换相点的方法是最常用的位置检测方法 。其实 现拓扑电路多采用端电压法或相电压法 ,即在一 定的调制方式下利用无刷直流电机的端电压或相 电压检测反电动势过零点或换相点来实现换相控 制 。反电动势过零点法又分为直接反电动势法 、
(2)
Ec
Uc1 1 0 Uc来自或EaUa
1 1 1 Ua
Eb
=
Ub
-
1 3
1
1
1
Ub
(3)
Ec
Uc
1 1 1 Uc
式 (2)和式 (3)在反电动势过零点附近是等效
的 [ 5 ] 。由于系统采用 PWM 方式 ,所以检测到的
端电压信号中将包含大量的斩波成分 。因此在实
际应用中一般将端电压 Ua、Ub 和 Uc 先进行分 压 ,再经过低通滤波 ,由此得到检测信号 Uao、Ubo 和 Uco。本系统采用如图 1所示的检测电路 ,则
位起动法 。 预定位起动法分为转子定位 、他控同步加速
运行 、自控同步运行三个阶段 。在起动阶段 ,按照 所需的转向依次改变逆变器功率器件的触发组合 状态 ,同时用端电压反电动势法检测各触发组合 状态所对应开路相的反电动势过零点 ,并通过提 高 PWM 占空比逐渐提高电机的外施电压 [ 1 ] 。 1. 2 转子磁极位置检测方法
图 4 电机控制系统框图
3 试验结果和波形
按照图 4 的系统框图设计硬件 ,采用 375 V 直流电源 供电 , 对用 于 电 动 轿 车 额 定 功 率 为 3 kW、极数为 4的空调电机进行试验 。电机从起动 到他控升速再到自控状态 ,都能平滑切换并正常
1 - A 相端电压波形 ; 2 - A 相滤波后端电压波形 ; 3 - 中心点电压 波形 ; 4 - A 相反电动势过零比较波形
Key words: brushless DC m otor; sen sorless con trol; back2electrom otive force
无 刷 直 流 电 机 ( brushless DC motor, 简 为 BLDCM )具有调速性能好 、体积小 、效率高等优 点 ,在很多领域得到了广泛的应用 。转子位置传 感器对于 BLDCM 正常工作具有十分重要的作 用 ,它为电机提供基本换相信息 。但位置传感器 存在一定的弊端 ,不仅增加了成本和电机结构的 复杂性 ,而且在一些高精度及环境复杂的场合 ,位 置传感器的信号会受到干扰 ,使系统的性能降低 。 因此 ,研究 BLDCM 无位置传感器控制技术是十 分必要的 ,这也是目前 BLDCM 研究的热点之一 。
相关文档
最新文档