2015年9月20日 星期日

3DP : SmartrapCore 組裝筆記

原來戲稱我的第一臺 3D printer Prusa i3 是小三 (它佔去了我不少空閒時間),緊接在第二臺Delta 架構的 Kossel mini 後面,真正的小「三」出現了。不過,我這臺走 CoreXY 架構的 SmartrapCore 有 40cm x 40cm x 31cm,也不算「小」。


為什麼會選 SmartrapCore 當小三呢?主要是玩過 Prusa 那類型,也玩過 Delta 型的,想試試 CoreXY 這種以兩顆馬達加皮帶協同控制 XY 兩軸的特殊機構;另外,SmartrapCore 以木箱當主結構體,所有的東西都放在一口木箱中也是很特別的方式。


SmartrapCore 完全 opensource,以 OpenJSCAD 來建立整臺印表機的印件模型,讓大家可以自行輸入參數,然後依輸出的參考尺寸來選擇合適的木板、光軸,並下載印列件模型來列印,可以完全滿足 DIY 的樂趣。

底下記錄一下安裝的筆記:


需用到的網站

組裝 SmartrapCore 時,我們會需要用到底下的網站:

作者很貼心的拍了一系列詳細組裝步驟,雖然我選用的 Smartcore V1.2 有部份列印件不同了,但對第一次組裝的人來說,參考價值還是滿高的:

材料清單

SmartrapCore 的木箱和光軸的尺寸需依自己計畫的列印範圍和木板的厚度.......等來設定參數內容,SmartrapCore 建模的程式會一一幫我們算出尺寸,我們再據此採買或製作。我這次因為已有現成的木箱,因此只能不斷更改參數來找出最符合箱子的列印範圍。總之,我們可以用 SmartrapCore 的建模程式來達到完全客製化。

底下是會使用到的所有材料清單:
  • 木板 : 共四片,厚度看自己想設定的參數是多少,長寬則參考 OpenJSCAD 建模程式輸出的結果。
  • 光軸 : X軸兩支,Y軸兩支,Z軸兩支,我採用直徑 8mm 的光軸,長度需參考 OpenJSCAD 建模程式輸出的結果。
  • 列印件 : 在 OpenJSCAD 設定參數後輸出、下載,並以 netFabb 修正後列印。
  • 螺絲 :
    M3x30 螺絲 (6根)
    M3x25 螺絲 (6根)
    M3x16 螺絲 (10根)
    M3x10 螺絲 (10根)
    M3 螺母 (5顆)
    M8x25 螺絲 (5根)
    平頭的木頭螺絲 3.5吋 (12根)
  • nema17 步進馬達 4 顆 (40mm or 48mm)
  • 主控板 : ramps 1.4
  • 微動開關 3 顆。
  • 加熱頭一組 : E3D
  • 軸承 :
    滾珠軸承 608zz 10 顆。
    線性軸承 lm8uu 12 顆。
  • 鐵氟龍管(Bowden cable) : 70 cm ,外徑 4mm,內徑 2mm。
  • 6mm 2GT 皮帶大約 3公尺,實際長度要參考 OpenJSCAD 建模程式輸出的結果。
  • 20齒 2GT 同步輪  3 個。
  • 玻璃 1 片(尺寸需配合列印範圍)。
  • 電源供應器(變壓器)。
擠出機我沒使用 SmartrapCore 的,所以材料另外列:
  • 列印件模型 : http://www.thingiverse.com/thing:719709
  • 滾珠軸承 624zz  1 個。
  • MK8 送絲齒輪 1 顆。
  • 強力彈簧(外徑7-9mm,長度30mm) 1 個。
  • M3x25 螺絲(3根)
  • M3x8 螺絲(1根)
  • M4x15 螺絲(1根)
  • M3華司 x 3
  • M4華司 x 2
  • 快速接頭 (外徑 4mm,內徑 2mm,螺紋 10mm) 1顆。

列印件模型製作流程

