Contact me: hankecnc@gmail.com

请求:支持 LinuxCNC/Mach3 机器 – 内部更改的详细信息 #334

推推 grbl 3年前 (2023-02-04) 693次浏览
打开
McPizzaIs 打开了这个问题 2017 年 6 月 8 日 · 52条评论
打开

请求:支持 LinuxCNC/Mach3 机器 – 内部更改的详细信息#334

McPizzaIs 打开了这个问题 2017 年 6 月 8 日 · 52条评论

评论

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
麦比萨 评论了 2017 年 6 月 8 日  

这太棒了,我一直在寻找的那种软件。但不幸的是,它不支持一些 G 代码,这些代码会为其他用户打开大门。

在 LinuxCNC 和 Mach3 中,激光通常与 PWM 一起使用,由 M67 和 M68 命令驱动。

我测试了 LaserWeb,我认为可能有一种简单的方法可以添加此选项。


这些是想法说明:

设置:

在机器设置下,选择“使用 M67/M68 命令控制激光功率”工具提示可以建议这是针对不使用 G1 SX 命令的其他机器。

如果激活此设置,则会出现以下选项:

输入 PWM 信号编号 [数字字段] (PWMSigNo)
工具提示:如果您的机器上只有一个 PWM 设备,则将此数字设置为 0,如果您有多个 PWM 设备(例如 PWM 控制的主轴),则检查您的配置.

输入 PWM 最小功率 [数字字段] (PWMMinPow)
工具提示:如果您的激光器需要少量功率来保持二极管开启,请在此处输入该量,否则设置为 0

代码:

如果 Machine Setting 的值为 ON,则:

Insert Laser on BEFORE move:
M67 E(PWMSigNo) Q(LaserPower)
G1 移动
M68 E(PWMSigNo) Q(PWMMinPow)

##(激光功率)与当前用于 G1 SX 的值相同

M67 告诉机器只有在激光开始移动时才执行该设置
M68 告诉机器立即执行命令

我试图自己找到编译 GCode 的位置,但我的编程技能非常有限。

我可以提供帮助、测试和提供反馈——但我知道这将是对该计划的一个非常酷的补充。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

许多人使用 LinuxCNC 或 Mach3 激光吗?你有没有用大量的小动作(例如光栅化)测试过gcode?它运行良好吗?口吃?

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

它可能不像其他一些系统那样普遍。可能的原因是 LinuxCNC 和 Mach3 更针对专业/生产市场,而不是业余爱好者。

但是进行转换的人数正在迅速增长。
例如,在上个月有 3 位新用户寻求有关如何使用 LinuxCNC 设置 Laser 的帮助——尽管论坛中已经有其他主题……

MachineKit(它是 LinuxCNC 的一个分支)的采用也在迅速增长。

我只在我的机器上使用矢量(完成构建后仅几天),但我没有看到任何卡顿或其他问题。

我现在将尝试通过将 G67/68 命令置于工具开/关中来测试 LaserWeb,看看它的性能如何(我显然无法更改功率,因为​​它将在 GCode 设置中修复)

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

我有一台 stepcraft CNC 机器,最近发布了一个激光插件。该软件(称为 UCCNC)使用与 LinuxCNC 类似的格式进行 PWN 控制,M10/M11 用于激光开/关

M10 Q255 ; 将激光设置为全功率
G1 X10 Y0 ; 移动和燃烧
M10 Q127 ; 稍后设置为 50% 功率
G1 X20 ;移动并烧录
G0 X30 ; 无激光快速移动
M11 ; 关闭激光
G1 X0 Y0 ; 无激光移动

它可以 F3000 以 0.1mm 的分辨率进给,如丝绸般光滑。它预读并计划 1000 行,并且像 LinuxCNC/Mach3 一样不会受到 USB/串行带宽问题的影响。
和LinuxCNC/Mach3/UCCNC一样,不是简单的把S改成Q,必须有自己的一行。我有一个生成我的 GCode 的基本 inkscape 插件,如果能在 LaserGRBL 中看到它会很高兴。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

此 DAC 仅需要 G1 X、Y 和 Z 或 A、B、C 轴线性命令并输出 8 位模拟调制或 PWM。它由轴的步进和方向信号控制。不需要特殊的 gcode 命令。
https://jtechphotonics.com/?product=dacpwm-converter-board

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

到目前为止,我看到了 4 种竞争方法:

  1. S 控制电源。这是我们目前支持的。
  2. G67 E(PWMSigNo) Q(激光功率)
  3. M10 Q(激光电源)
  4. 一轴控制动力
请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

@tbfleming
也许 2+3 可以合并为一个解决方案。
用户输入命令前缀(M67 E0 或 M10)脚本添加到最后一个 QPWM
选项将是:
将激光控制置于移动命令中将
激光控制环绕移动命令

@PicEngraverToo我认为 DAC 解决方案很复杂……不知道为什么该板要 100 美元……

