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.

[参考译文] CCS/TMS320F2.8069万M:Motorware和BISS编码器

Guru**** 2333840 points
Other Parts Discussed in Thread: MOTORWARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/581421/ccs-tms320f28069m-motorware-and-biss-encoder

部件号:TMS320F2.8069万M
主题中讨论的其他部件:MOTORWARE

工具/软件:Code Composer Studio

尊敬的Motorware团队:

我正在使用具有controlCARD TMS320F2.8069万M和Lab5e (无传感器)的DRV8312EVM套件。

我的问题是:

对于我的应用,我需要绝对定位和非常恒定的旋转(低于80 U/min)

我认为这只是在连接电机编码器时才可能实现的。 你怎么看?

我的电机有一个BISS编码器,我可以通过SPI读取位置。

下一步是将此信息输入电机发动机。

例如,我使用带有QEP编码器的lab12a,我认为我必须计算一个电子天使?

Ctrl_runOnLine_User (句柄,pAdcData,pPwmData,电子角度);

您能帮我说我如何使用此信息使MotorEngine更好地运转。

非常感谢,

Alex

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以参考lab12x或lab 13x,将电机编码器连接到控制器,从编码器获取信息,要计算转子角度和转换器至iQ24格式,请使用FOC的角度,这应可提高低速性能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    感谢您的回复。

    我的BISS编码器给出了0-1.6384万之间的值。 我的电机有4极。

    如何计算FOC的电子天使?

    谢谢Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    角度是Q24格式在InstaSPIN中,您可以使用以下公式,N是编码器的值。
    电子天使= N*2^24/1.6384万/2,或=_Iq (浮点) N/1.6384万/2
    如果electronicalAngel >_IQ (1.0),则electronicalAngel = electronicalAngel-_IQ (1.0),
    从_IQ (0.0)到_IQ (1.0)的角度为顺时针,您需要添加一个负号以将角度从_IQ (-IQ 1.0)设置为_IQ (0.0)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢Yanming,

    通过此计算,我获得了有关0.0 和0.5 的电气天使。

    在计算中,有一个2分。 为什么要这样做。

    我的马达不旋转。 电流过高。

    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,

    我的电机按照以下计算旋转,但不是很好。

    如果(encoder_pos >= 0 && encoder_pos < 4096)
    elec_angle =_IQ ((float) encoder_pos/4096);
    如果(encoder_pos >= 4096 && encoder_pos < 8192){
    TEMP =编码器位置-4096;
    elec_angle =_IQ ((float) temp/4096);
    }
    IF (encoder_pos >= 8192 && encoder_pos < 1.2288万){
    TEMP =编码器位置-8192;
    elec_angle =_IQ ((float) temp/4096);
    }
    如果(encoder_pos >= 1.2288万 && encoder_pos < 1.6384万){
    TEMP =编码器位置- 1.2288万;
    elec_angle =_IQ ((float) temp/4096);
    }

    我的电机有4个极,因此电气角度必须从0.0 到1.0 四次。
    我现在的问题是我不能改变马达速度。
    是否必须使用编码器计算当前的MotorSpeed?

    Alex
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    极或极对? _IQ (0.0)至_IQ (1.0)用于电频,编码器应为机器频率。 如果是打字错误,则公式为
    ElectronicalAngel = N*2^24/(1.6384万/2),或=_Iq ((浮点) N/(1.6384万/2))(如果极对为2)。 您需要对编码器进行偏移校准,以获得零角度的编码器偏移值。
    您可以在编码器或InstaSPIN的计算中使用速度,如果InstaSPIN的马达参数正确,则两者都相同。