古人智慧

Just Do it!
上士聞道,勤而行之;中士聞道,若存若亡;下士聞道,大笑之。不笑,不足以爲道。
~ 道德經 41

「實現夢想不是追逐成功,而是在於賦予生命意義,人生中的每個決定與聲音都有其重要含義。」"The key to realizing a dream is to focus not on success but on significance — and then even the small steps and little victories along your path will take on greater meaning."
電視名人-歐普拉·溫芙蕾(OPRAH WINFREY)

搜尋此網誌

Translation

顯示具有 3.0 3D printer 標籤的文章。 顯示所有文章
顯示具有 3.0 3D printer 標籤的文章。 顯示所有文章

2016年10月28日 星期五

[3DP] Prusa i3,Z軸升級8mm螺桿(絲桿) 與 電感式近接開關(接近開關)

看到Prusa i3的原創發表Prusa i3 MK2這麼多神奇的功能,讓我對心愛的老爺機i3的升級有了極大信心。是的,這次參考MK2的精神,升級Z軸的螺桿從5mm到8mm,然後再加上電感式近接開關。
升級Z軸的螺桿5mm到8mm的部分最擔心部分是怕干涉到旁邊8mm直線軸承的空間,參考MK2後再把X軸的馬達電機端的SCAD code調出來,發現垂直空間是有干涉,但是T型的螺母是鎖在表面,並不會直接影響到整體結構,這讓我大大的松一口氣。。。
然後,這近接開關也是新的嘗試,首先上網找資料後這近接開關有不少規格,包含直徑、感應距離,還有NPN與PNP兩種type。其中NPN與PNP讓我最困擾的原因是這種近接開關只有12v,幾乎找不到有5v驅動。這就影響到如何與Arduino的input pin的接線,因為近接開關的觸發 pin是以12v為基準,這會燒掉Arduino. 
經過Google大量的搜尋,我決定買NPN,原因是NPN的觸發的pin是low enable,這樣的邏輯就不擔心12v的問題,在output pin與5v做pullup那就與機械式switch相同,可以用同樣的接法與電控板連接。

先分享測試的結果:
這鋼板是一年前為了做實驗印ABS的線材,可以讓底座熱傳導更好。沒時間做就放到現在,剛好近接開關又買錯4mm的,拿來使用真是速配!!!
這測試STL是100x100mm的外框,裡面有2mm/3mm/5mm的圓,來測試平台黏著與Marlin的加速參數設定的穩定度。這結果讓人滿意~~~
《自動Z軸校正真有效》

《只有一個掉落,應該是膠水沒塗到吧》

《尺寸正確,沒變形》


詳細製作過程分享:
材料清單:
T型8mm螺桿(絲桿)/300mm, 8mm導程
彈性聯軸器5x8x25mm
 LJ12A3-4-Z/BX NPN NO常開 12v 4mm測距(不小心買錯了,建議買測距6mm以上) 

X軸的結構設計:
主要是把T螺母的空間讓出來,還有挖兩個螺絲孔來固定這個T型螺母。
還有,Z軸頂端的固定座也要修改,讓8mm的螺桿可以穿過。

實體圖分享:
《馬達電機端 前視圖》

《馬達電機端 後視圖》

《T型螺母》

《埋深螺母》

《8mm螺桿》

《Z軸頂端與X軸零件一覽表》

《X軸的可調皮帶功能》


《Z軸原來的調整器保留》

《完成品》

《開始打印LCD控制器外殼》

《第一層非常穩定,連字母都很老實貼的牢牢的》

Marlin: configuration.h 
在Marlin的source code裡面,在Configuration.h內可以找到這一行
#define DEFAULT_AXIS_STEPS_PER_UNIT   {80,80,400,96.2};
把Z軸的部分改為400,,就可以用這個T型8mm螺桿


近接開關結構設計:
因為不想改變現在的擠出機結構,因為目前現役這個擠出機是我自己設計而且用了1年多非常穩定。所以,就考慮到做個簡單的holder再用熱熔膠固定。



近接開關接線圖:
棕色接在12v電源,黑色是觸發pin,藍色是ground。

