主题中讨论的其他器件:controlSUITE、 TMDXIDDK379D、 C2000WARE、 SFRA
尊敬的团队:
当我的一位客户使用17位多转绝对 Tamagawa 编码器时、编码器可以在 LEM 电流感应模式下正常工作、但在切换到 SDFM 模式后会发生编码器验证错误。
sdfm 模式是否会干扰 T-format 函数?
此致
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.
尊敬的团队:
当我的一位客户使用17位多转绝对 Tamagawa 编码器时、编码器可以在 LEM 电流感应模式下正常工作、但在切换到 SDFM 模式后会发生编码器验证错误。
sdfm 模式是否会干扰 T-format 函数?
此致
您好 、Subrahmanya:
我的客户反馈:
在项目文件中、与编码器和 SD 采样相关的器件由 ti 提供。
他发现、当在评估项目中将 BUILDLEVEL 设置为 FCL_LEVEL2时、可以实现 T-format 和 SD_CURRENT_SENSE 电流采样模式的兼容性。 但是、当 BUILDLEVEL 设置为其他 FCL_LEVELx 时、绝对编码器将异常。
这应该证明 FCL_LEVEL2未涵盖、其他 FCL_LEVELx 可能会被 IO 函数涵盖或未完全初始化、因为 FCL 项目参考文档中未提及此问题。
还有其他可能的问题吗?
如果客户使用 MotorControlSDK 中的示例项目、则 T-format 编码器可以与 SDFM 电流感应配合使用。
[引用 userid="306637" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1026122/tms320f28379d-using-problem-of-tamagawa-encoder/3794421 #3794421"]但当 BUILDLEVEL 设置为其他 FCL_LEVELx 时、绝对编码器将异常。 [/报价]您能否要求您的客户对此进行详细描述? 示例代码中是否有任何更改?
您好、Yanming:
硬件愿景: IDDK2.2.1
软件视觉: C:\ti\c2000\C2000Ware_MotorControl_SDK_3_02_00_00\solutions\tmdxiddk379d\f2837x\f2837x\fCL_f2838x_tmdxiddk_CPU1
在使用 SD_CURRENT_SENS 电流采样方法和 T-format 绝对编码器的情况下、运行 FCL_LEVEL2 6级没有问题;其他 FCL_LEVEL1、3~5似乎不起作用。
在 FCL_LEVEL1阶段、客户反复复位、重新启动并运行、大多数情况下、编码器验证失败、导致 runMortor 被强制设置为 MOTOR_STOP。 观察"位置"和"匝数"是异常数据、因此电机无法正常运行。 有时重复测试、编码器可以在特定时间正常读取"位置"和"转弯"数据。 此时将不会出现验证错误、电机可以长时间运行。
在 FCL_LEVEL1级、当 enableFlag 被设定为1时、编码器初始化概率为异常。 他观察 Enc_do (绿色、编码器返回数据)、Enc_DI (蓝色、IDDK 发出启动命令)、TxEn (红色、发送使能)信号、异常点在启动时的第二个 TxEn 上、并且 Enc_DI 发送的数据在 TxEn 之前。
再看一下正常信号、第二个 TxEn 和 Enc_DI 基本上同时运行。
在正常情况下、TxEn 的处理方式如下:在发送数据之前、TxEn 首先有效、在将数据发送到缓冲区之前延迟1~2us。 发送缓冲区为空后、延迟1~2us 以清除 TxEn 并等待接受。
您好、Yanming:
感谢您跟进此问题。
关于编码器的电源、客户告知按照用户指南的要求直接短路了"5V0"和"5V0 Enc"、这样就省去了电源因素。
根据客户分析、编码器的异常与 Txen 和 Enc_DI 之间的第二个时序异常直接相关。 在客户重复测试后、启动后、只要第二个 Txen 滞后于 Enc_DI、编码器的后续读取就会异常。
他在 PC 的串行调试助手上监控编码器接口 RS485的 D+和 D-。 连续观察和分析后、实际读取的编码器数据正常。 这表明 Tamagawa 正确识别了 CLB 28397发出的编码器读取命令、但 SPI 28379接收到的数据异常。
CLB 程序的初始化是否会导致 SPI 处于未对齐状态?
此外、3级下的异常操作不应是 IQ_ref 大小的问题、但编码器无法正确识别它、无法运行到下一步。
此致
您好、Yanming:
我的客户重新安装了 MCSDK、并确保在原始 TI 硬件(手册中指示的编码器电源飞线除外)和原始 FCL_f2837x_tmsxiddk 项目文件下执行该操作。 编译条件如下:
// User can select choices from available control configurations // #define CGND COLD #define BUILDLEVEL FCL_LEVEL2 //Changing this to FCL_LEVEL2 & 6 is no problem, other levels will be wrong. #define SAMPLING_METHOD SINGLE_SAMPLING // DOUBLE_SAMPLING // #define FCL_CNTLR PI_CNTLR // CMPLX_CNTLR // #define CURRENT_SENSE SD_CURRENT_SENSE // LEM_CURRENT_SENSE // #define POSITION_ENCODER T_FORMAT_ENCODER // QEP_POS_ENCODER //
伺服电机是一款带有客户购买的 Tamagawa 编码器的4线对400W 伺服电机。 FCL_LEVEL2和6的正确运行应该能够消除电机问题。
客户感到困惑的是、FCL_LEVEL6仅根据 FCL_LEVEL4添加了 SFRA、但 FCL_LEVEL6正常运行、但 FCL_LEVEL4不起作用。
客户猜测这个问题只在某些组合下出现。 TXEn 和 Enc_DI 可能尚未达到同步、并且将继续受到影响。 相反、如果波形图中圈出的第二个点正确同步、则不会出现编码器错误问题。
发生错误时、通过高速 RS485串行端口进行观察:初始化完成后、手动旋转电机轴、观察到的命令传输和编码器数据反馈实际上正常。 是否可以理解初始化失败会影响后续数据读取和识别? 如何解决此问题?
此致
您好 Ramesh:
客户使用原始代码而不添加其他代码、并使用 IDDK2.2.1上的板载仿真器。 这意味着 它们使用与示例工程中相同的 projectspec 和链接器 cmd 设置。
客户建议在 FCL_LEVEL1和 FCL_LEVEL2之间进行测试(其他编译条件保持不变)、FCL_LEVEL1可以偶尔正常运行、而 FCL_LEVEL2可以始终正常运行、这非常具有代表性
此致
您好 Ramesh:
硬件: IDDK2.2.1;软件:IDE CCS10.4.0.00006; MCSDK 3.0.1/3.0.0
编译条件如下:
#define CGND COLD #define BUILDLEVEL FCL_LEVELx // "x" is the only item that has been changed. #define SAMPLING_METHOD SINGLE_SAMPLING // DOUBLE_SAMPLING // #define FCL_CNTLR PI_CNTLR // CMPLX_CNTLR // #define CURRENT_SENSE SD_CURRENT_SENSE // LEM_CURRENT_SENSE // #define POSITION_ENCODER T_FORMAT_ENCODER // QEP_POS_ENCODER //
我的客户测试了 SDK、发现仍然会出现相同的问题。 也就是说、FCL_LEVEL2可以一直正常运行、而其他 FCL_LEVEL1、3~6具有不同度的编码器验证错误。
但较旧版本3.0.0和3.0.1会好得多、编码器将以较高的概率进行正确检查。
此外、这三个版本具有以下特性:正确或错误地检查编码器后、只要编码器未复位、就会保持该状态、并且在复位后才会出现新的情况。
此致