如果用户真的没有任何 PWM 信号输出,还有其他方法可以控制激光(模拟等)所有这些都应该能够在任何控制器/板上进行配置……但是我又不知道有多难这将是在 Mach3 中添加一些自定义的东西

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
PicEngraver太 评论了 2017 年 6 月 8 日  

它的价格为 100 美元,因为它很容易使用 Mach3 进行设置,并且可以在光栅激光雕刻照片上获得良好的效果。我们就该板的设计咨询了 J-Tech Photonics。PicConvert 页面上的雕刻示例是我使用我们的一台 Mach3 CNC 激光雕刻机完成的,该雕刻机带有 DAC 调制激光驱动器。

使用由步进或伺服电机驱动的美国数字 MA3 10 位磁轴编码器来调制激光驱动器的时间最长。使用数字电位器的DAC是我们后来开发的,但是只有8bit。这两种方法都是在将 Z 命令与 grbl 8c 或 S 命令与 grbl 9g 用于 PWM 之前使用的。

我自己更喜欢 10 位编码器。我的店里有 2 台带编码器的 Mach3 CNC 激光雕刻机(一个伺服和 1 个步进器),与我测试过的任何其他方法相比,它们的着色效果更好。很遗憾 grbl 没有 10 位 PWM 分辨率。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

Smoothieware 和 grbl-lpc 使用 1769 的 PWM,它以 120 MHz 时钟运行。如果您以 4 kHz 的周期(用户配置)运行 PWM,这将提供 30,000 步,略低于 15 位分辨率。以 100 kHz 的周期运行它会提供 1200 步,略高于 10 位分辨率。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

@mayhem2408 @PicEngraverToo请接受这不是宣传您的解决方案的地方,它只是 LaserWeb 问题的地方!

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

@cprezzi我没有做任何广告。只是建议 GRBL 和 Smoothie 不是唯一的激光雕刻运动控制器,支持其他解决方案会很好。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

我们目前有这些 gcode 设置:

  • 开始(文件开始;grbl 通常有 M4 S0)
  • 结束(文件结束;grbl 通常有 M5)
  • 工具开启(一组 g1 移动的开始;通常为空,因为 Smoothie 和 grbl 使用 g0/g1 来关闭和打开激光)
  • 工具关闭(g1 移动组结束;通常为空)
  • pwm 最大值(默认 1.0;100.0 和 1000.0 是常用值)

