2014年3月26日 星期三

Marlin 溫度感應器 數值轉換對應表

(2014/03/27)Update: 自己實測了這個自動產生的對應表,結果測得的溫度與實際值仍有相當大的誤差。看來還是要回頭用測量的方式來校正溫度...

3D印表機內使用的溫度感應器,大多使用負溫度係數熱敏電阻(NTC)。溫度越高,阻值越小。 電阻值隨溫度變化的公式如下:

R(t) = R0 * Exp(B*((1/t) - (1/t0)))

其中R0是指溫度在t0時的電阻值。t0是標準參考溫度,一般規格書會以攝氏25度為參考溫度。 公式中溫度相關的參數,都使以凱氏溫度做計算,如果自己要動手做計算,記得要把攝氏溫度加上273.13,轉換成凱氏溫標,才能算出正確的阻值。B值是NTC的特性參數,請在自己所使用的熱敏電阻規格書中找出B值。

這邊提供一個方便的計算機,只要填妥 t0、R0、B值,在按下 "Try it" 按鈕,就會自動產生Marlin所使用的溫度偵測對應轉換表。把轉換表附蓋掉"Marlin/thermistortables.h"內,"temptable_1[][2] PROGMEM"所記錄的轉換表,並且確定"Marlin/Configuration.h"內,"#define TEMP_SENSOR_0"的設定值為"1"。再重新燒錄Marlin到RAMPS 1.4控制板,就可以獲得校準確的溫度偵測值。

由於部落格內不能執行Javascript,只好將計算機另外找網頁安置。請前往這個網址:
https://dl.dropboxusercontent.com/u/1325192/NTC/NTC.htm

參考資訊

阿男的部落格 - 3D列印噴頭的熱敏電阻更換

註記

熔普三維、捷泰 這兩家販售的J-Head應該都是使用這款熱敏電阻,規格特性如下,給大家做參考。

型號:B2-100-3950-1
R @ 25:K100K-1%
B25/50:K3950-1%
元素:熱敏電阻型MJB2
特性
(1)電氣特性
A:電阻值:R(25°C)= 100K±1%
B:B值:B=3950±1%(在25℃和50℃的電阻值計算出)
C:絕緣電阻50MΩ或以上DC500V兆歐表(玻璃和引線之間)
(2)熱時間常數(τ):τ≤10?17S(在靜止空氣中)
(3)熱耗散係數(δ):δ=1.1~1.6MW/°C(在靜止空氣中)
(4)工作溫度範圍:-50~+260°C

2014年3月17日 星期一

列印到一半馬達失步!! 怎麼辦?

慘...

相信大家都有這種經驗(沒遇過的實在是很幸福),一早起床發現列印作品被攔腰截成兩截,列印失步!!開始印的時候都沒問題阿,印的好好的。可是偷懶沒顧著機器,機器就跟著偷懶,出包給你看。(其實就算顧著,一樣會失步,而且束手無策。)G-code裡面幾千個指令中,只要其中一個指令造成馬達失步,整件作品就毀了。這樣失敗的作品,實在是難以見人啊!!

發生失步的原因,其實很簡單,就是工作需要的力量太大,馬達不夠力。所以解決失步的方向,不外乎加強馬達的力量(難),另外就是減輕馬達的負擔。

加強馬達力量的方法,不外乎換更大顆的馬達,或是增加供應給馬達的電流。換更大顆的馬達,得要花大錢重新買,而且買來到底夠不夠力,也沒個準。42型步進馬達的規格中,身長要多長?電流要買多少的?都要靠複雜的仔細計算才能有參考。

另外比較可行的也許是增加供應電流。大家買的馬達,額訂電流(電流上限)大約都是1.5~1.7A,但是4988驅動板上的電流供應設定,一般都不會超過1A。所以電流是可以再繼續提高的,不過4988驅動板要另外買,或是更換Rs電阻。電流提高後,還要面對4988散熱不良會燒毀的困擾,要千萬注意。

以上是增加馬達力量的方法,除了既有4988驅動板的電流調高到接近1A以外,其他方法可行性都不高。另外一方面要設法減低馬達的負載,可以嘗試的方法就比較多了。

