題:
如何在打印前添加自動調平床?
Hadi Barak
2017-06-18 23:51:01 UTC
view on stackexchange narkive permalink

我想在每次打印之前添加自動調平床。當我在 configuration.h 中啟用自動床位時,它僅在菜單中顯示自動床。我在 cardreader.cpp

  void CardReader :: openAndPrintFile(const char * name){char cmd [4 + strlen(name)+ 1];中找到了此代碼//存放“ M23”,文件名和空sprintf_P(cmd,PSTR(“ M23%s”),name)的空間; for(char * c = &cmd [4]; * c; c ++)* c = tolower(* c); enqueue_and_echo_command(cmd); enqueue_and_echo_commands_P(PSTR(“ M24”));}  

並將其更改為

  void CardReader :: openAndPrintFile(const char * name){char cmd [4 + strlen(name)+1]; //存放“ M23”,文件名和空sprintf_P(cmd,PSTR(“ M23%s”),name)的空間; for(char * c = &cmd [4]; * c; c ++)* c = tolower(* c); enqueue_and_echo_command(“ G28”); enqueue_and_echo_command(“ G29”); enqueue_and_echo_command(cmd); enqueue_and_echo_commands_P(PSTR(“ M24”));}  

現在,每次打印之前,打印機都會進行兩次自動填充,但是當打印開始時,自動填充將被忽略

請幫助我解決此問題。

我正在使用Marlin固件1.1.0。

為什麼不將自動調平命令僅添加到起始G代碼中(在切片器中)?
我希望它是自動的,有時候我只有g代碼文件,無法編輯所有文件
@HadiBarak如果配置正確,則可以選擇在手動開始打印之前自動平整床。這將在“準備”->“床平整”(或任何稱為“選項”)下。最好將其添加到起始G代碼中。但是,請確保將其放在G28(自動歸位)之後。在打印某些內容時,您將無法自動運行該命令,因為該命令由起始G代碼控制。
您可以使用任何TXT編輯器編輯Gcode的@HadiBarak,只需要在G28之後添加G29。
五 答案:
Nikkoura
2018-08-25 18:39:12 UTC
view on stackexchange narkive permalink

您沒有修改固件來處理此問題,而是考慮了計算機上的預處理腳本,在G代碼中使用 G29 ,然後添加 G28 如果沒有找到 G29 ,是否在文件的開始處找到一對code> / G29

在重新閱讀了問題之後,似乎這也許是解決這種情況的唯一方法,除非Octoprint可以做與預處理相同的事情。
-1
Nikkoura
2018-08-25 19:14:47 UTC
view on stackexchange narkive permalink

使用Marlin 1.1.0,您可以在已經存在SD卡的打印機上電時自動運行G代碼文件。

添加名為 auto0.g code的文件>在卡的根目錄中,其中包含以下G代碼:

  G28;自動歸位G29;床平整 

通常,床平整圖應可以重新用於所有後續打印,直到關閉打印機。

最多可以提供10個文件,從 auto0.g auto9.g

您是否願意將此(或其衍生版本)發佈為問題的答案[使用Marlin固件時,插入SD卡時是否可以自動運行G代碼腳本?](https://3dprinting.stackexchange.com/questions / 6778 /可以在使用marli時自動在插入一張SD卡上運行g代碼腳本)
Trish
2018-08-26 18:34:45 UTC
view on stackexchange narkive permalink

我將其放置在G代碼生成切片器中作為預打印件,而不是在配置中放置 G28 (主頁)和 G29 (床位)碼。這將自動將其添加到任何切片的G代碼的開頭,並在運行G代碼時強制執行歸位和調平。

0scar
2018-08-29 20:25:07 UTC
view on stackexchange narkive permalink

另一個完全滿足您要求的答案涉及使用打印服務器。打印服務器是一種應用程序,它通過來自另一台設備的USB連接來運行對打印機的指令,該服務器可以是您的計算機/筆記本電腦,也可以是專用的 Raspberry Pi(價格適中的小型計算機)。這裡進一步描述的一個這樣的應用程序是 OctoPrint(可以很好地與其他應用程序一起完成,但是需要首先檢查!),此打印服務器應用程序允許接下來集成許多第三方插件。到它已經具備的現成功能。這樣的功能之一就是 GCODE腳本(以這種方式專門拼寫以匹配“ Octoprint”設置菜單中的選項);該屏幕快照顯示了一些詳細信息:

GCODE scripts menu options item

從圖片中可以看出,有一些特定的“事件”可用於處理G代碼在特定事件發生時的命令,例如在開始打印之前。您可以使用該envent插入調平命令。


請注意,在圖像中,您會發現奇怪的G代碼命令,例如 OCTO100 OCTO110 是名為“ GCODE System Commands”的插件的功能,它允許運行的Shell腳本調度風扇。我只是在打印機閒置時關閉風扇的電源,以消除打印機閒置時的噪音,僅當熱端溫度升高時才需要風扇。

TextGeek
2017-10-14 19:46:05 UTC
view on stackexchange narkive permalink

我不太熟練使用G代碼,但是在現代機加工車間:了解G27,G28,G29和G30後,我發現了對 G28 和添加的 G29 代碼:

  • G28 :對於G28命令中包含的任何軸字母地址,機器首先將移動(快速)到這些軸的中間位置。然後,它將快速返回到指令軸上的零返回位置。

  • G29 :G29也是一個兩步指令。首先,它使機器(在指令的軸上)移動到最新的 G28 命令中使用的中間位置。其次,它會使機器移動到 G29 命令中包含的位置。

所以對我來說,您只需要以下一項即可這兩個命令。您修改的代碼似乎在啟動時單獨運行,而不是針對每個單獨的打印運行。首先,我將分別使用每個G命令嘗試修改,以便您可以確切地看到硬件上的區別。

我不了解所涉及代碼的方式,但是看起來就像d需要在其他地方進行修改,例如在任何循環將連續命令發送到打印機之前。

希望儘管我的流利程度有限,但還是有幫助的。

您發現的這些描述與專業CNC機床上的G28 / G29命令有關。在3D打印機固件中,它們已被(錯誤地)挪作他用。 G28對終點擋塊執行歸位順序(這種(但不是真的)與您的描述相對應),而G29則啟動自動床平整。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...