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.

[参考译文] AM2432:TIDEP-01032:仅使用一个电机

Guru**** 2952510 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1619351/am2432-tidep-01032-use-only-one-motor

器件型号: AM2432
主题: SysConfig 中讨论的其他器件

您好、

如果我只想使用一台电机、是否必须重新配置 TDP 示例?

如果是、您能告诉我如何操作吗?  

 

你好

Alexander

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

    您好 Alexander ,

    我正在将您的查询发送给正确的专家,对上述问题进行评论。

    此致、

    Anil.

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

    尊敬的 Alexander:

    您可以从 MOTOR2 的编译器构建选项中删除预定义符号、还可以禁用 ENDAT 和 SDFM SysConfig 模块中属于第二个电机的通道、然后再次构建工程。

    BR、

    Achala Ram

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

    您好 Anil、

    非常感谢您的快速响应。

    我删除了以下编译器定义:

    - MOTOR2_ABS_ENC

    - MOTOR2_ENC

    - MOTOR2_INLINE_SDFM

    - MOTOR2_RPM_CMD

    下面是一个屏幕截图:

    在 SysConfig 中、我在 SDFM 通道 1 和 2 下已禁用。

    在 Endat I 处还禁用通道 1 和 2。

    出现了一个问题:多通道负载共享是什么意思?

    很遗憾、我无法再编译:

    我做了什么?

    问候亚历山大

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

    尊敬的 Alexander:

    您必须为其启用负载共享模式、因为当前应用将 RTU 内核用于 SD ch0-ch2、将 ENDAT 通道 0 用于 motor1、 将 PRU 内核用于 SD ch3-ch5、将 TX PRU 内核用于 motor2 的 ENDAT 通道 2。 此外、为 motor1 启用所有 SD 通道 CH0-CH2。

    应用中使用的 ENDAT 和 SDFM 配置文档。AM243x 电机控制 SDK:TIDEP-01032 EtherCAT 连接单芯片双伺服电机驱动参考设计

    关于该错误、有一些属于 motor2 设置的代码未正确包含在定义的#if 中、我们在预定义符号中定义了这些代码。 您可以注释掉此代码或将其包含在#if Defined (MOTOR2) 这样的新定义中、以跳过构建该代码。

    BR、  

    Achala Ram

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

    嗨、Achala

    非常感谢您的解释。

    我知道说明、这是我的行动建议...

    我已使用#if Defined (MOTOR2) 跳过源代码区域。

    但现在编译会抛出错误:

    很遗憾、我在编译器设置中找不到该定义。

    或者我的配置是否仍然错误?

    和 Endat:

    请帮帮我。

    BR

    Alexander

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

    删除或注释掉这些行。

    在 SysConfig 中、禁用 SDFM 通道 3-5。 其他设置看起来正常

    BR、

    Achala Ram

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

    好的、现在我可以编译并下载工程。

    谢谢。

    但不幸的是, Endat 不再工作的期望!

    我有一个 oszilloskop 连接到 ndat CLK 和数据线、我不再看到时钟。

    在代码中我陷入 endat_command_wait ()

    工程:endatdiagnistic_single_canel、我可以很好地运行它、然后得到位置值、还可以在示波器上看到 CLK 和数据。

    我希望我们运行示例。

    BR

    Alex

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

    可以共享 SysConfig 文件吗? 也可以将更改与此项目进行比较。 我更新了 motor1 的 SysConfig 设置、并在 #if defined(MOTOR2)  hal.c、 sys_main.c和 motor1_driver.c 文件中的条件内添加了代码以构建项目。

    该工程适用于连接到 AM243x LP 上的 BP Axis1 的电机和编码器。

    e2e.ti.com/.../universal_5F00_single_5F00_chip_5F00_servo_5F00_am243x_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zip

    BR、

    Achala Ram

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

    因此、syscofig 文件是不显眼的。

    但 SysConfig 工具的版本除外

    你:v1.22

    我的:V1.25

    这是我的 SysConfig 文件:

    e2e.ti.com/.../AM243_5F00_BP_2D00_AM2BLDCSERVO.syscfg.txt

    在源代码级别、我们将#if def MOTOR2 放在相同的位置:)

    Achala、我能不能在文件级别为您换用我的 R5F0-0 项目目录、只需复制它?

    BR

    Alexander

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

    尊敬的 Alexander:

    Achala、我是否可以在文件级别将我的 R5F0-0 项目目录交换为您的项目目录、所以只需复制它?

    可以、您可以复制所有文件或只复制修改后的文件。 两个选项都可以。

    在代码中、我被困在 endat_command_wait ()
    中

    您在日志中看到了什么? 您是否看到以下消息: Check whether encoder is connected properly?

    /* check initialization ack from firmware, with a timeout of 5 second */
        status = endat_wait_initialization(priv, ENDAT_WAIT_5_SECOND, gEndat_multi_ch_mask);
    
        if(status < 0)
        {
            DebugP_log("\r\t Check whether encoder is connected properly \n");
            
            gEndatInitStatus = SystemP_FAILURE;
            return;
        }
        else
        {
            gEndatInitStatus = 1;
        }

    我有一个 oszilloskop 连接到 ndat CLK 和数据线、我不再看到时钟。

    这不应该发生。 如果更改与我共享的文件匹配、至少应该能够在 clk 引脚上看到编码器的时钟。

    BR、

    Achala Ram

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

    嗨、Achala

    没有、我没有看到此消息!

    我认为这有两个原因:

    1.变量 status 被声明为无符号,但检查是否小于 0。

    2.我不确定使用 DebugP-Log() 时来自 R5FSS0-0 CPU 的消息输出的位置。

    如果我更改变量状态的类型、则会出错!

    您能否告诉我 R5FSS0-0 CPU 输出消息的位置?

    是带有接头 HDR_1x6 的 UART 1 吗?

    BR、

    Alexander

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

    尊敬的 Achala:

    同时、我已将一个端子连接到 J13 (HDR_1x6)、现在我可以看到 R5FSS0-0 输出的 debugP_log ()。

    有两种情况:

    我收到了以下消息:

    1、通道 0 初始化完成

    但无周期性 Endat 传输。  系统尝试在 HAL_SetupEncoder () 中设置定期触发器,然后卡在 endat_command_wait () 中。

    或

    2.未连接编码器

    这些状态相互交替。 每次启动时、它们都会切换。

    我现在的问题是:我是否必须为 Endat 2.2 设置/配置某些内容?

    BR

    Alexander