GrblHAL 1.1 关于归零的相关配置问题

一、问题导入

最近在研究grblHAL控制板,相对于基于arduino的grbl,grblHAL有着更出色的性能表现以及更高级的配置。我选择使用主芯片为STM32F401的grbl控制板,上位机选择开源的LaserGrbl,用来制作激光雕刻机。然而在实际配置中遇到不少问题。

其他配置不算难,与grbl一致,重点就几个方向、步数有关的参数。很快,只要不考虑机器绝对坐标,雕刻机就算完成了。

但是研究归零功能的时候,一直报错,不知道问题出在哪里。关键是网站关于grblHAL相关资料太少,没有足够多的案例。因此我在结合源码阅读和Github评论区案例基础上,花了几周的时间,终于搞懂了一些细节,整理了以下总结。

二、grblHAL与归零有关的setting参数配置

在Lasergrbl中,打开grbl配置即进去各类参数配置界面,比较坑的是界面中其中一部分参数没有解释介绍,所以花了一段时间从源码和实践中搞清楚作用。

  • $5 Invert limit pins
    • 翻转所有限位开关限位触发信号,mask格式(Lasergrbl显示是boolean格式,但是源码使用是mask,应当是grbl版本问题),这个配置应当因为电路板决定,是高电平触发还是低电平触发,默认是高电平触发。mask格式,即转化为八位二进制来表示,格式为00000ZYX。假如需要Y轴和X轴均反转,则需要的值为00000011,换算成10进制为3,那该项就需要填写3。
  • $22 Homing cycle enable
    • 使能归零功能,boolean类型,设置为1则使能。设置此选项后LaserGrbl将会在下方显示回零按钮。
  • $23 Homing direction invert
    • 翻转各个轴的回零运动方向,改参数与限位开关的安装位置有关。mask格式,即转化为八位二进制来表示,格式为00000ZYX。假如需要Y轴和X轴均反转,则需要的值为00000011,换算成10进制为3,那该项就需要填写3。
  • $24 Homing locate feed rate
    • 定位进给速度,mm/min,该速度是某一轴在精确定位时的移动速度,通常比第一次移动速度慢,发生在首次回零撞到限位开关后,拉开一定距离,然后再次向限位开关移动的速度。
  • $25 Homing search seek rate
    • 寻找限位开关移动速度,mm/min,收到回零指令后首次寻找开关而移动的速度,通常会比$24快一些。
  • $26 Homing switch debounce delay
    • 限位开关消抖,毫秒,类似于按键延时消抖,防止限位开关误触发,只有延时该时间后依然检测到触发才算有效。
  • $27 Homing switch pull-off distance
    • 回拉距离,在寻找限位开关移动结束后,即第一次碰到限位开关后,改轴立即回拉的距离,该距离需要足够释放限位开关的触发状态,跟结构有关,对于机械式限位开关,应该在6mm以上。
  • $43 Homing Locate Cycles
    • 回拉重新回零次数,整数,在寻找限位开关移动结束后,即第一次碰到限位开关后,回拉一定距离再次回零的次数,通常设置为1。有更高的精度要求可以设置为多次。注:该参数以及后面的参数lasergrbl就没有什么解释,甚至连标签都没有。
  • $44 Homing Cycle_1
    • 首个周期先回零的轴,从$44到$49分别对应Homing Cycle_1到Homing Cycle_6,用来设置回零先后顺序,格式为mask,加入先回Y轴,则就设为00000010(十进制2),填入2。可以同时填写多个轴(二进制的不同位置1),但是两个轴不能干涉,建议每个周期只归零一个轴。
  • $45 Homing Cycle_2
    • 第二个周期回零的轴,设置方法同$44,建议只填写一个轴。
  • $46 Homing Cycle_3
    • 第三个周期回零的轴,如果有三个轴,则填写第三个轴的mask。如果只有两个轴,比如我的激光雕刻机只有两个轴,那么$46-$49参数均填写0即可。

三、其他问题

如果像我一样,需要自行更改源码做grblHAL移植,还需要几点注意事项:

  1. 在关于board引脚映射的头文件,如果是基于现有的board文件引脚映射微调的,一定要注意更改的引脚与剩下的引脚不能冲突,否则会产生莫名其妙的问题,引脚初始化可能被覆盖,发挥不了作用。
  2. 引脚的给定不是随便指定的,参考源代码中样例板的文件,同一功能类型的端口(比如三个step,三个DIR,三个limit)需要设定为同一GPIO PORT,否则容易跟一些函数冲突。
  3. 几个引脚模式要注意,STEP_OUTMODE,DIRECTION_OUTMODE,LIMIT_INMODE,这个模式的定义关系到各个引脚初始化以及读取方式,如果某些具体功能不正常,需要检查这些定义。比如LIMIT_INMODE,如果选取的引脚是连续的三个PIN,比如PB6、PB7、PB8,那么LIMIT_INMODE可以选择GPIO_SHIFT6,可以高效率读取引脚状态,如果是无序的就得选择GPIO_BITBAND。
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值