當近接開關接好後,先開機然後拿個金屬的東東接觸近接開關的底部,觀察近接開關頂部是否有亮燈,表示接線無誤。

然後,開始改Marlin-v1.0。 (V1.1.4f修改部分在最後)
Marlin: Configuration.h
在Configuration.h裡面找到這段code,我是設定近接開關接到原Z軸Min的pin腳。
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.

如果要Z_Min 與 Z_Probe共存的話,那要在pin_ramps.h裡面
#if ENABLED(Z_MIN_PROBE_ENDSTOP)
  // Define a pin to use as the signal pin on Arduino for the Z_PROBE endstop.
  #define Z_MIN_PROBE_PIN  2
#endif

在Configuration.h改
const bool Z_MIN_PROBE_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
那這個近接開關的黑色與藍色線要接到X_MAX的位置,也就是第2個位置(在X軸的下一個)

自動Z軸Marlin的修改:
在Configuration,h
把這兩段的註解“//”拿掉,再設定測點。
#define AUTO_BED_LEVELING_FEATURE // Delete the comment to enable (remove // at the start of the line)
 #define AUTO_BED_LEVELING_GRID
 #if ENABLED(AUTO_BED_LEVELING_GRID)

    #define LEFT_PROBE_BED_POSITION 15
    #define RIGHT_PROBE_BED_POSITION 170
    #define FRONT_PROBE_BED_POSITION 20
    #define BACK_PROBE_BED_POSITION 170

最後,把code編譯後upload到Arduino,就可以開始測試自動校正功能啦!!

自動Z軸校正操作:

1. 先確定近接開關與平台的距離與測點,這部分非常重要。這些測點位置是在Marlin的Configuration.h裡面寫死的。

如果用玻璃平台,用3點做自動平台校正:
#define AUTO_BED_LEVELING_3POINT
elif ENABLED(AUTO_BED_LEVELING_3POINT)
  // 3 arbitrary points to probe.
  // A simple cross-product is used to estimate the plane of the bed.
 #define ABL_PROBE_PT_1_X 15
 #define ABL_PROBE_PT_1_Y 180
 #define ABL_PROBE_PT_2_X 15
 #define ABL_PROBE_PT_2_Y 20
 #define ABL_PROBE_PT_3_X 170
 #define ABL_PROBE_PT_3_Y 20
這三點可以自己設定。
先貼好銅箔,再用G29確定功能正常。如下圖:
如果用整個鋼板,那就沒什麼關係。

2. M851指令,這個指令可以動態調整Z軸與平台“零點”的offset。這個非常好用,我的做法是調整近接開關感應距離內例如4mm,噴頭還沒碰到平台,這樣可以保護噴頭。再用M851調整真正的零點,例如我的噴頭與平台距離1.8mm,就設定M851 Z-1.8,就是真正打印是讓噴頭下降1.8mm。

3. M500,這指令是把目前的參數寫到i3的EEPROM,保持下次開機時都存在不會丟失。

至於如何把指令下給3D打印機? 很多種方式,我是使用Repetier-Host,如下圖,連上3D打印機後,在“手動控制“的功能區內的G-code欄位輸入指令即可。

如果希望i3每次打印時都做ABL(Auto Bed Leveling),就在Cura或其他切片App的Start_gcode加上

Cura start_gcode:
G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
M107 ;start with the fan off
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops

G29 ;auto leveling,Regis

G1 Z15.0 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F9000
M117 Printing...

之後,每次做完切片都會在gcode自動加上G29這個ABL。

成果如下:

Z軸校正視頻:



實際打印的結果。。。。
《第一層,牢牢貼緊平台,會發現Z軸馬達會上下移動》

《第二層,漂亮》

《第三層》

《第四層》

《開始印殼》

《出爐了,完整印出》

《正視圖》

《第一層很平整,但是我調的太深了,噴頭應該再高一些》

《條條分明》

《Z高很平整層層分明》


這次升級很滿意,費用不到3百元台幣,可以讓我脫離每次都要調整Z軸的痛苦。。。

Marlin v1.1.4f Configuration.h 修改:(2017-07-23)

