此编译级别可验证 Σ-Δ 是否在运行并且它的直流失调电压是否设置正确,EnDat 机械 θ 失调电压根据 EnDat 反馈计算,并且 PWM 路径正常运行以使电机在开环控制模式下旋转。
- 转至 settings.h 文件,并更改定义以匹配以下内容(开环控制,并启用调试缓冲区):
- 在调试模式下编译项目,然后将其加载到 MAIN_Cortex_R5_0_0 中。
- 加载完项目后,打开“single_chip_servo.c”文件并找到以下行,然后点击右键并选择“Run to Line”。
- 在内核达到该行并停止之前,电机轴应锁定到位(电角为 0)。
- 一旦内核达到该行,程序已将所有相设置为 0,0,0,对所有三个相电流读取 SETTLING_COUNT 次(默认为 8192)并据其计算直流失调电压。一旦发现 Σ-Δ 偏移量,程序会通过将所有相设置为 1,0,0 来将轴以 0 电角锁定。一旦锁定,程序便会对 EnDat2.2 机械角反馈值读取 SETTLING_COUNT 次(8192),并计算机械 θ 和电 θ 之间的偏移量。
- 要确保反馈路径(Σ-Δ 和 EnDat2.2)正常运行,请打开“Expressions”窗口并观察“gSddfChOffsets”和“gMechAngleOffset”。
- Σ-Δ 偏移量应介于 -1000 至 1000 之间。如果偏移量不在此范围内,或卡在中标度或满量程值(131072 或 272144)处,则您需要检查您的跳线设置是否选择 Σ-Δ(J2、J4、J6 保持开路)和全部 3 个相电流(J1、J3 和 J5 连接引脚 1 和 2(离功率级最近的两个引脚))。如果所有跳线设置均正确无误,但您的一个通道仍卡在此范围外,则可能存在硬件问题(迄今已在一个板上的单通道上观察到)。
- gMechAngleOffset 的值应介于 0 和 90 之间,并表示编码器机械角和电机绕组内电角之间的偏移量。此值应在演示的多次运行之间保持相对稳定。如果您注意到此值在不同运行中是不同的,则电机和编码器轴之间的耦合器可能已松散,而这将导致打滑。如果运行演示时耦合器中打滑,则为 Park 变换提供的电角将是错误的,并且电机不会平滑旋转(在所测试的第一个电机上观察到了这一点)。
- 一旦在上面确认了 Σ-Δ 和 EnDat2.2 路径,则您可以恢复内核,使其开始运行开环控制,电机应该开始旋转。
- 在电机旋转时,您可以查看调试输出:
- 连接到 OTHER R5F 内核“R5_1_0”并加载 SYMBOLS ONLY:
- 导入三个 CCS 图以显示在开环控制模式下使用的相 A、B 和 C PWM 输出值。
- 这会显示处于开环控制模式下时输出的空间矢量调制 PWM 值。您可以看出,三个相是上图中的每个偏移量。如果您想要在 Matlab 或 Excel 中将这些数据一起操作或为其绘图,则可以通过 CCS 内存浏览器转储这些数据。
- 开环控制演示到这里就结束了,现在已完成对反馈路径和输出路径的验证(假设上面显示的您的偏移量值看起来正常并且您的电机在旋转)。
- 要在开环控制模式下停止电机旋转,您可以关闭 EVM。