dsweiliang 发表于 2017-4-18 16:54:22

Kossel/Rostock 结构设计与Marlin固件参数的计算

本帖最后由 dsweiliang 于 2017-4-18 16:54 编辑

帖子转载至贴吧:https://tieba.baidu.com/p/3020211228

接触Kossel以来,一些问题一直很困惑:“这个结构的各部分尺寸是如何得出的?是否可以自己改大或改小?各部分尺寸之间的关联是什么?按照什么样的方法计算更改后的尺寸?”还有“自定义结构需要更改固件中的那些参数?如何计算这些参数才能让打印机正常运行”。也许不止我一个人有这样的困惑,但现成的中文资料几乎没有对这些基础问题完整的说明,所以趁短暂的假期我花了不少时间搜索国外网站,渐渐缕出了其中的关联和逻辑,基本解决了自定义结构所涉及的尺寸计算和参数设定问题,写下来做为一个简单总结,也想和大家分享避免大家把时间浪费在“重复发明轮子”上面。
首先需要先定义和解释一些英文术语以扫清理解障碍,由于我不是学机械的,一些术语难免翻译的不标准,所以同时也会附上专用词汇的英文原词以方便对照参考。本人画图实在拿不出手,为说明更直观,文中借用了一些国内外大神的图片,声明版权归原作者所有,在此表示感谢。

1.extrusion (铝)型材
horizontal extrusion 水平型材(即组成三角形底座和架顶的短型材)
vertical extrusion 垂直型材(即支撑打印机结构的三根垂直长型材,在Rostock中用导轨作为支柱,也称为column〈立柱〉)


Extrusion width 型材宽度(即正方形截面的边长,2020就是20mmx20mm,1515就是15mmx15mm)下面附一张2020型材的参数图表


2.Diagonal Rod 斜杆
Effector 效应器 (这个指的是六根斜杆的交汇处承载打印头的那个部件,如下图。这个词直译比较难理解,据查“effector效应器”原是生物学术语,“传出神经纤维末梢或运动神经末梢及其所支配的肌肉或腺体一起称为效应器(effector)”,这样一来还是比较形象贴切的)
Carriage 滑车/滑块(如图)
Build Plate 打印床(即作为打印平台的玻璃板或热床)


3. Radius 半径
Diameter 直径
Angle 夹角
Offset 偏距(机械术语,指中心外一点到中心线的水平距离)
术语先写这么多,下面是结构计算部分下面要解决的问题是,就是如果我想造一台更大或更小的Kossel/Rostock打印机,我该如何确定水平型材、垂直型材以及斜杆的尺寸?我们之所以要建造非标尺寸的打印机,目的无非是加大或减小打印体积/面积,这也正是我们计算各部分结构尺寸的出发点。看到很多国外爱好者在计算可打印体积时通常以立方体或圆柱体来计算,这其实是简化的做法,实际上因为立柱和边缘的影响,Kossel/Rostock打印机的打印投影面的形状是这样的(下图是Rostock原型机的打印范围示意图):

类似一个不规则的六边形的形状,这是Arm Length(斜杆臂长)=250mm时理论上的打印范围,途中R250所表示的线段即一根斜杆处于水平状态时所能达到的圆弧半径。Horizontal Lenth of home position指的是打印头处于初始位置(打印床的中心)时斜杆的水平投影长度,为124mm。也许各位已经发现了,斜杆长度和初始位置投影长度的比近似2:1,也就是说初始位置斜杆与打印床夹角约等于60度,这个角度就是计算结构件尺寸的关键所在,至于为什么,接着往下看。



(请结合上面的术语名词解释理解上图的每一个数据,在后文的固件参数设置中我们需要通过测量和计算得到这些量,后面还会细说)
为什么是60度?相信原型机的设计者们一定是根据一套严密的计算得出这一最优解的,至于如何计算的,由于时间匆忙我并没有找到原始的计算方法,不过我们可以简单的定性理解一下,请在你面前想象出一个Kossel/Rostock打印机,先从水平打印面积说起,打印面积的边缘轮廓由斜杆的两个极限位置决定,一个是斜杆与垂直型材的夹角达到最小值时(假设是0,即斜杆垂直于平面),此时打印头位于距离三角形的一个定点最近处。另一个是斜杆达到水平,与垂直型材夹角90度时,此时打印头位于距离相对的三角形定点最远处。由于三个垂直立柱的限制,使得打印面积的半径不能超过三角形的外接圆(理想状态下,实际还要考虑结构件占用的空间而“浪费”的部分)下图是理想状态的示意图

