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
好的,我重新整一下校准看看。谢谢!