2014/05/29

Melzi Ardentissimo 3D 印表機 介面板 程式燒錄

購入一片 Melzi ,由https://github.com/reprappro/Marlin 下載程式,經由 Arduino IDE 進行燒錄時發生錯誤(... avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50...),經過搜尋錯誤訊息得到的答案可能是沒有 bootloader 的問題,經由 http://reprap.org/wiki/Melzi 網頁的Bootloader Upload 的說明,找出 Arduino Uno 模擬成 ISP 來完成它。
步驟:
1. 先將 Arduino Uno 載入 ArduinoISP程式,可由 IDE 的 File->Examples->ArduinoISP載入需要的程式至IDE,再上載至Uno卡上。

2. 將 Melzi 板子的 SPI 接角接線至Uno上,接法參考之前的文章。
Melzi               AVRISP
pin 1 MISO   ->  pin 12
pin 3 SCk      -> pin 13
pin 5 Reset   -> pin 10
pin 4 MOSI   -> pin 11

3.於 IDE 置入 Melzi 需要的程式包括程式與硬體支援檔案,解壓縮由 https://github.com/reprappro/Marli 下載的檔案,其中 Marlin檔案置於Sketchbook 目錄,Sanguino 檔案置於 IDE之hareware 目錄下。

4.啟動 IDE ,設定如下
Tools->Board->Melzi 1284p 16mhz
Tools->Serial Port->COMX (選擇 Arduino UNO 系統取得之 COM Port)
Tools->Programmer->Arduino As ISP

5.完成設定,由 Tools->Burn Bootloader 開始上載 bootloadert程序,需要幾分鐘的時間,完成它。


完成 Melzi 的 bootloader 上載,就可以經由 IDE 正常上載 Marlin 程式至板上了。
程式設定僅需將 configure.h  中的板子支援印表機類型設定完成,就可以正常編譯,以我要安裝的印表機為例將 #define REPRAPPRO_HUXLEY 之前的 "\\"刪除即可。
...
// Uncomment ONE of the next three lines - the one for your RepRap machine
#define REPRAPPRO_HUXLEY
//#define REPRAPPRO_MENDEL //Legacy Mendel
//#define REPRAPPRO_MENDEL2 //Tricolour and Mono
...