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.

[参考译文] LP-AM243:LP-AM243

Guru**** 2399305 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1492714/lp-am243-lp-am243

器件型号:LP-AM243

工具/软件:

您好、

我有 AM243x-LP 并 修改了示例代码。 "C:\ti\motor_control_sdk_am243x_09_02_00_09\examples\position_sense\bissc_diagnostic\single_channel\am243x-lp"。  修改代码以集成 BiSS-C 编码器。  我 使用了一个8极(4个极对) 2.6安培连续电流 PMSM 电机、  可以顺利运行该电机。 现在、我有一个不同的伺服系统、它是系统的主要组件。 它具有20极点和15安培连续电流。 我无法运行代码。

rtuSddfIrqHandler 例程只是检测 SDFM 处的 ADC 偏移、并获取 mechThetaOffset、它会阻止电机。 完成此操作后 、设置 gSDDFOffsetComplete 并运行 CLOSED_LOOP_speed。 它会运行、但电机相位上的 PWM 会消失。 是否有跳闸区在后面运行、或者这是 SDFM 的过流? 此电机没有负载、应以2至3安培的电流运行...

#define APP_EPWM_OUTPUT_FREQ (APP_EPWM_OUTPUT_FREQ_20K)/* init freq */

#define ISR_PRD_IN_seconds 0.000050

cmp3 = 15000;
cmp0 = 5000;

300000000、/* IEP 时钟*/的值
20000000、/* SD 时钟的值(应与 SD 时钟值完全相等)*/

BiSS-C 运行良好、但在"rtuSddfIrqHandler"例程中、以下代码会生成一个镜像、由于转子被阻止、我在源相位上看到 PWM 信号。 计算 cmp0、cmP1、cmp2后、设置这些值会折叠 PWM (在 pruEncoderIrqHandler 中)。

/* ADC 偏移完成、将转子锁定到电气0 */
computeCMPx (0.167、gEpwmPrdVal、&dc0、&cmp0);
computeCmpx (-0.167、gEpwmPrdVal、&DC1、&CMP1);
computeCmpx (-0.167、gEpwmPrdVal、&DC2、&cmp2);

/*写入接下来的 CMPA 值。 交换 cmp0和 cmp2、因为硬件将 PWM0连接到 C 相、将 PWM2连接到 A 相*/

writeCmpA (gEpwm0BaseAddr、cmp2);
writeCmpA (gEpwm1BaseAddr、CMP1);
writeCmpA (gEpwm2BaseAddr、cmp0);

此致、

Vedat

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

    Vedat

    很抱歉耽误你的时间。 我们正在研究这一主题并咨询专家。  

    此致

    Dhaval

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

    尊敬的 Vedat:

    您是否 elecTheta 为10个极对计算了正确的值?

    在该示例中、 elecTheta 计算结果针对4个极对进行了硬编码。 则需要针对10个极对进行更新

    BR、

    Achala Ram