底下簡單的記錄 SmartrapCore 印表機列印件建模的程序:
  1. SmartrapCore 網站中下載 OpenJSCAD 建模程式並儲存。
  2. 將建模程式拖曳至 openjscad.org
  3. 依自己的需求設定各項參數。
  4. 選擇需要的輸出模式。
  5. 按「Update」
  6. 按「Generate STL」
  7. 將下載回來的 .STL 檔案 upload 到 netFabb 的 3D Model Repair 雲端服務修正。
  8. 下載修正好的模型。

注意:
步驟 7 很重要,因為 OpenJSCAD 輸出的模型很鬆散,無法直接列印,必須由3D模型修正工具修補後,結構才不會有問題。

另外,在列印時,如果模型是兩個物件,可以將模型先拆開,並依需求旋轉一下方向,基本上,應該是不需要加支撐即可列印。

建模參數範例

假設我的印表機木箱的尺寸大小如下:
  • 木板厚:15mm
  • 木箱內部長、寬、高:370mm 

所以木箱底部部的長寬應該各為 400mm。

在 OpenJSCAD 中的建模參數中輸入如下內容:
  • Print width: 205
  • Print height : 230
  • Print depth : 275
  • Box wood thickness: 15
  • X Y Rods diameter : 8
  • Z Rods diameter : 8
  • Stepper motors type : nema17

如果只是要在畫面中預覽模型,我們可以將「output resolution」(產生模型時的解析度)設為 8 即可,如果是要產生列印件的 .STL 檔就設為 32。

如果想查詢光軸長度,可以在「What to show」中選「Walls and rods sizes」,即可知道 x, y, z 三軸的光軸各要多長。

組印表機時的部份筆記

  • Z 軸的底部 :
    以 2 根 M3x25 螺絲鎖馬達。
  • Z 軸的頂部 :
    以 1 根 M10x20 螺絲鎖 608ZZ 軸承。
    面對 Z 軸,頂部那塊,左邊較寬,右邊較小。
  • Z 軸的中間 :
    需用到四顆 LM8UU,安裝時上面要切齊,以四根 M3x10 鎖緊。
  • XY 軸皮帶 :
    XY 軸使用到兩條皮帶和八個 bearings,而八個bearing剛好有四個是位於上層,四個位於下層,一條皮帶會掛在比較高的 bearings 上,另一條則是掛在較低的 bearings。
    兩條皮帶都先將一端掛在 X 軸臺車靠 E3D 那一側,並鎖上 E3D 的固定架,起始位置如果較低的皮帶,應該掛在較低的 bearings,起始位置如果較高的皮帶,則應該掛在較高的 bearings 上。
    為了配合兩條皮帶高度不同,XY軸兩顆馬達上的 pulley 固定的高度應該也會不同,掛較位置較高的皮帶,pulley 就必須調高一點。
  • XY 馬達:
    CoreXY 的特色是,X 和 Y 兩顆馬達會同時轉同一個方向,用以控制 X 軸或 Y 軸,因此安裝時,靭體的設定很重要,務必將兩顆馬達調到同方向旋轉。
    以我的來說,初玩,搞不清楚,玩了好幾次,最後是:
    左側的馬達(列印件上有印個 L)是插在控制板的 X 馬達位置,而右側的馬達(列印件上有印個 R)是插在控制板的 Y 馬達位置;而 Marlin 中搭配修改了參數,「INVERT_X_DIR」和「INVERT_Y_DIR」都設為「true」。很不習慣的一點是,Y 的限位開關明明固定在標為 L 的列印件上,馬達卻插在 X 上,他日要再來調整一下。

改裝部份:限位開關

X、Y 和 Z 軸的限位開關,最經濟的方法當然就是直接以微動開關來製作。
  • 準備綠色和黑色的電線各一條。
  • 將電條電線分別焊在微動開關「C(Common)」和「NC(Normally Closed)」兩支接腳上。
  • 電線的另一端打上一個2 pins 母的杜邦端子。
  • 控制板上則插入 GND 和 Signal 的腳位,注意!千萬別接到 Vcc 的 5V 腳位去了。

Marlin 配合修改參數的部份,以 X 軸的限位開關為例,Marlin 的 Configuration.h 中要搭配底下的設定值

const bool X_MIN_ENDSTOP_INVERTING = false;

