[20251218]「树莓派与LinuxCNC」分享会

4 views
Skip to first unread message

danfei

unread,
Dec 15, 2025, 1:06:07 AM12/15/25
to szdiy
本周四的固定聚会由atommann分享

DIY 是一种形式的个人表达,要表达,我们需要创作工具,好比绘画需要画笔,演奏需要乐器。工具会限制表达,DIY 爱好者有时往往需要自己去 DIY 工具本身,比如对小型 CNC 的自制,但相关软件并不容易编写,幸好,采用 LinuxCNC 可以大大降低门槛。它是自由和开源软件,功能强大,利用它,可以实现对像雕刻机,激光切割机,数控车床,等离子体切割机等的控制,也可以做一些自动化方面的功能实现。EtherCAT 是一种广泛应用于工业自动化的以太网总线技术。

这次活动,我们现场一起烧写 LinuxCNC SD 卡镜像,安装软件,配置参数,连接电线,试着让 LinuxCNC 能驱动一台 3 轴龙门架,为后续的继续探索打下一个初步的基础。

时间是12月18日 周四晚19:00~22:00
地点:深圳市南山区高新南区粤兴一道9号(香港科技大学产学研大楼314-E)
https://www.amap.com/place/B02F37WPFK

无需报名,直接空降
Happy hacking

danfei

unread,
Dec 18, 2025, 7:35:30 AM12/18/25
to szdiy
本次聚会的照片在这里

Atommann

unread,
Dec 18, 2025, 10:21:17 PM12/18/25
to sz...@googlegroups.com
Hi all,

我说说昨晚的分享和调试。

在分享时,我提到大概在 2013 年,我刚到华强北 HAX 工作后不久,有天 Zach Hoeken (他应该是早期 MakerBot
的成员,他当时是 HAX 的顾问)说“我们去买台雕刻机!”,于是我们打车到华南城那边,一家他事先联系好的公司,到了之后,老板就带我们到库房里提了一台大概是
4060 的桌面 CNC,然后我们打车回到华强北。当时买的机器应该是没有控制系统的,于是,我得想办法能它装上控制系统,否则它就像一台只有
IC 的计算机一样,没有软件它就只是一堆破铜烂铁,毫无生气。

因为之前就知道 LinuxCNC,于是我开始看文档,看要选择哪种电脑,怎么测试它的 latency (延迟/实时性),在当时,如果用
LinuxCNC,直接用并口输出步进电机的脉冲,方向信号,以及接入行程开关信号是比较经济的方案,于是,我也采用了那种方案。记不清了,控制箱应该也是买的能兼容
LinuxCNC 并口的。

后面那台机器就驱动起来了。因为我当时的工作重点并不在 CNC
上面,于是只是让它初步能运行后,它就在那里收集灰尘了。只是偶尔有人来问我怎么用,然后我开起来,告诉他们怎么用。

之后的数年,我也偶尔打开 LinuxCNC 的主页,有时大概看一下他详细又高质量的文档,有时,也看别人的 LinuxCNC 项目,但自己却迟迟没有动手。

