1.电流采样方案
1.1.不同数量的采样电阻方案
? 电流采样是FOC中基础且重要的一个步骤,只有电流采样准确了整个算法才能获得好的效果。电流采样是采集续流电流,也就是在三个下管导通的时候采样,采集中间时刻的电流,可以反映平均电流(用电感续流来理解,在电感续流的时候,中间时刻的电流就可以反应平均电流)。电流采样方式一般分为三电阻、双电阻、单电阻采样,其优缺点如下图所示。
1.2.采样电阻的位置
? 这里使用下采样电阻,也就是电流采样电阻放在下端,有两个好处:一是共模电压接近0V,信号处理相对比较容易。二是在一个PWM周期内采样电阻存在不通电的情况,这样可以降低采样电阻的功率。另外,母线上还有一个母线电阻,这个电阻有两个作用。一是用于单电阻采样;二是采集母线电流,实现过流保护。
? 另外,存在将电阻串在相线上的情况,如下图所示。此时相比下电阻采样,采集的电流就不同了,因为电流始终是连续的,不存在采样窗口的问题。为了采集平均电流,可以采集三上桥臂导通的中间时刻的电流。但是这种方案运放的共模电压也高了,并且由于电流始终流过电阻,所以电阻的功率要比下电阻采样要高。
1.3.采样窗口问题
? 当下管的PWM占空比很小的时候,如下图所示的PWM3。由于ADC采样需要保持一定的时间,所以占空比很小的时候采集到的数据就可能不准。由KCL可知此时的三相电流的和为0,此时如果是三电阻采样方案,那么可以使用另外两相占空比大的算出第三相的电流。而如果是双电阻采样那么就没办法了,只能就这样使用,或者限制下管的最小占空比,这样才能保证采样的电流是准确的。
? 对于单电阻采样来说,需要根据不同的开关组合得到对应的电流,而且需要在一个PWM周期内采样两次,依靠算法来重构三相电流,所以是最困难的一种方案。
2.运放电路
? 为了降低采样电阻的功耗,一般采样电阻的阻值都很小。那么其两端的压差也很小,如果直接输入单片机的ADC进行采集,那么单片机很难分辨出来。所以为了提高分辨率,需要对电压进行放大。此外,这么小的电压信号在放大之前也很容易受到干扰,所以对于PCB的布局布线有要求,需要尽量减小干扰。
? 注意:采集到的电流信号不需要进行滤波处理,因为滤波会造成信号延迟。
2.1.运放和比较器
? 如下图所示,比较器的两个输入端接两个模拟信号,比较器的输出是一个数字信号,即高低电平。但是比较器内部是集电极开路或者漏极开路输出,所以需要在比较器的输出端接上拉电阻。比较器输出数字信号,他的跳边沿很陡。也就是说比较器的输出要么饱和,要么截止,而运放一般工作在放大区。所以按照输出特性曲线来说,比较器工作在下图的红圈处(注意下面的红圈也可以认为是负饱和区,只不过一般运放的负端接GND,那么就是0V,也认为是截止)。而运放工作在虚线内的放大区。为了让比较器的输出沿更陡,一般接一个正反馈。而运放工作在线性区。为了让运放不饱和,一般会接一个负反馈,抑制运放的饱和,让他工作在线性区。
? 此外,运放接入正反馈,也可以当做比较器来使用。
2.2.差分放大
? 所谓差分就是对两个信号求差,差分放大就是对两个信号的差值进行放大。其实这里根据采样电路就决定了使用的就是差分,因为需要计算的是采样电阻两端的压差,也就是电位差,这就是差分。
? 差分放大的好处是可以消除共模干扰,所谓共模就是信号对地来说,共模干扰就是信号相对于地这个参考点来说的干扰。如下图所示,如果Ia+和Ia-都存在对地的干扰,那么信号作差之后共模干扰就会减小,这样运放输出的信号就更加准确。
? 差分接法虽然可以减小共模干扰的影响,但是也存在差模干扰。所谓差模干扰,就是两根信号线之间的干扰。这是因为两个信号线之间的环路有磁场的变化,这样就会引入干扰。所以差模干扰跟信号走线也有关系,如果两根信号线之间的环路比较大的话,空间就会大,这样磁场变化引起的干扰也就会越大。因此差分接法走线的时候也尽量要走差分线,这样可以把环路空间减小,起到抑制差模干扰的作用。
? 如下图所示,上面的走线围城的面积空间大,环路大,这样信号线上有电流流过时,就会产生空间磁场,就会有磁耦合产生干扰。而下面的走线形式环路小,空间小,这样产生的干扰就小,下面这种形式的走线就是差分走线。
? 实际的PCB中,差分走线的间距放一倍的线宽就行,一般是0.3mm。并且走线必须要同一层,不在同一层的话需要打孔,打孔的话就会产生寄生电容,这样就会对信号产生影响,所以走线最好在同一层。
2.3.偏置电压
? 由于采样电阻上的电流可以从下往上流,也可以从上往下流,也就是两端的电压可正可负,那么输入运放的差分电压就是正负电压。如果运放是正负电源供电,那么此时运放可以输出放大的正负电压,但是单片机没法检测负压信号,所以运放只能单电源供电。如果运放是单电源供电,那么又无法输出负压,所以需要对负压进行处理,也就是对负压进行电压抬升,如下图所示。这个抬升电压也很简单,根据波形对称,再考虑单片机的AD采样电压为3.3V,所以选择3.3V的一半。
2.4.运放放大倍数的选择
? 为了提高分辨率,让运放的输出越接近3.3V越好,留一点余量一般考虑输出3V即可。这里的运放输出3V,指的是采样电阻流过电机的额定电流时运放的输出。所以这里也能看出来,如果电机的工况能够确定,这里的运放放大倍数也能确定。也就是如果选了个大电机,而工况都是小负载电流很小,那么按照电机额定电流设计的电路板的分辨率就会低,控制效果不好。这也解释了为什么ODrive在云台电机这种小电流的电机上没有进行电流采样,因为它是针对大电流设计的,小电流的时候分辨率太低了。
? 对于以下电阻的取值,需要根据放大倍数来选择。反馈电阻一般不建议大于100K,因为根据大量测试大于100K的话容易引入噪音,也就是干扰。最后根据运放的虚短和虚断就可以求得运放的输出和输入之间的关系。
? 在匹配好放大倍数的前提下,这里的2K电阻考虑到了一定的限流作用,而且功耗会低一些。其他没有很多的考虑,这里选择1K的电阻,然后和反馈电阻匹配好放大倍数也可以。
? 此外,有的时候会在运放的两个输入端接入一个pF级别的电容,用于滤除差分干扰。但是只要能够控制这个差分回路,可以不用接这个电容,接了这个电容可能会对信号造成延迟。所以即使加,也是加入一个很小的电容,pF级别。
? 运放的输出到单片机的ADC引脚之间有一个电阻R97,这个电阻一般取值为几十欧姆,要考虑ADC内部的采样保持电容的充电时间。这个电阻是充电阻抗,可以破坏走线寄生参数带来的震荡。因为走线上存在寄生参数,很容易满足震荡条件,加了电阻的话可以破坏震荡条件。(?)
2.5.运放选型
? 运放选型一般从供电电压、带宽、速度(压摆率)等角度考虑。供电电压一般参考单片机的电压来选择, 比如3.3V的单片机就选择3.3V供电的运放。带宽就是在这个频率范围内,放大的信号不出现衰减或失真,一般经验值选择5-20M。压摆率表示运放的输出速度,也就是输出电压的变化率,一般选择在5-10V/us。
? 此外, 采样电阻上的信号的频率并不等于载波频率,而是跟转速有关系,也就是一个电周期的频率大小。电流采样的运放不一定要选择高速运放,一般来说压摆率选择5V/us也足够使用。
|