1. 放鬆皮帶的鬆緊度
皮帶太緊,會增加馬達軸,還有墮輪的摩擦力。合適的鬆緊度,有助於馬達順利運轉,而且兼顧定位的精準度。

2. 減少馬達的負載重量
列印平台的玻璃、列印台底板(有些人使用金屬),是Y軸負荷重量的主要來源。使用較薄的玻璃,或是用玻纖板替代原有的玻璃,可以減輕重量。在強度充足的前提下,列印台底板上盡量鏤空,或使用更輕的材質,也可以減少Y軸馬達的負荷。

X軸最大的重量負荷,來自擠出機馬達。如果把擠出機構改成遠端送料 Bowden 型態,可以大幅降低X軸馬達的負荷。

3. 降低列印速度
車開慢一點,需要的力量就減低了,這不需要再解釋吧~~

4. 降低加速度
這其實是最有效又實惠的解決辦法,可以印得又快又穩。

牛頓運動定理中提到 F(力量) = M(質量) x a(加速度)
當加速度減小,所需的力量也會等比例得減小。雖然質量減小也有幫助,可是質量能減小的比例有限。加速度減小,可以改善失步,但是不代表"最高列印速度"也會跟著降低。只是加速到最高速度需要的時間會增長而已。所以降低加速度,但是不降低列印速度,仍然可以保有相當快的列印速度。只犧牲一些些列印時間,但是又不會失步,一舉兩得!

加速度的設定,建議可以直接透過 LCD修改 Marlin 韌體裡的參數,然後儲存到 EEPROM 裡面。也可以直接修改 Marlin 的 Configuration.h 設定檔,再重新燒錄到 2560 控制板。再不然也可以在切片軟體裡面設定。

Marlin 的加速度設定,分為 Default (預設) 與 Max.(最高) 兩個部分。 Default 是當 G code  執行 G0、G1 等"移動指令"時所使用的加速度,預設值是 3000mm/s2。當 G code 執行 M204 ,嘗試著要修改 Default 加速度時,設定值不能超過 Max. 加速度的值。直接把 Max 加速度設定到3000mm/s2以下,才能有效避免 G code 裡面的 M204 又把加速度調高。

LCD 控制板內選擇 "Control -> Motion -> Amax x" 與 "Control -> Motion -> Amax y" 可以修改 Max. 加速度。修改好後記得要使用 "Control -> Store memory" 把設定值存入 EEPROM 中,下次開機才不必重新再調整一遍。

如果想從 Marlin 的 Configuration.h 做修改,請找到這行:
#define DEFAULT_MAX_ACCELERATION      {9000,9000,100,10000}
把兩個 "9000"的數字調低到合適的數字,再重新燒錄韌體進 2560 控制板。
如果之前使用過 EEPROM 記錄設定值,記得要在LCD選擇"Control -> Restore Failsafe",清除EEPROM中的設定,才會讓燒錄進去的設定值升效。
修改成 #define DEFAULT_MAX_ACCELERATION      {1500,1500,100,10000}


切片軟體 KISSlicer 的加速度設定,在 "Printer -> Speed -> XY Accel [mm/s^2]"


Slic3r 的加速度設定,在 "Print Settings -> Acceleration control (advanced)" 。 如果填 0 ,Slic3r 會使用 3000mm/s2這個預設值。請把這個框框裡所有的 0 ,都修改成合適的加速度。


至於加速度設定多少會合適呢?建議可以用二分法慢慢做實驗。預設值是3000mm/s2,所以第一次測試時使用1500mm/s2。如果不會失步,就再提升至 1500-(3000-1500)/2 = 2250mm/s2;如果會失步,就要再降低至750mm/s2。重複幾次測試之後,應該就可以找出自己機器的合理設定值了。另外要注意,測試時列印速度也許可以設高一點,譬如100mm/s,而且千萬要記得關閉切片軟體的 auto cooling 功能,要不然測試時使用較小件的模型,會讓切片軟體強迫減慢列印速度,導致實驗不準確。

