haiming8685 发表于 2025-6-28 08:32:34

但是这部分屏蔽后程序编译正常,烧录后程序不能运行

haiming8685 发表于 2025-6-28 08:34:38

我就是想不通SPI中断初始化屏蔽了,就相当于SPI中断没启动,可为什么将SPI中断函数屏蔽后程序确无法运行

王昱顺 发表于 2025-6-28 10:05:05

haiming8685 发表于 2025-6-28 08:34
我就是想不通SPI中断初始化屏蔽了,就相当于SPI中断没启动,可为什么将SPI中断函数屏蔽后程序确无法运行 ...

中断函数内存在着处理电角度相关的程序,屏蔽了就没法获取正常的电角度了(直接读取到的数据需要转换),所以就不能用了

haiming8685 发表于 2025-6-28 15:49:28

王工您好!是不是要把从ABZ读取的数据再放到SPI中断中处理才行

haiming8685 发表于 2025-6-28 15:51:57

按道理说,SPI没有初始化的情况下,SPI中断应该是关闭的,也就相当于程序不会进入SPI中断才对的

王昱顺 发表于 2025-6-28 18:21:53

haiming8685 发表于 2025-6-28 15:49
王工您好!是不是要把从ABZ读取的数据再放到SPI中断中处理才行

这个程序各个部分之间的耦合相对复杂一些,如果想要更简单的方式,可以详见https://www.stcaimcu.com/thread-17266-1-1.html这个版本

haiming8685 发表于 2025-7-1 18:13:05

王工您好!请帮我看一下程序到底哪里有问题,写入芯片调为开环模式下电机能平稳转动,就是速度慢一些,调为速度模式时电机抖动不能运行,我的电机是ABZ增量型编码器,我在您的程序中做了一段编码器数据读取替代了SPI部分,请帮我看一下这段程序到底问题出在哪里了。谢谢!

haiming8685 发表于 2025-7-1 18:18:42

程序烧录后上电也进行了校准,甚至校准好几次都不行,校准时电机大约转动1/4圈的样子,从串口也可以看到编码器角度值在不断变化后停止在一个值上,就是按键启动时速度模式下电机抖动转不起来。

王昱顺 发表于 2025-7-1 20:56:53

haiming8685 发表于 2025-7-1 18:18
程序烧录后上电也进行了校准,甚至校准好几次都不行,校准时电机大约转动1/4圈的样子,从串口也可以看到编 ...

我猜校准应该是没有问题的,因为校准是纯粹的开环驱动,问题应该还是出在零点位置。
ABZ编码器因为并非单圈绝对值,所以并不适合我的这套校准方案,需要单独写一套。用于转到零点Z才行,因为ABZ编码器其实是增量编码器,上电不能直接读取到角度值,只能过了一次零点后才能确定

haiming8685 发表于 2025-7-2 07:14:43

好的,我重新整一下校准看看。谢谢!
页: 26 27 28 29 30 31 32 33 34 35 [36] 37
查看完整版本: 高性能FOC | 32F12K54-FOC Lite V2 开源!稳定无异常==已有更强的AI8051U方案