為什麼會選 SmartrapCore 當小三呢?主要是玩過 Prusa 那類型,也玩過 Delta 型的,想試試 CoreXY 這種以兩顆馬達加皮帶協同控制 XY 兩軸的特殊機構;另外,SmartrapCore 以木箱當主結構體,所有的東西都放在一口木箱中也是很特別的方式。
SmartrapCore 完全 opensource,以 OpenJSCAD 來建立整臺印表機的印件模型,讓大家可以自行輸入參數,然後依輸出的參考尺寸來選擇合適的木板、光軸,並下載印列件模型來列印,可以完全滿足 DIY 的樂趣。
底下記錄一下安裝的筆記:
需用到的網站
組裝 SmartrapCore 時,我們會需要用到底下的網站:- https://www.youmagine.com/designs/smartcore
- http://openjscad.org/
- https://modelrepair.azurewebsites.net/
作者很貼心的拍了一系列詳細組裝步驟,雖然我選用的 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 印表機列印件建模的程序:- 至 SmartrapCore 網站中下載 OpenJSCAD 建模程式並儲存。
- 將建模程式拖曳至 openjscad.org
- 依自己的需求設定各項參數。
- 選擇需要的輸出模式。
- 按「Update」
- 按「Generate STL」
- 將下載回來的 .STL 檔案 upload 到 netFabb 的 3D Model Repair 雲端服務修正。
- 下載修正好的模型。
注意:
步驟 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 軸下降至最底的指令,降低瞬降的風險。 - 因為印表機主結構使用木箱子,列印時共振的情形很明顯,整體的聲音很大。
- 列印平臺似乎會因為結構設計的問題及機器的振動的問題而受影響,此部份待觀察。
- 高速列印時,直角變形,垂直水波紋較明顯。
您好,小弟我是初學者。
回覆刪除1.請問
Print width
Print height
Print depth
是指可列印範圍還是木箱的大小?
2.
X Y Rods diameter 和
Z Rods diameter
的參數如何選是最好的?
謝謝!
您好:
刪除這篇已是兩年前的舊記錄,SmartTrapCore 後來有出新的建模工具在 OnShape 上,建議您用新的較好,而它的計算方式似乎有所不同。