2014年5月26日 星期一

用 Prusa I3 生出 Kossel Mini

前一陣子學會了 製作 Prusa I3 3D 印表機,印了不少小零件,因為這一台上我都是使用 PLA 線材,所已沒有加熱墊,
Prusa i3

原本想改裝這一台來使用ABS 列印,後來發現  Kossel Mini也是一台不錯的設計,所以想說甘脆再做一台好了,這樣不但可以用ABS,也可以順便加上 Z軸定位試一試,更重要的是可以發揮 機器再生的精神,其實是自己想要。

我原來的 Prusa I3 是跟 3D印表機 (專業MAKER研發製造) 上課學的, 2天的課程,最後可以帶回一台 Prusa I3, 如果是作第一台3D 印表機,我真心的建議大家去上課,這些老師們無私的教了很多密集,可以學得很快,而且減少很多嘗試錯誤的時間。

所以這一台 Kossel Mini 想全靠自己來完成,先是找到 Kossel Mini 的 wiki,wiki 上有 BOM 表 及完整的介紹。

因為原來 Prusa i3 的硬體是 Arduino Mega 256 及 RAMP 1.4 加上Reprap discount smart controller, RAMP 1.4 的 wiki 及 Reprap discount smart controller 的 wiki, 記錄這些網站,未來查資料很方便。

網路上 賣 Arduino Ramp 1.4 and Reprap Discount smart controller 的廠家很多,因為 Kossel Mini 列印件,還沒有時間印出來,想說先打電子部分先做起來順便測試一下,網路上買來的

Ramp 1.4
先將 Ramp 1.4 及 A4988 組合起來:

Ramp 1.4 + A4988

把 Arduino Mega 及 Ramp 1.4、Reprap discount smart controller 全部連起來:


想先測試一下 韌體安裝是否可行,所以先去下載韌體,我 Prusa I3 上是使用 MARLIN,想 Kossel 也用一樣的,應該比較容易,從網案下載回來的檔案很多,分別是放在 ArduinoAddons
和 Marlin 中:


ArduinoAddOns 中有二個版本

1. Arduino_0.xx
2. Arduino_1.x.x

我用的版本是 Arduino 1.0.5_r2 ,所以我就用 Arduino_1.x.x , Arduino _1.x.x 下 又分

1. hardware
2. libraries

hardware 中是給 rambo 及 Sanguino,因為我用的是 Arduino Mega 2560,所以我就沒有用了

1. rambo
2. Sanguino

libraries 中是
1. LiquidCrystal
2. SPI
3. U8glib

把這3個libraries 都複製到 Arduino 的 Library 中,將 Marlin.pde 載入 Arduino 的開發環境中,並將 Board 改成 Arduino Mega 2560:


compile並上傳到 Ardino Mega 2560, 雖然 compile 沒有 Error,但是 在 Reprap Discount Smart controller 上什麼也沒看到,用 Serial Monitor 去看也是一堆亂碼,不過有亂碼應該是 Baudrate 錯了:


上網查一下,還要修該 configuration.h, 原本 檔案中

// This determines the communication speed of the printer
// This determines the communication speed of the printer
#define BAUDRATE 250000

將 BAUDRATE 改成 115200
#define BAUDRATE 115200

再 compile 及 upload,Lcd上還是什麼都沒有,但是 Serial Monitor 中有顯示了:


因為我用的是 Ramp 1.4 所以要把 configuration.h中的 MOTHERBOARD 改成 34

#ifndef MOTHERBOARD
#define MOTHERBOARD 7
#endif

MOTHERBOARD 改成

#ifndef MOTHERBOARD
#define MOTHERBOARD 34
#endif

因為用的是 RepRapDiscount Smart Controller 所以我把

// The RepRapDiscount Smart Controller (white PCB)
// http://reprap.org/wiki/RepRapDiscount_Smart_Controller
//#define REPRAP_DISCOUNT_SMART_CONTROLLER
改成
#define REPRAP_DISCOUNT_SMART_CONTROLLER

修改後再次Upload,LCD 有畫面,Serial monitor 也有正常出現



但是在 Serial Monitor 上可以看到 :

echo: SD init fail

又查了一下網路,configuration.h 還有

//#define SDSUPPORT // Enable SD Card Support in Hardware Console
要改成
#define SDSUPPORT // Enable SD Card Support in Hardware Console

改完後再次上傳,但是這次得到的結果還一樣:SD init fail,上網一查才發現很多人都同樣的問題,我也懷疑是不是硬體有問題,所以我把新買的 Smart Controller 接到 Prusa i3 上,結果一切正常,看來是參數還設定不對,