RAMPS1.4 3D打印控制板:軟件下載\連接\安裝\測試


RAMPS1.4 3D打印控制板:軟件下載\連接\安裝\測試

特別說明:

電源接反,電機驅動板接反將有可能燒毀芯片和電路,請再三確認后再進行通電。

如何使用:

1、需要用到的模塊或器件:

Arduino Mega2560 主控板(該套件包含):這是3d打印機的大腦,負責控制整個打印機來完成特定的動作,如打印特定的文件等;

RAMPS1.4 (該套件包含):這是上面主控板的拓展板,有它是為了更好的與其它硬件進行連接和控制的,起到過渡橋梁的作用;

A4988步進電機驅動板(該套件包含):這是用來連接步進電機的,從而實現主控板對步進電機的控制,實現XYZ及擠出機的動作;

4~5個步進電機(該套件不包含):這是3d打印機的動力部分,由A4988驅動板控制,電機連接到RAMPS1.4板子上;

加熱頭(不包含):加熱頭是用來熔化打印材料的(ABS、PLA等),一般加熱頭都有兩個電氣元件,一個電熱絲通電后可以用來加熱,類似於電熱爐,另一個是熱敏電阻,用來獲取加熱頭上當前溫度是多少,從而實現更好的溫度控制,由於固件(Marlin:https://github.com/ErikZalm/Marlin/tree/Marlin_v1)對溫度獲取成功后才允許進行很多操作,所以即使進行簡單測試也需要連接兩個熱敏電阻(另一個用來獲取熱床溫度),需要另外加拍熱敏電阻;

熱床(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

clip_image001
1.2 3d打印切片軟件——Slic3r

這個軟件是生產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

clip_image002

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

clip_image003

1.4 固件——Marlin

固件是安裝在mega2560板子上的軟件,功能強大的Marlin是不錯的選擇。

下載地址:https://github.com/ErikZalm/Marlin/archive/Marlin_v1.zip
下載后解壓后,marlin文件夾里的所有文件就是固件的源代碼,找到里面的pde或ino文件用IDE軟件打開即可。

2、安裝驅動

MAC和linux系統都不需要位mega 2560安裝特定驅動,插上usb就可以使用了,由於mega 2560板子實際上是usb轉串口,所以插上后如果正常,會多了一個串口出來。

2.1 windows操作系統安裝驅動

當你安裝好Arduino IDE后,來到IDE的目錄,里面有一個
driver
文件夾,進去后找
mega2560 r3
字樣的inf文件,如果找不到,這個目錄下應該會有一個壓縮文件,解壓后就可以找到這個文件了,右鍵安裝就可以了。這是插上mega2560板子,應該是可識別的設備了。

3、工具及配件

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來指示;

4、准備開始

如果你已經把上面的軟件硬件都准備好了,那么就可以進入下一個環節了。

二、配置固件並上傳固件

mega 2560板子在3d打印機中相當於大腦,控制這所有的3d打印配件來完成復雜的打印工作,但mega2560不能直接使用,需要上傳(upload)固件(firmware)才可以使用。

1、下載固件——Marlin,由於Marlin固件的強大功能和簡單易用,所以這里暫時只介紹Marlin固件。
2、配置固件參數

下面是需要配置的參數。沒有提到的參數默認即可。
#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
將前面的
//
刪除掉才可以正常使用。

3、上傳固件

上傳之前,windows用戶需要提前安裝驅動。 配置板子類型:Tools > Board > Arduino Mega 2560 or Mega ADK,如圖

clip_image005

配置串口: Tools > Serial Port > 你的mega板子對應串口號一般是最后一個。如圖

clip_image006

點擊對號按鈕來檢查是否有錯誤,再點擊向右的箭頭按鈕來上傳固件,如圖

clip_image008

上傳過程中,2560板子上的TX RX 和L對應的三個led燈都會閃。如果不閃了,說明上傳完成

上傳完成提示

clip_image009

如果上傳成功,你就可以進入下一個步驟了,如果上傳中出現問題而無法上傳,請查看IDE下方的提示框,確認是什么問題后進行進行解決再上傳,常見錯誤板子類型選擇錯誤,串口選擇錯誤等。

三、RAMPS1.4 接線
         RAMPS1.4作為mega2560的拓展板插在mega板子上面。從而讓mega板子可以控制3d打印機的工作。ramps上的接線至關重要,接錯不僅不能打印,甚至還會燒壞器件和板子。請一定注意。
RAMPS1.4板子的功能分布,請參考示意圖,為了防止接錯,請再三確認以下幾個方面后再通電,
* 電源正負極是否正確?
* RAMPS電源只接12V,沒有5V接入。
* 4988驅動板確保沒有插錯位和顛倒(如果連接錯誤,通電就會燒板子),請細看A4988驅動板的接線圖。

clip_image010

clip_image011

clip_image013

clip_image014

clip_image016

最后,將ramps1.4插在mega2560板子上,注意不要接錯位。在通電之前你應該仔細檢查一下,免得有疏忽。接錯了會導致后面的工作無法正常進行。如果都沒問題了,可以接上USB線,和12V電源了。

四、連接上位機並做簡單手動控制

如果之前的操作都順利,現在就可以插上USB線,打開printrun上位機軟件了。mega2560剛剛接通電源時,RAMPS板子上的LED1(綠色)會閃幾下。這說明mega2560板子中的固件正在啟動。

1、通過上位機連接板子

clip_image003[1]

如上圖,打開軟件,選擇正確的串口,設置正確的波特率(需要跟你固件中配置一致),點擊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選項,可以實時獲取溫度情況,如下圖。

clip_image017

2、查看溫度是否正確(只接5V即可)

如果上面的操作都正確,你可以看到現在兩個溫度傳感器的溫度,並且溫度應該為室溫,手捏在上面可以看到溫度的變化。如果你的溫度讀取到的為0度,請確保連接正確,依然有問題應檢查固件中的相關參數。

3、測試三個輸出端(需接12V)

接上12V電源,點擊下圖中標紅位置的按鈕,兩個設置溫度的按鈕,一個風扇按鈕(如果沒有風扇打開按鈕,可以在右側輸入M106 命令來實現)。如圖:

clip_image018

如果這時RAMPS1.4上亮起了三個紅色LED,那說明輸出端測試成功。

4、測試電機及驅動(需接12V)

連接步進電機的4跟線到X軸電機輸出端,如果你的電機導線顏色是標准顏色,可以用紅-藍-綠-黑的順序連接,如果你的線顏色不標准或沒有顏色區分,你需要通過電機說明書找到4跟線屬於哪一相及哪一極,然后安裝相B負-相B正-相A正-相A負的順序連接(還有其它接線方式,請了解一下步進電機的原理)。

4.1 xyz三軸電機測試

點擊上位機左側的手動操作區域,進行對xyz三軸的測試。如果只有一個電機測試完應該軸后,再插到另一個軸上。

clip_image019

測試流程:
先電機某個軸的加+方向操作,電機應該往正方向運轉; 再電機對應軸的負-方向操作,電機應該反轉; 重復幾次上面的操作。
需要注意的是,固件為了防止打印機撞車,小於最小位置和大於最大位置后電機就會停止運動。也就是說並不會一直加或減下去,電機都會轉。

4.2 擠出機電機測試

由於固件不允許溫度為達到最小擠出溫度(固件中的參數)時執行擠出動作。所以如果你連接了真正的擠出機,並且有物料在里面,請不要在溫度未達到230(abs)和185(pla)時進行擠出機測試。

測試方法:
1、將溫度加熱到物料對應的擠出溫度,PLA:185度,ABS:230度,再進行測試,電機Extrude為擠出動作,Reverse為后退動作。如果所需要的方向跟實際方向相反,直接把所有的4跟電機導線反向即可。

2、如果你沒有接擠出機,或擠出機中沒有物料,可以不需要進行加熱來測試。需要在右側命令輸入框中輸入M302來允許冷擠出操作。這樣就可以跟上面一樣進行Extrude和Reverse測試了。

5、限位開關測試

RAMPS1.4最多共支持6個限位開關,分別是X-min,X-max,Y-min,Y-max,Z-min,Z-max。其中至少需要用到3個來確定打印機的原點,可以是一個軸的min或max位置的限位(由固件中做配置)。限位開關根據不同的形式接線方式也不同,機械式的限位開關只需要連接兩個段子即可(負和信號),光電、霍爾式開關一般需要連接三個段子(正、負和信號)。
我這里測試用3個軸的min位置來做原點的配置方式。測試限位開關應該接在各軸的min位置上。然后電機測試軸的home按鍵,對應軸的電機應該開始轉動,然后按下對應軸的限位開關兩下(為了提高精度,碰到一次后返回幾毫米再碰到才是真正的原點),此時電機應該停止轉動。以上操作重復在其它軸上進行測試。

6、測試完成

如果上面的測試順利完成,說明你可以開始把所有的東西安裝在機構架子上了。需要注意各軸和各限位開關的對應關系。

五、測試修改並重新上傳固件
如果你的固件有問題,強烈建議你再過一遍固件配置部分。
比較容易出錯的地方是:限位開關的配置,每毫米脈沖數等。

六、切片軟件配置

切片軟件是生產打印機主控板可以識別的代碼(Gcode)的工具,沒有這個軟件的幫忙,打印機不能識別3d模型文件。這里暫時只介紹Slic3r這個切片軟件。簡單好用功能強大。

1、打開expert模式

Slic3r默認是簡單模式,但是我建議直接打開expert(專家)模式,從而能夠對打印機進行更好的控制。我這里以mac版本為例子,其它版本做相似操作。

clip_image020clip_image021

如上圖設置后,重新啟動后就會進入專家模式。

2、print settings

打印配置,跟打印相關的配置會在這個欄目下。有些相同的打印機會對不同的模型打印時用不同的打印配置,從而實現各自最好的效果。

2.1 Layers and perimeters 層和邊緣配置

clip_image022

Layer height:為打印每層的層高度,0.4mm打印頭推薦層高0.3以下,層高越小,打印精度也高,同樣模型打印時間也就越長。 我設置的是0.3mm。
First layer height:第一層一般為了更好的粘在平台上,都會比其它層高要小一些,比如50%左右,我這里設置的是0.2mm。
Perimeters:是指每層的邊緣部位需要打印的圈數。默認為3層。無特殊需求保持默認即可。
Solid layers:底層和頂層各需要多少層進行完全填充,默認各3層就可以。
其它參數默認。

2.2 Infill 填充配置

clip_image023

Fill density:填充比例,最大1(100%),最小0,越大理論強度越高,當然耗費的時間和物料也就越多。一般情況30%的填充率已經可以滿足大部分的打印需求了。
Fill pattern:填充時的圖案是什么樣的,可以保持默認,也可以找到自己喜歡的模式。 Infill every ? layers:每多少層進行填充,默認每層都進行填充。
其它配置可以默認。

2.3 Speed 打印速度配置

clip_image025
2.4 Skirt and brim 輪廓打印

clip_image027

Skirt:是指在正式打印之前,在模型周圍做一個輪廓打印的動作,來保障擠出機出絲正常,以及給你時間及時發現問題,比如平台不平,平台高度有問題,擠出頭等等。

七、開始打印
如果你順利完成了上述的所有步驟,你的打印機應該可以開始工作了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM