天天看點

3D列印的各種問題及解決方案 列印校準

http://insights.thoughtworkers.org/qa-for-3d-printing/

3D列印的各種問題及解決方案 列印校準

3D列印機已經買回來幾個月了,基本上每天都要列印一些東西,期間遇到了很多的問題積累了很多的經驗。雖然現在桌面級的3D列印也算是比較簡單好用了,但要追求好一點的列印品質,還是得折騰。

列印校準

列印機的校準包括X、Y、Z和A、B(就是噴頭)兩個軸的校準。最重要的是XYAB,因為他們直接關系到列印的尺寸大小及表面品質。

Cura和Slic3r等工具導出的是GCODE格式。GCODE格式使用明文描述路徑。Sailfish Firmware隻支援X3G檔案,是一種二進制檔案。由于列印機所使用的CPU速度較慢,處理檔案并轉換成脈沖比較慢,會影響列印品質。是以使用GPX工具将GCODE轉換為X3G後,每個指令所走的位置都已經轉換成脈沖,甚至可以對一些路徑進行加減速的處理。列印機的CPU就可以直接的讀取脈沖并控制電機運動。

XY steps/mm矯正

在轉換的過程中,XY的steps per mm這個參數非常重要,講的是走一個毫米需要多少的脈沖,如果該值過小,則會少走一些距離,造成距離偏小。這個和機器的結構有一定的關系,牽扯到同步齒的齒數、電機的參數等,RepRap Calculator提供了這個參數的電腦,非常友善。

3D列印的各種問題及解決方案 列印校準

MBot最初用的是17齒的齒輪,和Replicator是一樣的。後來經過改進用了18齒的齒輪,和Replicator 2是一樣的。通過電腦可以看到,88.89 steps/mm是理論值,但是MBot和Replicator 2中用的是88.573186這個值。和88.89比較起來,會少走一些距離,導緻最後列印尺寸偏小。dcnewman開發的GPX提供了正确的參數,但截至目前尚有一些問題,不建議使用。

為了矯正88.57帶來的誤差,可以采用自定義的配置檔案進行配置。mbot.ini是我的Mbot Cube的配置檔案,在使用gpx的時候,指定gpx -c mbot.ini xxxx.gcode即可正确轉換。

當然你的列印機可能依然不是正确的,需要使用一些工具進行矯正。傳統的做法是使用20mm calibration box,測量外觀尺寸。但這樣做有一個缺點,由于噴頭擠出的塑膠可能有誤差,會造成糾正的值将外殼的誤差也算進去了。正确的測量方式是使用calibration sticks,根據不同的列印平台的長度,分别進行XY的測量,然後測量出兩個缺口的距離。這樣可以排除噴頭的誤差。

3D列印的各種問題及解決方案 列印校準

我的列印機使用88.89,列印出來的距離正确。

AB軸噴頭糾正

噴頭的step per mm會對擠出的塑膠的多少有影響,在機械結構不變的情況下,該值越大,則擠出的料越多。過多的料稱之為過擠出,會造成外觀尺寸偏大,内圓半徑變小,頂層可見各種重疊的塑膠;擠出過小,會造成外觀尺寸變小,内圓半徑變大,頂層可以見各種孔洞。正确的噴頭參數,會對列印品質造成非常大的影響。

Calibrate your 3D printer提供了調整噴頭的參數方法,當然這篇文章也提到了如何修正其它參數。還有一種普遍使用的方式是在材料上做好标記,然後走10cm,測量實際走的長度。當然對于不能用print run的列印機,我寫了一個gcode檔案,執行後會自動走10cm,然後測量實際的長度。我的列印機是正确的,是以對于噴頭也不用做過多的處理。

孔偏小

列印中非常常見的問題是孔變小,通常孔會變小0.5mm左右,如果列印這個圖形,很可能會發現無法插上。測量孔的直徑,會發現孔小0.5mm,而柱子的直徑是正常的。

3D列印的各種問題及解決方案 列印校準

