前言:
无论是BLDC驱动,还是PMSM驱动,在采集电流时,都需要使用到运放电路。唯一区别就是BLDC驱动只采集总线电流,PMSM驱动则既需要采集总线电流,还需要采集支路电流(三电阻法和两电阻法)。由此可见,运放电路在BLDC驱动和PMSM驱动中有着举足轻重的作用。那么,怎么设计运放电路就显得格外重要了。本文就对此内容做分享。
1. 运放基础知识
运算放大电路,简称运放。运放的基础知识,网上很多。这部分内容,找度娘很容易知。本文整理如下:
(1)端口
运放端口包括:正向输入端口Vin+,负向输入端口Vin-,输出端口Vout,正电源端口V+,负电源端口V-。请见下图1。注意,我们做电机驱动,只用了正电源供电,没用负电源供电,即单电源供电。
图1
(2)供电
可以单电源供电,也可以双电源供电。很明显,单电源供电,无法输出负信号;双电源供电,可以输出正负信号。
做电机驱动,毫无疑问,用的是单电源供电。当遇到输入正负信号时,需要给运放加偏置电压。这就是我们在做PMSM驱动时,需要加偏执电压的原因。
(3)工作区
运放的工作区包括:线性区和饱和区(非线性区)。
线性区,又叫线性放大区。顾名思义,在该工作区内,输出信号和输入信号之间呈线性变化,或者叫等比例变化。换句话说,输出信号随着输入信号的增大(减小)而增大(减小)。至于,增大或者减小多少,当然由运放的增益(放大倍数)决定。做电机驱动,采集电流时,就是让运放工作在线性区。
饱和区,又叫饱和放大区。在该工作区,输出信号接近(注意不是相等)正电源V+或者V-附近,无法随着输入信号的变化而线性变化了。做电机驱动,将运放用作比较器时,就是让运放工作在饱和区。正因为工作在饱和区,所以输出才接近电源。
另外,随带提一句:运放的线性和饱和工作区是不是和三极管类似?
(4)反馈电路
无反馈,输出端Vout和两输入端(Vin+和Vin-)之间无反馈回路。此时,运放工作在饱和区。常见的应用电路:比较器。做电机驱动,当然会用到。
正反馈,输出端Vout和正向输入端Vin+之间存在反馈回路。此时,运放工作在饱和区。常见的应用电路:迟滞比较器。做电机驱动,基本没用到过。
负反馈,输出端Vout和负向输入端Vin-之间存在反馈回路。此时,运放工作在放大区。做电机驱动,必然会用到。
(5)同向放大和反向放大
首先,无论是同向放大还是反向放大,都是放大,所以根据前文内容可知:反馈电路一定是负反馈。
其次,同向则是指输入信号从运放正向输入端Vin+输入;反向则是指输入信号从运放负向输入端Vin-输入。
至于,为什么电路长成这样就可以实现同向放大和反向放大?后文会有公式推导。
(6)虚短和虚断
虚短,指在分析处于线性放大区(负反馈)的运放外围电路时,可将运放Vin+和Vin-视为等电位。这一特性,称为虚假短路,简称虚短。当然不能真正短路。至于,为什么可以这么视为?放大倍数很大,对不?本文就不展开了。
虚断,指在分析处于线性放大区(负反馈)的运放外围电路时,可将运放的两输入端视为等效断路。这一特性,称为虚假断路,简称虚断。当然不能真正断路。至于,为什么可以这么视为?输入内阻超级大,对不?本文就不展开了。
2. 运放电路设计
搞懂以上基础知识后,下面针对电机驱动会使用到的运放电路做梳理。
(1)比较器电路
这就很简单了,但因为常用,所以又不得不说。请见下图2。
图2
图2中,运放无反馈,因此运放工作在饱和区,也是比较器。输入信号V1=Vin+,参考信号Vref=Vin-。当V1大于Vfef时,Vout输出高电平。相反输出低电平。
请再见下图3。
图3
图3中,运放有正反馈,因此也是工作在饱和区,也是比较器。输入信号V1=Vin+,参考信号Vref=Vin-。当V1大于Vfef时,Vout也输出高电平。相反也输出低电平。
学有余力的同学可以继续深挖,两种比较器,加了正反馈电路有什么区别?
(2)电压跟随器电路
这也很简单,简单到不得不提。请见下图4。
图4
图4中,运放有负反馈(Vout直接和Vin-短接,形成回路),因此运放工作在放大区。又因输入信号从Vin+输入,因此肯定是同向放大。至于,Vin+和Vout的关系,推导如下:
- 根据虚短,Vin+=Vin-。又因为Vout=Vin-,因此,Vout=Vin+。
可见,输入和输出同向,且放大倍数为1。因此,该电路称为电压跟随器,又叫射随器,又叫电压缓冲器。做电机驱动可能会用电压跟随器。
(3)同向和反向放大电路
同向放大电路,请见下图5。
图5
图5中,输入信号为Vin+,负反馈,同向放大无疑。至于,Vin+和Vout的关系,推导如下:
- 根据Vout_Rf_R1回路得:
Vin-= (Vout * R1)/(Rf+R1)
- 根据虚短,Vin+=Vin-
- 可得:Vin+= (Vout * R1)/(Rf+R1)
- 化简得:Vout=((Rf/R1)+1)*(Vin+)
可见,与输入信号Vin+相比,Vout同向且放大了((Rf/R1)+1)倍。做电机驱动可能会用同向放大。
另外,由此可见,上文所提电压跟随器电路本质是一个同向放大电路,只是放大倍数为1而已。
反向放大电路,请见下图6。
图6
图6中,输入信号V1通过电阻R1输入Vin-,负反馈,反向放大无疑。至于,V1和Vout的关系,推导如下:
- 根据V1_R1_Vin-_Rf_Vout回路得:
(V1-Vin-)/R1= ((Vin-)-Vout )/Rf
- 根据虚短,Vin+=Vin-,又因Vin+接GND为0,所以Vin-为0
- 因此,(V1)/R1= (-Vout )/Rf
- 化解得:Vout=(Rf/R1)*(-V1)
可见,与输入信号V1相比,Vout反向且放大了(Rf/R1)倍。做电机驱动不会用反向放大。
(4)差分放大电路
差分放大电路,请见下图7。
图7
图7中,电路特征如下:
- 输入信号V1通过电阻R1输入Vin-
- 输入信号V2通过电阻R2输入Vin+
- 输入信号V3通过电阻R3输入Vin+
- 负反馈,说明放大无疑
- Vin-和Vin+都有信号输入,所以既不是同向放大,也不是反向放大。至于怎么就是差分放大了,请看后续公式推导。
对差分放大电路有了解的同学,肯定发现图5跟自己记忆中的电路有些不一样,甚至会怀疑图5画错了。对错与否,请继续看如下V1、V2、V3和Vout的关系推导:
- 根据虚断,V2_R2_Vin+_R3_V3回路,可得:
((V2-(Vin+))/R2)=(((Vin+)-V3)/R3)
((1/R2)+(1/R3))*(Vin+)=(V2/R2)+(V3/R3) --(1)
- 根据虚断,V1_R1_Vin-_Rf_Vout回路,可得:
((V1-(Vin-))/R1)=(((Vin-)-Vout)/Rf) --(2)
- 根据虚短,可得:Vin+=Vin- --(3)
- 根据公式(2)和(3)可得:
((V1-(Vin+))/R1)=(((Vin+)-Vout)/Rf) --(4)
((1/R1)+(1/Rf))*(Vin+)=(V1/R1)+(Vout/Rf) --(5)
- 根据公式(1)和(5)可得:
(V2/R2)+(V3/R3)=(V1/R1)+(Vout/Rf) --(6)
如果R1=R2,R3=Rf,根据公式(6)可得:(V2/R1)+(V3/Rf)=(V1/R1)+(Vout/Rf) --(7)
化解(7)得:Vout=(Rf/R1)*(V2-V1)+V3 --(8)
可见,与输入信号V1、V2和V3相比,Vout同向且先在(V2-V1)的基础上放大了(Rf/R1)倍,再加上了V3。对公式(8)分析如下:
- (V2-V1)为输入电压差。差分无疑。
- (Rf/R1)为输入电压差(V2-V1)的倍数。放大无疑。
- 如果V3等于0(电阻R3接GND),那么Vout=(Rf/R1)*(V2-V1)。**Vout为基于0电位的差分放大无疑。**适用于,输入信号只有正向的信号(比如:直流电压)。因此,适用于采集BLDC驱动电路中的总线电流。
- 如果V3大于0(电阻R3上拉到某电压),那么Vout=(Rf/R1)*(V2-V1)+V3。**Vout为基于V3的差分放大无疑。**适用于,输入信号有正向有负向的信号(比如:正弦电压)。因此,适用于采集PMSM驱动电路中的支路电流和总线电流。
- 做电机驱动时,因为运放都是使用单电源供电,因此,务必保证V2大于V1。
3. 运放电路的电容
按前文所提原理和方法,完成运放电路设计后,为了提高电路的稳定性和抗干扰能力,我们还需要在以下位置分别加1个电容:
- 位置1:运放电源和GND之间。单电源,V+和GND之间;双电源,V+和GND之间;V-和GND之间。
- 位置2:运放输出与反馈输入之间。负反馈,Vin-和Vout之间;正反馈,Vin+和Vout之间。
- 位置3:运放Vin+和Vin-之间
至于,电容大小和作用,就交给大家找度娘了吧。无非就是滤波和抗干扰那点事儿,本文就不赘述了。