Melzi/zh tw
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文(中国大陆) • 中文(台灣) • עברית • azərbaycanca • |
Release status: working
Description | Release Version 2.0
|
License | unknown
|
Author | |
Contributors | |
Based-on | |
Categories | |
CAD Models | |
External Link |
介紹
一個集RepRaps功能於一身,並且包含擠出頭控制、最佳化生產製造的控制板
當然RepRap的宗旨為自己動手做,但是有時候使用者只是想要即插即用RepRap控制器,使他們可以更專注於在機器的其他地方,或是專注在機械設計或是軟體的操作。
因此Melzi是一片完整的RepRap控制板,它應該是很便宜並且適合大量生產的控制板。 它是以Arduino Leonardo為基礎來進行開發,並且以Leonardo da Vinci的學生 - Francesco Melzi來命名。
版本
確認您的Melzi控制板版本:
控制板名稱 | ATMEGA微控制器 | 步進馬達驅動器 | 生產者 | 年份 |
---|---|---|---|---|
RepRap Melzi 2.0 | 1284P | A4982 | RepRapPro | 2012-至今 |
"Melzi 2.0 1284P" (eBay hybrid) | 1284P | A4988 | Various eBay vendors | 2012-至今 |
Melzi Ardentissimo 1.0 | 644P | A4988 | RepRapPro | 2011 |
Melzi Version 1.0 (Ardentissimo)
第一版Melzi使用ATMEGA 644P微處理器, 與4顆A4988 步進馬達驅動器。 然而,因為製造不良導致印刷電路板上的線路會有地方出現短路。常常出現熱敏電阻讀數不準確,或者無法讀取。
注意! 有些便宜的網路賣家仍然在販售這個Melzi版本! 詳見本頁最下面的'如何購買'。
Melzi 1.0/2.0 拍賣上的變種版本
網路上大部份的都是"Melzi 2.0 1284P"或是"Melzi V03"實際上是使用1.0的電路圖,包括"Melzi Ardentissimo"標誌與像第一版的A4988步進馬達驅動器,但是使用與2.0相同的ATMEGA 1284P微控制器。 因此2.0的韌體可以被使用在這些變種版本的控制板上。
Melzi Version 2.0
規格:
- 微處理器: ATMEGA1284P (相容Sanguino)
- 全快拆接頭,不需要焊接
- 讀取GCode檔案的Micro SD card插槽
- Mini USB 介面
- 4 x A4982 步進馬達驅動器
- 3 x MOSFET 驅動器控制熱床、擠出頭、冷卻風扇
- 尺寸: 210mm x 50mm x 17mm
- 重量: 70g
原始檔案
第一版的Melzi是由Joe Mosfet所開發。
第二版的Melzi是從Joe Mosfet基於RepRapPro Ltd的原創開發。 可以在這裡找到: https://github.com/reprappro/melzi
設定Melzi
通常絕大部分的控制板都已經安裝好bootloader與韌體,以及設定好步進馬達驅動器的電流大小。 如果沒有,請繼續往下閱讀吧...
Bootloader上傳
如果您的控制板上的ATMEGA晶片是空白的,或是您不得不更換Melzi的微控制器(例如,如果您把ATMEGA晶片弄短路了),您將需要更新/燒錄一個bootloader到晶片。
更換Melzi的Atmel ATMEGA1284P晶片,這需要以下的RepRapPro技術:
- 移除舊的Atmel ATMEGA1284P晶片 - 我們發現使用熱風槍來進行焊接是非常的容易的;注意不要對周遭的晶體過度加熱。您也可以使用錫爐來進行解銲,但是必須注意不要輕推到旁邊的元件。
- 銲接新晶片 - 確定擺放的腳位是正確的! 在電路板上使用助銲劑,然後銲接晶片。 您可以透過使用細尖鉻鐵,熱風槍,焊錫或烤箱做到這一點。
- 使用放大鏡或是顯微鏡,檢查各接腳是否有短路。
上傳bootloader:
- 如果晶片是空白的;您將需要燒錄一個bootloader到晶片中。當晶片是空白時,它是無法透過USB來進行上傳韌體,只能透過電路板上的ISP腳位進行上傳。
- 燒錄bootloader,您需要一台AVR燒錄器,像是 http://www.atmel.com/tools/AVRISPMKII.aspx 這是官方的一台燒錄器,當然它的售價比較昂貴,不過有一些便宜可代用的燒錄器可以在購物網站上找到。 記得確認這類的燒錄器是否支援ATMEGA1284P晶片; 像是USBtinyISP就不支援。
- 從 http://arduino.cc/en/Main/Software 下載最新版本的Arduino IDE軟體
- 確定您已經從 https://github.com/reprappro/Marlin 下載最新的'Sanguino'資料夾,並已經將它放置到您的Arduino/hardware資料夾(它有可能已經被放置資料夾下的'arduino'或'tools'資料夾)
- 透過USB連接AVR燒錄器到電腦。 燒錄器透過SPI接腳連接到Melzi。 連接USB到Melzi - 它需要使用USB提供電力。
- 開啟Arduino IDE。 點選'Tools | Board',選擇 'Sanguino W/ATmega1284p 16 mhz'。 接著點選'Tools | Serial Port'選單,選擇您的AVR燒錄器通訊埠; 或是選取'Tools | Programmer'選擇您的AVR燒錄器。
- 選取'Tools'選單,選擇'Burn Bootloader'。 如果不順利,您可能會看到錯誤訊息,您可以透過網路來查詢排除這些錯誤。錯誤訊息可能會因為您所使用的燒錄器而不同。 當然,這也有可能是您的控制板有一些問題...
使用Arduino UNO當作ISP燒錄器上傳bootloader:
- 您可以透過Arduino UNO開發板來燒錄bootloader。 首先您必須先上傳ISP程式到Arduino UNO開發板上。
- 下載最新版本的Arduino IDE軟體。
- 開啟Arduino IDE。 載入ISP程式'File | Examples | ArduinoISP'。 在'Tools | Board'選單下,選擇'Arduino UNO'。 最後選擇開發板的序列埠。
- 點選上傳按鈕,來將Arduino UNO變成ISP燒錄器。
使用Arduino UNO當作ISP燒錄器與Melzi的連接如下,共四條線:
* pin 1 MISO (Melzi) on pin 12 (Arduino) * pin 3 SCk (Melzi) on pin 13 (Arduino) * pin 5 Reset(Melzi) on pin 10 (Arduino) * pin 4 MOSI (Melzo) on pin 11 (Arduino)
- 連接Arduino UNO開發板與Melzi控制板到您的電腦上(Melzi開發板需要電力)。
- 下載最新的'Sanguino'資料夾並像上面的敘述一樣進行安裝。
- 開啟Arduino IDE。 選取'Tools | Board'選單選擇有著Sanguino的板子,如果您不知道該選擇哪一片板子,您可以先隨便選一個,如果選到了錯誤的板子,Arduino UNO將會無法燒錄bootloader並且出現錯誤。
- 選取'Tools | Serial Port'選單,選擇Arduino UNO開發板的序列埠。 接著至'Tools | Programmer'選擇'Arduino as ISP'。
- 如果您之前選擇的板子並不是正確的,您將會得到錯誤訊息,像是板子的id 'XX' 是不正確的,這裡的XX為十六進位。 如果'XX' 為 'FF',請再三檢查連接的線路,再來嘗試從'Tools | Board'選擇另一片板子,或是到搜尋引擎搜尋'XX'所代表的意思。
韌體上傳
有一個Marlin版本的RepRap韌體在RepRapPro Ltd's Github repository。 它包含了使用Arduino IDE上傳到Sanguino(包括了Melzi)所必需的額外檔案。 而這些額外的檔案在您要使用燒錄器燒錄bootloader時也非常的必要。
這裡有更詳細的韌體介紹與說明 RepRapPro 網站.
除了Marlin以外還有Repetier這個韌體,他在我的Melzi上運作甚至比Marlin還要棒。 想要了解更多有關Repetier的資訊可以在這裡找到。 另外還有一個有著不錯功能的韌體設定工具(v0.92)。 如果您喜歡Repetier,您可以考慮贊助Repetier。
Melzi Arduino 接腳編號
#define X_STEP_PIN 15 #define X_DIR_PIN 21 #define X_MIN_PIN 18 #define Y_STEP_PIN 22 #define Y_DIR_PIN 23 #define Y_MIN_PIN 19 #define Z_STEP_PIN 3 #define Z_DIR_PIN 2 #define Z_MIN_PIN 20 #define E0_STEP_PIN 1 #define E0_DIR_PIN 0 #define LED_PIN 27 #define FAN_PIN 4 #define HEATER_0_PIN 13 // extruder #define HEATER_BED_PIN 10 // bed (change to 12 for breakout pin on header) #define X_ENABLE_PIN 14 #define Y_ENABLE_PIN 14 #define Z_ENABLE_PIN 26 #define E0_ENABLE_PIN 14 #define TEMP_0_PIN 7 // Analogue pin #define TEMP_BED_PIN 6 // Analogue pin #define SDSS 31 #define SLAVE_CLOCK 16
設定馬達電流
這部分請參考: RepRapPro_Setting_Motor_Currents
Melzi使用藍芽(Bluetooth)
為了擺脫電腦與Melzi之間麻煩討厭的USB連接線,可以使用藍芽(Bluetooth)模組來取代這條USB傳輸線。 這裡有一片便宜的藍芽(Bluetooth)模組 - 'JY-MCU' (供應商 Shenzhen Jiayuan Electronic Co.,Ltd.).
更改藍芽(Bluetooth)設定
使用藍芽(Bluetooth)之前可以改變一些預設設定值。 透過模組USB<->RS232 (RxD/TxD)介面與電腦連線,預設的通訊埠設定值為(9600, N, 8, 1)實際可能不同,請參閱藍芽(Bluetooth)模組的手冊。 此時藍芽(Bluetooth)模組要為未配對的狀態,再使用終端機程式輸入以下的AT指令:
AT OK AT+BAUD8 OK115200BAUD (設定成Melzi控制板的序列埠鮑率) AT+NAMEHUXLEY OKsetname (選用, 設定名稱) AT+PIN0000 OKsetPIN (選用, 設定密碼, 預設: 1234)
更多設定項目,您可以在這裡找到[[1]]
連接藍芽(Bluetooth)線路
Melzi控制板上的4050D有一組尚未使用的電平轉換(5V -> 3.3V)。 整體需要銲接五條線路。 需要注意的是並不建議直接與TXD腳位連接,在Arduino開發板上的序列晶片是透過一顆1kOhm的電阻來與微控制器連接,但是在Melzi控制板並沒有這樣的設計。
透過藍芽(Bluetooth)連接
您可以像是平常使用RepRap一樣,從下拉式選單選擇您的藍芽(Bluetooth)通訊埠即可。
液晶顯示器
Gert為他的Melzi增加了液晶顯示器與旋轉編碼器,這裡有一些照片
可以透過I2C介面連接一片純文字的液晶顯示器,如這個部落格裡的圖。 最新的Marlin版本已經可以支援一些I/O擴充IC (PCA8574, PCF8574, MCP23017, MCP23008).
Panelolu2液晶顯示器與旋轉編碼器可以透過簡單的轉接板來與Melzi進行連接。
Melzi修復
弄壞了您的Melzi? 也許這裡有一些維修方法可以幫得上忙(方便的話也請透過編輯來分享您的解決方法吧):
Mini-USB連接座從電路板上脫落
A repair by Kevin T: http://forums.reprap.org/read.php?4,239276
無法與Melzi連接(FTDI驅動問題)
有一個透過Microsoft更新FTDI驅動造成的已知問題,如果Melzi使用非正版的FTDI晶片會出現裝置被停用的狀況。 此晶片是使用USB來與電腦進行通訊,所以控制板看起來都是在正常運作的狀態(LED閃爍),但是電腦上卻不會正常的出現序列埠,所以Arduino IDE/設定工具將無法與控制板連接。
此問題的詳細介紹: http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/
只能透過目視來檢查晶片的方法來確定晶片是否為正版: http://hackaday.com/2014/10/24/ftdi-screws-up-backs-down/#comment-2059852
在reprap論壇上有針對此問題在做討論: http://forums.reprap.org/read.php?1,417199
對於此問題有一個變通的解決辦法(為Windows強制安裝驅動): http://forums.reprap.org/read.php?1,417199,418768#msg-418768
如果晶片已經被驅動程式判斷為偽造品,該裝置的PID會被設定為"0000"。您可以在Mac System Profiler中看到,在Ubuntu下則可以打開一個終端機,執行"lsusb",它應該會顯示一個裝置是"0403:0000"。 如果您是使用Ubuntu這裡有一個工具可以重置裝置的PID: http://www.minipwner.com/index.php/unbrickftdi000 然後更新FTDI驅動程式,它就不會再次變成像磚頭一樣了。
螺絲端子座融化
有時候,Melzi控制板上的螺絲端子座會出現融化的狀況,通常這是因為熱床的連接線接觸不良、也就是說固定螺絲沒鎖緊所造成。 這有可能造成MOSFET損毀,因為它無法將控制時產生的電流輸出。 RepRapPro建議定期檢查螺絲端子座是否有鎖緊: https://reprappro.com/documentation/mendel-tricolour/maintenance/#Regular_maintenance
如果Melzi電路板沒有損壞,您可以考慮更換一個新的螺絲端子座。
有幾種不同的螺絲端子座:
這種是最常見的 - http://uk.farnell.com/multicomp/mc000048/terminal-block-pcb-5-08mm-2way/dp/2008019
這種高度比較高,可以更容易將電線放入 - http://uk.farnell.com/phoenix-contact/mkdsn2-5-2-5-08/header-pcb-screw-5-08mm-2way/dp/1792766
加熱床的電源線大約承載12V 10A,所以任何接觸不良將會導致溫度升高。 因此必須檢查放入端子座的電線銅線部分長度是否足夠,以及時常檢查螺絲端子座是處在鎖緊的狀態。 另外加熱床的電源線的長度必須足夠,並且固定在框架上,不可以處在緊繃的狀態,避免電線因為疲勞而斷裂,造成危險。
熱床或擠出機出現錯誤或不正常的數值
如果當您的加熱床或是擠出機,在沒有連接熱敏電阻時就會有數值出現,這可能是電容已損壞,試著移除或是更換電容。
請參閱RepRapPro Mendel/Huxley 故障排除文件來解決其他已知的溫度問題請按此連結
燒錄韌體後出現avrdude錯誤
當我嘗試上傳韌體時avrdude出現"avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50...)"
這時候可以檢查當控制板與電腦連接時是否有出現新的序列埠,然後確定您已經燒錄了bootloader到控制板中,這部分可以參考上面的'Bootloader上傳'。
X軸向只能朝一方向移動或是限位開關無法運作
這可能是錯誤的664P Fuse設定值所造成。
Fuse設定值來自sanguino資料夾下的"hardware/arduino/boards.txt"檔案。
正確的644P Fuse設定值如下:
atmega644.bootloader.low_fuses=0xFF atmega644.bootloader.high_fuses=0xDC atmega644.bootloader.extended_fuses=0xFD
然後您需要以上述的設定值重新燒錄bootloader。
Melzi已知問題(Geeetech)
下面是一些使用Geeetech Melzi控制板所遇到的問題列表。這些控制板的零售價已經低於$50 USD(其他工廠生產的v2.0與一些Sanguinololu的成本在$80-90上下)。 我個人的看法是,Geeetech已經沒有優勢,而且在跟其他高價的控制板(如Melzi 2.0, Sanguinololo, or RAMPS)比較下在重組/維修/時間上還會發現有更多的花費。我早在2014一月就使用過這一些控制板,並且已經維修與重組過他們,最後我已經更換或升級這些控制板兩次 --FlyingLotus1983 (talk) 19:47, 23 March 2014 (PDT)
- 印刷電路板上的線路會出現隨機位置的斷路。 這是因為使用廉價的製造商、製造後又未進行測試所造成的結果。 例如,一塊控制板X軸向的方向控制訊號與接地短路,這將會造成X軸向只會往一個方向移動。 另一種則是跳線的訊號線與接地短路,當我設定該跳線(MS1-3)時,將會使5V電源與接地短路,這是非常危險的一件事。
- BTEMP和ETEMP電阻(R4和R5)是使用錯誤的電阻值。 原始的Melzi是使用10K,但是在兩年前被改成了4.7K(Melzi 2.0已經改回正確的電阻值了),但是Geeetech依然使用錯誤的電阻值。這將影響熱敏電阻的精度,最好將電阻從4.7K換成10K,並於Marlin的韌體中改變熱敏電阻的數值。
- 電壓調節器不能輸入24V的電壓。這是可以接受的,但是應該要在說明文件中加上像是"最高只支援18V的電壓輸入"的說明文字來提醒使用者。 要解決這個問題可以透過將跳線("PWR-SEL")設定為USB模式,然後也將7805電源調節器移除不使用。 另一個解決辦法則是購買一顆支援最高輸入電壓為24V的電源調節器換上去。
- 如果您將標準Mk2b印刷電路加熱床(有著藍色的電源線)在12V下運作,由於Mk2b加熱床的工作電壓是24V,當使用12V時,會出現電壓不足導致溫度不夠高的狀況。 當使用24V時,它可以正常的加熱,但是只有在MOSFET電晶體上加上散熱片是不夠的,還有存在著一定的危險性,因此應該要告知使用者MOSFET規格(電壓與電流),讓使用者可以加上外部的MOSFET或是固態繼電器來提高安全性。 如前述的狀況,控制板上沒有任何設計任何相關的電路來應付各式各樣的加熱床,Geeetech的板子也沒使用像是原來Melzi所使用的RFP30N06LE,所以我不能確定它到底能夠承受多大的電流與功率。 所以使用加熱板時,請謹慎使用。
- 當SD記憶卡插入時,有些控制板可能會重新開機,到現在都還沒有嘗試解決。 (這是所有Melzi都可能會遇到的,我認為或許是SD記憶卡插槽是共用reset腳位,但是也有可能是因為SD記憶卡插槽的3.3V電力是從FTDI供應所造成的。)
- LED非常的暗,R25他們應該使用390 ohm電阻,但是可能因為某一些原因,他們使用1K電阻。
- 用來設定步進馬達電流的可變電阻,在出廠時沒有設定在最低值。 在步進馬達安裝前沒有將一些設定成比較合理的參數(比如0.4V),控制板將會變得非常的燙,甚至可能造成損毀。 控制板出貨前應該要使用USB的5V電源,並透過三用電表量測四個可變電阻的電壓應該要在0.4V。他們並沒有做這個步驟,甚至連說明都沒有。
有在使用Geeetech的朋友,請注意Geeetech要召回更換一批控制板(從12/2013 到 03/2014). 他們有在他們的部落格公告如何更換。
他們指出"主要的問題出在加熱床與擠出機的熱敏電阻是使用10kohms來替代4.7Kohms。 另外熱床所使用的10N06 MOSFTEs只能負載10A的電流(目前已更換為35N06) 所有遇到此問題的顧客請透過[email protected]跟GEEETECH服務團隊聯繫,我們將免費更換。"
這意味著他們可能自己安裝這些零件,不過這已經相當不錯了。
Digikey供應Geeetech Melzi的維修零件:
P4.7KECT-ND (4.7 OHM 1/4 Watt 電阻)
IPD035N06L3 GCT-ND (MOSFET N-CH 60V 90A)
如何購買
RepRapPro - Melzi V2.0