机械设计与机器设计


机械设计(第 1 部分,共 2 部分)


小组作业



个人项目



机器设计(第 2 部分,共 2 部分)


小组作业



个人项目



学习成果:


你是否:


小组作业

其他小组作业请前往小组作业页面。

这次作业完全是我一个人做的,因为今年我是 Algarve FabFarm 唯一的学生。


Frankenlaser 激光切割机

设计文件和 G-code 文件 @ GitLab Fabcloud 上的项目仓库


Frankenlaser 激光切割机

我给它取名 Frankenlaser,因为它的很多零件来自我以前设计并制作、后来退役的机器。它又是一台机器,和我的数控机床(CNC)一样,是用我手边闲置的零件和商用零件做成的。

我用 SolidWorks 设计了这台机器,并用我自己设计的大型 CNC 切割碳纤维和定向刨花板(OSB)零件。

机械设计(第 1 部分,共 2 部分)

激光设计进展

机械设计完成后,我开始准备各种零碎零件。

准备装配的零件

我用的是 30x30 铝型材;它们买来时是 3 米长的条料,需要按尺寸切割。

铝型材

我能找到的最精确的型材切割方法是用木工锯。我知道它是用来锯木头的,但我也知道只要慢慢切,就能锯铝。然后我把锯片相对于台锯台面调到 90 度。

切好的铝型材

切得很完美。

切得很完美的型材

接着我开始处理导轨;它们非常脏,所以我先做清洁。

脏的导轨

像变魔术一样,它们干净了。我先从滑块上取下导轨,放到一边。我用 WD40、Scotch-Brite 海绵处理锈迹,用丙酮清除油污和灰尘。最后给它们上了机油。

干净的导轨

现在轮到滑块……同样很脏。我拆下塑料盖,把轴承滚珠倒进一个容器里。

拆开的滑块

滑块拆开后,我用和之前相同的产品做了同样的清洁步骤。

干净的滑块

我用纸巾把所有东西擦干。

擦干的滑块

又一次像变魔术一样,它们像新的一样。

重新装好的干净导轨

为了大致看看最终成品,我把零件叠放在一起。不错!

零件装配

另一个视角。

另一个角度的装配

这是 ArtCam 里的视图。

ArtCam 中的视图

接着我开始切碳纤维。它在我的 CNC 上很容易切,但我当时赶时间,不想用双面胶,也不想之后清理胶水。这个决定会有后果;看接下来的视频就知道了。

切割碳纤维

这里我钻孔。

在这个视频里我切了很多轮廓。因为我没有用双面胶,也没有留连接筋,零件会从板材上跳起来,一旦被铣刀碰到就可能报废。所以机器把零件甩出来时,我就把它们拿走。

所有零件都切好了,可以装配了。

我用数字角度尺确保零件是直角。

成直角的零件

这是另一侧的支架。

支架装配

这是装好的激光头支架。

激光头支架

现在装好了。

整机装配完成

激光头也装上了。等激光准备好后,激光头会固定聚焦透镜。

装好的激光头

移动 X 轴。

再移动一次。

整个装配完成了。

整个装配完成

现在我用手测试所有轴,第一部分就完成了。

机器设计(第 2 部分,共 2 部分)

目录

  1. 铣削和组装外部框架
  2. 把框架装到轴上
  3. 接线
  4. 烧录固件
  5. 第一次测试
  6. 配置 GRBL
  7. 第二次测试

它动起来了!

机器在说话了,它用还不成熟的声音说出了“Hello World”。

