旋变监控中的采样混叠问题


背景和问题

汽车的驱动电机控制,转子位置和速度,都是通过一个专用的旋变芯片(RDC)来实现的。

RDC的基本原理是,给旋变输出10kHz的正弦激励信号,旋变在激励信号的基础上,把转子位置的sin和cos值进行调幅编码,反馈给RDC。RDC根据sin和cos信号进行解码锁相,得到转子位置信息。

为了做功能安全,需要监控RDC是否正常工作。最简单的思路就是,用CPU的AD对sin和cos信号进行采样,cpu重复计算出角度值,并和RDC输出的角度值进行比较。如果两者结果基本一致,可以认为RDC正常工作。

系统框图
由于sin,cos是一个10kHz调幅的信号,如果CPU也以10kHz的频率对其进行采样,就可以完美的实现解调。
以旋变静止为例,转子位置固定为 θ r \theta_r θr,输出的正余弦信号为 s i g _ s i n = s i n ( ω e t ) ∗ s i n ( θ r ) , s i g _ c o s = s i n ( ω e t ) ∗ c o s ( θ r ) sig\_sin=sin(\omega_et)*sin(\theta_r),sig\_cos=sin(\omega_et)*cos(\theta_r) sig_sin=sin(ωet)sin(θr),sig_cos=sin(ωet)cos(θr).

理想采样结果
以上图为例,旋变静止时,若以10kHz的采样频率,sig_sin和sig_cos每次的值均相等,结果均为一条直线。
按下式计算得到转子位置也为一常数。
θ r = a t a n ( s i g _ s i n s i g _ c o s ) \theta_r=atan(\frac{sig\_sin}{sig\_cos}) θr=atan(sig_cossig_sin)
但实际结果却事与愿违,通常sig_sin和sig_cos不是一条直线,而是一个低频的正余弦信号。如下图所示
在这里插入图片描述

原因分析

具体的原因应该是频率不匹配,也即RDC的激励信号频率和cpu的采样频率不完全相等。
理论上RDC输出的激励频率10KHz是按照RDC的晶振计算得到的。CPU的10kHz采样频率,是按cpu的晶振计算得到的。
如果两个晶振有偏差,则就不完全是10kHz了。
比如两个都用的是标称值10MHz、误差±20ppm的晶振。误差20ppm的含义为温度范围-20℃~+70℃,晶振的频率误差范围是:±(10MHz × 20ppm)=±200Hz。
对于输出的10kHz信号,则误差为±(10kHz × 20ppm)=±0.2Hz。就是说5s内(1/0.2=5),会有一个周波的差距。
频率偏差造成的混叠
所以就在sig_sin和sig_cos中存在了低频混叠。

影响

频率偏差造成的低频混叠,对sig_sin和sig_cos幅值影响是一致的,没有相位差。

角度计算,用的是 s i n _ s i g c o s _ s i g \frac{sin\_sig}{cos\_sig} cos_sigsin_sig,低频混叠并不影响两者的商。

但两者的符号在发生变化,比如sig_sin和sig_cos均为正值时,计算的转子角度为 θ \theta θ; 如果都为负值,计算的角度就为 π + θ \pi+\theta π+θ

解决办法

这里篇幅太小,写不下。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值