This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我在用DRV8301-hc-c-kit_v105做BLDC的转矩控制。在计算转矩的上升以及下降斜率的时候碰到了一个问题。以转矩下降的斜率为例,可以写作如下表达式:
f_down= -(ea^2+eb^2+ec^2)/(wrm*LS) - RS/LS*Te
ea eb ec 分别是abc三相的反电动势,和转速成正比,wrm是机械角速度,Te是转矩,和电流量成正比。
在计算转速的时候,由于是利用IQ数学库进行运算没有办法处理浮点数,所以将真实的转速除以了一个BASE_FREQ=200, 另外由于我计算的是转速的单位是rad/s,所以相当于DSP程序里计算得到的IQ(24)格式的转速比真实转速小了200*2*pi倍,最终导致这一项:-(ea^2+eb^2+ec^2)/(wrm*LS)比实际值小了1256倍。但是电流检测量(也是IQ格式)比实际电流小了41.25倍,也就是说转矩比真实转矩小了41.25倍。这两个量相差的数量级不一样,没有办法进行运算。所以,我不知道该怎么计算f_down了。我最终目的是通过f_down和f_up来计算占空比以实现降低转矩的脉动。
请各位专家帮帮我。
请问您使用的是哪款 C2000? 定点C28x? 还是浮点C28x?
如果您使用的是基于F2803x的原始示例项目,最好将计算转换为使用IQmath格式,这样可以减少计算时间。
正如之前提到的。 如果您需要在 ISR 中运行代码,请尝试参考示例代码并使用 IQmath 来计算该值。 您必须将公式中的所有值转换为 IQ 格式。