RAMPS1.4 3D打印控制板:軟件下載\鏈接\安裝\測試 linux
特別說明:git
電源接反,電機驅動板接反將有可能燒燬芯片和電路,請再三確認後再進行通電。github
如何使用:macos
1、須要用到的模塊或器件:windows
Arduino Mega2560 主控板(該套件包含):這是3d打印機的大腦,負責控制整個打印機來完成特定的動做,如打印特定的文件等;工具
RAMPS1.4 (該套件包含):這是上面主控板的拓展板,有它是爲了更好的與其它硬件進行鏈接和控制的,起到過渡橋樑的做用;測試
A4988步進電機驅動板(該套件包含):這是用來鏈接步進電機的,從而實現主控板對步進電機的控制,實現XYZ及擠出機的動做;ui
4~5個步進電機(該套件不包含):這是3d打印機的動力部分,由A4988驅動板控制,電機鏈接到RAMPS1.4板子上;操作系統
加熱頭(不包含):加熱頭是用來熔化打印材料的(ABS、PLA等),通常加熱頭都有兩個電氣元件,一個電熱絲通電後能夠用來加熱,相似於電熱爐,另外一個是熱敏電阻,用來獲取加熱頭上當前溫度是多少,從而實現更好的溫度控制,因爲固件(Marlin:https://github.com/ErikZalm/Marlin/tree/Marlin_v1)對溫度獲取成功後才容許進行不少操做,因此即便進行簡單測試也須要鏈接兩個熱敏電阻(另外一個用來獲取熱牀溫度),須要另外加拍熱敏電阻;3d
熱牀(heatbed)(不包含):在打印ABS時,爲了讓其不變性且第一層容易黏到平臺上,通常的解決辦法是採用熱牀,熱牀一樣包含兩個部分,加熱部分和熱敏電阻,其中熱敏電阻是必需的;
12V電源(不包含):爲了可以驅動電機及電路板,你須要本身配備一個12V 100W~200W左右的電源。
以上部分都是電路鏈接部分的必需部件,若是缺乏一個,將不能進行相應部分的測試。
其它非必需的主要包括12V風扇和至少3個限位開關(若是沒有並不影響對電路板的測試,但會影響打印機的使用,若是你作整套打印機,這是必需的,尤爲限位開關)。
2、準備工做:
在開始鏈接和測試以前,你須要些必要的軟件:
Arduino IDE,用來將固件傳輸到主控板上的工具,下載地址:http://arduino.cc/en/Main/Software;
固件(Marlin),這是主控板上須要執行的程序,將其傳輸到主控板上,下載地址:https://github.com/ErikZalm/Marlin/tree/Marlin_v1,傳輸方法:打開arduino IDE,選擇菜單Tools -> Board -> Arduino Mega 2560,而後選擇串口Tools ->Serial Port ->相應的串口,點擊編譯並下載到板子上。參考固件裏面的說明配置相應的參數,最主要的是配置板子類型爲RAMPS1.4(找到Configuration.h文件中的這一行#define MOTHERBOARD 33【這裏必須改成33】),其它能夠暫時默認便可;
*上位機軟件:printrun:http://koti.kapsi.fi/~kliment/printrun/ 下載對應版本並安裝便可;
以上是須要用到的軟件,第一個是你配置參數時須要常常用到的,若是參數肯定後,就不多再使用了,第三個是打印機控制軟件,平時打印也會使用。
3、燒固件:
*編輯固件並上傳到主控板中:
將主控板經過USB鏈接到電腦上,主控板的電源燈會亮。
用Arduino IDE打開下載的固件文件中的主文件(Marlin.pde),打開後,經過TAB選擇到Configuration.h文件,並找到:
#ifndef MOTHERBOARD
#define MOTHERBOARD 某數字
#endif
修改成:
#ifndef MOTHERBOARD
#define MOTHERBOARD 33
#endif
暫時修改這些參數便可。而後選擇菜單Tools -> Board -> Arduino Mega 2560,而且選擇串口Tools ->Serial Port ->相應的串口(通常是倒數第一個,不對能夠多試幾回其它的),點擊IDE上的向右箭頭(→)圖標,進行固件上傳,若是安裝上面步驟操做下來應該不會有錯誤。而且能夠看到主控板上的另外一個LED燈會不停的閃,這說明正在上傳中;等待完成便可。
4、鏈接其它電路板及測試:
斷開USB數據線,將RAMPS1.4板子鏈接到主控班上,注意不要鏈接錯誤,RAMPS上背面的插針應該都鏈接到主控板上纔對。
而後鏈接兩個熱敏電阻到板子相應位置,先下圖,此時打開printrun軟件(上面的第三個軟件),選擇串口(通常是最後一個),設置波特率(爲250000)。點擊鏈接若是正常,右側會有鏈接成功的提示文字,而且下面的操做按鈕將能夠正常使用了。
經過printrun軟件上的「check temp」(讀取溫度),能夠獲取兩個熱敏電阻的溫度,由於熱敏電阻是直接鏈接上的,因此讀取的溫度應該接近你所在的室溫,若是讀取的值爲0,全部鏈接有誤,請檢查。
雖然沒有鏈接加熱頭和熱牀,但能夠進行簡單測試,首先鏈接12V電源,而後設置加熱牀和加熱頭的溫度分別爲230和110度,此時板子上有兩個紅色LED會相繼點亮,這說明這部分電路正常,關掉便可。而後再右下角輸入命令:M106 S255點發送,來打開風扇控制,此時另外一盞紅色LED會點亮,輸入:M107點發送能夠關掉。
斷開電源,將A4988驅動板接入RAMPS板子,注意方向正確與否,不然有可能會燒壞板子,能夠參考個人照片。應該至少有一個電機作測試,電機鏈接應該按照下圖所示進行鏈接,通常的爲紅藍綠黃的順序進行鏈接,接好後,接通電源,經過printrun能夠嘗試讓電機動起來,好比你將電機鏈接到了X軸上,電機X軸電機+10mm,電機會旋轉,點擊-10mm,電機會反轉。一樣的能夠測試YZ兩軸(更改電機時應該斷掉電源)。擠出機電機當溫度不達到時是不能測試的,你能夠將其A4988驅動器安裝到XY或Z軸上進行測試,以保證驅動器的正常。
若是上面的測試都沒有問題,說明主要的電路就沒有問題了,剩下的就是把你的3D打印機組裝起來了。
鏈接檢測方法:
1、準備工做
「工欲善其事,必先利其器」,在開始工做以前,你應該準備下面所說的工具(包括軟件和硬件)。
一、須要下載的軟件
1.1 固件上傳工具——Arduino IDE
這是上傳固件的必備工具,有了這個軟件讓上傳固件變的容易不少,插上USB,就能夠輕鬆上傳。
下載地址:
windows版本:http://downloads.arduino.cc/arduino-1.5.5-windows.exe
MAC版本:http://downloads.arduino.cc/arduino-1.5.5-macosx.zip
linux 32位版本:http://downloads.arduino.cc/arduino-1.5.5-linux32.tgz
linux 64位版本:http://downloads.arduino.cc/arduino-1.5.5-linux64.tgz
其它版本:Arduino
這個軟件是生產3d打印機可以識別的控制代碼的必備工具。沒有它,3d打印機將不能識別3d模型的格式。只有經過這個軟件轉化爲G代碼後,打印機才能夠正常使用。而Slic3r是一個很是優秀的切片工具。
下載地址:
windows 32位版:http://dl.slic3r.org/win/slic3r-mswin-x86-0-9-10b.zip
windows 64位版:http://dl.slic3r.org/win/slic3r-mswin-x64-0-9-10b.zip
MAC版本:http://dl.slic3r.org/mac/slic3r-osx-uni-0-9-10b.dmg
linux 32位版本:http://dl.slic3r.org/linux/slic3r-linux-x86-0-9-10b.tar.gz
linux 64位版本:http://dl.slic3r.org/linux/slic3r-linux-x86_64-0-9-10b.tar.gz
若是你想經過源代碼本身編譯,請參考:slic3r
1.3 3d打印機控制軟件(上位機)——Printrun
reprap官方上位機,界面簡單,操做方便,是新手不錯的選擇。它是3d打印機的控制中心,它會不停的讀取計算機上的G代碼文件(由上面的切片軟件生成),而後經過usb線傳輸給3d打印機主控板(mega2560)從而實現對打印機的精確控制。
下載地址:
MAC版本:http://koti.kapsi.fi/~kliment/printrun/Printrun-Mac-12July2013.zip
windows版本:http://koti.kapsi.fi/~kliment/printrun/Printrun-Win-Slic3r-12July2013.zip
更多版本選擇:Printrun
1.4 固件——Marlin
固件是安裝在mega2560板子上的軟件,功能強大的Marlin是不錯的選擇。
下載地址:https://github.com/ErikZalm/Marlin/archive/Marlin_v1.zip
下載後解壓後,marlin文件夾裏的全部文件就是固件的源代碼,找到裏面的pde或ino文件用IDE軟件打開便可。
二、安裝驅動
MAC和linux系統都不須要位mega 2560安裝特定驅動,插上usb就可使用了,因爲mega 2560板子其實是usb轉串口,因此插上後若是正常,會多了一個串口出來。
2.1 windows操做系統安裝驅動
當你安裝好Arduino IDE後,來到IDE的目錄,裏面有一個
driver
文件夾,進去後找
mega2560 r3
字樣的inf文件,若是找不到,這個目錄下應該會有一個壓縮文件,解壓後就能夠找到這個文件了,右鍵安裝就能夠了。這是插上mega2560板子,應該是可識別的設備了。
三、工具及配件
DIY 3d打印機沒有必要的工具,幾乎是不可能完成的,固然必要的配件也是必須的。
3.1 經常使用工具
在測試或安裝3d打印機套件時,可能會用到的工具包括有,一字螺絲刀、剝線鉗、壓線鉗、電烙鐵、鑷子、片口、尖嘴鉗、高溫膠帶等等。
配套4
3.2 配件
一臺完整的3d打印機是由幾十個甚至上百個零件組合而成。若是想完成下面的測試或組成一臺打印機,你應該有一下零件:
- 3d打印機主控套件:主要包含一個mega 2560主控板,一個RAMPS1.4拓展板和4個4988步進電機驅動板;
- 12V 200W開關電源:用於提供12V電壓,可使用電腦上的ATX電源,但接線時須要注意;
- 2個100k ntc熱敏電阻:爲了實現控制板對加熱頭及加熱牀的溫度控制,須要有兩個溫度傳感器,最方便的莫過於ntc 熱敏電阻,100k電阻是不錯的選擇(大部分固件直接支持);
- 至少一個兩相四線步進電機:若是你是簡單測試,只須要一個步進電機就能夠完成輪流測試,若是你要組成一臺成品,你須要4~5臺步進電機,Z軸根據機械結構的不一樣有的採用兩臺電機驅動。電機型號須要根據你本身的狀況選擇,通常來講普通42電機均可以勝任,須要注意的是4988最大支持的驅動電流是2A;
- 至少一個限位開關:限位開關是打印機用來肯定位置的重要傳感器,要組成完整的打印機至少須要3個限位來幫助打印機肯定原點位置,限位開關種類不少,能夠是機械式的、光電的、磁性的(霍爾)等;
- 12V加熱管:若是你的機械是FDM(熱溶式打印機),那麼加熱管幾乎是必須的,用在加熱頭上面,能夠選擇12V 40W的加熱管。若是你牢牢是測試主控板是否正常,能夠不須要,由於ramps板子上有led指示燈,知道是否在通電;
- 12V風扇:用於散熱的風扇,沒有太多須要說明的,須要注意的是風扇正負極必須接對,不然不會轉,也能夠僅僅經過led指示來判斷是否工做;
- 12V加熱牀PCB板:爲了讓打印材料更容易粘在打印平臺上,以及防止冷卻變形(主要是ABS材料),若是打印PLA材料,該板子能夠不須要,若是測試也能夠只經過led來指示;
四、準備開始
若是你已經把上面的軟件硬件都準備好了,那麼就能夠進入下一個環節了。
2、配置固件並上傳固件
mega 2560板子在3d打印機中至關於大腦,控制這全部的3d打印配件來完成複雜的打印工做,但mega2560不能直接使用,須要上傳(upload)固件(firmware)纔可使用。
一、下載固件——Marlin,因爲Marlin固件的強大功能和簡單易用,因此這裏暫時只介紹Marlin固件。
二、配置固件參數
下面是須要配置的參數。沒有提到的參數默認便可。
#define BAUDRATE 250000
這是配置串口波特率的,只有上位機波特率和固件波特率相同來能通信成功,必定須要注意。固然也不能隨便改,常見的波特率爲:2400,9600,19200,38400,57600,115200,250000。在3d打印機中經常使用的是後3個。
#define MOTHERBOARD 33
這個參數是配置板子類型的,3d打印機主控板類型很是多,每一個板子的io配置不盡相同,因此這個參數必需要跟你本身的板子類型相同,不然沒法正常使用。個人板子是RAMPS1.4版本,對應的配置應該爲33(單打印頭配置),和34(雙打印頭配置)。若是你使用的是其它板子,請參考旁邊的註釋並選擇合適的配置。
#define TEMP_SENSOR_0 3
#define TEMP_SENSOR_BED 3
這兩個參數分別配置溫度傳感器的類型。這是讀取溫度是否正常的重要參數,若是讀取的溫度不正常將不能工做甚至有很大的潛在危險(燒燬器件等)。若是你使用了其它溫度傳感器須要根據狀況自行更改。
#define EXTRUDE_MINTEMP 170
這個參數是爲了防止溫度未達到而進行擠出操做時帶來的潛在風險,若是你作其它3d打印機,好比有朋友作巧克力打印機,擠出溫度只須要45度,那麼這個參數須要配置爲較低數值,好比40度。
const bool X_ENDSTOPS_INVERTING = true;
const bool Y_ENDSTOPS_INVERTING = true;
const bool Z_ENDSTOPS_INVERTING = true;
這裏的三個參數是配置3各軸的限位開關類型的,配置爲true,限位開關默認狀態輸出爲1,觸發狀態輸出爲0,也就是機械限位應該接常開段子。若是你接常閉段子,則將true改成false。
#define INVERT_X_DIR false
#define INVERT_Y_DIR true
這兩個參數是比較容易錯的。根據本身機械的類型不通,兩個的配置不盡相同。可是原則就是要保證原點應該在打印平臺的左下角(原點位置爲[0,0]),或右上角(原點位置爲[max,max])。只有這樣打印出來的模型纔是正確的,不然會是某個軸的鏡像而形成模型方位不對。
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
若是原點位置爲最小值參數爲-1,若是原點位置爲最大值配置爲1.
#define X_MAX_POS 205
#define X_MIN_POS 0
#define Y_MAX_POS 205
#define Y_MIN_POS 0
#define Z_MAX_POS 200
#define Z_MIN_POS 0
這幾個參數是配置打印尺寸的重要參數,參考上面的座標系圖來填寫,這裏須要說明的是座標原點並非打印中心,真正的打印中心通常在[(x.max-x.min)/2,(y.max-y.min)/2]的位置。中心位置的座標須要在後面的切片工具中使用到,打印中心座標應該與這裏的參數配置匹配,不然極可能會打印到平臺之外。
#define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}
配置回原點的速率,單位爲毫米每分鐘,若是你使用的是xy軸同步帶傳動,z軸螺桿傳動,這個參數可使用默認值。
#define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333,2560,158.8308}
這個參數是打印機打印尺寸是否正確的最重要參數,參數含義爲運行1mm各軸所須要的脈衝數,分別對應x,y,z,e四軸。多數狀況下這個數字都須要本身計算才能夠。能夠參考http://calculator.josefprusa.cz/#steppers
至此,最經常使用的參數都已經配置完成,能夠開始使用了。 另外若是2004lcd板子還須要改
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
將前面的
//
刪除掉才能夠正常使用。
三、上傳固件
上傳以前,windows用戶須要提早安裝驅動。 配置板子類型:Tools > Board > Arduino Mega 2560 or Mega ADK,如圖
配置串口: Tools > Serial Port > 你的mega板子對應串口號通常是最後一個。如圖
點擊對號按鈕來檢查是否有錯誤,再點擊向右的箭頭按鈕來上傳固件,如圖
上傳過程當中,2560板子上的TX RX 和L對應的三個led燈都會閃。若是不閃了,說明上傳完成
上傳完成提示
若是上傳成功,你就能夠進入下一個步驟了,若是上傳中出現問題而沒法上傳,請查看IDE下方的提示框,確認是什麼問題後進行進行解決再上傳,常見錯誤板子類型選擇錯誤,串口選擇錯誤等。
3、RAMPS1.4 接線
RAMPS1.4做爲mega2560的拓展板插在mega板子上面。從而讓mega板子能夠控制3d打印機的工做。ramps上的接線相當重要,接錯不只不能打印,甚至還會燒壞器件和板子。請必定注意。
RAMPS1.4板子的功能分佈,請參考示意圖,爲了防止接錯,請再三確認如下幾個方面後再通電,
* 電源正負極是否正確?
* RAMPS電源只接12V,沒有5V接入。
* 4988驅動板確保沒有插錯位和顛倒(若是鏈接錯誤,通電就會燒板子),請細看A4988驅動板的接線圖。
最後,將ramps1.4插在mega2560板子上,注意不要接錯位。在通電以前你應該仔細檢查一下,省得有疏忽。接錯了會致使後面的工做沒法正常進行。若是都沒問題了,能夠接上USB線,和12V電源了。
4、鏈接上位機並作簡單手動控制
若是以前的操做都順利,如今就能夠插上USB線,打開printrun上位機軟件了。mega2560剛剛接通電源時,RAMPS板子上的LED1(綠色)會閃幾下。這說明mega2560板子中的固件正在啓動。
一、經過上位機鏈接板子
如上圖,打開軟件,選擇正確的串口,設置正確的波特率(須要跟你固件中配置一致),點擊connect。若是鏈接正常,右側的提示區,會有相似下面的提示:
Connecting...
start
Printer is now online.
echo: External Reset
Marlin 1.0.0
echo: Last Updated: Sep 8 2013 15:04:20 | Author: (MakerLab, default config)
Compiled: Sep 8 2013
echo: Free Memory: 4260 PlannerBufferBytes: 1232
echo:Hardcoded Default Settings Loaded
而且,左側的圖形操做區變爲能夠操做的顏色。勾上溫度曲線旁邊的watch選項,能夠實時獲取溫度狀況,以下圖。
二、查看溫度是否正確(只接5V便可)
若是上面的操做都正確,你能夠看到如今兩個溫度傳感器的溫度,而且溫度應該爲室溫,手捏在上面能夠看到溫度的變化。若是你的溫度讀取到的爲0度,請確保鏈接正確,依然有問題應檢查固件中的相關參數。
三、測試三個輸出端(需接12V)
接上12V電源,點擊下圖中標紅位置的按鈕,兩個設置溫度的按鈕,一個風扇按鈕(若是沒有風扇打開按鈕,能夠在右側輸入M106 命令來實現)。如圖:
若是這時RAMPS1.4上亮起了三個紅色LED,那說明輸出端測試成功。
四、測試電機及驅動(需接12V)
鏈接步進電機的4跟線到X軸電機輸出端,若是你的電機導線顏色是標準顏色,能夠用紅-藍-綠-黑的順序鏈接,若是你的線顏色不標準或沒有顏色區分,你須要經過電機說明書找到4跟線屬於哪一相及哪一極,而後安裝相B負-相B正-相A正-相A負的順序鏈接(還有其它接線方式,請了解一下步進電機的原理)。
4.1 xyz三軸電機測試
點擊上位機左側的手動操做區域,進行對xyz三軸的測試。若是隻有一個電機測試完應該軸後,再插到另外一個軸上。
測試流程:
先電機某個軸的加+方向操做,電機應該往正方向運轉; 再電機對應軸的負-方向操做,電機應該反轉; 重複幾回上面的操做。
須要注意的是,固件爲了防止打印機撞車,小於最小位置和大於最大位置後電機就會中止運動。也就是說並不會一直加或減下去,電機都會轉。
4.2 擠出機電機測試
因爲固件不容許溫度爲達到最小擠出溫度(固件中的參數)時執行擠出動做。因此若是你鏈接了真正的擠出機,而且有物料在裏面,請不要在溫度未達到230(abs)和185(pla)時進行擠出機測試。
測試方法:
一、將溫度加熱到物料對應的擠出溫度,PLA:185度,ABS:230度,再進行測試,電機Extrude爲擠出動做,Reverse爲後退動做。若是所須要的方向跟實際方向相反,直接把全部的4跟電機導線反向便可。
二、若是你沒有接擠出機,或擠出機中沒有物料,能夠不須要進行加熱來測試。須要在右側命令輸入框中輸入M302來容許冷擠出操做。這樣就能夠跟上面同樣進行Extrude和Reverse測試了。
五、限位開關測試
RAMPS1.4最多共支持6個限位開關,分別是X-min,X-max,Y-min,Y-max,Z-min,Z-max。其中至少須要用到3個來肯定打印機的原點,能夠是一個軸的min或max位置的限位(由固件中作配置)。限位開關根據不一樣的形式接線方式也不一樣,機械式的限位開關只須要鏈接兩個段子便可(負和信號),光電、霍爾式開關通常須要鏈接三個段子(正、負和信號)。
我這裏測試用3個軸的min位置來作原點的配置方式。測試限位開關應該接在各軸的min位置上。而後電機測試軸的home按鍵,對應軸的電機應該開始轉動,而後按下對應軸的限位開關兩下(爲了提升精度,碰到一次後返回幾毫米再碰到纔是真正的原點),此時電機應該中止轉動。以上操做重複在其它軸上進行測試。
六、測試完成
若是上面的測試順利完成,說明你能夠開始把全部的東西安裝在機構架子上了。須要注意各軸和各限位開關的對應關係。
5、測試修改並從新上傳固件
若是你的固件有問題,強烈建議你再過一遍固件配置部分。
比較容易出錯的地方是:限位開關的配置,每毫米脈衝數等。
6、切片軟件配置
切片軟件是生產打印機主控板能夠識別的代碼(Gcode)的工具,沒有這個軟件的幫忙,打印機不能識別3d模型文件。這裏暫時只介紹Slic3r這個切片軟件。簡單好用功能強大。
一、打開expert模式
Slic3r默認是簡單模式,可是我建議直接打開expert(專家)模式,從而可以對打印機進行更好的控制。我這裏以mac版本爲例子,其它版本作類似操做。
如上圖設置後,從新啓動後就會進入專家模式。
二、print settings
打印配置,跟打印相關的配置會在這個欄目下。有些相同的打印機會對不一樣的模型打印時用不一樣的打印配置,從而實現各自最好的效果。
2.1 Layers and perimeters 層和邊緣配置
Layer height:爲打印每層的層高度,0.4mm打印頭推薦層高0.3如下,層高越小,打印精度也高,一樣模型打印時間也就越長。 我設置的是0.3mm。
First layer height:第一層通常爲了更好的粘在平臺上,都會比其它層高要小一些,好比50%左右,我這裏設置的是0.2mm。
Perimeters:是指每層的邊緣部位須要打印的圈數。默認爲3層。無特殊需求保持默認便可。
Solid layers:底層和頂層各須要多少層進行徹底填充,默認各3層就能夠。
其它參數默認。
2.2 Infill 填充配置
Fill density:填充比例,最大1(100%),最小0,越大理論強度越高,固然耗費的時間和物料也就越多。通常狀況30%的填充率已經能夠知足大部分的打印需求了。
Fill pattern:填充時的圖案是什麼樣的,能夠保持默認,也能夠找到本身喜歡的模式。 Infill every ? layers:每多少層進行填充,默認每層都進行填充。
其它配置能夠默認。
2.3 Speed 打印速度配置
Skirt:是指在正式打印以前,在模型周圍作一個輪廓打印的動做,來保障擠出機出絲正常,以及給你時間及時發現問題,好比平臺不平,平臺高度有問題,擠出頭等等。
7、開始打印 若是你順利完成了上述的全部步驟,你的打印機應該能夠開始工做了。