KISSlicer 中,每層列印時間至少要10秒的設定,改成0秒,避免列印速度變慢影響實驗結果。

Slic3r 中,"Enable auto cooling" 自動降溫要取消勾選,避免列印速度變慢影響實驗結果。


以上,希望大家列印時都可以不必再提心吊膽,安穩睡個好覺!

2014年3月12日 星期三

Prusa i3 做搭橋速度實驗

i3 抓來做Bridge 測試,Slic3r的Speed中,Bridges speed 依序測了 60->30 ->90->70->50 (mm/s)。
溫度我設180度,層高0.2。

測試模型在這邊:
http://www.thingiverse.com/thing:269679

Bridge的速度設定在這個地方


看起來速度設60mm/s最理想


ATOM小改裝

1. 4988加上散熱片

2. 晶晶腸散熱片塗上散熱膏

2014年3月10日 星期一

Moai 石像四人組

ATOM的第一盤成功作品,Moai 石像四人組。一次印四隻,是為了測試牽絲的問題。這次回抽距離5mm,速度50mm/s,牽絲問題已經獲得有效的控制了。應觀眾要求,印小模型來看精細程度。Moai 高度30mm,小小的。
前兩盤遇到溫度設太低、溫度PID控制不夠理想、線路接觸不良造成馬達罷工等問題,第三盤中於有比較理想的成果。

模型下載網址:
http://www.thingiverse.com/thing:144668

切片軟體使用KISSlicer,溫度設定200度,列印速度50mm/s,回抽距離5mm,速度50mm/s。設定值給大家做參考。


照片100%直接切圖,0.2層高的紋路清晰可見。看起來水平水波文的問題真得相當相當輕微。比使用牙條帶動Z軸的機器要好相當多。

左邊是ATOM印的,右邊是我的i3 1號印的。

擠出量校正

擠料量校正,是一個很基礎的問題,可是卻相當複雜。因為影響擠料量的因素不易掌控,而且測量擠料量的方法又不易觀察。切片軟體在計算擠料量的時候,可以依照完全理想無誤差的方式去計算。但是實際上塑料的直徑、擠料齒輪的直徑、層高的誤差,都會影響最後擠出線寬的大小。雖然切片軟體可以提供設定值,在切片之前就針對誤差做修正,但是到底該增加擠出量還是減少,仍然不容易決定。

最容易觀察出擠料量是否正確的地方,是模型得平面封頂。如果擠料量越正確,應該可以擠出越平滑的頂面。擠料量太少,會出現縫隙,擠料量太多,會向上溢出,一樣不平整。

另一個值得一提的是,就算擠料量正確了,在列印最底層時,擠出頭跟列印台之間的距離誤差,會嚴重影響第一層列印的平整度。擠出頭太高,會使線與線之間出現縫隙,甚至直線本身就出現抖動的現象;太低的話,塑料會向上溢出,甚至是根本擠不出料來。

擠料量過多,溢出表面。

擠料量太少,出現間隙。


綜合上面提及的各種問題,這邊設計了一個校正擠料量的測試流程給大家參考。

1. 列印測試薄片

  • 列印一個長寬高20x10x2mm的薄片,層高0.2mm,頂/底面厚度3層,內部填充選用蜂巢狀,密度15%。

2. 觀察薄片封頂狀況

  • 如果擠料量不足,封頂會出現線條之間有間隙,或是凹陷;如果擠料量過多,線條之間會出現過多溢料,需要減少擠出量。

3. 調整列印時的擠出量,再重複列印薄片

  • 使用Repetier-Host控制印表機的話,可以直接從手動控制面板,調整"擠出頭擠出速度倍率"。或是直接下命令"M221 S70" (70是指擠出量是Gcode標定的百分之70)做調整。
  • 也可以直接使用LCD控制板做調整:開始SD卡列印後,修改 Tune -> Flow,單位一樣是擠料要加減多少百分比。

