开源改变世界

由于董事会安全门问题 #73

推推 grbl 2年前 (2023-02-08) 202次浏览
关闭
MARIOBASZ 打开了这个问题 2021 年 9 月 22 日 · 23条评论
关闭

由于董事会安全门问题#73

MARIOBASZ 打开了这个问题 2021 年 9 月 22 日 · 23条评论

评论

由于董事会安全门问题 #73

在 Board Tinyg Due 中,我无法声明安全门的引脚、响应“驱动程序错误”或类似内容。我只能通过软件使用。
一般而言,它仅通过硬件响应。
在这两种情况下,都会出现以下错误:我无法将其置于停车位置:它只会停止运动和主轴。当Door pin停止被gnd时,它会在设定的时间后恢复,或者如果是软的则自动恢复,而不是等待发送~

由于董事会安全门问题 #73
贡献者

在 Board Tinyg Due 中,我无法声明安全门的引脚、响应“驱动程序错误”或类似内容。

映射文件中未定义安全门和探针的引脚。板上是否有可以使用的输入?

一般而言,它仅通过硬件响应。

它是这样编程的,如果硬件输入可用,则忽略实时命令。

核心/协议.c

第 785 至 790 行 11640ad

案例CMD_SAFETY_DOOR:
如果(!hal。signals_cap。safety_door_ajar{
system_set_exec_state_flag (EXEC_SAFETY_DOOR);
下降=
}
打破;

 

我无法将其置于停车位置:它只会停止运动和主轴。

当安全门输入被触发时,您的停车目标位置 ($58) 是否高于当前 Z 位置?默认值为 -5mm(机器位置)。您的机器是否已归位?如果不是,则机器位置未定义且无法执行停车运动。

请注意,grblHAL 跟踪每个轴的归位状态并且不允许需要它的功能,Grbl 仅假设机器已归位……

核心/state_machine.c

第 381 至 389 行 11640ad

//获取当前位置并存储为恢复位置。
如果(!park.active {
公园。活动=
system_convert_array_steps_to_mpos ( park.restore_target , sys.position ) ;
}
//执行缓慢的拉出驻车缩回运动。
//注意:状态将保持为 DOOR,直到断电和缩回完成。
if ( bit_istrue ( sys.homed.mask , bit ( settings.parking.axis ) ) && ( park.restore_target [ settings.parking.axis ] < settings.parking.target ) ) { _ _

 

核心/config.h

第 330 至 336 行 11640ad

//如果启用,配置停车运动的选项。
// #define DEFAULT_PARKING_AXIS Z_AXIS // 定义执行停车运动的轴
// #define DEFAULT_PARKING_TARGET -5.0f // 停车轴目标。以毫米为单位,作为机器坐标 [-max_travel,0]。
// #define DEFAULT_PARKING_RATE 500.0f // 拉出后的停车快速率,以毫米/分钟为单位。
// #define DEFAULT_PARKING_PULLOUT_RATE 100.0f // 以毫米/分钟为单位的拉出/插入慢进给速率。
// #define DEFAULT_PARKING_PULLOUT_INCREMENT 5.0f // 以毫米为单位的主轴拉出和插入距离。增量距离。
//必须为正值或等于零。

 

由于董事会安全门问题 #73

在 config.h 中,我没有选中第 331 到 335 行在
机器参数中,它没有出现 $ 58
我从 z = -20 运行了 Due。
$22=0,不知道有没有影响。
结果就是我评论的。

注意:在相同条件下,arduino Mega 和 grbl 也是 $22 = 0,安全门在硬件和当前软件上都有效(通知门 0;门 1、门 3,具体取决于软、硬或重置)
我选择使用板 Tinyg2_due_map(我想要旋转轴)

编程知识很少,你会意识到……
一旦它适用于软,我希望它也适用于硬(尽可能不取消它)

  • /////////////////////////////////////////////////////////////////////////////////////////////////////-
    我有很多免费的图钉。
    这是我从通用地图复制时发生的事情
    #if SAFETY_DOOR_ENABLE
    #define SAFETY_DOOR_PORT PIOB
    #define SAFETY_DOOR_PIN 17
    #endif
    发生了一些重大冲突,grbl 无法与 PC 通信(对此结果感到惊讶)
    顺便说一句,我不知道仅声明探针引脚是不够的(未针对此地图声明)。
由于董事会安全门问题 #73
贡献者
terjeio 评论了 2021 年 9 月 22 日  

在 config.h 中,我没有选中第 331 到 335 行

这不是必需的,因为所有的 $settings 都有。如果您取消注释,如果您在先前的设置重置和刷新后更改了这些设置,则必须重置设置。用于$RST=*复位。

在机器参数中它没有出现 $ 58

您必须在第 621 行启用停车才能显示,也许这就是停车动作对您不起作用的原因?

核心/config.h

第 608 至 621 行 11640ad

//在安全门状态下启用和配置停车运动方法。主要针对 OEM
//希望他们的集成机器具有此功能。目前,Grbl 假设
//停车运动只涉及一个轴,虽然停车实现是写的
//通过改变停车位,可以很容易地重构不同轴上的任意数量的运动
//源代码。目前Grbl只支持停放一个轴(一般是Z轴)
//缩回时朝正方向移动,恢复位置时朝负方向移动。
//运动以缓慢的拉出收缩运动、断电和快速停放来执行。
//恢复到恢复位置遵循这些设置的动作相反:快速恢复到
//拉出位置,暂停时加电,然后回到原来的位置
//较慢的拉出速度。
//注意:仍在进行中。机器坐标必须在所有负空间中,并且
//不适用于 HOMING_FORCE_SET_ORIGIN 启用。停车运动也只在
//正方向。
// #define DEFAULT_PARKING_ENABLE // 默认禁用。取消注释以启用。

 

取消注释第 621 行时可用于在 ioSender 中停放(和从命令行)的设置:

由于董事会安全门问题 #73

我选择使用 board Tinyg2_due_map(我想要旋转轴)

如果您修改电路板图并且不希望它在更新时被覆盖,请将其复制到my_machine_map.hBOARD_MY_MACHINEmy_machine.h中取消注释。

发生了一些重大冲突,grbl 无法与 PC 通信(对此结果感到惊讶)

我也是,因为当我在这里测试时它有效。

顺便说一下,我不知道仅仅声明探针是不够的(这张地图没有声明)。

应该够了。这里已经过了午夜,所以我要等到晚些时候才会测试它。明天将是非常漫长而忙碌的一天……

由于董事会安全门问题 #73

只有当你有时间的时候。
我无法修复它。
$ 58 未列出。
$ 49 = 0
$ 62 = 0
第 621 行在 config.h 中未注释
我假设我有一些错误。
我将 SAMX3E 下载到我的 Github 桌面
上会有下载子模块的操作吗?
然后将目录复制到arduino库。只有这样。
我的路线有什么错误吗?
文件名 src 而不是 core 我不认为这是问题所在。
问候

由于董事会安全门问题 #73

探头工作,我的错

由于董事会安全门问题 #73

好像没有注册安全门。
在 Homing is Probing 之后的 IoSender 列表中,没有列出 Safety door。
当我第一次使它工作时,出现错误7,会不会是冲突的原因(eeprom)?

由于董事会安全门问题 #73
贡献者

我已经上传了一个二进制文件供您试用。6 轴、探头和安全门输入已启用(参见$pins分配的输出)、停车、OpenPNP 和等离子已启用(等离子在启动时失败并出现错误,因为它应该)。

我不知道为什么您无法创建成功的二进制文件 – 也许从全新下载开始和/或删除 Windows 临时文件夹中的 Arduino 构建文件夹会有帮助?

当我第一次使它工作时,出现错误7,会不会是冲突的原因(eeprom)?

更改构建配置通常会触发此事件,因为 EEPROM 布局可能已更改。这可能会导致触发 EEPROM 重置的校验和验证错误,从而导致错误 7 消息。

由于董事会安全门问题 #73
作者
马里奥巴斯 评论了 2021 年 9 月 24 日  

删除了临时文件。问题还在继续。是我的到期日吗?
我从未上传过二进制文件。我仍然无法在网上找到方法
(来自 Ide Arduino?命令行?我有 atmel studio,从未使用过)。它将用于检查它是否在我的 Due 中正常工作。
我需要添加一些内容(用于真空台和 ATC 的模拟输入引脚),不幸的是,我现在必须确认没有安全门。拥抱。

由于董事会安全门问题 #73
贡献者

删除了临时文件。问题还在继续。是我的到期日吗?

我不知道 – 我不是所谓的 Arduino IDE 的粉丝,也许它的设置方式或您导入库的方式有问题?

我从未上传过二进制文件。我仍然无法在网上找到如何

我想这是默认隐藏所有内容的“功能”……

通过文件 > 首选项在上传期间设置详细输出,我看到用于上传的命令行是这样的:

C:\Users\terjeio\AppData\Local\Arduino15\packages\arduino\tools\bossac\1.6.1-arduino/bossac.exe -i -d --port=COM6 -U false -e -w -v -b C:\Users\terjeio\AppData\Local\Temp\arduino_build_788054/grblHAL_Due_Upload.ino.bin -R

bossac.exe从命令窗口运行并将-b参数更改为指向二进制文件应该可以。

由于董事会安全门问题 #73

我已经上传了你的二进制文件,它似乎反应良好:
它不报告错误 7
Warns Door1:
哪个 pin 是 door,哪个是 probe?

由于董事会安全门问题 #73
贡献者

哪个销子用于门,哪个销子用于探针?

查看$pins输出。

由于董事会安全门问题 #73
作者
马里奥巴斯 评论了 2021 年 9 月 24 日  

它不响应任何 $,我想 Door 阻止了命令:bcnc 不响应;IoSender 黑屏和消息:“关门还是退出?”

由于董事会安全门问题 #73
贡献者

好的,先有鸡还是先有蛋的情况。IIRC 门和你之前试过的一样(PB17?),探头是 PA3?Arduino 中的模拟引脚 8 和 6 说话。

请注意,根据引脚映射图形,我的 TinyG 板没有分配安全门和探针输入,所以我不打算更改该映射文件……

由于董事会安全门问题 #73
作者
马里奥巴斯 评论了 2021 年 9 月 25 日  

我已经重新加载了 Arduino Ide。
如果我为安全门启用 Pin,它会识别它。
我将行为与经典 grb 进行比较,:(
我知道我读过它,但我找不到了)
通过软或硬,激活安全门。Msg Door: 2
如果用硬并保持门打开: Msg Door: 1
如果不是,门关闭并停止: Msg: 0
执行停车运动
恢复: Msg: 3
等待 ~ 命令恢复,即使门关闭。
grblHal:
如果我为安全门启用销,打开门时它会停止运动和主轴。它不会升至 Z-5。关门时,不尊重等待时间或等待命令,它会恢复~。
无法识别 sendhex 符号 84
他们确实显示 $ 41 …. $ 61
我已将 $ 41 = 0 更改为 = 1 并将 $ 61 = 0 更改为 = 1 但没有结果。
(状态是 Door :2 immediately Door:1 , )OK
如果我评论 pin Safety Door,bCNC 中没有 $ 41 … $ 61(Io Sender
中的安全门):它响应 sendhex 84。停止运动和主轴,等待和恢复(没有停车)(需要修改按钮)
在 Io Sender 中,如果它正在执行移动命令,它不会监听 Sendhex 84。

由于董事会安全门问题 #73
贡献者

等待 ~ 命令恢复,即使门已关闭。

真是一团糟——要么我对英语的理解不好,要么原始 Grbl 代码被误导了……
早些时候我写了一个新的状态处理程序来替换原来的意大利面条代码,这很难理解(至少对我来说),当我这样做时,我依赖于我对代码注释的解释。现在我知道我犯了错误。

我相信我现在已经修复了新的状态处理程序,并在此过程中使代码更易于理解。我需要一些时间来验证这一点,所以请耐心等待……或者如果你想在测试中提供帮助,我可以上传源代码(但我还没有准备好将它提交到 github)。

由于董事会安全门问题 #73
作者
马里奥巴斯 评论了 2021 年 9 月 26 日  

他的英语很差,我的英语是零….通过谷歌翻译从西班牙语到英语….
我很乐意扮演实验室豚鼠并帮助验证测试,我可以等待很长时间才能正常工作。
我发现将 $41 和 $61 从 0 或 1 更改为奇怪时的行为。
在哪个文件中可以看到 $ 数字的含义列表?
(我也想知道停车和安全命令是什么)
我也不知道 $ pins 命令,它很有用。
做得好。
我对 grbl 处理传统安全门的方式很满意(硬件不会覆盖软件,恢复需要命令),我认为按原样复制到 Hal 是一个很好的做法。

由于董事会安全门问题 #73
贡献者

用于测试上传的核心(grbl 文件夹)。

在哪个文件中可以看到 $ 数字的含义列表?

您可以$HELP SETTINGS对所有命令、$$=<n>特定命令、$<n>当前值或$SED=<n> 描述使用该命令。<n>是设置编号。新的或更改的设置也列在wiki中。

您还可以使用 Grbl 逗号分隔格式列出所有设置,供发件人使用$ESG

请注意,ioSender 从控制器获取设置(和其他)信息,因此它始终是最新的……

由于董事会安全门问题 #73
贡献者

我忘记了 ioSender 需要更新才能正确处理门状态,可从此处获得。

由于董事会安全门问题 #73
作者
马里奥巴斯 评论了 2021 年 9 月 28 日  

也许这有帮助:
在我的 bCNC 中,为了在工作时进行监控,我添加了两个字段来实时查看速度和 rpm。
使用 Mega 和 grbl,在发送门安全信号时,我看到以下顺序:
1-停止轴运动
2-上升 z
3-停止主轴
发送~:
1-快速降低 z 到 z 前一个 + 5.00mm
2 转在主轴上
3-等待设定时间(达到 rpm)
4-Continue
With Due 和 Hal,当打开门物理按钮时:
1-它停止运动和主轴,轴不移动,但是 F 保持其值而不是 0。
使用 $61 = 1 和 $41 = 0(只是为了测试,也使用 $41 = 2 或 $41 = 4)
关门时:
-开启主轴,等待设定时间,继续运动
但是,如果 $41 = 1; 3; 或 5(在 Io Sender 选项卡 grbl 设置/安全门/停车周期选项中选择需要 41 美元的值),
没有等待时间,轴移动和 rpm = 0
并且它从未到达停车位置

由于董事会安全门问题 #73
贡献者

1-它停止运动和主轴,轴不移动,但 F 保持其值而不是 0。

当您尝试此操作时,您的机器是否已归位?Z 位置 (MPos) 是否低于 58 美元的停车目标?
Grbl假定机器已归巢,grblHAL要求它是。

当我的测试机处于停车位置时,实时报告如下所示:

<Door:1|WPos:3.300,4.965,21.000|Bf:0,1023|FS:0,0|Pn:D>

你能发布你得到的东西吗?

由于董事会安全门问题 #73
贡献者

提示:如果在 ioSender 的设置:应用程序选项卡中启用“显示文本叠加”,您可以在 3D 视图中同时看到工作位置(第一行)和机器位置(第二行):

由于董事会安全门问题 #73

如果机器归位,“主页”按钮的背景颜色为绿色:

由于董事会安全门问题 #73

由于董事会安全门问题 #73

我的错误:归位被禁用。
抱歉占用了您太多时间。
来自 io sender 的优秀修改和调整参数解释
你可以添加一个字段来修改超时以恢复吗?
问候

由于董事会安全门问题 #73
贡献者

能加个字段修改超时恢复吗?

好的,添加到下一次设置修订的待办事项列表中。现在更改 config.h 中的延迟并重新编译。