2013年10月21日 星期一

封頂不飽滿


問:

馬林fw是使用Repetier-Host列印材質ABS,頂部常這樣,請教有常用abs列印的前輩指導一下解決或改善方法 感謝!

答:

這屬於封頂的問題。
Slic3r設定有幾點建議:
1. Print Settings->Advanced-> Extrusion width,全部設成你擠出孔的直徑,我的是0.4mm。
2. Print Settings->Verticals shells -> Perimeters 至少設定3圈以上。
3. Print Settings->Verticals shells -> Generate extra perimeters when needed 要勾選
4. Print Setting -> Infill -> Fill density 不要小於0.15

Repetier -> 手動控制 -> 擠出頭擠出速度,試著增加擠出量。用110~120測試看看。

2013年10月15日 星期二

KISSlicer 入門教學

KISSlicer 的全名是 "Keep It Simple Slicer",意指"保持簡單"的切片軟體。但是也許是設計邏輯的出發點和 Slic3r 不同,讓我一下子適應不了他的設定參數。如果初次接觸切片軟體就選用KISSlicer的朋友,也許不會有我這個困擾。親嘴切片雖然以簡單命名,但是他的功能也相當齊全,除了切片之外,使用介面中也附帶了模型、切片、路徑的預覽視窗。不像Slic3r的陽春預覽視窗,只能大概知道模型在工作床上的大略位置。和Slic3r相比,KISSlicer的另一項優點,是他程式內部記憶體使用的管理,比較合理。當模型檔較為複雜、模型體積較大的時候,記憶體使用量仍然維持在一個合理的範圍內,不像Slic3r會隨著模型越複雜越大,使用的記憶體就跟著不斷爆增、甚至遭到作業系統強制關閉。 至於切片結果的好壞,兩種軟體各有支持者,提出各自的看法。我在這邊就不予討論。

(以下教學以PLA材料為例)

接下來就來下載KISSlicer吧~
http://kisslicer.com/index.html


http://kisslicer.com/download.html
請下載合適的版本
另外有需要中文翻譯的朋友,可以下載 Chinese 語言包。不過翻譯的並不完整,大家看看就好。

解壓縮到合適的位置,然後執行 "KISSlicer"

初次執行,因為還沒有設定檔的關係,程式會提示找不到設定檔,並且使用預設的設定值。當設定有改變時,會自動產生設定檔並儲存設定。

乾淨的操作介面,惱人的設定,都安排在右下方的標籤頁之中。

第一個要設定的,是3D印表機的硬體規格。

  • "Bed Size"設定成自己印表機的列印工作區大小。
  • "Bed Center"設定程工作區XY軸大小的一半。
  • "Bed Roughness" 跟第一層的層高有關。在這邊我設定成0.1。
  • "Z-Settle" 我實在是不太懂定義為何。這邊我設定成0.1。
  • "Z Offset" 似乎是第一層擠料要擠多厚(幾次測試之後我下的結論。實在是看不懂上面的解釋。) 這邊我設 "0"


再來要設定擠出軸的定址模式,將 Firmware Type 設定成 "5D - Absolute E",使用絕對座標模式。



第三個要設定的是開始列印前印表機該做的準備工作。這邊前兩行是從Slic3r的預設抄過來的。第一行是將擠出頭的位置規零,第二行是在歸零後,將Z軸抬升5mm。第三行是為了因應KISSlicer 的溫度設定,只會使用M104指令,單純設定擠出頭目標溫度,但是不會等待溫度到達之後在開始之後的指令。因此在這邊添加M109指令,強迫印表機要等待溫度到達目標之後,才能開始列印。M82指令,要求印表機擠出軸(E軸)使用絕對座標模式。

G28 ; home all axes
G1 Z5 F100 ; lift nozzle
M109 S<TEMP>
M82

列印結束後印表機該做的事情,在這邊設定。第一是將加熱頭關閉,再來將X軸規零,最後停止馬達,讓工作台可以順利得被拉出,方便取下作品。

M104 S0 ; turn off temperature
G28 X0  ; home X axis
M84     ; disable motors