// Regis, proximity觸發位準
#define Z_MIN_PROBE_ENDSTOP_INVERTING true

// Regis,我把近接開關接在pin 2,與Z_Endstop不同
//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN

// 設定近接開關接點
#define Z_MIN_PROBE_ENDSTOP
#define Z_MIN_PROBE_PIN 2

#define X_PROBE_OFFSET_FROM_EXTRUDER 0  // X offset:
#define Y_PROBE_OFFSET_FROM_EXTRUDER 0  // Y offset:
#define Z_PROBE_OFFSET_FROM_EXTRUDER 0   // Z offset:

// 設定3點校正
#define AUTO_BED_LEVELING_3POINT
#elif ENABLED(AUTO_BED_LEVELING_3POINT)
  // 3 arbitrary points to probe.
  // A simple cross-product is used to estimate the plane of the bed.
#define ABL_PROBE_PT_1_X 15
#define ABL_PROBE_PT_1_Y 180
#define ABL_PROBE_PT_2_X 15
#define ABL_PROBE_PT_2_Y 20
#define ABL_PROBE_PT_3_X 170
#define ABL_PROBE_PT_3_Y 20

2016年8月21日 星期日

[Filament Spool] 3D打印機的線材支架製作 ﹣ 全3D打印

3D打印機最重要的配件就是線材料卷支撐器。
這個就是用了2年的好夥伴,雖然設計並不是太理想,但是個人太懶惰,一直撐著使用。
《沒固定寬度的設計》

《容易滑出》
這個作品設計並不是太理想,有幾個問題:
1. 沒有固定與簡易的結構處理料卷的寬度不一致。
2. 當線材的料卷快用完的時候變得很輕,很容易被拉出滑軌之外。

從Thingiverse去挖寶,找到這個作品非常有質感,而且全3D打印,不需要任何軸承。
http://www.thingiverse.com/thing:508896

製作過程分享:
下載后,用cura切片


總共需要5個多小時!!嚇死~~~
決定讓我的Prusa i3跑一個晚上把第一盤印出來。
結果,光第一盤就印了6個多小時,XD~
看來我的老爺機i3隔夜打印應該沒什麼問題。
《老實說,印的好漂亮》

《很難想象,在家就可以做這麼漂亮的作品》


《邊緣修飾一下》

《把輪子印出來裝上》

《用線材當軸棒,真聰明》


《很滑溜》

《放上去看看》

《前端用鐵氟龍管到引導Prusa i3》


視頻分享:


用後心得:
《待續》



2016年5月28日 星期六

[3D作品] 背包固定行李裝置 ﹣ backbag holder

相信常出差的同好會很需要將背包固定在行李上,不然在趕路中背個背包很重且熱~
或許在購買背包是可以考量有行李固定結構的設計,不過這畢竟少數。而且在最大購物網X寶也找不到。
所以,Maker魂有啟動了,這就是成果分享。
總共花費4個小時,包含3D建模與打印組裝。
美觀又可固定在行李上!



2016年5月23日 星期一

焊錫排煙器 ﹣ Solder Exhaust fan

每次焊接PCB時,常常吸到燃燒的焊油,成為“人肉吸塵器”,為了興趣搞壞身體也不是辦法。買一般公司用的排風機又太大,不切實際。
動手就自己Make一個吧~

心中想法是簡單的風扇,加上腳座帶開關,如果有過濾器更好。
剛好手上有一顆從PC拆下來的12v CPU風扇,也剛好從家用無線電話退下的12v adopter,真不錯!

先用Sketchup畫出排煙氣的結構。設計如圖檯燈一般,可以調整角度。
第一次畫曲面有厚度的物件,學習用兩個曲線產生曲面,再用join extrude產生厚度。

用我的老爺機Prusa i3花了3個多小時打印出來,組合還不錯~
 側視圖,風扇與風罩是用熱熔膠黏著~

 上視圖,CPU的散熱器,吸力還不錯~

 風罩內部,用3M的空調專用除塵網,要加個網格比較好~

 側視圖,用電線整理器把線整好~

再設計一個網格,把濾網拉平~

接下來,焊接不會吸油煙了,健康!