我们可以添加:

  • pwm 最小值(默认 0.0)
  • 激光功率 gcode(默认S
  • 单独线路上的激光功率(复选框)

@McAdamous 的案例:

  • 工具关闭:M68 E0 Q<something>
  • 脉宽调制最小值:<something>
  • 脉宽调制最大值:<something>
  • 激光功率代码:M67 E0 Q
  • 复选框

@mayhem2408的情况:

  • 结尾:M11
  • 脉宽调制最小值:<something>
  • 脉宽调制最大值:<something>
  • 激光功率代码:M10 Q
  • 复选框

@PicEngraverToo的情况:

  • 工具关闭:<something>; 例如。G0 A0
  • 脉宽调制最小值:<something>
  • 脉宽调制最大值:<something>
  • 激光功率 gcode:<something>例如。G1 A
  • 复选框

最后一个案例必须选中该复选框,因为 LW 假设激光功率变化是瞬时的。例如

G1 X100 S1.0

Smothieware 和 grbl 1.1 运行在整个移动过程中以功率 1.0 运行激光;他们不会像轴那样倾斜它。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

@tbfleming这也有助于支持 MarlinKimbra,它需要单独生产线上的 M3 S。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
亚瑟狼 评论了 2017 年 6 月 8 日 通过电子邮件
请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

@tbfleming

我认为那会起作用。
不确定其他人是否需要在移动命令后的行上关闭激光。

@arthurwolf

我认为这与在移动之前发出激光开启命令有关。在轴达到速度(加速度设置)之前,激光器将处于全功率状态

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
亚瑟狼 评论了 2017 年 6 月 8 日 通过电子邮件
请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

@arthurwolf: 不同的斜坡。做出以下假设以了解我在说什么:

  • 在光栅线的中间
  • Gcode 在整个光栅线中保持相同的提要
  • 从 SD 卡运行
  • 栅格线被分解成一堆具有不同 S 值的 G1
...
X150 S1.0
X151 S0.5
X152 S1.0
...

我的理解是冰沙:

  • 在第一步中保持 1.0 的力量
  • 在第二次移动期间将功率保持在 0.5
  • 在第三步期间保持 1.0 的功率

如果这是使用 A 而不是 S 的 Mach:

  • 在第一步中,功率从先前的值线性上升到 1.0。直到移动结束它才达到 1.0。
  • 在第二次移动期间,功率从 1.0 线性上升到 0.5。直到移动结束它才达到 0.5。
  • 在第三步期间,功率从 0.5 线性上升到 1.0。直到移动结束它才达到 1.0。

我们必须将 A 值移动到 Mach 上的不同行以防止这种行为。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
亚瑟狼 评论了 2017 年 6 月 8 日 通过电子邮件
tbfleming 添加了引用此问题的提交 2017 年 6 月 11 日

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

linuxcnc 分支中的新设置。请测试。

  • 激光强度:默认为 S
  • 强度分隔线:复选框
  • PWM 最小 S 值

激光切割和激光填充路径操作支持这些。激光光栅还没有。激光预览(黑线)不显示不使用 S 强度的 gcode。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334 tbfleming 提到了这个问题 2017 年 6 月 11 日
请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

嗯…花了很长时间来了解如何在 Windows 下安装不同的分支,但没有找到任何东西…有
任何指示吗?

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

假设 Windows 已经安装了 git 和 node,并且在你的路径中:

npm install --global windows-build-tools
git clone https://github.com/LaserWeb/LaserWeb4.git
cd LaserWeb4
git checkout linuxcnc
npm run installdev
npm start
请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

好的,我更新到linuxcnc分部了。制作了一些 GCode,到目前为止它看起来很棒。

当我明天去车间时,我会做一些实际的适当测试——所以对于 LinuxCNC,它工作得很好。

或许@mayhem2408的测试输入将很有价值

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
作者

由于没有其他人提供任何反馈,合并的可能性有多大?:D

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

你的测试进行得如何?

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

@tbfleming我在尝试编译 laserweb 的源代码时总是遇到问题,不幸的是我没有时间去尝试解决它。有谁能一步一步地告诉我如何做到这一点?

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334
成员

@mayhem2408你试过上面的说明了吗?

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

@tbfleming刚试了一遍。前两次尝试让 git 返回错误

ffatal: The remote end hung up unexpectedly
atal: early EOF
fatal: index-pack failed

第三次尝试似乎没问题。我会让你知道进展如何。

请求:支持 LinuxCNC/Mach3 机器 - 内部更改的详细信息 #334

这是我在运行“npm run installdev”时遇到的错误

> laserweb@4.0.734 installdev C:\LaserWeb4
> git submodule init && git submodule update --remote && npm install && npm update lw.comm-server

-
> serialport@4.0.7 install C:\LaserWeb4\node_modules\lw.comm-server\node_modules\serialport
> node-pre-gyp install --fallback-to-build

node-pre-gyp ERR! Tried to download(undefined): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/d
ownload/4.0.7/serialport-v4.0.7-node-v46-win32-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@4.6.1 (node-v46 ABI) (falling back to sourc
e compile with node-gyp)

C:\LaserWeb4\node_modules\lw.comm-server\node_modules\serialport>if not defined npm_config_node_gyp (node "C:\Program Fi
les\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" clean )  else (node "" clean
)
gyp ERR! clean error
gyp ERR! stack Error: EPERM: operation not permitted, unlink 'C:\LaserWeb4\node_modules\lw.comm-server\node_modules\seri
alport\build\Release\obj\serialport\serialport.obj'
gyp ERR! stack     at Error (native)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node
-gyp\\bin\\node-gyp.js" "clean"
gyp ERR! cwd C:\LaserWeb4\node_modules\lw.comm-server\node_modules\serialport
gyp ERR! node -v v4.6.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'node-gyp.cmd clean' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (C:\LaserWeb4\node_modules\lw.comm-server\node_modules\serialpor
t\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack     at emitTwo (events.js:87:13)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:829:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
node-pre-gyp ERR! System Windows_NT 10.0.15063
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\LaserWeb4\\node_modules\\lw.comm-server\\node_modul
es\\serialport\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\LaserWeb4\node_modules\lw.comm-server\node_modules\serialport
node-pre-gyp ERR! node -v v4.6.1
node-pre-gyp ERR! node-pre-gyp -v v0.6.32
node-pre-gyp ERR! not ok
Failed to execute 'node-gyp.cmd clean' (1)
npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "ins
tall"
npm ERR! node v4.6.1
npm ERR! npm  v2.15.9
npm ERR! code ELIFECYCLE

npm ERR! serialport@4.0.7 install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the serialport@4.0.7 install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the serialport package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs serialport
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR!     npm owner ls serialport
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\LaserWeb4\npm-debug.log

npm ERR! Windows_NT 10.0.15063
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run
" "installdev"
npm ERR! node v4.6.1
npm ERR! npm  v2.15.9
npm ERR! code ELIFECYCLE
npm ERR! laserweb@4.0.734 installdev: `git submodule init && git submodule update --remote && npm install && npm update
lw.comm-server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the laserweb@4.0.734 installdev script 'git submodule init && git submodule update --remote && npm in
stall && npm update lw.comm-server'.
npm ERR! This is most likely a problem with the laserweb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     git submodule init && git submodule update --remote && npm install && npm update lw.comm-server
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs laserweb
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
喜欢 (0)