开源改变世界!!

由于板安全门问题 #73

推推 grbl 2年前 (2022-10-23) 463次浏览 0个评论
关闭
MARIOBASZ打开了这个问题 on 22 Sep 2021· 23 条评论
关闭

由于板安全门问题#73

MARIOBASZ打开了这个问题 on 22 Sep 2021· 23 条评论

注释

由于板安全门问题 #73

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

由于板安全门问题 #73

在 Board Tinyg Due 中,我无法为安全门声明一个别针,响应“驱动程序错误”或类似的东西。

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

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

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

核心/protocol.c

785 至 790 行11640ad

案例CMD_SAFETY_DOOR:
if (! hal.signals_cap .safety_door_ajar ) {
system_set_exec_state_flag (EXEC_SAFETY_DOOR);
下降=
}
休息;

 

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

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

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

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

 

核心/config.h

第 330 至 336 行11640ad

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

 

由于板安全门问题 #73

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

注意:arduino Mega 和 grbl 在相同条件下也 $ 22 = 0,安全门确实可以在硬件和当前软件上工作(通知门 0;门 1,门 3,取决于是通过软、硬还是重置)
我选择使用板 Tinyg2_due_map(我想要旋转轴)

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

  • /////////////////////////////——
    我有很多免费引脚。
    这就是我从通用映射复制
    时发生的事情仅声明探针是不够的(未针对此地图声明)。
由于板安全门问题 #73
贡献者

特热约 评论 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

我选择使用板 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 列表中,没有列出安全门。
当我第一次使它工作时,出现错误7,这会是冲突的原因(eeprom)吗?

由于板安全门问题 #73

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

为什么你不能创建一个我不知道的成功的二进制文件——也许从重新下载开始和/或删除 Windows 临时文件夹中的 Arduino 构建文件夹会有所帮助?

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

更改构建配置通常会触发此问题,因为 EEPROM 布局可能已更改。这很可能会导致校验和验证错误,从而触发 EEPROM 复位,从而产生错误 7 消息。

由于板安全门问题 #73
作者

马里奥巴斯 评论 2021 年 9 月 24 日  

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

由于板安全门问题 #73

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

我不知道 – 我不喜欢所谓的 Arduino IDE,可能是它的设置方式或您如何导入库有问题?

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

我想这是一个“功能”,默认情况下所有东西都被隐藏了……

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

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
警告 Door1:
哪个引脚用于门,哪个引脚用于探针?

由于板安全门问题 #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
If by Hard and keep the door open: Msg Door: 1
If not, door closed and stop: Msg: 0
Perform the Parking movement
Resuming: Msg: 3
Wait for ~ command to resume,即使门是关着的。
grblHal:
如果我启用安全门的销,打开门时它会停止运动和主轴。它不会上升到 Z-5。关门时,不考虑等待时间或等待命令,继续恢复~。
不识别 sendhex 符号 84
他们确实显示 $ 41 …. $ 61
我已将 $ 41 = 0 更改为 = 1 并将 $ 61 = 0 更改为 = 1,但没有结果。
(状态为 Door :2 立即 Door:1 ,)OK
如果我评论 pin Safety Door,bCNC 中没有 $ 41 … $ 61(Io Sender
中的安全门):它响应 sendhex 84。停止运动和主轴, 等待和恢复(没有停车)(需要修改按钮)
在 Io Sender 中,如果它正在执行移动命令,它不会监听 Sendhex 84。

由于板安全门问题 #73

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

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

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

由于板安全门问题 #73
作者

马里奥巴斯 评论 2021 年 9 月 26 日  

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

由于板安全门问题 #73

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

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

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

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

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

由于板安全门问题 #73

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

由于板安全门问题 #73
作者

马里奥巴斯 评论 2021 年 9 月 28 日  

也许这有帮助:
在我的 bCNC 中,为了在工作时进行监控,我添加了两个字段来实时查看速度和 rpm。
使用 Mega 和 grbl,在发送门安全信号时,我看到以下序列:
1-停止轴运动
2-向上 z
3-停止主轴
要发送 ~:
1-快速降低 z 到 z 前 + 5.00mm
2 转在主轴上
3-等待设定时间(达到 rpm)
4-
使用 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 中的延迟并重新编译。

喜欢 (0)

您必须 登录 才能发表评论!