MakerLab创客实验室 — Let's Make something.
现在注册
已注册用户请 登入

Kossel/Rostock等Delta并联三角洲3d打印机固件配置及自动调平

固件配置对打印机非常重要,Delta机型也不例外
简介20 硬件准备及配置0 固件修改配置48 检验、校正你的参数39 G29测试效果18 真实打印测试13

如果你已经安装校正的流程进行了自动调平功能的校正,那么你输入G28命令然后G29命令后看到的动作应该是这样的:
1、收到G28命令后,打印机会回原点;
2、收到G29命令后,打印机开始对各点进行探测,完成后,移动到高高的回收螺丝位置进行探针的回收;
3、回收完成后,打印机会升起30mm的高度;

为了能够让打印机每次打印前都自动进行调平功能,需要在切片工具中(如Slic3r或cura等)的启动G代码位置配置上G29命令,否则打印机的自动调平功能将不会执行。

找到切片工具的相关位置,然后找到启动代码的G28位置,在G29下面一行添加G29命令,如下图所示:

本文最后更新于:一年前
18 回复
noki medium avatar
#1 - 2 年前
noki   via Android

請問版主,一般機器會執行G28歸零及G29自調平,這是切片軟體產生,還是機板上燒入的固件產生的動作

Andy medium avatar
#2 - 2 年前
Andy

@noki 严格来讲是两个配合的。
首先固件需要打开G29相关的功能,然后就是在切片软件中加入G29命令(一般在G28命令后面),才能实现在打印前进行自动调平功能,如果固件或切片软件有一个没有配置,则这条命令将不起作用。

noki medium avatar
#3 - 2 年前
noki   via Android

謝謝你熱心的回覆,我有一個疑惑請教,我們一般的切片軟体,在安裝完就自然產生g28/g29嗎?像我這毫無經驗的初學者,怎麼懂得去配置g28/g29.我是用cura這切片軟體,我也沒去配置,好像也能執行,這是為什麼?像我機器是噴頭去點平台自調平,這能用探針調平這個固件嗎?

Andy medium avatar
#4 - 2 年前
Andy

@noki 在这里,具体可能跟我的有差别,一般都是G29放到G28后面:

noki medium avatar
#5 - 2 年前
noki

謝謝版主的熱心,雖不是很懂它是如何在切片軟體內產生的,我會進可能去理解的 感謝

define_ni medium avatar
#6 - 2 年前
define_ni

请教Andy老大,我想具体了解下delta自动调平原理,当探针触碰动作后,发送电平信号,问题一:此时机器记录Z轴高度等数据(用于补偿)是临时存储在哪里?问题二:是否主控在接收到探针信号后,才正常执行喷头抬起动作并探测下一个点(意思是如果某个探测点开关没有动作,后面的调平探测点就执行不了),还是说不管有没有接收到电平,都会把所有探测点走一遍?

define_ni medium avatar
#7 - 2 年前
define_ni

还有请教一个,算问题三:我另下载的RichCattell写的marlin固件for delta,与你的这个版本,对比marlin_main.cpp中关于自动调平的代码差别较大(别的部分我还没做比较),是做了大量修改吗?都是调平,代码差别这么大,功能上会有什么区别?比如下面是RichCattell版的一部分:
case 29: // G29 Calibrate print surface with automatic Z probe.
if (code_seen('D'))
{
SERIAL_ECHOLN("Current bed level array values:");
SERIAL_ECHOLN("");
for (int y = 0; y < 7; y++)
{
for (int x = 0; x < 7; x++)
{
SERIAL_PROTOCOL_F(bed_level[x][y], 3);
SERIAL_PROTOCOLPGM(" ");
}
SERIAL_ECHOLN("");
}
break;
}
saved_feedrate = feedrate;
saved_feedmultiply = feedmultiply;
feedmultiply = 100;

  deploy_z_probe();
calibrate_print_surface(z_probe_offset[Z_AXIS] +
(code_seen(axis_codes[Z_AXIS]) ? code_value() : 0.0));

retract_z_probe();

feedrate = saved_feedrate;
feedmultiply = saved_feedmultiply;
previous_millis_cmd = millis();
endstops_hit_on_purpose();
break;
case 30: //G30 Delta AutoCalibration
int iterations;

Andy medium avatar
#8 - 2 年前
Andy

@define_ni
数据存在内存里。所有断电再打开后之前的数据会消失;
如果移动一段距离没有触发信号,软件也会触发,触发方式我没有研究过,应该是一定距离或时间后即便没有碰到开关也会触发。你也看测试一下(把Z最大值减小到一定程度后,调平时即便没有碰到平台,也会有调平数据生成)。所以会都走一遍,不过这样的数据不可用

Andy medium avatar
#9 - 2 年前
Andy

@define_ni RichCattell的固件我没用过,但了解到他的最大区别是可以自动运行完成delta各个参数的设定,需要运行好多次,直到机器任务差不多了才可以。

djhaowen medium avatar
#10 - 2 年前
djhaowen

@Andy 你好,请问我运行g28后运动都正常,但是执行g29的时候提示"Home X/Y Before Z",请问你知道是怎么回事吗?谢谢

Andy medium avatar
#11 - 2 年前
Andy

@djhaowen 打开自动调平了?打开自动调平后,需要先让xy回原点,再对z回原点。否则会有这个提示。

djhaowen medium avatar
#12 - 2 年前
djhaowen

@Andy 你好,确定先进行g28,然后g29没反应,g28的时候一切正常,xy回原点,舵机放下微动开关,z向下直到碰触微动然后完成g28,紧接着我执行g29还是提示"Home X/Y Before Z",我之前的机器用过这种方法调平,一切正常,这次我也不知道是什么原因,所以来请教你一下

Andy medium avatar
#13 - 2 年前
Andy

@djhaowen delta机器?还是普通机器?

djhaowen medium avatar
#14 - 2 年前
djhaowen

@Andy 普通xyz机器,delta结构目前调平没问题

Andy medium avatar
#15 - 2 年前
Andy

@djhaowen 奇怪的问题,再过一遍固件配置,看看有没有漏掉的地方没有配置

elon medium avatar
#16 - 一年前
elon

@Andy 我在执行G29命令时,Probe就是碰不到平台。差了很远。差不多是在Z轴的中间的位置,同时,在移动的同时,还会不停的向上移。手动移动,都挺正常。反复检查了设置项,没有遗漏。 这是什么问题,都试了3天了。

Andy medium avatar
#17 - 一年前
Andy

@elon 加大Z最大值试试看

snoopy80031 medium avatar
#18 - 一年前
snoopy80031

@Andy

大神請教,你有通過G32嗎?調平指令。一次性的。