我是怎么走到这一步的?看看这些步骤:


  1. 铣削和组装外部框架

    我用 SolidWorks 设计了框架,用的是我在计算机辅助设计和计算机控制加工这两周里已经讲过的技术。

    设计文件在这里。

    框架设计的仿真

    接下来,我用软件 Mach3 开始加工。所用材料是 19 mm 厚的 OSB。铣刀是 3.175 mm 的,选刀时我把刀具偏移了 -0.1 mm,以补偿瑕疵并让装配更容易,正如小组作业中计算机控制加工里讲的那样。

    我把铣削分成两个任务:一个打孔任务和一个轮廓任务。进给速度最大为 2500 mm/min。G-code 在这里和这里。

    所有连接件都有对应的孔,这些孔也用作压紧点。这样我就能确定不会发生碰撞,因为我只会在打孔任务之后、轮廓任务之前把它们装上去。

    铣削完成后,我和儿子开始打磨侧面和表面,以获得更好的配合和表面质量。

    这里全部打磨好了。

    打磨好的框架

    装配很顺利,我们只用了橡胶锤和螺丝刀。

    框架装配

    框架非常结实!我们对结果非常满意。

    结实的框架


  2. 把框架装到轴上

    轴是用“T”型槽螺母固定的;我不确定这个名字对不对。

    T 型螺母

    现在一团乱,因为我用了更多工具,比如卡尺、数字水平仪和直角尺,好让机器是方的。

    装配工具

    激光管只是临时装在这里,看看各部件是否配合良好。

    激光管安装

    这是机器的全貌,快完成了。

    机器全貌


  3. 接线

    这次作业我用的板子是 Arduino Uno。下面是 UNO 与 GRBL 的接线图。

    UNO 与 GRBL 接线图


  4. 烧录固件

    我测试了 3 种烧录 GRBL 固件的方法。第一种方法用了非常实用的软件 AVRDUDESS;它是 AVRDUDE 的图形界面版本。

    用法很简单。把编程器或 USB 直接插到 Arduino 上。然后选择编程器,我这里是 USBasp,或者选 Arduino 作为 USB。接着选择从 GRBL 仓库下载的 hex 文件,按右边的按钮检测 MCU,然后按 Go 开始烧录固件。

    烧录 GRBL 固件

    我试的第二种方法是用软件 LaserGRBL:点击 Tools、Flash GRBL Firmware,然后……

    LaserGRBL 工具

    会弹出一个对话框,可以选择目标板(我这里是 Arduino Uno)、固件版本、端口和波特率。然后……

    LaserGRBL 对话框

    屏幕会显示成功完成。

    固件烧录成功

    我试的第三种方法是使用 Arduino IDE 编译并烧录固件。这个方法我按照 Gnea/GRBL 的维基页面的说明操作。首先我改了两行配置,想为 Y 轴启用双电机。到目前为止没有成功,因为没时间,我最后没有用它。不管怎样,我还是把方法记录在这里,因为以后有时间我会再试。

    另一个关于让双轴自动找正龙门架正常工作的参考在 Protoneer Product Forum,不过还是那句话,以后我会再研究。

    先下载 GRBL 固件,然后把它作为库添加到 Arduino IDE。

    添加 GRBL 库

    打开 Arduino 示例文件 GrblUpload,然后按照嵌入式编程周里描述的方法编译并上传,把 MCU 改成 Arduino UNO 板。

    编译 GRBL 固件


  5. 第一次测试

    这里我测试电机、它的力量和温度(用手摸,也用温度计)。我这样做是为了正确设置 DIP 开关。

    测试后我决定用 2 A。电机额定电流是 1.5 A,但在所有测试中电机从未超过 1 A,温度也一直低于 45 度。

    测试电机

    设置通过选择 DIP 开关完成:4 - ON(向下),5 - OFF(向上),6 - OFF(向上)。

    DIP 开关设置

    这里我第一次用电脑试着移动电机。X 轴动得很好,但 Y 轴不动。我以为是接线问题,所以又把所有接线检查了一遍。最后我禁用了 Y 轴的双电机功能(文档很少),把 Y 轴的两个电机并联起来。


  6. 设置 GRBL

    这里我测量了实际移动量与指令移动量的对比。我记下来,然后用三数法则,基本上就是 a/b=c/d。

    其中,在我的测试里,a=118.8(实际移动量),b=25(期望移动量),c=250(当前每毫米步数),d=X。

    算完后我得到结果 52.609,把它填入 GRBL 的 $100 和 $101 设置。

    GRBL 设置

    下面是我目前给机器用的设置的截图。这个维基页面列出了 Gnea/GRBL 的所有配置项。

    1. $3 = (2) 这会反转 Y 轴(后来更正:页面原来写的是 $3 = (10)。$3 是位掩码,所以只反转 Y 轴是 2,二进制 10;数值 10 还会置位第 3 位。)
    2. $100 = (52.609)
    3. $101 = (52.609)
    4. $110 = (15000)
    5. $111 = (7000)
    6. $120 = (300)
    7. $121 = (300)

    GRBL 配置


  7. 本次作业的第二次也是最后一次测试。

    因为这次作业要求我展示对自己做的机器的控制,所以我在这里做一个“Hello World”。我快没时间了。我很想以后回到这份文档,把激光切割机做完,但现在我得专注于其他作业。所以目前就是用胶带绑着一支 Sharpie。


面向未来……

发现设计中可以改进的地方!

机器还没完成。它会在本周期结束前变成一台激光切割机。我会在这里更新它的进展。目前我还有以下问题要解决:


前方危险区域。

警告

戴上安全眼镜,确认你知道灭火器在哪里以及怎么使用,绝不要让激光无人看管!


火灾风险

激光切割机是一台总想把自己点着的机器。如果一切正常,它不会着火,但一旦出现故障、激光停在同一个位置,或者辅助吹气(air assist)停止工作,火灾风险就很高。因此,绝不要让激光无人看管。

火灾风险警告