Y 軸和 Z 軸的部份也是類似。不過,強烈的建議,一定要自己先測試 EndStop 是否有工作,才可以執行印表機 HOME 的指令。測試限位開關的的 G-Code:

M119

SmartrapCore 原始設計,Z 軸是使用近接開關,基於使用率、載重及成本,我將它改用便宜好用的微動開關:


我設計了一個簡易的調整螺絲架和微動開關固定架,模型可以在底下網址中找到:


改裝部份:料架

SmartrapCore 原始設計將料盤置於底部,我們可以利用壞的 2.54吋硬碟當料架。將舊硬碟拆解,只留底座和碟盤,其實零件都不要。再用兩根木板螺絲和華司夾緊固定即成為「骨溜」、好用的料架。我剛好有一顆早期 Seagate 出的薄型硬碟,碟盤不知何時已由底座拆下,找不到固定軸心的螺母,只好將底座翻面,碟盤軸心改由外部扣在軸心孔,再用一根小迴紋針夾住軸心來固定,甚是好用。



改裝部份:擠出機

擠出機我採用在 Thingiverse 中找的的這個「Bernis simple 3d printing bowden extruder」:


組裝並不難,要注意的是彈簧強度要夠。

有關擠出量,我在 Marlin 中用到的參數記錄如下:
  • DEFAULT_AXIS_STEPS_PER_UNIT 設為 150
  • DEFAULT_MAX_FEEDRATE 設為 25
  • DEFAULT_MAX_ACCELERATION 設為 10000

Marlin 的參數

底下是我的 Marlin 中有更改的部份,請依個人需求再行修改,切勿直接套用:
  • 依控制板修改:
    #define MOTHERBOARD 33
  • CoreXY一定要有的參數:
    #define COREXY
  • 限位開關的參數(務必自行測試才上線):
    const bool X_MIN_ENDSTOP_INVERTING = false;
    const bool Y_MIN_ENDSTOP_INVERTING = false;
    const bool Z_MIN_ENDSTOP_INVERTING = false;
  • 馬達旋轉方向(務必自行測試才上線):
    #define INVERT_X_DIR true
    #define INVERT_Y_DIR true
    #define INVERT_Z_DIR true
    #define INVERT_E0_DIR true
  • 最大列印範圍(務必自行計算、測試才上線):
    #define X_MAX_POS 185
    #define Y_MAX_POS 245
    #define Z_MAX_POS 140
  • 執行 HOME 時的速度
    #define HOMING_FEEDRATE {70*60, 70*60, 10*60, 0}
  • 搭配每步旋轉1.8度的馬達,以16微分控制,2GT皮帶、20 齒同步輪(80=200x16/2/20,擠出機的150, 25 必須自行再調整)
    #define DEFAULT_AXIS_STEPS_PER_UNIT   {80, 80, 80, 150}
    #define DEFAULT_MAX_FEEDRATE          {200, 200, 10, 25}
    #define DEFAULT_MAX_ACCELERATION      {3000,3000,1000,10000}


待解決問題

SmartrapCore 使用了幾天,目前遇到幾個問題,先列在這兒:
  • 列印平臺在 Z 軸馬達 off 時,會因為重力而整個下滑。
    目前在結束的 G-Codes 裡加入了讓 Z 軸下降至最底的指令,降低瞬降的風險。
  • 因為印表機主結構使用木箱子,列印時共振的情形很明顯,整體的聲音很大。
  • 列印平臺似乎會因為結構設計的問題及機器的振動的問題而受影響,此部份待觀察。
  • 高速列印時,直角變形,垂直水波紋較明顯。

相關文章




2 則留言:

  1. 您好,小弟我是初學者。
    1.請問
    Print width
    Print height
    Print depth
    是指可列印範圍還是木箱的大小?
    2.
    X Y Rods diameter 和
    Z Rods diameter
    的參數如何選是最好的?
    謝謝!

    回覆刪除
    回覆
    1. 您好:
      這篇已是兩年前的舊記錄,SmartTrapCore 後來有出新的建模工具在 OnShape 上,建議您用新的較好,而它的計算方式似乎有所不同。

      刪除

 
© 2009. Design by Pocket