如果我们需要动手制作物品,如果不是刻意去享受那种宁静的,在自家后院的动手享受,几乎不可能是用原始的刻刀和工具去雕凿,当人类发明了计算机之后,这些重复性的工作,必须是由数字化完成的。在大型机时代,当时芯片和模块之间还是采用绕接技术(wire
wrapping,在网上能搜索到很多复杂得让人惊叹的布线),我从一个记录片中看,它就已经是采用数控完成的了!当时是在 1960
年代,数控程序是存在纸带上的。1960s GENERAL ELECTRIC CO. MILITARY COMPUTER DATA
PROCESSING "SYSTEMS THAT LOOK AHEAD" 55524 (
https://www.youtube.com/watch?v=TgolmW-sbAY ) 在 16:53 处,附件是我取下的片断。

有时,我喜欢看这些旧的记录片,可以让我看当时的工程师如何用他们的奇思妙想和聪明才智在技术受限的情况下解决问题。实际上,物理学家温伯格
(Steven Weinberg)
有个观点,就是“历史上的科学家和工程师实际上是你们的同事而非单纯的历史人物”,参考卢昌海博士的《一篇不错的温伯格纪念文》
https://www.changhai.org/articles/science/misc/WeinbergMemo.php

当你要对物理世界进行改造时,要动手制作东西时,没有顺手,方便,有效率的工具,你无法发挥和表达自己。于是,就像活动公告上说的那样,我们有时发现要自己去制作工具本身。

--
Best regards,
Atommann
NC-wire-wrapping.mp4

Atommann

unread,
Dec 18, 2025, 10:52:47 PM12/18/25
to sz...@googlegroups.com
大概在几个月之前,我在 youtube 上看到一个人,他用树莓派,配合 LinuxCNC 和 EtherCAT,然后就可以驱动机器。他在视频里也提到了,这个技术组合已经被应用很多年了,也不是新技术,但是他查了很多资料,到处看文档,才试成功了,于是他做了一个视频,写了教程,在技术社区分享。很欣赏他这种精神。视频  Ethercat + linuxcnc + Raspberry pi? ( https://www.youtube.com/watch?v=NQ-HnrusGJo ),这个视频昨晚我也在现场做了快速播放。

从视频里可以看到,他这个设置对硬件的要求不高呀。一个树莓派 500 元,三个步进电机驱动器一共大概 800 多元,中间的 Beckhoff IO 模块可以买二手的。其它的零件都是常规零件。普通的,实验性质的三轴龙门架 600 元左右。而我自己又想学 EtherCAT 技术。于是就萌生了 DIY 的想法。然后就看了他的视频很多次,在 LinuxCNC 的 BBS 上看了一点资料。确实如他说的,很多技术资料散落在各种,这个 GitHub 仓库有一些,那个 BBS 贴子里有一个配置文件,另一个人共享的 Google Doc 里有一些参数说明……这并不是乱,我认为这也是社区有活力的一种表现。

而 DIY 这个项目,我即能享受动手制作的乐趣,又能增长知识,也可以在社区分享。于是我就开始了。看看身边的材料,发现那个24V 开关电源我居然已经有了,于是购进那些物料。到公司车间转转,看到一块尺寸大概合适的木板,装上 35mm 标准导轨,用来固定这些电气元件。因为有 MetalMusings 的视频可以借鉴,于是我很快便搭建好了电气部分。

上电之后,没有冒烟,很好,它经过了冒烟测试!

接下来,下载 LinuxCNC Pi 镜像,烧写进 SD 卡。启动系统,才发现自己对 LinuxCNC 极为生疏,几乎不知道从哪里下手。于是又开始看 BBS 上的安装教程,大概知道了要有几个配置文件,主要是参考了这个贴子:

Ethercat installation from repositories - how to step by step ( https://forum.linuxcnc.org/ethercat/45336-ethercat-installation-from-repositories-how-to-step-by-step )

按 rodw 的步骤操作后,果然能有文末的同样的输出结果,这说明硬件是能工作的。有一个 Beckhoff 的输入模块硬件不能被识别,经过测试,我发现它是一个损坏的模块,于是重新订购了一个,但并不能保证能在周四收到,后面,这个问题也给我带来了一个麻烦。

但是,我们知道了硬件没有问题。接下来,怎么让电机动起来?

我看了这篇笔记  Linux CNC + EtherCat + RPi 4 Setup ( https://gist.github.com/Bouni/8b4532d0bdf012bd83c65d3eb62f8aa2 ),内容基本上是对 MetalMusings 的贴子的总结。因为我并没有看文档,这些配置参数我基本不知道是什么功能。在 Notes 部分有几个链接,其中也有一些有用的信息,比如文末的 Roshi's Tutorial on how to setup the ethercat-conf.xml

下面又有人说这个文档有些旧了,现在已经有了能直接直接用的 LinuxCNC rPi 镜像。于是,我暂时略过了这篇方案说明的内容。转而,又发现了下面这个仓库,里面也有一份安装说明。

https://github.com/rodw-au/linuxcnc-cia402 ( A sample configuration for ethercat cia402 drives based on the rtelligent ETC60 and ETC87 drives for a gantry router. )

这里说明一下我这次采用的项目策略,上次在社区举行读书分享会,Tailor 分享一本叫《终身幼儿园》的书,我当时在现场翻看了书中的内容,虽然只是大概看了几眼,但有几段话对我很有启发。比如这次 LinuxCNC 学习,我不是先去看资料和和学一堆理论,而是快速做一个粗糙的,大概能工作的模型,想办法让它运行起来,得到一个感性的认识和体验,然后再去了解各个细节。

但是,欲速则不达。我就像进到一间黑的屋子,反复尝试那些参数,有天弄到晚上 11 点才决定回家,电机那里没有一点响动,非常让人受挫!

--
Best regards,
Atommann

Mitch Davis

unread,
Dec 18, 2025, 11:01:29 PM12/18/25
to sz...@googlegroups.com
大家好!

I'm so happy to see the pictures from last night's meeting!

On Fri, 19 Dec 2025 at 14:21, Atommann <atom...@gmail.com> wrote:

有天 Zach Hoeken (他应该是早期 MakerBot 的成员

Zach was a co-founder of MakerBot:


I ran across Zach on reddit this year.  He was asking questions in r/sailing about electronics, and we started talking.  Nowadays he lives on a boat, and he's in French Polynesia (this is cool!).  He's currently on a sailboat crossing the Pacific!  
You can link to a specific time by adding it with a t parameter:


Happy hacking!

Mitch.

Atommann

unread,
Dec 19, 2025, 12:21:07 AM12/19/25
to sz...@googlegroups.com
因为 rodw 在他的文档里写得相当自信,这给了我信心,相信他是能用同样的驱动器,和稍微有点不一样的 EtherCAT IO 模块成功过的,于是,我开始认真尝试他的配置文件。当配置文件不正确时,LinuxCNC 会有报错信息,我根据这些报错信息,再去修改配置文件的相应部分,如此反复,直到不再有报错信息,最终,LinuxCNC 能调用 rodw 的配置文件,进入主界面。这太好了。但是,我很快又面临了一个新的问题:因为 Beckhoff 那个 EL1008 输入模块是坏的,而根据配置文件,急停开关是接到它上面的,这导致软件启动后,机器是处于急停禁用状态,别的键都成灰色,不能点。Google 了相关信息,Google 的 AI 告诉我一些方面,然后用问了 ChatGPT,试了几次,在不用物理急停键的情况下,绕过了这个限制。为什么相信这能被绕过去:因为物理开关上的信号是会被读入软件的,然后由软件处理,因此,在软件中一定有某个地方能给它“做假”(fake the signal)。

到达这个状态,周四结束工作后,我就带上东西开始去社区。原本是想准备幻灯片,也忙得没有时间整理。根据安排是,可以在现场再修改配置参数,试试能不能让电机动起来。到了现场后,因为没有幻灯片,我就即兴发挥,讲了我以前的一点 LinuxCNC 经历。然后快速播放了 MetalMusings 的视频,中间我对视频里的一些内容进行了讲解,同时,也有人提问,能回答的我做了回答。因为也有人不了解 EtherCAT 技术背后的一些原理,于是又播放了另一个视频  EtherCAT in 20 minutes ( https://www.youtube.com/watch?v=k4KufZR6XYs ),因为视频有 20 多分钟,有些地方跳过了,我也大概讲了我所知道的一点东西。

启动 LinuxCNC,看了一下配置,现场要在 Pi 和 Mac 之间切换鼠标键盘,查资料也不方便。于是,我宣布分享结束,承认是一次不那么成功的分享。然后另一个社区成员开始了下半场的豆包手机分享,把聚会气氛推向了另一个高潮。

此时,我的心里并没有放弃,因为我当时产生了一个解决问题的思路。还想等下半场结束后,再做尝试,也产生了“不成功就不回家”的想法 ;) 但我们有时确实是要接受不完美。

这个思路是: 我可以把 MetalMusings 视频/贴子中的配置文件和我的配置做对比,大概理解和确定下每个参数的具体功能,做一个极简配置对问题进行简化。(这个思路的理由是:MetalMusings 的电路简单,只有 2 个电机,而且视频显示他确实是成功让机器运行过的,这给人信心)

回到家后,吃了一个晚饭。然后把东西搬上楼,和家人打完招呼,稍做休息,协商我晚上要“加一点班”,就又继续开工了。

用 vim 打开 MetalMusing 的 ethercat-conf.xml 后仔细一看,内容果然要比我在用的那个文件简单得多,越简单,出错的概率也越小,他用了 2 个步进电机,注释里标明了哪个是开环,哪个是闭环,每个电机的电流是多少,但电流参数让我奇怪,比如 70 17 为什么是 6.0A, DC 05 为什么是 1.5A,快速查看了一下 Roshi's Tutorial on how to setup the ethercat-conf.xml: https://docs.google.com/document/d/1GiB065ZIAaoMHPtVfTg9JV1Kn-19xGQl2X9DM9-THNM/edit#heading=h.37frqspzljja 中的内容,发现 70 17 是 0x1770 (十进制 6000,因此是 6.0A),于是我知道了怎么设置电机的电流。

<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="5">
    <slave idx="0" type="EK1100"/>
    <slave idx="1" type="EL1008"/>
    <slave idx="2" type="EL2008"/>
    <slave idx="3" type="EL5101"/>
    <slave idx="4" type="generic" vid="00000a88" pid="0A880002" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="70 17"/></sdoConfig>  <!-- Max motor current (6.0) -->
      <sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig>  <!-- Closed loop -->
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
          <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
          <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
        </pdo>
</syncManager>
    </slave>
    <slave idx="5" type="generic" vid="00000a88" pid="0A880002" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="DC 05"/></sdoConfig>  <!-- Max motor current (1.5) -->
      <sdoConfig idx="2011" subIdx="0"><sdoDataRaw data ="00 00"/></sdoConfig>  <!-- Open loop -->
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-velocity" halType="s32"/>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="s32"/>
          <pdoEntry idx="606C" subIdx="00" bitLen="32" halPin="actual-velocity" halType="s32"/>
          <pdoEntry idx="6077" subIdx="00" bitLen="32" halPin="actual-torque" halType="s32"/>
        </pdo>
</syncManager>
    </slave>
  </master>
</masters>


于是,我向这个文件中增加一个电机,用这个文件替换掉我另一个目录中的 ethercat-conf.xml 文件。再启动,有点小错误,调整一下 EtherCAT 设备的 ID 号。启动 LinuxCNC,居然听到有一点声音!这说明,有电流流向电机!然后看到第二个电机驱动器有个红色  LED 亮起,这个我以前遇到过,当时心想应该是配置文件引起的,就没有在意。但我仿佛又记得在电机驱动器 ECT60 的说明书中看到过说什么电流过大,过小灯会怎么怎么闪。于是,我决定接上第二个步进电机。这时,第二个驱动器的红灯不亮了,但第 3 个电机驱动器的红灯亮起,于是接上第三个电机,红色 LED 不亮了(LED 在嵌入式开发时,是一种简单方便直接的调试工具)。这时,靠近电机,能听到电机在发出哼哼哼的“唱歌”声,很特别,很好听的一种声音,尤其是一个被折磨了 2 天的人来说。

然后,我试着点 UI 上的 +, - 键,电机居然动了!太好了!(心想,如果当时在现场能让电机动起来,大家一定也会很兴奋,但是,我们接受不完美)。快速发了2个视频到群里,希望成员们早上就能看到这个消息。我的感觉是:LinuxCNC 真是太棒了。

我也对这次活动有一些感想,比如: 类似于我这次的分享,它其实需要相对比较多的时间现场接线,尝试,调试,可以做成周末的 hackathon 形式,这样时间上更充分,参与的人的收获也更多,因为每个人都可以实际参与进实践。另一个想法是:其实,如果有地方放胡同口,可以去东莞长安淘便宜的二手机床回来改装。我有次路过长安的一家二手机床店时,确实被吸引进去了,这里摸摸,那里看看,然后店员过来带我到处转了一圈 ;)

聚会结束后,超载提到了他想分享一期关于 Klipper 活动。Klipper 也是一套非常有意思的软件,里面有聪明的方法。昨晚在等出租车时,Brag 说他想用 grbl, 我向他推荐 Klipper.

接下来的安排:
* 关于这次 LinuxCNC 尝试,我想写另一个教程,到时把它放到网上,一是帮助自己学习,二是可能别人也用得上。
* 装上雕刻刀,看能不能在比如木头上雕刻几个字。
* 把行程开关接上,能实现归零
* 多看一些 LinuxCNC 的文档细节

--
Best regards,
Atommann

Atommann

unread,
Dec 21, 2025, 6:25:28 AM12/21/25
to sz...@googlegroups.com
Hi all,

更新一下周末的进展。

周五,我把急停开关接到 Beckhoff 的 EL1008 输入模块上,并设置好相应的参数,这样机器就有了急停功能。

周六,机器虽然能动了,但还有好多问题,比如
* 没有归零功能
* 按 + 键按惯例应该是向右走,但却向左走,方向相反
* 在软件上按 +, - 键让它动 5mm 但实际的物理轴移动的不是 5mm

因此,早上起来,就先试着把 X 和 Y 轴的限位开关接到 EL1008 模块上,我确认了硬件是工作正常的,但设置好相应的配置参数,无法实现归零,应该是哪里没有弄对,大概瞄了一眼文档,归零涉及到的概念还挺多的。于是我决定先放弃弄这个功能,等后面再补充相关的知识。通过注释掉一些我不懂的参数,机器可以在没有行程开关的情况下运行,这是没问题的,也就是当三个轴停在一个位置时,点 Home All,它就会认为当前位置是 0,0,0 坐标,这意味着,可以试着执行 gcode 了。

 翻看了 ECT60 电机驱动器的说明书,提到对象字典 0x200D 的功能是“如果电机运行正方向与系统需求不一致时,该对象可以在不修改电机接线的情况下,使电机的运行方向取反。”,于是在 ethercat-conf.xml 中给相应的电机加上下面这行方向就对了。
 
<sdoConfig idx="200D" subIdx="0"><sdoDataRaw data ="01 00"/></sdoConfig>  <!-- Direction -->

这个三轴滑台默认的工具是一个笔夹,于是我夹了一支笔在上面,在底部用一些书垫高,把白纸放在上面,于是它成功画出了 LinuxCNC 的 logo,这对项目进展来说,又是一个里程碑。

关于软件上行程和实物上的行程对不上这个问题,应该是要去改某个比例系数。我的步进电机是 1.8 度,如果没有细分,那就是 360/1.8 = 200脉冲/圈。我翻看电机驱动说明书,提到对象字典 0x2001 的功能是“细分/分辨率,该对象用于设定步进电机开环运行时,电机运行一圈所需要的脉冲数。默认值是 10000” 因为 0x2001 细参数为 10000, 于是 10000 个脉冲电机才转一圈, 10000脉冲/转。我用的机械结构的丝杆螺距是 4mm/转,于是,可以计算比例系数:

10000/4 = 2500/mm

我在 BBS 进行了搜索,有人提到对某些 scale 参数的修改,于是我把某个带  SCALE 字符的参数改成 2500 或别的数值, 试了 2 个小时,没有效果,应该是没有改到正确的参数。目录中有几个配置参数,并非每个文件我都进行了仔细查看,然后我打开了 hal 文件,一切都明白了,轴分别有这些参数:

# Joint 0
setp cia402.0.pos-scale 800

# Joint 1
setp cia402.1.pos-scale 800

# Joint 2
setp cia402.2.pos-scale 2000

这解释了为什么手动在 GUI 上控制时,Z 轴的运动速度会快一些。每个 joint 的比例都改成 2500,做了一个快速测试,行程距离就都正确了。

所以,这里有个教训:要是早点用 grep 命令搜索 scale 关键字,就能更快定位到问题。

周六结束时,我计划了星期天的目标:用木板做一个简单的转接器,把一个小主轴电机(淘宝店上写的是 200 瓦,DC24V)挂在 Z 轴上,实际切一下木头。但是,主机的转速怎么控制?主轴的启停怎么控制?因为对于 EtherCAT 来说,要加输出功能,模拟输出功能是非常容易的。我也设置好了 EL2008 的一个通道,它能控制主轴,但它的电压是 24V,我却没有24V 的继电器。于是,这些细节只有后面再去处理。用手动控制主轴电机,也可以切割。

在昨天工作结果的基础上,很快就完成了 LinuxCNC logo 的切割,看到整套软硬件配合能实际切东西,很有意思!

于是,又产生了另一个小目标:能不能切一个自己的文字,比如 SZDIY? Google 之后发现,有很多方法,比如有些 LinuxCNC 用户自己写了一些文本转 gcode 的代码,DXF 转 gcode 的代码等等。 但最快的应该是在 inkscape 里去完成。快速看了一个几分钟的教程  Making GCODE in INKSCAPE 1.2.2 (March2023) ( https://www.youtube.com/watch?v=Ugvuuhu_NLM ),成功生成了 SZDIY 字样的 gcode,导入到 LinuxCNC,成功完成了切割!

这个繁忙的“LinuxCNC 探索周”不仅我自己重新开始学习和试用 LinuxCNC,而且和社区的小伙伴做了分享,让我很满足。接下来有一些别的事情要忙一阵子,后面再进行第二轮学习,去探索和改进那些没有完成的地方。

在查资料时,有时往往会看到一些有意思的网页。比如下面 2 篇,是另一个人的搭建笔记。
https://www.mcerwinski.com/cnc-router/
https://www.mcerwinski.com/cnc-router-controls-ii/

他在一篇(2020 年写的)中提到:“我很早就想给自己做一台 CNC 雕刻机,至少从高中时期就开始有这个念头了。如今,十多年过去了,我终于开始把这个想法变成现实。

在权衡了几种软件方案之后,我最终选择了 LinuxCNC,因为我本身就有一些折腾 Linux 的经验,而且可以直接用一台旧笔记本开始,而不必再去购买新的硬件。接下来要决定的是,用什么样的硬件来把笔记本与步进电机连接起来。通常会使用并口的分线板(breakout board)或其他类型的分线板。但我用的这台笔记本是 ThinkPad X200,虽然已经很老了,但还远没老到带并口;而且同样地,我也不想在新硬件上投入太多。那么,还有哪些可用的接口方案呢?

灵感来自我看到的一期 This Old Tony 的视频,他在视频中提到用 EtherCAT 伺服电机来升级他的 MAHO 铣床。我以前从未使用过 EtherCAT,但在做过程控制和自动化工作时听说过它,因此也很想尝试一下。

TLDR:LinuxCNC + EtherCAT”

当我们有做项目的想法时,开始并不要想那么多细节,开始动手,快速迭代,在过程中学习。

写字和雕刻的视频和照片都更新到了这里:https://gallery.szdiy.soraharu.com/?20251218%E8%81%9A%E4%BC%9A%E7%85%A7%E7%89%87

--
Best regards,
Atommann
Reply all
Reply to author
Forward
0 new messages