工具/软件:Code Composer Studio
我有两个板。 其中一个使用 ADC B0、B2、B3从3个相位读取电流。 该板工作正常、我可以轻松控制电机的速度。 以下是电机未旋转时的相电流开关(目标速度= 0rpm):
另一个板使用 ADC A1、B3、B1读取电流。 这样做是为了利用模拟比较器、但目前没有使用模拟比较器。 该电流传感器信号的值是另一个板上值的1/3、因此可以在这些 ADC 引脚上应用增益3。 我可以在 ADC 寄存器中看到、这一切都是正确的。
当我尝试在这个电路板上运行完全相同的程序(instaspin lab 5b 的修改版本)时、我唯一要做的更改就是移动 hal.c 中的 ADC 电流引脚 当我运行程序时、它会针对任何大于0的目标速度跳闸。 当我将它保持在0 rpm 时、我看到这个波形:我在硬件中找不到任何可能导致这种情况的问题。 对我来说、死区时间似乎有所不同、但我认为这在项目中是设定的、并且没有改变。 是否存在导致此差异的浮点值?