設定材料特性

  • "Diameter" 塑膠線材料的直徑。一般會是3mm或是1.75mm。線材規格是規格,可是實際粗細還是會有誤差。可以測量後填在這邊做校正。不過我現在都不這麼做,而是在列印過程中調整擠出量的百分比(可利用M221的指令,或是控制介面中的擠出量調整工具。)
  • "Temperature -> Main" 擠出頭溫度設定。這邊是設定目標溫度的"數字"。可是擠出頭真正的溫度,多少都會有誤差,有的甚至會差到二三十度之譜(很離譜的)。所以手邊的機器,溫度"數字"設定到多少,才能夠順利設定,要自己多嘗試、觀察,才能知道。目前我會請朋友觀察,如果開始列印後五分鐘內,就開始出現無法正常吐料,那要考慮把數字提高;如果五分鐘之後,一直到列印完成之前,才發生無法正常吐料,則考慮把數字調低。(再次強調,不保證成功,需要各位自己多加嘗試。)
  • "Temperature -> First Layer" 列印第一層時使用的溫度。有些朋友會把這個溫度稍加提高,以利底面與工作床緊密黏合。
  • "Keep-Warm" 待機溫度。列印完畢之後,手動設定的控制碼會把加熱頭關閉,所以這個參數變成無意義的數字。
  • "Destring" 抗牽絲 (這樣翻譯對嗎?)
    • "Prime" 預擠。 基本上就是把上次回抽抽回的塑料擠回。如果沒有特殊理由,設定跟回抽一樣的距離就好。
    • "Suck" 回抽。 當列印的線段印完,像後抽回擠出頭內的膠,可以幫助減少牽絲的現象。回抽的距哩,一般設在0.5~2mm之間。回抽距離太少,可能效果不夠好;回抽距離過長,則浪費時間,沒必要。
    • "Speed" 回抽速度。依經驗,回抽速度在15mm/s以下,效果會比較好。


Support 支撐架。支撐架在這篇先不討論,但是這頁裡有"Skirt"要啟動。Skirt是在正是列印之前,先在模型周圍列印一圈預擠,用來確保正式列印時,擠出頭能夠立刻吐膠。

重頭戲來了,Style。這頁設定模型得層高、線寬、壁厚、填充等重要參數,務必熟悉這些設定。

  • "Skin Thickness": 壁厚。不論是頂面、底面,或是側面的厚度,都會大於等於這個設定。KISSlicer會自動計算頂面、底面得層數,還有外圈的圈數,來滿足壁厚中設定的厚度。
  • "Number of Loops":側面外殼圈數。圈數越多,側面殼會越厚,同時也越花時間。一般都設在3圈。
  • "Extrusion Width" 線寬。線寬越細,模型理論上會越精細。但是受限於擠出孔的大小。當線寬小於擠出孔的直徑時,擠出的厚度有機會比我們設定的層高還要薄,會造成擠出的塑料沒有附著於上一層,導致列印失敗。初次嘗試列印時,建議要把線寬設定成擠出孔的直徑。
  • "Infill Extrusion Width":填充線寬。跟線寬一樣的問題,太細會造成附著失敗。建議一樣設定成擠出孔的直徑。
  • "Layer Thickness":層高。每一層的高度。初次列印建議先設大一些,0.3mm 或0.25mm。成功後再嘗試更薄的層高。層高越薄,片數相對越多、列印時間越長。一般玩偶、零件,我都使用0.2mm的層高,在解析度跟列印時間取得一個平衡點。
  • "Infill":填充密度。一般建議設在 10~20% 之間就可以。20%就可以獲得相當好的強度,一般不需要設得更高。設定成0%時,會變成"Hollow",空心的。再繼續減小,會變成"Vase"花瓶模式,不封頂。
  • "Infill Style" :填充型態。通常我選擇"Octagonal"八角型。
  • "Loops go from inside to Perimeter":繪製外殼的時候,以由內而外的順序繪製。除非有特殊理由,要不然通常都會勾選這個項目。
  • "Wipe" :擦拭。
  • "De-String":抗牽絲。