我在MBot Cube列印,結果是這樣。然而在FlashForge Creator Pro上面,則兩個可以插上。這個問題困擾了我很久,至今還沒有解決。試過将同樣的gcode檔案分别轉換成兩種機型的x3g進行列印,還是一樣,是以可以排除一些切片器的問題。在研究這個問題中,有一些文章可以參考。

  • Calibrate your 3D printer to print parts to fit
  • ArcCompensation
  • Dimension Errors
  • Are you printing undersized holes ?

    這篇文章的神奇之處在于他的外徑和内徑都是OK的,可能和他使用的Cura的Sublime版本有關系。其中提到的

    use Flow_tweak-post-processor and decrease perimeter flow rate as described above in case of holes coming out too small.
    或許又是另外一種解決方案。

雖然我沒用過最終解決這個問題,但以下是有一些方法可以改善這種問題:

  • 改變擠出量

    在Cura和Slic3r中,都有改變擠出量的選項。甚至在Simplify3D中,PLA材料的預設擠出量就是90%。經過測試,90%的擠出量比較合适,打出來的測試塊剛好可以卡上。但是外觀尺寸會同樣變小0.2mm,内圓仍然小0.2mm,但圓柱也同樣會小0.2mm,這樣兩個尺寸就剛好能夠插入。更小的擠出量則會帶來一些問題,不推薦設定。

    改變擠出量雖然能夠緩解一些圓孔的問題,但也會影響頂層的品質。為了彌補這樣的缺陷,隻能将頂層的厚度設定為1mm,或者5層。這樣頂層基本上就密閉了。

  • 噴頭形狀

    列印negative_space_tolerance_test.stl,我的列印機隻能拆下來2個,隻能說列印品質比較差。通過很多次的對比,發現噴頭的Flat tip area(見下圖)的大小會影響到tolerance的,廠商已經在着手改進中了。

3D列印的各種問題及解決方案 列印校準
  • XY Size Compensation

    Slic3r中提供了一個XY Compensation的選項,在Dimension Errors中有提到。和改變擠出量不一樣,這個直接對切片後的圖形進行補償,不會産生頂層孔洞的問題。

    在目前的Cura中還沒提供這樣的功能,但在Cura的開發15.06版本中,已經準備提供類似功能。Simplify3D在最新的版本中已經提供。

  • 從設計上規避

    在設計的階段就根據孔的大小預留一些空間,但這樣對于别人已經設計好的模型就很難修正了。并且你的列印機的修正量不一定适合别人。

圓不是圓

你可能會發現列印園的起始的連接配接部位會有一些凸起,并且圓可能是橢圓。如果觀察一下列印時候的速度及噪音,你會發現在列印圓的時候可能會嘎吱嘎吱的響。這是因為園會拆分成多條直線,導緻每條直線會起起停停,在速度較高的時候可能會造成一些丢步或者抖動。解決方法是列印周長的時候,選擇小一些的速度,例如40mm/s,這樣列印品質就會很好了。觀察Simplify3D的GCODE,發現它可能對不同的周長做了不同的處理,小的圓弧走的速度較慢,列印品質很好。

頂層的洞

如果擠出正常,頂層出現孔洞,則需要将Top/Bottom的層數設定得更好,一般1mm左右能夠得到很好的效果。另外infill的百分比也比較影響,因為infill很低(10%以下)的時候,列印Top的時候就會變成Bridge,造成列印品質下降。

列印錯層

Sailfish Firmware中有一個Accerlation的選項,該選項打開時固件會根據目前的GCODE生成相應地加速度,使得列印機在降速和提速的時候,能夠平穩的以一定的加速度進行提速。關閉時,會始終以電機的最大能力作為最大加速度進行加減速,當電機無法接受預定的速度時,會造成丢步,久而久之積累下造成列印錯層。

列印機噪音

我的列印機一直有嘎嘎嘎的噪音,晚上列印的時候聲音巨大,關上門隔一個屋子都能聽到。軸承都是加了油還是一樣。經過排查,最終發現是中間的塑膠塊裂了。這個塑膠塊的非常重要,應該是和XY的垂直度有很大的關系。換了以後基本上就恢複了。

第一層不粘連

第一層不粘連的問題,其實很頭痛。和以下因素有關:

  • 噴頭和第一層的高度

    一般保持到一張紙的厚度即可。

  • 第一層的擠出量。

    一般選擇200%的擠出量會好一些

  • 溫度

    一般第一層溫度保持在230度比較好

  • 材料

    材料的影響包括材料的好壞和顔色。有些材料表面粗糙,擠出後會不粘連,然後卷到噴頭上,越卷越多,造成列印失敗。解決方法包括列印一個raft,減小速度