主题中讨论的其他器件:TMS320F28335
工具与软件:
问题说明: 我有一个模拟绝对编码器、它每45度提供4 -20mA 的电流输出。 为了从该编码器读取位置数据、我将 ADC 引脚与120欧姆下拉电阻器一起使用。 由于输出介于4 -20mA 之间、因此我得到预期的480至2400毫伏之间的输出电压。 使用此值、原始 ADC 值偏移为0、然后除以最大输出值以在0-1之间进行缩放。 最后、通过乘以4 π、将标幺值位置转换为弧度。 但我将此编码器用于32极 PMSM 电机中的位置检测、这意味着编码器每45度周期需要2个22.5度周期。 为了实现这一点、我将使用 mode 函数将45度信号分为两个周期。 问题在 Mod 操作后立即开始、像图像中所附的那样、大约每隔22.5度周期中间出现一个尖峰。

已尝试的解决方案: 我将使用 Simulink 编写和生成代码。 观察原始 ADC 值显示没有尖峰、也不使用示波器检查 ADC 的输入电压。 缩放的值也介于0-1之间、且不会超出范围。 我还尝试了使用不同的编码器并得到相同的结果。 在 F280049C Launchpad 上而非我自己的硬件上运行相同的代码也不能解决问题。 但是、如果针对不同的处理器(TMS320F28335控制卡)运行此完全相同的算法、则编码器的位置感应没有问题。
我应该采取哪些其他步骤进行故障排除? 正如我所说的、将 TMS320F28335控制卡与定制的扩展坞卡一起使用不会出现任何问题、这意味着算法本身运行良好。 定制硬件拥有控制卡所具有的与 ADC 和模拟子系统相关的所有元件(ESD 保护除外)、因此它看起来也与硬件无关。 以下是我用于 ADC 输入的设置。

