在无刷直流电机的矢量控制中,采用分流电阻采样三相电流是一种经济成本低、应用成熟的方案,广泛应用于许多低成本产品中。分流电阻方案的总体思路是在下桥臂或地线上串联分流电阻,通过运输和控制器AD测量并获得电机三相电流。分流电阻方案可分为三电阻采样、两电阻采样和单电阻采样,各方案各有优缺点。本文主要介绍了单电阻采样方法,这也是作者在实际开发中采用的方案网上还有很多其他两种采样方案的文章。
单电阻采样原理如图1所示。DC-AC变流器的地线串联分流电阻,电阻电压信号用操作放大器放大后输入MCU的AD引脚,实现电流信号采样。
图1 单电阻电流检测电路
该方案通过单个电阻实现三相电流采样,因此对采样时间有具体要求,需要一个PWM连续采样两次,然后通过计算得到三相电流。
以三相调制为例(有两相调制,原理略有差异),根据相位θ将UVW如图2所示,三相驱动波形分为六个区段。
图2 三相驱动波形与区段的关系
以区段1为例,三相电流的采样和计算方法如图3所示。在区段1中,一个PWM周期内三角载波与调制波比较结果(即PWM有四种组合:输出信号:
(UVW):(000),(100),(110)
0表示上桥臂关闭,下桥臂导通;1表示上桥臂导通,下桥臂关闭。
图3 区段1采样时间示意
当输出PWM为(110)时(A采样点),系统电流如图4所示,此时分流电阻的电流为-IW;当输出PWM为(100)时(B采样点),系统电流如图5所示,此时分流电阻的电流为IU。根据IU IV IW=0,可以求得IV的值。
图4 A采样点电流示意
图5 B采样点电流示意
根据区段1的原理,各区段的测量电流为:
区段1 |
100 |
IU=Ir |
IV=-IU-IW |
110 |
IW=-Ir |
||
区段2 |
110 |
IW=-Ir |
IU=-IV-IW |
010 |
IV=Ir |
||
区段3 |
010 |
IV=Ir |
IW=-IU-IV |
011 |
IU=-Ir |
||
区段4 |
011 |
IU=-Ir |
IV=-IU-IW |
001 |
IW=Ir |
||
区段5 |
001 |
IW=Ir |
IU=-IV-IW |
101 |
IV=-Ir |
||
区段6 |
101 |
IV=-Ir |
IW=-IU-IV |
100 |
IU=Ir |
实际在MCU中实现单电阻采样算法时,大体遵循以上思路。其中的难点在于每次AD采样的执行需要持续一定的时间,按照图3所示的采样原理,若UVW三相或某其中两相的PWM占空比大小比较接近,则无法有足够的时间窗口采集到正确的数值。因此在实际应用中,需要考虑到AD采样时长与PWM输出连续变化二者之间的矛盾。针对这个问题,也产生了不止一种解决思路,笔者在开发过程中采用了stm32-HAL库给出的解决思路,该方案的代码量较大,涉及了较复杂的中断操作,主要是ADC中断和定时器中断时间的配合,以及采样时间点和采样结果的计算和补偿。
[1]江崎雅康. 无刷直流电机矢量控制技术[M]. 北京: 科学出版社, 2019.