评论
主轴脉冲输入必须作为时钟输入路由到此处的计时器。如果要使用 D2 以外的引脚,则必须相应地更改它,并且还必须更改定时器。有关可能的备选方案,请参见STM32F411 数据表中的表 9,备选功能映射。 |
遗憾的是,在 F401CC 上,端口 D 不可用且 TIM3_ETR 没有备用引脚。 driver.h #define RPM_TIMER_N 3 driver.c 这是对的吗 ? |
亲爱的泰杰奥, 我知道为什么 stm 在启动时崩溃,我启用了 VFD 插件和 Spindle_sync,但是当启用 VFD 时,没有设置 hal.spindle.set_state! #if VFD_SPINDLE != 1 此致, 约阿希姆 |
应该是——你可以试试?
看起来您的驱动程序代码已过时 –最近更改了主轴处理,所以如果您更新可能没问题? |
我会尝试一下,我会给你一个反馈,对于低引脚 MCU 来说,这将是一个不错的选择
真可惜,我调试了你已经完成的代码……时间不足是错误的☺ 我可以在哪里向您发送小费以感谢您的出色工作? |
美好的一天 terjeio,朋友我有一台 emco compact 5 CNC 车床和一台带 grblHAL 的 stm32f411,但我不知道如何配置编码器我找不到它的配置位置和输入引脚,我仍然很专心,谢谢 |
@Juank23查看st_morpho_map.h文件,搜索 SPINDLE_SYNC_ENABLE 符号。您必须将这些定义添加到您正在使用的地图文件中。请注意,目前仅支持 D2 作为主轴编码器脉冲输入的输入。上面这条评论中的信息。 |
早上好,感谢您的及时回复,朋友,我将这些行添加到代码中,但是有一个问题,您必须对代码进行任何其他修改?? 在 iosender 中,当它处于车床模式时,在尝试使线程保持专注时会出现问题,非常感谢。 |
而问题是……? 首先,您必须确保正确处理主轴编码器输入。启用后,ioSender 中的 RPM 显示变为“实时”并显示从编码器读取的真实 RPM。可以?“实时”值是否与现实相符? 主轴同步运动需要索引脉冲,可以用 当正确读取编码器脉冲时,必须使用 $80 – $82 的设置来调整 PID 回路。为此,最好启用 PID 日志记录。这是在config.h 中找到的编译时选项。启用后,ioSender 中会显示一个新选项卡,其中以图形方式显示日志中的数据。要进行调整,请发出 G33 命令并在之后获取数据。然后调整 PID 参数并重复,直到获得良好的响应。这是 PID 调整的一个操作说明,更多内容可以通过搜索pid 调整找到。 |
如果我没看错这个翻译,你就没有设法使用 PID 日志进行编译。这是一个在config.h 中找到的编译时选项- 取消注释 PID_LOG 定义,重新编译和刷新,PID 选项卡应该会出现。 从上面的图片看,您似乎还没有在地图文件中添加/取消注释这一行? |
411 Blackpill 没有引出 PD2 引脚,因此需要进行更多代码更改才能使用其中一种替代方案。PA15 目前未被使用,因此它似乎是最佳候选者。 |
美好的一天 terjeio,我告诉你已经出现了 pid 调整选项卡,我已经更换了转塔电机并且我已经改装了步进电机以便自动更换工具,转塔中有 6 个工具,我还添加了一些限位开关,但我不知道如何创建宏来使工具从 gcode 更改,我用一些小宏做了一些测试,并将它们添加到 gcode 中以查看它是如何工作的并且它工作正常但它应该是自动,从 gcode 我看到 t1,t2,iosender 暂停以进行工具更改,但由于我没有制作适当的宏,因此无法使用视频查看项目感谢您的帮助问候 |
我刚刚上传了用于交换定时器的代码更改,因此使用一些端口 A 引脚进行主轴脉冲输入。仅使用模拟器进行了测试,将 RPM 计时器的中断驱动扩展到 32 位以产生无效值的风险很小。需要在真机中进行测试以验证此更改。blackpill 地图已更新为使用此选项。 @Juank23如果没有关于如何控制炮塔的详细信息,我无能为力。请打开另一个问题,因为它与此无关。 |
早上好 terjeio,我做了一些小测试 |
您好,
我继续我的工作,从 blackpill 创建一个主板,我测试了这个目标上可用的所有功能。
当我启用 spindle_sync 时,一切正常,但是当我将 PPR 设置为 600 时,因为我的编码器是 600PPR,blackpill 无法启动。
Windows 设备管理器中没有可用的串行端口,我必须重新刷新 stm 才能使其再次工作。
我将索引和脉冲设置为引脚 B3 和 B4 以具有 2 个不同的计时器,我做错了吗?