看样子是做了些工作了. 不过我手头没有 4.0 的库, 不能打开来看一看跟以前版本的区别了. 如果可以的话, 请发一份我好好看看.
回头就事论事地跟你讲一讲这个问题.
严格地讲, 霍尔信号是每 60°就有一个信号变化的. 我用的早期版本却丢弃了一半信号, 导致 120°触发一次定时中断. 原因其实就是为了简化中断服务. 但其实这个方式是有问题的. 因为 120°电角度太大了. 容易导致位置不准,错误的信号导致反向和震动. 为此我修改了中断服务, 改成了 60°中断响应一次. 当然效果还是明显的.
此外, 不知道楼主的电机是哪里来的, 不要太相信电机的霍尔信号, 你可以手动转动电机, 设法尽量匀速, 你会发现很多电机的 60°换相的精度其实不高的. 这也是很多电机工作出现死点的重要原因. 应付这个问题, 你还得优化变相角度以获得更准确的换相位置, 并用以估算更精确的角度, 得到电机更平稳的运转.
最后, 还有个坏情况, 劣质电机的霍尔信号会夹带很多不在换相点上出来的霍尔信号毛刺. 这是个非常棘手又难消除的信号. 对此软件上还可以增加信号过滤方法加以消除.
说了这么多, 希望楼主如果可以的话, 请发一份 FOC4.0 我细细看看. 或许还会其他原因.
|