113595461 a,北京精密机电控制设备研究所”提出的控制器包括核心处理器dsp、485通信模块、三路can总线通信模块、以太网通信模块、旋转变压器信号检测电路、pwm隔离驱动电路、电压电流采样电路和功率驱动模块,其控制方法在正常工作条件下,采用旋转变压器获得电机转子位置和转速,使用磁场定向控制方法实现转速和电流闭环控制;当检测到旋转变压器故障时,控制器切换到无传感器控制状态,使用无传感器算法实现转速、电流双闭环控制。在无感控制的低速运行阶段,采用方波电压分时注入的方式,使用特定算法解算基波电流和高频电流,在高频电流中提取电机转子位置和转速实现转速闭环控制;在中高速运行阶段,采用滑模观测器估计电机的反电势并计算电机转子位置和转速,实现转速闭环控制;在低速和中高速过渡阶段采用加权平均值的方法来实现转速平滑调节。该发明使用了旋转变压器作为位置传感器,只有在旋转变压器故障失效时才采用无感控制方式,增加了控制系统的体积和重量,且无感控制算法既使用了高频注入法,又使用了滑模观测器法,算法比较复杂,对处理器的处理能力要求较高。
6.发明二“无传感器控制装置、电动油泵装置以及无传感器控制方法,公开号cn 113872474 a,日本电产东测有限公司”,提出的无传感器控制装置具有马达驱动电路、相位检测电路、存储电路、电压控制电路和通电控制电路;相位检测电路根据马达的反电动势输出相位检测信号,存储电路用于存储电压和速度控制曲线,电压控制电路根据电压控制曲线输出控制电压,通电控制电路根据控制电压和速度控制曲线控制驱动电压和通电切换速度。该发明使用相位检测电路对三相端电压进行分压采样,并与电机中性点电压进行比较获得反电势过零点,相位检测电路没有得到简化,对相位补偿没有做特殊处理。
7.文献“牧雅璐,刘景林,曹祯芝等,无刷直流电机无位置传感器单相反电势检测法[j],微电机,2020,vol.53.no.10:27-31”也提出了一种基于单相反电势检测的无刷直流电机控制方法,控制方法使用软件在pwm主中断中读取gpio状态,虽然优于cap边沿捕获方法,达到了一定的去抖动功能,但并没有从算法上设计防抖功能,无法识别时间较长如10us以上的抖动;另外,文献没有详细描述延时补偿算法原理,也没有详细描述电机外同步开环运行到自同步转速闭环运行的切换判断条件。
技术实现要素:[0008]
为了减少滑油泵控制系统的体积和重量,简化相位检测电路,提高泵系统起动和运行的可靠性,本发明提供一种基于单相端电压检测的永磁同步电机无传感器调速控制方法。该控制方法在只检测电机a相反电势过零信号的基础上,使用相位预测算法预测出另外两相的相位和换相状态,生成三相换相相序;控制方法使用a相换相信号和频率计数法计算电机转速,实现永磁同步电机六位置换相控制和转速闭环控制。
[0009]
本发明解决其技术问题所采用的技术方案:一种基于单相端电压检测的永磁同步电机无传感器调速控制方法,其特征在于包括以下步骤:
[0010]
步骤一:技术方案在pwm周期中断响应函数中检测a相端电压过零比较电平信号的逻辑状态,得到a相相位状态的上升沿,使用中断计数器计算两个上升沿之间的时间间隔,从而计算得到电机的电周期和转速。
[0011]
步骤二:技术方案采用具有信号防抖功能和相位延时补偿功能的相位预测算法。相位预测算法以a相相位翻转的上升沿为起始时刻,预测a相相位下降沿、b相和c相的上升
沿、下降沿共5个相位和换相状态,实现电机换相控制和转速闭环。
[0012]
步骤三:信号防抖功能在两次pwm周期中断响应中连续检测电平逻辑状态,并在确认电平翻转后启动后续电平边沿的延时检测,防止电平抖动引起相位状态检测错误。
[0013]
步骤四:相位延时补偿功能对a相相位检测电路的传输延时、防抖延时以及算法处理延时进行补偿,最大延时补偿电角度达到45
°
。
[0014]
步骤五:控制方法在电机外同步起动时,使用v-f(电压-频率)方法开环起动电机到第一切换频率和第二切换频率,在到达第一切换频率时使能a相相位检测;第二切换频率为开环起动的最高频率,在第一切换频率和第二切换频率之间实现电机外同步运行切换到自同步运行和转速闭环;电机外同步运行过程中起动频率曲线为以时间为自变量的一阶线性函数,起动电压为以频率为自变量的一阶线性函数。
[0015]
步骤六:在电机外同步开环运行到自同步转速闭环运行的切换过程中,使用转速方差统计方法自动判断切换时机,使得电机从开环运行切换到自同步闭环运行时稳定可靠。
[0016]
本发明的有益效果是:技术方案只需检测a相端电压过零信号的逻辑状态,与传统的三相端电压过零比较方法相比,检测电路更加简单,成本得到降低;相位预测算法使用检测的a相相位状态的上升沿为起始时刻,预测a相下降沿、b相和c相反电势过零时刻的上升沿、下降沿共5个相位和换相状态,且信号检测具有防抖功能,同时使用相位延时补偿算法对信号的传输延时、防抖延时以及算法处理延时进行补偿,最大延时补偿电角度达到45
°
,而普通的三相相位检测方法下相位最大延时补偿角度只有30
°
,本方法提高了15
°
,使得该控制方法下驱动器可驱动电机的电频率和转速范围得到提高,驱动器效率得到提升;本方法在电机开环运行到闭环运行的切换过程中,使用转速方差统计方法自动判断切换时机,实现外同步开环到自同步转速闭环的可靠切换,提高了无位置传感器电机起动和调速运行的可靠性。
[0017]
下面结合附图和具体实施方式对本发明作详细说明。
附图说明
[0018]
图1是本发明功率驱动电路三相桥臂及编号示意图。
[0019]
图2是本发明电机三相反电势与其相位状态逻辑时序、换相顺序和三相导通关系示意图。
[0020]
图3是本发明电平防抖功能和相位预测功能逻辑时序示意图。
[0021]
图4是本发明控制方法中断响应函数工作流程图。
具体实施方式
[0022]
参照图1-4。
[0023]
技术方案提出的无传感器调速控制方法以控制软件的形式运行于dsp处理器中,配置驱动电机的pwm控制信号调制频率为50khz,使得pwm中断周期ts为20us,以该中断作为驱动器控制软件周期运行的时序,在中断响应函数中周期检测a相端电压过零比较后的电平信号逻辑状态。
[0024]
电机预定位过程,按照表1所示六位置换相顺序依次导通驱动器q1~q6各桥臂对
应的mosfet,每个相序保持时间100ms,确保电机转子定位到给定相位状态所产生的磁场方向上,以三位二进制码来表示相位状态,如表1所示,桥臂mosfet编号q1~q6见图1,最终相位状态停留在101(a+b-)。在电机旋转过程中,对电机未按照表1的换相顺序进行连续换相的次数进行计数,表示换相顺序故障,当电机换相顺序正确时,换相故障计数器清零。
[0025]
表1桥臂mosfet导通顺序、相位状态和电机三相通电关系
[0026][0027]
电机三相反电势、相位状态示意图见图2,通过检测a相端电压ua过零时刻获得的a相相位状态为ha,通过相位预测算法预测b相和c相相位状态为hb和hc,hb相比ha滞后120
°
,hc相比ha滞后240
°
。
[0028]
电机开环起动过程,采用v-f控制,相位切换频率freqref曲线为时间ts的一阶线性函数,斜率k=30hz/1.5s(可根据电机额定电频率参数进行设置),即在1.5s内相序切换频率从0hz上升到30hz,电机转速与电频率计算公式为:
[0029][0030][0031]
其中f表示电机电频率,w表示电机转速,fn表示电机额定电频率,wn表示电机额定转速,npp表示电机极对数。设置两个转速阈值,分别为w
th1
=10%*wn,w
th2
=15%*wn;在给定的相序切换频率达到以后,使能相位检测和速度检测;电机开环起动过程给定的最高相序切换频率为开环起动过程的给定电压为切换频率f
ref
的一阶线性函数:
[0032]
duty=duty0+dutyk*f
ref
[0033]
duty为控制pwm脉冲宽度的占空比,duty0为初始给定占空比,dutyk为函数斜率,函数计算输出后对duty进行限幅,最大不超过0.64,防止占空比过大,电机电流超过保护阈值,duty0和dutyk依据负载条件不同可以进行在线配置。
[0034]
控制方法的相位预测算法包括三个核心功能,分别是电平防抖功能、相位预测功能和相位延时补偿功能。
[0035]
电平防抖功能:电机开环起动过程中相序切换频率达到f
ref1
后,控制软件使能相位检测和速度检测,由于端电压信号夹杂了电压噪声,在电机低速运行时反电势较低,相位
检测电路信号的信噪比比较差,比较器电路输出电平在短时间内可能存在多次重复翻转,因此在相位预测算法中,当第一次检测到电平状态发生翻转(第一个上升沿),并不能将该状态翻转确认为a相相位状态翻转,而是只将防抖动计数器s1precnt加1,而在下一个中断周期到达时继续检测电平逻辑,并判断电平逻辑与前一个周期的电平逻辑是否一致(是否均为高电平),如果不一致,则认为当前电平翻转为噪声抖动,需重新检测电平状态,s1precnt清零;如果两个周期检测到的电平逻辑一致,则认为电平确实已翻转,防抖计数器s1precnt=2,此时软件记录当前的a相电平状态为s1mes,记录当前的a相相位状态为s1=1,并启动计数器s1ncnt开始计数,在紧接的n个中断周期内,不再检测电平的翻转,在第n+1个周期再使能电平边沿检测,同时将计数器s1ncnt和s1precnt清零,n根据相位检测电路的信噪比大小可设计为0~5,0表示相位检测电路信噪比较好,不需要延时检测功能,n=1代表需要做20us的信号延时检测,以此类推。电平防抖计数器s1precnt=2表示对a相电平状态检测做40us的滤波,该滤波引起的40us延时在补偿算法中进行补偿,电平防抖功能示意图见图3。
[0036]
相位预测功能:使用变量s1messwitchcnt记录s1两次上升沿的间隔时间;当检测到电平的上升沿后,将s1messwitchcnt值减去延时补偿值存储到s1messwitchcntsave,并将s1messwitchcnt清零,电机转子旋转的电周期(转子从0
°
旋转到360
°
所需的时间周期)s1messwitchcntn即为s1messwitchcntn=s1messwitchcntsave*ts;设置下降沿计数器比较阈值s1statusdelayn=s1messwitchcntsave*ts*0.5,即半个电周期(180
°
),同时启动s1下降沿预测计数器s1statusdelaycnt;在中断响应函数中判断s1statusdelaycnt是否大于等于s1statusdelayn,若满足,则置s1=0,即预测到s1下降沿,电周期计数方法示意图见图3;
[0037]
预测b相和c相换相时刻的方法,分别以s1的上升沿和下降沿作为预测起始时刻,以s1两个边沿信号的间隔时间(s1两个边沿时刻之间的ts计数个数)s1switchcntn作为相位延时180
°
基准,计算得到120
°
和60
°
需延时的ts个数:
[0038]
s2statusdelayn=s1switchcntn*2/3
[0039]
s3statusdelayn=s1switchcntn/3
[0040]
b相在当前s1边沿预测起始时刻延时120
°
,如果当前s1=1即预测起始时刻为上升沿,则延时120
°
后b相相位状态s2=1;如果当前s1=0即预测起始时刻为下降沿,则延时120
°
后b相相位状态s2=0;c相在当前预测起始时刻延时60
°
,如果当前s1=1即预测起始时刻为上升沿,则延时60
°
后c相相位状态s3=0;如果当前s1=0即预测起始时刻为下降沿,则延时60
°
后c相相位状态s3=1;c相预测不采用240
°
延时,是为了考虑在转速波动下,电周期也存在波动,采用60
°
延时可保证电周期动态变化时预测算法可在最短时间内采用最新的电周期计数值。
[0041]
在使能相位检测和速度检测后,使用s1messwitchcntn计数值计算电机转速w
fbk
,单位为rpm(转/分):
[0042][0043]
在软件中使用如下c语言表达式计算检测到的电机六位置相位状态statusmes:
[0044]
statusmes=(s3《《2)&0x04+(s2《《1)&0x02+s1
[0045]
至此,电机六状态相位预测完成,电机旋转过程中statusmes将按照换相规律在1~6中变化,如果出现0和7等其他数值,则表示电机相位预测错误,在控制软中对出现错误相位的次数进行计数,当持续超过500次(10ms)后,判断电机连续相序故障,执行停机保护并重新起动。
[0046]
相位延时补偿功能:根据永磁同步电机六位置换相控制原理,电机每转过60
°
电角度相位状态发生一次变化,因此使用statusmes状态量的上升沿和下降沿之间的ts个数statusswitchcnt计算60
°
电角度,然后计算30
°
电角度对应的ts个数statusdelay=statusswitchcnt*0.5;同时由于相位检测电路中使用了低通滤波器,当转速升高时,反电势基波频率升高,低通滤波器引起的相位延时不可忽略,必须在换相控制时进行补偿。以当前反馈转速作为自变量设计一阶线性函数,函数输出取整后作为补偿的ts周期个数statusfiltercomp,函数的斜率k和截距b通过测试标定获得;因此,在电机自同步换相过程中,当检测到statusmes的6个状态的边沿翻转信号后,控制相位换相需延时的ts周期个数statusdelaycomp为:
[0047]
statusdelaycomp=statusdelay-statusfiltercomp
[0048]
以statusmes状态每个边沿翻转时刻为起始时刻,以statusdelaycomp为延时补偿的ts个数,当延时到达后,将statusmes的值赋给换相状态变量phasestatus;
[0049]
在传统的三相相位检测电路方法下,六个相位状态均来源于相位检测电路的电平状态,因此在需要补偿相位时,至多把每个相位状态30
°
的相位延时完全补偿,即不再延时换相。由于本发明中只使用单相相位检测电路,只有a相相位上升沿状态来源于相位检测电路,剩余5个相位状态(a相下降沿、b相和c相的上升沿、下降沿)使用了相位预测算法,因此这5个相位状态的延时补偿不再局限于30
°
,其最大延时补偿电角度可以达到45
°
,补偿角度比普通的三相相位检测方法多15
°
。在相位延时补偿功能中,30
°
以内的相位延时补偿通过statusdelaycomp来实现,超出30
°
的相位补偿量在相位预测算法中通过减少s1statusdelayn值来实现。
[0050]
电机开环起动过程,在给定的相序切换频率达到f
ref2
以后,使用延时补偿后的phasestatus状态变量,对电机实施六位置换相控制,即电机由开环外同步运行切换到自同步运行;在电机自同步运行过程中,在每个中断响应函数执行周期内,对检测到的转速w
fbk
使用滑窗滤波方法计算转速平均值w
avg
,并使用下式计算转速方差σ2,数据迭代个数n=10:
[0051][0052]
计算方差占比per:
[0053][0054]
当per《0.2,起动计数器spdsynccnt累加,当spdsynccnt≥500(即spdsynccnt*ts≥10ms),判定转速达到稳定,电机切换到转速闭环运行,并且将当前的电压控制量duty作为比例积分算法的积分初始值;如果spdsynccnt<500,则保持当前的相位自同步运行,转速不闭环;当per≥0.2,spdsynccnt累减,直到spdsynccnt=0后停止累减。
[0055]
技术方案的转速闭环控制算法使用梯形滤波方法对指令转速进行平滑滤波,当电
机切换到相位自同步和转速闭环运行后,使用指令转速和电机反电势系数计算前馈电压,使用比例积分(pi)算法计算误差调整量,将比例输出u
p
、积分输出ui和前馈u
ff
相加后经过限幅和退饱和处理,得到最终的输出电压,将转速闭环控制算法输出的电压与母线电压相比即得到需要施加到电机绕组两端的pwm占空比。
[0056]
由于电机换相控制过程中的相位变化顺序是固定的,见表1,因此在相位自同步后,使用前一换相相序状态对下一换相相序状态进行预测,如果新的相序状态与理论相序不符,则使用相序失步计数器loststepcnt累加,如果loststepcnt≥1000(1000*20us=20ms),则判断电机失步,立即禁止pwm输出,保护驱动器和电机;如果相序切换正常,则将loststepcnt清零。
[0057]
在技术方案的控制软件中,a相反电势过零电平信号逻辑检测、防抖动、相位预测、相位延时和补偿、转速解算、指令转速平滑滤波、速度闭环控制、pwm限幅输出、运行状态机切换等功能均在中断响应函数中执行,软件中断响应函数工作流程见图4。