基于STM32的+PMSM+FOC软件库培训_3
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Mar ‘08 9
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Luenberger观测器的离散化
根据上述的马达方程,引入估测电流( iα,iβ )的 反馈值并离散化 (T 为采样时间),可得:
rT ˆ T T ⎧ˆ ˆ ˆ ˆ iα (k + 1) = iα (k ) − s iα (k ) + K1T (iα (k ) − iα (k )) − eα (k ) + vα (k ) ⎪ Ls Ls Ls ⎪ ⎪i (k + 1) = i (k ) − rsT i (k ) + K T (i (k ) − i (k )) − T e (k ) + T v (k ) ˆβ ˆβ ˆβ ˆβ ˆβ 1 β β ⎪ Ls Ls Ls ⎨ ˆ ⎪eα (k + 1) = eα (k ) + K2T (iα (k ) − iα (k )) + pωr eβ (k )T ˆ ˆ ˆ ⎪ ⎪ ˆ ˆ ˆ ˆ ⎪eβ (k + 1) = eβ (k ) + K2T (iβ (k ) − iβ (k )) − pωr eα (k )T ⎩
MCU Application Great China
基于STM32的 PMSM FOC软件库培训
Mar ‘08
10
状态信号捕捉
C4: back-emf phase A-0 正方向手动转动马达
C1 C2 C3: Hall sensors
vα = rs iα +
d ( Ls iα + Φ m sin θ r ) dt
ˆ ⎧ x(t ) = Ax(t ) + Bu (t ) + K ( y − y ) & ˆ ˆ ⎨ ˆ ˆ ⎩ y (t ) = Cx(t )
ˆ ⎧ diα ⎪ ⎪ dt ˆ ⎪ di β ⎪ ⎪ dt ⎨ ˆ ⎪ deα ⎪ dt ⎪ de ˆ ⎪ β ⎪ dt ⎩ ˆ ˆ rs iα eα vα ˆ =− − + + K1 (iα − iα ) Ls Ls Ls ˆ ˆ rs iβ eβ vβ ˆ =− − + + K1 (iβ − iβ ) Ls Ls Ls ˆ ˆ = pωr eβ + K 2 (iα − iα ) ˆ ˆ = − pωr eα + K 2 (iβ − iβ )
iαβ s vBUS
CLARKE
iabc s
电流读取
反电动势 vα’β’s iαβ s 计算
b-emf α b-emf β
转子 角度/速度 重构
θr el ωr
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
3
反电动势计算:观测器
根据控制理论,如果一个系统能够完全通过其检 测到的输出值来重构其系统状态,则认为该系统 是可观测的; 状态观测器根据所观测系统的输入及输出值估计 其内部状态。
Mar ‘08 13
PLL 闭环系数计算
经过验证,Kp及Ki定义为:
P gain = 532 ⋅ Maximum electrical frequency Observer sampling freq
I gain =
1506742 ⋅ Maximum electrical frequency
(Observer sampling freq)2
其中: 状态矢量 x=[iα iβ θr]t, 输入矢量 u=[vα vβ 0]t, 其输出 y=θr 。 很明显,该模型为非线性的; 如果我们假设Ls 为Lq及 Ld的平均值,则它同样 适用于IPMSM马达
。
MCU Application Great China
Mar ‘08 6
基于STM32的 PMSM FOC软件库培训
( )
ˆ ˆ − eα (kT ) ⋅ sin (θ k −1 ) − eβ (kT ) ⋅ cos (θ k −1 ) ≅ A θˆk − θ k −1
(
)
PI闭环作用:调节ωr以保持其输入为0 (电角度将领先反电动势 一个采样时间)
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
eβ = −Φ m pωr sin( pωr t )
两者相除,可得到转子的位置角为:
ˆ ⎛ eβ θ r = pωr t = arctg ⎜ − ⎜ e ⎝ ˆα ⎞ ⎟ ⎟ ⎠
这个方法是开环的,它对耦合在反电动势里的干扰非 常敏感(它会使反电动势成为非正弦信号!)
基于STM32的 PMSM FOC软件库培训
输入/内部状态/输出 的数学表达 2/3
得到PMSM马达的状态模型
& ⎧ x(t ) = f ( x(t ), u (t )) ⎨ ⎩ y (t ) = g ( x(t ))
为:
rs iα Φ m vα ⎧ diα ⎪ dt = − L − L pωr cos( pωr t ) + L s s s ⎪ rs iβ Φ m vβ ⎪ diβ pωr sin( pωr t ) + =− + ⎨ Ls Ls Ls ⎪ dt ⎪ dθ r ⎪ dt = ωr p ⎩
基于STM32的 PMSM FOC软件库 培训
MCU Application Great China
蒋建国
Shanghai, March,2008
Plan
无传感器转子位置检测:
框图 观测器理论 应用到PMSM马达系统 PLL 起动策略 转子堵转检测 头文件 “MC_State_observer_param.h”
软件库结构及其它特性
故障管理 刹车 DAC功能
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
1
FOC 框图 (速度控制)
逆变器 AC Mains
ICS / shunts
~
3 phase inverter
PMSM Motor
~
va,b,c iqs* + 转矩及磁链 控制器 ids* + iqs ids + ωr PID PID vqs vds 反 PARK 变化 & circle limitation θr el PARK θr el 转子 速度/位置 反馈 MCU Application Great China vαβs SVPWM 计算
U
PLANT
(X)
Y
ˆ Y −Y
Observer
ˆ Y
ˆ Χ
K
基于STM32的 PMSM FOC软件库培训
MCU ApHale Waihona Puke Baidulication Great China
Mar ‘08
4
输入/内部状态/输出 的数学表达 1/3
把SM-PMSM马达的电压方程变换到αβ坐标系,并把a轴定位在α轴 上(Clark变换):
=−
rs iα eα vα − + Ls Ls Ls rs i β e β v β =− − + Ls Ls Ls = pω r eβ = − p ω r eα
PMSM马达状态方程可线性表达为:
& ⎧ x(t ) = Ax(t ) + Bu (t ) ⎨ ⎩ y (t ) = Cx (t )
其中: 状态矢量 x=[iα iβ eα eβ ]t, 输入矢量 u=[vα vβ]t, 输出变量 y=[iα iβ]t
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
11
转子位置角/速度 计算 1/2
在得到反电动势的alpha及Beta分量后,可从中解 析出转子的位置角; e eα 及 β 的定义: 由
eα = Φ m pωr cos( pωr t )
MCU Application Great China
Mar ‘08 12
转子位置角/速度 计算2/2:锁相环 (PLL)
ˆ eα
+
X
sin
PI
ωr
ωr
∫
X cos
ˆ − eβ
令
θr
θr
A=
ˆ ˆ eα (kT ) = A cos θ k
那么:
mpωr ,则:
( )
ˆ ˆ − eβ (kT ) = A sin θ k
⎧ dia ⎪vα = rsia + Ls dt + Φm pωr cos(pωr t ) ⎪ ⎨ di ⎪vβ = rsiβ + Ls β − Φm pωr sin( pωr t ) ⎪ dt ⎩
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08 5
+
B
+
+
∫
C
ˆ y (iα ,iβ )
-
+
A
ˆ x (iα , iβ , eα , eβ )
K
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
8
PMSM马达的Luenberger观测器 2/2
状态模型则表示为:
PMSM 马达模型 PMSM 状态观测器
MCU Application Great China
Mar ‘08 7
基于STM32的 PMSM FOC软件库培训
PMSM马达的Luenberger观测器 1/2
u (vα ,vβ )
B
+ +
PMSM马达模型 ∫ C
y (iα ,iβ )
A
x (iα ,iβ ,eα ,eβ )
PMSM 状态观测器
Mar ‘08
15
起动成功的判据 1/2
为了从起动模式(在软件中:state= START的状 态)切换到FOC闭环控制(state= RUN的状态), 观测器和PLL必须都收敛; 根据所观测的速度FIFO,周期性地计算下列两个 统计指数(该周期在软件中定义为 PID_SPEED_SAMPLING_TIME):
输入/内部状态/输出 的数学表达 3/3
引入两个新的状态变量:
eα = Φ m pωr cos( pωr t ) eβ = −Φ m pωr sin( pωr t )
那么,最后,假设机械变量相对于电变量变化缓慢得多,则:
⎧ di α ⎪ ⎪ dt ⎪ di β ⎪ dt ⎪ ⎨ ⎪ de α ⎪ dt ⎪ de ⎪ β ⎪ dt ⎩
Speed FINAL_START_UP_SPEED
FREQ_START_UP_DURATION FINAL_I_START_UP FIRST_I_START_UP I_START_UP_DURATION FREQ_START_UP_DURATION
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
& ⎧ x(t ) = Ax(t ) + Bu (t ) ⎨ ⎩ y (t ) = Cx(t )
⎧ di α ⎪ ⎪ dt ⎪ di β ⎪ dt ⎪ ⎨ ⎪ de α ⎪ dt ⎪ de ⎪ β ⎪ dt ⎩ ri e v =− sα − α + α Ls Ls Ls rs i β e β v β =− − + Ls Ls Ls = pω r eβ = − p ω r eα
enc / Hall
iαβ s
CLARKE
iabc s
电流读取
ωr*
基于STM32的 PMSM FOC软件库培训
Mar ‘08
2
无传感器方案框图
逆变器
~
vDC
meas
3 phase inverter
ICS / shunts
PMSM Motor
~
va,b,c 总线电压 测量 SVPWM vαβ s 计算
没有必要去修改它们的值,但是如果确实有必要修 改,则必须注意:
为了增加带宽(此时,对速度变化有更好的动态响应,但 ωr干扰增大),应比例地增大Kp及Ki。
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
14
起动策略
在“ramp-up”期间,在定子中加入幅值及频率 都受控的电流; 特别地,电流的幅值及频率在“ramp-up”期间 的变化如下图:
⎧ dλ vα = rsiα + α ⎪ ⎪ dt ⎨ ⎪v = r i + dλβ s β ⎪β dt ⎩
⎧λα = Lsiα + sinθr ⋅ Φm ⎪ ; ⎨ ⎪λβ = Lsiβ + cosθr ⋅ Φm ⎩
其中 : Ls = Lls + 3Lms / 2;
θ r = pω r t
把磁链方程代入电压方程,得到:
vα = eα = Φ m
dθ r cos θ r dt
eα = + Φ m pωr cos( pωr t ) eβ = −Φ m pωr sin( pωr t )
C1: C2: C3: C4: observed eα observed eβ Hall sensor C2 phase current ia
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Luenberger观测器的离散化
根据上述的马达方程,引入估测电流( iα,iβ )的 反馈值并离散化 (T 为采样时间),可得:
rT ˆ T T ⎧ˆ ˆ ˆ ˆ iα (k + 1) = iα (k ) − s iα (k ) + K1T (iα (k ) − iα (k )) − eα (k ) + vα (k ) ⎪ Ls Ls Ls ⎪ ⎪i (k + 1) = i (k ) − rsT i (k ) + K T (i (k ) − i (k )) − T e (k ) + T v (k ) ˆβ ˆβ ˆβ ˆβ ˆβ 1 β β ⎪ Ls Ls Ls ⎨ ˆ ⎪eα (k + 1) = eα (k ) + K2T (iα (k ) − iα (k )) + pωr eβ (k )T ˆ ˆ ˆ ⎪ ⎪ ˆ ˆ ˆ ˆ ⎪eβ (k + 1) = eβ (k ) + K2T (iβ (k ) − iβ (k )) − pωr eα (k )T ⎩
MCU Application Great China
基于STM32的 PMSM FOC软件库培训
Mar ‘08
10
状态信号捕捉
C4: back-emf phase A-0 正方向手动转动马达
C1 C2 C3: Hall sensors
vα = rs iα +
d ( Ls iα + Φ m sin θ r ) dt
ˆ ⎧ x(t ) = Ax(t ) + Bu (t ) + K ( y − y ) & ˆ ˆ ⎨ ˆ ˆ ⎩ y (t ) = Cx(t )
ˆ ⎧ diα ⎪ ⎪ dt ˆ ⎪ di β ⎪ ⎪ dt ⎨ ˆ ⎪ deα ⎪ dt ⎪ de ˆ ⎪ β ⎪ dt ⎩ ˆ ˆ rs iα eα vα ˆ =− − + + K1 (iα − iα ) Ls Ls Ls ˆ ˆ rs iβ eβ vβ ˆ =− − + + K1 (iβ − iβ ) Ls Ls Ls ˆ ˆ = pωr eβ + K 2 (iα − iα ) ˆ ˆ = − pωr eα + K 2 (iβ − iβ )
iαβ s vBUS
CLARKE
iabc s
电流读取
反电动势 vα’β’s iαβ s 计算
b-emf α b-emf β
转子 角度/速度 重构
θr el ωr
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
3
反电动势计算:观测器
根据控制理论,如果一个系统能够完全通过其检 测到的输出值来重构其系统状态,则认为该系统 是可观测的; 状态观测器根据所观测系统的输入及输出值估计 其内部状态。
Mar ‘08 13
PLL 闭环系数计算
经过验证,Kp及Ki定义为:
P gain = 532 ⋅ Maximum electrical frequency Observer sampling freq
I gain =
1506742 ⋅ Maximum electrical frequency
(Observer sampling freq)2
其中: 状态矢量 x=[iα iβ θr]t, 输入矢量 u=[vα vβ 0]t, 其输出 y=θr 。 很明显,该模型为非线性的; 如果我们假设Ls 为Lq及 Ld的平均值,则它同样 适用于IPMSM马达
。
MCU Application Great China
Mar ‘08 6
基于STM32的 PMSM FOC软件库培训
( )
ˆ ˆ − eα (kT ) ⋅ sin (θ k −1 ) − eβ (kT ) ⋅ cos (θ k −1 ) ≅ A θˆk − θ k −1
(
)
PI闭环作用:调节ωr以保持其输入为0 (电角度将领先反电动势 一个采样时间)
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
eβ = −Φ m pωr sin( pωr t )
两者相除,可得到转子的位置角为:
ˆ ⎛ eβ θ r = pωr t = arctg ⎜ − ⎜ e ⎝ ˆα ⎞ ⎟ ⎟ ⎠
这个方法是开环的,它对耦合在反电动势里的干扰非 常敏感(它会使反电动势成为非正弦信号!)
基于STM32的 PMSM FOC软件库培训
输入/内部状态/输出 的数学表达 2/3
得到PMSM马达的状态模型
& ⎧ x(t ) = f ( x(t ), u (t )) ⎨ ⎩ y (t ) = g ( x(t ))
为:
rs iα Φ m vα ⎧ diα ⎪ dt = − L − L pωr cos( pωr t ) + L s s s ⎪ rs iβ Φ m vβ ⎪ diβ pωr sin( pωr t ) + =− + ⎨ Ls Ls Ls ⎪ dt ⎪ dθ r ⎪ dt = ωr p ⎩
基于STM32的 PMSM FOC软件库 培训
MCU Application Great China
蒋建国
Shanghai, March,2008
Plan
无传感器转子位置检测:
框图 观测器理论 应用到PMSM马达系统 PLL 起动策略 转子堵转检测 头文件 “MC_State_observer_param.h”
软件库结构及其它特性
故障管理 刹车 DAC功能
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
1
FOC 框图 (速度控制)
逆变器 AC Mains
ICS / shunts
~
3 phase inverter
PMSM Motor
~
va,b,c iqs* + 转矩及磁链 控制器 ids* + iqs ids + ωr PID PID vqs vds 反 PARK 变化 & circle limitation θr el PARK θr el 转子 速度/位置 反馈 MCU Application Great China vαβs SVPWM 计算
U
PLANT
(X)
Y
ˆ Y −Y
Observer
ˆ Y
ˆ Χ
K
基于STM32的 PMSM FOC软件库培训
MCU ApHale Waihona Puke Baidulication Great China
Mar ‘08
4
输入/内部状态/输出 的数学表达 1/3
把SM-PMSM马达的电压方程变换到αβ坐标系,并把a轴定位在α轴 上(Clark变换):
=−
rs iα eα vα − + Ls Ls Ls rs i β e β v β =− − + Ls Ls Ls = pω r eβ = − p ω r eα
PMSM马达状态方程可线性表达为:
& ⎧ x(t ) = Ax(t ) + Bu (t ) ⎨ ⎩ y (t ) = Cx (t )
其中: 状态矢量 x=[iα iβ eα eβ ]t, 输入矢量 u=[vα vβ]t, 输出变量 y=[iα iβ]t
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
11
转子位置角/速度 计算 1/2
在得到反电动势的alpha及Beta分量后,可从中解 析出转子的位置角; e eα 及 β 的定义: 由
eα = Φ m pωr cos( pωr t )
MCU Application Great China
Mar ‘08 12
转子位置角/速度 计算2/2:锁相环 (PLL)
ˆ eα
+
X
sin
PI
ωr
ωr
∫
X cos
ˆ − eβ
令
θr
θr
A=
ˆ ˆ eα (kT ) = A cos θ k
那么:
mpωr ,则:
( )
ˆ ˆ − eβ (kT ) = A sin θ k
⎧ dia ⎪vα = rsia + Ls dt + Φm pωr cos(pωr t ) ⎪ ⎨ di ⎪vβ = rsiβ + Ls β − Φm pωr sin( pωr t ) ⎪ dt ⎩
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08 5
+
B
+
+
∫
C
ˆ y (iα ,iβ )
-
+
A
ˆ x (iα , iβ , eα , eβ )
K
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
8
PMSM马达的Luenberger观测器 2/2
状态模型则表示为:
PMSM 马达模型 PMSM 状态观测器
MCU Application Great China
Mar ‘08 7
基于STM32的 PMSM FOC软件库培训
PMSM马达的Luenberger观测器 1/2
u (vα ,vβ )
B
+ +
PMSM马达模型 ∫ C
y (iα ,iβ )
A
x (iα ,iβ ,eα ,eβ )
PMSM 状态观测器
Mar ‘08
15
起动成功的判据 1/2
为了从起动模式(在软件中:state= START的状 态)切换到FOC闭环控制(state= RUN的状态), 观测器和PLL必须都收敛; 根据所观测的速度FIFO,周期性地计算下列两个 统计指数(该周期在软件中定义为 PID_SPEED_SAMPLING_TIME):
输入/内部状态/输出 的数学表达 3/3
引入两个新的状态变量:
eα = Φ m pωr cos( pωr t ) eβ = −Φ m pωr sin( pωr t )
那么,最后,假设机械变量相对于电变量变化缓慢得多,则:
⎧ di α ⎪ ⎪ dt ⎪ di β ⎪ dt ⎪ ⎨ ⎪ de α ⎪ dt ⎪ de ⎪ β ⎪ dt ⎩
Speed FINAL_START_UP_SPEED
FREQ_START_UP_DURATION FINAL_I_START_UP FIRST_I_START_UP I_START_UP_DURATION FREQ_START_UP_DURATION
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
& ⎧ x(t ) = Ax(t ) + Bu (t ) ⎨ ⎩ y (t ) = Cx(t )
⎧ di α ⎪ ⎪ dt ⎪ di β ⎪ dt ⎪ ⎨ ⎪ de α ⎪ dt ⎪ de ⎪ β ⎪ dt ⎩ ri e v =− sα − α + α Ls Ls Ls rs i β e β v β =− − + Ls Ls Ls = pω r eβ = − p ω r eα
enc / Hall
iαβ s
CLARKE
iabc s
电流读取
ωr*
基于STM32的 PMSM FOC软件库培训
Mar ‘08
2
无传感器方案框图
逆变器
~
vDC
meas
3 phase inverter
ICS / shunts
PMSM Motor
~
va,b,c 总线电压 测量 SVPWM vαβ s 计算
没有必要去修改它们的值,但是如果确实有必要修 改,则必须注意:
为了增加带宽(此时,对速度变化有更好的动态响应,但 ωr干扰增大),应比例地增大Kp及Ki。
基于STM32的 PMSM FOC软件库培训
MCU Application Great China
Mar ‘08
14
起动策略
在“ramp-up”期间,在定子中加入幅值及频率 都受控的电流; 特别地,电流的幅值及频率在“ramp-up”期间 的变化如下图:
⎧ dλ vα = rsiα + α ⎪ ⎪ dt ⎨ ⎪v = r i + dλβ s β ⎪β dt ⎩
⎧λα = Lsiα + sinθr ⋅ Φm ⎪ ; ⎨ ⎪λβ = Lsiβ + cosθr ⋅ Φm ⎩
其中 : Ls = Lls + 3Lms / 2;
θ r = pω r t
把磁链方程代入电压方程,得到:
vα = eα = Φ m
dθ r cos θ r dt
eα = + Φ m pωr cos( pωr t ) eβ = −Φ m pωr sin( pωr t )
C1: C2: C3: C4: observed eα observed eβ Hall sensor C2 phase current ia