4. 重複先前步驟,當封頂表現符合期待,把當時需要加減的百分比,套用至Marlin韌體內的擠出軸steps per unit參數。

  • 修改 Marlin 設定檔 configuration.h 內"DEFAULT_AXIS_STEPS_PER_UNIT" ,直接在E軸欄位上加入要修正的百分比。如果需要修正的百分比是 113%,修改後的程式碼應該長的類似這樣:
  • #define DEFAULT_AXIS_STEPS_PER_UNIT {160,160,4000,750*1.13}
  • 修改後再重新燒錄Marlin到控制板中。

  • 如果控制板有開啟EEPROM設定記憶功能的話,也可以直接利用LCD控制板做修改,就不必重新燒錄Marlin。一樣的例子,如果需要修正的百分比是 113%,可以開啟控制項目:Control -> Motion -> Esteps/mm,將數值改成原本數值乘以113%後的結果,例如750x1.13=847.5。(這邊似乎不接受小數點,如果很在意精確到小數點也不能漏掉,請用重新燒錄Marlin的方法。)
  • 設定完數值之後,記得要利用選項Control -> Store memory將設定值寫入EEPROM,這樣重開機之後會使用這次修改的值來運作。
5.校正平台對擠出頭之間的距離

  • 當擠料量正確之後,再校正平台對擠出頭之間的距離,會比較有意義。觀察的方法類似。當列印第一層的時候,如果填滿底面的線條很鬆散,有間隙,甚至會發抖,代表擠出頭太高,需要調低一點;當底面填滿時有溢料、擠出料高於噴頭,那就是需要把擠出頭調高一點。來回調個幾次,相信就能夠獲得滿意的結果。


擠出頭與列印平台的距離剛好時,底層填滿理想的狀況。

底層填滿出現溢料的現象

底層填滿出現間隙,附帶得出現黏著不良。


圖片來源、參考資料

http://www.tantillus.org/Tutorials.html

ATOM 組裝紀錄

拆開套件,第一個就先把皮帶齒輪裝上去。不過後來發現這樣裝是上下顛倒的,要反過來裝,皮帶的位置才會正確。

框架固定座,設計得很精巧。看似對稱的結構,可是在螺絲孔的安排上,左右不同。照片為上視圖。垂直鋁擠座左側的螺絲孔是貫穿孔,沒有羅牙,方便安裝T型螺帽,用來將鋁擠柱向右邊拉緊;左側的螺絲孔內有攻牙,讓螺絲直接咬住鋁幾座。向內鎖緊時一樣會將鋁擠柱像右推擠。


三支柱子的頭尾都安裝好結合件

第一天晚上沒有使用魔術黏土黏住T型螺帽根螺絲,白白吃了不少苦頭。在螺絲孔塞魔術黏土,可以幫助T型螺帽橫向深入鋁擠型的凹槽後,能夠順利隨著螺絲旋轉九十度。沒有黏土的話,螺絲轉動時,T型螺帽沒有跟著轉,就會跟塞入時一樣成水平姿態,被螺絲拉出來。
另一點要跟大家分享的,是不必擔心T型螺帽旋轉九十度之後,還會繼續旋轉的問題。原因是T型螺帽靠近螺絲進入的這側,有紡錘型的構造。當螺絲順時鐘轉動時,紡錘型圓滑角不會卡住鋁擠的凹槽,所以當螺帽呈現水平姿態時,會繼續旋轉;但是螺帽呈現垂直姿態時,紡錘狀構造尖角的部分就會卡在鋁擠柱凹槽的邊上,並且不在旋轉。這樣的設計就能保證T型螺帽在鎖緊的過程中,會和鋁擠柱保持垂直。

沒有貼黏土的螺帽就是很難轉垂直。有貼的就能輕鬆操作。

T型螺帽與鋁擠柱成垂直的樣子。

貼貼貼

這麼多,貼到抓狂...

結合件預鎖上T型螺帽。

安裝橫向呂幾柱前,先把T型螺帽轉水平。

靠近角落那顆螺絲操作空間很小,超難鎖。連蛇管螺絲起子都沒辦法用....




