ST(意法半导体)方案
在参考ST的硬件方案时没能找到设计说明,以下是个人理解,如有错误,还望指正
先说结论,然后对齐进行分析,该电路实现了对电机输出电压进行采样的功能,且具有以下特点:
a. 限制采样电压,对单片机进行保护
b. 通过GPIO_BEMF切换放大倍率
在分析此检测电路之前先来了解以下二极管的特性:正向导通,反向截止
-
正向特性:当正向电压 u 大于开启电压 Uon 时,二极管导通,同时产生导通压降,二极管导通电阻非常小,近似为短路
-
反向特性:当反向电压 u 幅值小于击穿电压 UBK 时,漏电流 IS 很小,近似为0,二极管截止。当反向电压 u 幅值大于击穿电压 UBK 时,二极管被击穿损坏。
材料 | 开启电压Uon/V | 导通电压U/V | 反向饱和电流IS/uA |
---|---|---|---|
硅(Si) | ≈0.5 | 0.6~0.8 | <0.1 |
锗(Ge) | ≈0.1 | 0.1~0.3 | 几十 |
我们来做几个题加深一下对其的认识
条件:导通电压UD=0.7
UO1 | UO2 | UO3 | UO4 | UO5 | UO6 |
---|---|---|---|---|---|
1.3 | 0 | -1.3 | 2 | 1.3 | -2 |
然后,我们来分析这个电路
1)D10:对电路其保护作用,不对采样值产生影响,当OUTx经R61加到BEMFx端的电压大于(3.3V+UON)时二极管D10导通,电流由D10流过,且将电压V_BEMFx限制在(3.3V+UD)之下,防止采样电压过高损坏单片机。
按照图中的电阻值,设稳压管导通电压为0.25V,VGPIO_BEMF = 0的情况下 经计算OUTx > 18.55时被截止,GPIO_BEMF的作用将在后面与D11一块做说明
VOUT ∈ ( 0 , 20 ),VBEMF_MIN = 0 , VBEMF_MAX = 3.55
有眼尖的同学可能会发现在这个正弦波的下面有个突起,这是因为在V_OUT < 0.25时二极管D11未完全导通或未导通,此时VOUT = VBEMF,此时电压未经缩放,因此变化更快,图像更陡峭
VOUT ∈ ( 0.25 , 18.55 )时,
V
B
E
M
F
=
(
V
O
U
T
−
U
D
)
∗
R
57
R
61
+
R
57
+
U
D
V_{BEMF} = \frac{(V_{OUT} - U_D)*R57}{R61+R57}+U_D
VBEMF=R61+R57(VOUT−UD)∗R57+UD
VOUT ∈ ( 2 , 18 ),VBEMF_MIN = 0.567 , VBEMF_MAX = 3.45
2)D11与BEMF_GPIO:上文我们分析了VBEMF_GPIO =0时,可将VOUT在 ( 0.25 , 18.55 )范围内进行缩放以使得采样电压在单片机的可采样范围内。
但是当我们的电机电阻较小,VOUT比较小时,如VOUT ∈ ( 0 , 3 ),那么此时完全可以不经缩放直接采样,以获得更大的有效值,便于处理。我们可以使GPIO_BEMF端口输出高,即VBEMF_GPIO =3.3V,此时由于VOUT ∈ ( 0 , 3 ),VOUT 始终小于VBEMF_GPIO,稳压管D11被截止,VOUT = VBEMF
3)电阻:缩放电机输出电压到单片机可采样范围内
判断过零点主要是依据反电动势,我们可以在OUTx相浮空时采样其反电动势,理论上采集到的电压为中性点电压+反电动势,实际情况有待实验验证。
经典方案
引出中性点,比较中性点电压与浮空相电压的大小来确定过零点(详细内容请参考直流无刷电机无感检测电路原理)
OUT1接到电机A端,OUT2接到电机B端,OUT3接到电机C端
当A,B相导通时(MOS管A,Z导通)由基尔霍夫电流定律有如下公式:
O
U
T
1
−
B
E
M
F
1
R
1
=
B
E
M
F
1
R
2
+
B
E
M
F
1
−
M
R
3
\frac{OUT1-BEMF1}{R1} = \frac{BEMF1}{R2}+\frac{BEMF1 - M}{R3}
R1OUT1−BEMF1=R2BEMF1+R3BEMF1−M
O
U
T
3
−
B
E
M
F
3
R
1
=
B
E
M
F
3
R
2
+
B
E
M
F
3
−
M
R
3
\frac{OUT3-BEMF3}{R1} = \frac{BEMF3}{R2}+\frac{BEMF3 - M}{R3}
R1OUT3−BEMF3=R2BEMF3+R3BEMF3−M
M
−
B
E
M
F
2
R
3
=
B
E
M
F
2
R
1
+
B
E
M
F
2
R
2
\frac{M-BEMF2}{R3} = \frac{BEMF2}{R1}+\frac{BEMF2}{R2}
R3M−BEMF2=R1BEMF2+R2BEMF2
M
−
B
E
M
F
2
R
3
=
B
E
M
F
1
−
M
R
1
+
B
E
M
F
3
−
M
R
2
\frac{M-BEMF2}{R3} = \frac{BEMF1 - M}{R1}+\frac{BEMF3-M}{R2}
R3M−BEMF2=R1BEMF1−M+R2BEMF3−M
注:反电动势OUT3_BEMF = (OUT1 + OUT2) / 2 + OUT3_BEMF;M为中性点电压。
为了便于说明问题设R1 = R2 = R3,并令X = (OUT1,OUT2,OUT3X = (OUT1,OUT2,OUT3_BEMF,OUT3),Y = (M,BEMF3)_BEMF,OUT3),Y = (M,BEMF3)
① X = (12,0,6,12)时,Y = (4,5.33),BEMF3 > M
② X = (12,0,0,6)时,Y = (3,3),BEMF3 = M
③ X = (12,0,-2,4)时,Y = (2.67,2.22),BEMF3 < M
即浮空相反电动势为正时,BEMF3 > M,浮空相反电动势为负时,BEMF3 < M,浮空相反电动势为0时,BEMF3 = M
下图(R1,R2,R3)分别为(10,10,10) , (10,2,10) , (10,10,2)(单位:KΩ)
M与浮空相电压相交时为过零点,可以用外部比较器生成比较中断或单片机内部比较器产生中断信号
对中性点的放大倍率:
R
2
R
1
+
R
2
\frac{R2}{R1+R2}
R1+R2R2