設定完切片參數後,可以開始載入3D stl 模型。點選"Open"按鈕,選取欲列印的Stl檔案。
(模型檔可到這個網站先下載好:http://www.thingiverse.com/)

在預覽視窗中,可以看到該模型在列印空間中擺放的模樣。注意右邊的控制欄位中,有提示這個模型的"Height"(高度),是93.9642mm。

我不想列印這麼大的模型,可以直接修改"Height"。這邊改成50mm。改完之後可以馬上看到,KISSlicer幫忙把高度調整成五公分。這個功能可以很方便得控制玩偶的大小。

按下"Slice",開始進行切片的運算。

完成切片後,點選"Models+Paths"選擇紐,就可以看到切片的線徑。黑色預覽區的右手邊,有一個垂直的滑桿,可以選擇要預覽多高的切片。上方的滑桿,可以預覽該切片繪製的順序。

靠右邊中間,有"[HH:MM]"字樣,後面標示出列印所需的時間。(預測值,時際時間還受印表機本身設定、特性的影響。) "[cm^3]"指的是這個模型需要的塑料體積。

其他層得切片情形,可以看到內部有八角型的填充。

按下"Save"按鈕,就可以把切片好的G-code另存新檔。這樣就完成切片的工作,可以拿G-code去餵3D印表機啦~至於會不會拉肚子,就.....



參考資料

http://3ntr.eu/wp-content/uploads/2014/08/KS_manual_EN_260814.pdf

2013年10月14日 星期一

KISSlicer 特色功能 "模型表面內縮"


3D列印擠出頭的定位,雖說精準,但是塑膠材料難免還是有膨脹或縮小的誤差。如果是列印擺飾品,對這些誤差可能沒有太大的影響;但是如果列印要組合在一起的"零件",那這些誤差可是會氣死人的!!上圖就是一個例子。藍色圖中兩片拼圖,在設計師的電腦裡,大小是完美密合的。但是我列印出來後,size就是大了一點點,打死都塞不進去。如果單純使用切片軟體的 Resize 功能,並沒辦法解決這個問題,因為縮小模型後,卡榫的空位也跟著縮小,於事無補。



KISSlicer 有專門解決這種問題的功能 "Inset Surface"。這個設定,會讓模型的大小,依外緣法線方向,向內縮小。這樣就可以讓卡榫的空位加大,補償列印過程中塑料熱漲冷縮的誤差。設定的單位是 mm ,建議設定值不要超過擠出頭直徑的一半。設定值太大,會造成卡榫間隙過大,不見得好;設太小,當然還是會有卡住裝不進去的毛病。黃色拼圖的零件,列印時 Inset Surface 設定為0.1mm。列印出來的拼圖就可以不經打磨,直接拼接,間隙也不至於太大。

有興趣的朋友可以一起來印這個蜥蜴拼圖做試驗~
http://www.thingiverse.com/thing:89983

測試模型

http://www.thingiverse.com/thing:172970

左邊是個"inset surface"設定良好的例子,只要稍微施點力,就可以讓卡榫互咬。右邊是個設定過頭的例子,榫接處榫太小、洞太大,完全不用施力就套進去了。

我的機器 Air 2,Inset Surface設定0.05mm時剛好。

2013年10月4日 星期五

DIY 3D列印小撇步

作品黏在玻璃上黏太緊,拆不下來怎麼辦?

可以利用玻璃跟塑膠熱膨脹係數不同的特性,讓作品變得容易拆卸。用吹風機加熱玻璃背面,吹一陣子玻璃熱了之後,再嘗試用鐵鏟拆卸作品,會變得比較容易拆。

千萬不要硬拆,以免玻璃被弄破。

口紅膠整理

工件拆下之後,塗在玻璃上的口紅膠會受損,黏著效果會下降、甚至完全黏不住。這時候可以使用化妝用的粉撲,或是海綿(焊接電路時清理銲槍用的那種),沾濕後塗抹玻璃上的口紅膠,可以抹平。待乾燥之後,黏性會恢復。就不用整片玻璃都洗乾淨之後重新上膠。

擠出軸馬達校正

擠料量要看頂層封閉的狀況好不好,有沒有擠太多溢出,或是擠太少填不滿。

底層要印得漂亮,要在頂層校正好E軸的 steps per unit 之後,調整平台的平整跟Z軸歸零的高度。Z軸高度的校正,一般會以兩張A4紙稍微被夾住的高度當作基準,但是如果實際列印第一層的時候,仍有太高或太低的狀況,就要稍微調整Z高度之後再重新開始列印。


這兩個過程都校正好,才有可能兩面都印得不錯。


 牽絲

回抽速度放慢似乎是關鍵!
把回抽速度設20mm/s,回抽距離設0.4mm,Z不要抬升。試看看。我這樣設,就很少牽絲了。跟溫度的關係不大。
右邊是速度30mm/s,距離1.5mm的列印,左邊是20mm/s,距離0.4mm。

翹起來!?

PLA的話:
1.口紅膠要夠厚、夠乾燥。台灣氣候潮濕,口紅膠永遠不會完全乾,要用吹風機吹,直到口紅膠變硬了,再開始列印。

2.第一層擠出頭的高度要適中,太高會黏不住,太低會溢膠,影響第二層的列印。稍微溢膠的狀況可以提高黏著的力量。

3.還會翹起來的話,要考慮減少內部填充的百分比,以及啟用Slic3r的Brim功能。

ABS的話,可以用保麗龍膠 。

上下兩層之間有縫隙!?

"線寬"要 "大於等於" "擠出孔徑",擠出量才會夠多,要不然與前一層的黏合會不夠緊密。

擠出機齒輪會叫!?

擠出機齒輪(不是擠出軸)要上黃油。針車油太稀沒效果。

每一層的高度似乎都有些誤差!?

Z軸螺桿要上黃油。針車油太稀沒效果。
時常檢查各個螺絲是否有鬆動,尤其是同步輪上的止付螺絲。
Z軸螺帽、螺桿,要用不同材質,避免磨損。
U型座不要咬螺帽咬太緊,要不然可能會造成U型座上升過程產生跳動。

滑套組裝

要注意讓滑套內的滾珠,盡量有兩排同時受力。
如果受力方向是向下(XY軸),那從側面看,滾珠應該排列成X型,而不是十型。

LM8UU 的 "UU",是指防塵的意思,所以黃油也不容易在安裝光桿之後流入滑套內。所以要在安裝之前先上好黃油。

Z軸總是搞不定!?


是的,Z軸雙馬達串聯,是目前遇到最多問題的地方。很多朋友在這邊出問題,我自己也卡關卡很久。馬達內部是大量的線圈,電感效應嚴重,會使電流變化量很慢,電流沒辦法在預計的時間內拉升到額定電流,導致功率無法發揮。兩顆馬達串連後,電感效應更強,馬達就更難以發揮其轉動的力量。

提高電壓,可以改善這個問題,但是3D印表機上的電源系統,如果要提供多種不同的電壓給不同的馬達使用,會變得很複雜,成本也會提高。另一個改善的方法,是降低Z軸的轉速,減少運作時對轉動力量的需求,防止馬達出現失步的問題。

試看看改 Marlin -> Configuration.h 裡的
1. HOMING_FEEDRATE,Z軸的數值改成2*40。
2. DEFAULT_MAX_FEEDRATE ,Z軸的數值改成2。
我改成這樣之前Z軸都"一定"會失步。

2013年9月24日 星期二

燒錄 Bootloader 到 Atmega 1284p

Note: Sanguinololu 1.3a 在USB 晶片跟1284P的通訊設計上,有些問題,倒致非常多網友買板子買來,卻無法使用。建議請避免再購買Sanguinololu。

線路接法:
Sanguinololu上的腳位Uno 上的腳為
slave reset10
MOSI11
MISO12
SCK13
5V5V
GndGnd


USB 先接在 Uno 上





下載需要用到的檔案
http://arduino.googlecode.com/files/arduino-1.0.1-windows.zip

全部解壓縮


拷貝"sanguino"

複製到 "arduino-1.0.1/hardware" 裡面去

開啟"arduino-1.0.1/arduino"

開啟"File->Examples->ArduinoISP"

選擇"Tools->Board->Arduino Uno"

選擇正確的序列阜

按下 " → " 按鈕,將ISP韌體燒入 Uno

編譯中


燒錄中


燒錄 ISP韌體完成

點選"Tools->Board->Sanguino W/ATmega1284p 16mhz"

點選"Tools->Programmer->Arduino as ISP"

啟動燒錄Bootloader
點選 "Tools->Burn Bootloader"

燒錄bootloader中

2013年9月3日 星期二

Slic3r - Top/bottom fill pattern:頂面、底面填滿時使用的型態

rectilinear

concentric

hilbertcurve

archimedeanchords

octagramspiral