螺絲起子塞不進去。只能用L型六角螺絲起子,但是旋轉空間很小,要分非常多次才能鎖到底。(不耐煩

終於裝完主結構。(茶

原始設計中,底座得橡膠墊是用M5螺絲鎖緊,需要在鋁擠柱上攻M5的螺絲孔。但是我手邊的攻牙套件實在是很兩光,夾具根本沒辦法夾緊牙攻,完全失敗的工具採購....
山不轉路轉,拿M4螺絲搭配魔術黏土,照樣可以安穩得顧定橡膠墊。攻牙這關就先跳過啦~

安裝馬達。螺絲一樣很難裝。這次先用手指頭去旋轉螺絲,直到轉不動,再換L型六角螺絲起子去打緊。省時多了,讚!

三顆馬達都裝好~

底面壓克力板預裝T型螺帽。

壓克力脆弱易碎,要記得搭配M3墊片。

安裝上端皮帶墮輪

三個微動開關焊接電線。

微動開關沒辦法直接鎖在鋁擠上,所以需要夾具。微動開關鎖在夾具上,夾具再搭配T型螺帽鎖在鋁擠型上。

微動開關安裝上去。
這邊可以看到ATOM的一個很大的優點:電線都收藏起來不外露!剛剛微動開關的電線,安排走到鋁擠柱的空心孔裡頭,漂亮!

擠出機構組裝完畢。擠出齒輪的位置有點難抓,試了幾次才對準出料孔。
這種擠出機直接用擠料齒輪推動塑料,沒有減速齒輪幫忙增加扭力,所以需要搭配身長較長的馬達來提供較高的扭力。

電線要穿過鋁擠的空心孔,當線數多的時候,直接穿會遇到困難。這邊採用線帶線的方式來解決這個問題。

安裝好後,馬達線也藏好了 ^.^

鐵球安裝。這邊說明書上說要先攻牙,再鎖入。但是我怕攻牙之後會太鬆,所以就暴力直接鎖。很費力,但是不怕鬆動。
(迷之音:不是說鎖上之後再點瞬間膠嗎?)我不想讓機器變成不可拆,所以不想用瞬間膠。


真得太緊,鎖好久。也許可以用牙攻,只攻5mm。這樣就可以保有穩固得抓力,但是又不會太難鎖入。

裝完三個,手痛死了...

總共用三組T型螺帽將線性滑軌鎖到鋁擠柱上面。在下面數來第二個孔,鎖上一個凸出來的螺絲頭,用來防止滑塊衝過頭離開滑軌。

鎖上鐵球座


安裝皮帶。這邊我當然要用束帶打緊這招啦~雖然看起來比較lLow一點。那天應該給他加個正式的皮帶鬆緊調節機構~

中央飛艇裝上動力鐵球~~

組合擠出機構,包含了擠出頭、散熱風扇,還有平台自動補正用的微動開關。

擠料飛艇合體~

偷看一下飛艇的肚子。裡面包含了精巧的自動校正針測機構。非常聰明得省去一般探測機構需要外加伺服機來移動探測微動開關的困擾。

之後就是一連串的焊接、壓接、整線、接線等等令人頭暈的步驟。過程就沒拍照了,反正就一堆線,看照片也看不出是在做啥~

鼎鼎大名的口紅膠塗上,再用吹風機吹乾~

還有差什麼沒裝嗎??

有,這個地方怎麼會沒蓋子蓋起來!? ATOM不是號稱最美的嗎?
不過這個蓋子老李故意不附,等著DIY的朋友自己列印,讓大家手邊的機器,至少有一個零件是自己親手做出來的!跟親友解釋這個蓋子得來歷時,相信成就感會倍增的。

有了大餅的前車之鑑,我在進料孔之前也多裝了一小段鐵氟龍管來減少塑料的摩擦。
有沒有像電線出線端都有一小截保護的構造?

喔歐,LCD組裝過程忘了拍照,只好補張安裝完之後的美照吧。

這是最後一個拆封的零件了!!
ATOM SD卡!!據說這張卡藏有ATOM的秘密。
重新安裝卡片內預先修改好的Marlin韌體,為我的ATOM注入靈魂!!

醒來吧!! ATOM
為3D列印的世界奉獻出更強大的力量吧!!!




扯玩了,我要回去寫code了。掰掰