在简化的模型中,可以直观的看出斜杆臂长的最优解的条件:打印范围恰好覆盖半径为R的圆(尽管实际中不可能达到),此时不会造成打印高度的浪费。要达到这个面积斜杆长度的最小值为2倍的外接圆半径,即2R,此时AL:R=2:1,初始位置夹角60度。尽管以上计算不够严谨,没有考虑实际中要减去的“死角”,但我们可以大体理解设计结构时要遵循的原理。实际上斜杆的臂长并没有一个特别精确的要求,因为固件中的参数都是可以根据实际设计尺寸调整的,把臂长设计的或长或短,只要测量出准确值通过正确计算修改固件参数都可以让打印机正常工作。但仍然有两点需要注意:斜杆处于水平位置打印时,会产生较大的误差,所以设计时要考虑到打印范围的边缘仍要留有一定的冗余;同时斜杆也不是越长越好,斜杆长度越大,和垂直型材夹角越小,使用相同步进电机和齿轮的情况下,打印精度会降低,所以也有牺牲打印范围,增大斜杆和垂直型材夹角以提高精度的做法。

从各方面的资料来看,所公认的一个计算斜杆臂长的简便算法是 取2倍的Delta_Radius,注意这个量并不是三角形外接圆的半径,而是在上上图中初始位置时斜杆的水平投影,Delta_Radius=Delta_Smooth_Rod_Offset - Delta_Effector_Offset - Delta_Carriage_Offset。这里我们旨在说明斜杆长、水平型材、垂直型材、打印范围之间的关系,实际设计时根据所需的打印范围即可通过三角函数关系计算出斜杆、水平型材、竖直型材的尺寸。需要注意的是垂直型材的长度和水平型材的长度并没有关系,垂直型材的长度只和你需要的打印高度有关,垂直型材高度=打印高度+打印头在打印床边缘时斜杆的垂直投影+“浪费“的长度(这些在下面的参数计算部分会说到)

本帖最后的部分来讲讲Marlin固件参数的测量和计算,国外已经有很多爱好者制作的计算工具(听起来高大上,其实就是用excel表编辑好公式,输入测量量即可得出各种参数),这里主要说说测量哪些量以及如何测量。Marlin固件下载地址:https://github.com/ErikZalm/Marlin点击右侧的download Zip下载,解压后用Arduino IDE打开Marlin.pde 参数在configuration.h页签中修改。
以下主要是翻译,有删改,原文地址见最后.
以下参数需要正确设定才能使你的打印机正常工作,这些参数的值来自于你的打印机的几何结构,唯一的说明文档在Marlin固件configuration.h的代码注释中,这篇文章是我整理的到的以便于让你的工作更容易些。
1.Diagonal Rod(斜杆长度)
首先是斜杆的长度,要测量两端螺丝孔的中心距,在我的打印机中是200mm,所以我的参数是
#define DELTA_DIAGONAL_ROD 200.0
2.Effector Offset(效应器偏距)
这是从效应器的中心到一边两个孔连线所的距离。在下图中,我的效应器参数是22.87毫米(标示为DY),由绿色水平线表示。
#define DELTA_EFFECTOR_OFFSET 22.87 // mm



3.Smooth Rod Offset(滑杆偏距,见二楼的第二幅图)
这是从滑杆到三角形中心轴线所在平面的距离(此平面与任一侧上的两个滑杆平行)。即下图中的绿色平面,距离被标记为Center Dist,此图中数值为133.54。
#define DELTA_SMOOTH_ROD_OFFSET 133.54 // mm



4.Carriage Offset(滑车偏距)
这是滑杆中心到斜杆连接处螺丝孔中心的水平距离。在下图中,绿线所示部分(标记为DY),注:此图个人觉得画的不好,可以参考二楼第二幅图理解。
#define DELTA_CARRIAGE_OFFSET 16.5 // mm



大多数打印机都没有完全调整到最好,所以打印件稍微大一点或小一点,意味着你需要调整DELTA_SMOOTH_ROD_OFFSET的数值。当该值不正确时,你会发现喷嘴在打印时上下移动(该值影响喷头沿Z轴方向的运动,调整不正确时,本该打印水平面会不水平)。

调整方法是把喷嘴放在打印床边缘,如果喷嘴向中间移动时越走越高,则稍稍增加改值(每次加0.2mm),反之则减小该值,直到调整为一个平面。

原文链接:http://trains.socha.com/2013/10/3dr-simple-delta-printer-firmware.html



最后是参数计算工具:
英文版:http://pan.baidu.com/share/link?shareid=4088165743&uk=805905311
中文版:http://pan.baidu.com/share/link?shareid=4086608761&uk=805905311
感谢@chenniat 兄分享两个文件,中文版是chenniat兄的朋友翻译的,本来chenniat兄托我完善表格的翻译,我觉得这个翻译的已经很准确了,加之时间上也没来得及,我想相对于翻译,大家理解了各部分参数的由来和关系后,那些名词就不是障碍了,所以就没继续翻译,请大家先对照帖子看能不能使用,如果有需求,我再找时间翻译余下的。在此感谢chenniat兄。

本贴到此完成。




页: [1]
查看完整版本: Kossel/Rostock 结构设计与Marlin固件参数的计算