灭火器


激光辐射

激光束能在纳秒内让你失明或烧伤皮肤。因此,绝不要在打开盖子时操作,并且始终佩戴适合你所使用激光类型的安全眼镜。

激光辐射警告

CO2 激光切割机通常波长为 10600 nm;在我们实验室,这些就是正确的眼镜。

CO2 激光安全眼镜

二极管激光切割机通常在 200-550 nm 波长范围内;在我们实验室,这些就是正确的眼镜。

二极管激光安全眼镜



额外加分,嗯?!

未来就是现在!

机器周已经完成了我机器的驱动和自动化,达到了评估页面里本周的要求,但这不会阻止我把机器变成激光切割机!我只是没法同时做到这一点,又完成其他到期作业。

不过,这不会阻止我在任何有空的时候改进机器。

我们来接激光吧

激光接线图

我在这个 GRBL issue 页面上找到了这些信息:


至于激光管本身,我找到了一张漂亮的图,链接在这里,我把它复制在下面。

激光管示意图

我也画了自己的图。

我画的激光接线图

这里展示我把阳极线焊到鳄鱼夹连接器上。激光管的端子不应该焊接,因为温差可能会让 CO2 激光管开裂。

焊接阳极线

这张照片显示了接到端子上的阳极线,以及冷却液出口处的水管。

阳极线与水管

这里我把水保护传感器开关装到激光电源上。这会防止激光在没有冷却液时出光。

水保护传感器

激光冷却液

为了让激光管保持低温,我在一个装满汽车防冻液的塑料容器里装了一个小水泵。以前我用纯水,但细菌滋生一直让我很烦。以后我希望把它做成带汽车散热器的封闭系统。

在这个视频里可以看到激光管正在注入防冻液,抱歉画面会倒过来……至少能看到冷却液在流动。

这里我测试水保护。当我拔掉水泵的电源插头时,激光电源上的 LED 会熄灭。

我们来测试一下。

这个测试里我不用反射镜,直接把激光束打在木头上。它工作了,真是力量的展示!

反射镜对准

反射镜对准是最棘手的部分。

我以前就有激光对准的经验,但这里有几个不错的教程,讲怎么做:

我自己的做法记录在下面。

  1. 我剪了几条美纹纸胶带,贴住第一个反射镜支架上的孔。不要在有反射镜的情况下这样做,因为胶带的胶和材料被烧后会粘在镜片上,把镜片毁掉!
  2. 按脉冲按钮,或者像我这样,把激光电源上的 L 端子对地短接一毫秒。
  3. 然后我检查激光束打在胶带上的位置。目标是让光束打在反射镜支架孔的中心,用胶带作为参考。
  4. 需要时调整激光管。我的情况是光点稍微偏向孔的左上方,所以我把激光管微调了一下,下一次尝试结果更好。从那时起就不应该再移动激光管了。

  5. 装上第一个反射镜,小心不要用裸手碰它。我用一个垫圈来转动并拧紧反射镜背面的螺母。
  6. 然后按照同样的步骤,依次调整第一、第二和第三块反射镜,用顶部和左侧的旋钮,从反射镜支架后面观察。现在的目标不是打在第二块反射镜的中心,而是两次打在同一个点上,第一次让 Y 龙门(第一块反射镜)靠近,第二次让龙门离得远一些,就像我在视频里演示的那样。对每块反射镜重复这个过程,直到到达透镜。
  7. 透镜应该凸面朝上安装。再次出光,确认光束在中心,并且烧出圆形的痕迹,而不是半月形;半月形说明光束在第三块反射镜之后打到了管壁上。

问题与解决

第一个问题是 Y 轴停止移动,原因我到现在也没弄明白。我换了一个步进电机驱动器测试,也重新接了所有线,以便调试。

最后我认定不是接线问题,于是像前面说的那样重新编译 GRBL,在文件 cpu_map.h 里把 Y 方向位(引脚)从 6 改成 7,然后就好了。我不确定真正的原因是什么。

重新编译 GRBL

下一个问题是 X 轴的比例完全不对。我做了一个简单的 10 mm 正方形去切,结果却切出一个长矩形。

我解决这个问题的方法很简单:把每毫米步数重新写入 GRBL 控制器的 EEPROM,它就开始正常工作了,正如这些照片所示。

正方形内侧测量结果是 10.2 mm。

测试正方形的内侧尺寸

正方形外侧测量结果是 9.9 mm。

测试正方形的外侧尺寸

根据内外测量结果计算,切缝宽度是 0.15 mm,对第一次测试来说还不错,但通过更好的对焦还能改进。不过这个我留到计算机控制切割周再说。

最终测试

← (5月13日) 界面与应用编程 · 所有周 · 自选周 (5月27日) →