[3DP][CR7] 高級班:燒韌體教學

有關燒韌體,你最好先有兩點概念

1.燒韌體不難,燒韌體有點像是重灌電腦,但還是比重灌windows複雜多了。

2.燒錯…通常會燒不進去,頂多再燒一次,但如果錯錯得正還是有可能變磚。所以最好先做功課。

你需要幾個東西:

1.一台CR-7。我只用7,8,9,10別問我。

2.CR-7的韌體包
CR-7用的韌體是從Marlin(馬林魚)韌體去改的,好像是display那邊接線不太一樣,廠商沒有公開原始碼,韌體的來源有:(1)你去淘寶問創想,如果他願意給的話 (2)台灣CR-7社團開了很大團的團購,跟廠商談到的團友服務。(3)還有一個地方有,我不告訴你~XD

CR-7的主機板目前我知道有兩代,第一代是紅色的(紅燈),大概2015/10月後就是黑色的(藍燈),兩者韌體應該可通用。外觀差異在fan的接口從歐式端子台變成莫式端子,且連接display不需要轉接板。

3.Arduino IDE工具 (必須使用1.0.x,最新的1.6.x不支援)
Arduino是一種開發版平台,Marlin是運行在上面的一套3d印表機韌體。Arduino也可以開發機器人什麼的,就要接不同的功能。


步驟一:下載與安裝

CR-7使用的bootloader是Sanguino W/ ATmega 1284p 16mhz
我只在Arduino.cc的1.0.5-rc2和1.0.6配合lib成功,1.6.x沒有支援。

右邊的按鈕會希望你能夠贊助一下,左邊的按鈕就可以免費下載了。

安裝就全裝吧,下一步下一步。

然後windows應該會跳出一些授權警示,就是要不要裝新的driver,同意就好。打個比方就是你買了分離式冷氣機,要在你的房子(PC)上開一個洞來和室外機(3dp)來溝通。


步驟二:確認PC有連線到CR7

CR-7開機,用mini-usb連接到PC。

請注意win7辨識usb的狀況。從控制台>硬體與音效>裝置管理員,注意新出現的硬體。如果出現以下畫面就是正常的:

如果出現驚嘆號(usb driver有問題),就…隨機應變吧。我遇過需要先去FTDI抓他們的driver,然後手動安裝driver時選取dfdiport.inf才成功的狀況。


步驟三:解壓縮拿到的CR-7壓縮包,取得Ardunio ArduinoAddons (for Sanguino)

把ArduinoAddons\Arduino_1.x.x的兩個資料夾(hardwarelibraries),放到以下目錄,這樣ardunio就可以支援Sanguino W/ ATmega 1284p 16mhz。

 

以下目錄擇一:

a.(免安裝版) 解壓縮目錄的hardware, libraries

b.(程式安裝目錄) C:\Program Files (x86)\Arduino
(可能會跳出警告,不過還是可以修改的)

c.(使用者設定目錄) “我的文件夾"的Ardunio
%userprofile%\documents\Ardunio\

a和b其實是同一個(免安裝/安裝版),理論上挑一個即可。

注意不要直接取代目錄,而是複製增加裡面的內容。(所以用c會比較安全,因為不會動到原本程式自代的。不過如果弄錯任何東西,在安裝一次Ardunio就好)


步驟三:壓縮檔內的CR-7的marlin韌體包

在Marlin_v1-CR7Mini\Marlin應該會看到"Marlin.ino",他是專案檔。

確認板子是Sanguino W/ ATmega 1284p 16mhz,會顯示在右下角

後面還有一個COM+n,是usb port的代號,也就是對應步驟二的圖

(附帶一提 我自己還有DIY台,用RAMP1.4 board,他的board設定就要使用"Arduino Mega 2560″)


步驟四:修改Configuration.h參數

為什麼要燒韌體呢?

這邊舉三個例子:

例子1:修改列印範圍的長寬高

CR-7預設列印範圍是130*150*100mm

即便不做任何修改,z的高度也可以列印到120mm才對

如果調整馬達位置,甚至可以把CR-7的xy鋁擠距離都用到極限,也就是160*200*120mm!!!
(需要xy皮帶緊繃設計,和y馬達座修改設計)

修改方法:

ctrl+f 搜尋 X_MAX_POS

接下來就把x,y,z的限制改成你想要的數值。例如

#define X_MAX_POS 150
#define X_MIN_POS 0
#define Y_MAX_POS 200
#define Y_MIN_POS 0
#define Z_MAX_POS 120
#define Z_MIN_POS 0

例子2:修改z步數

當你要把cr7從牙條換成螺桿的時後就需要改z step

原本M5牙條,導程0.8(轉一圈直線移動0.8mm)

1 圈360度,360/1.8度*16 細分 = 3200 Step
1mm / 0.8mm = 1.25 圈
3200 * 1.25 = 4000 step

所以牙條z step=4000
原廠T8螺桿,z step=400

Crtl+f搜尋
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 4000, 96}
改成
#define DEFAULT_AXIS_STEPS_PER_UNIT {80, 80, 400, 96}

例子3:修改prepare pla時的風速

我推測是因為cr7亂改噴嘴風扇的原因…所以加熱時預開風扇。但像是我裝暴力有噴嘴風扇,所以額外的吹風不僅浪費時間加溫,還很吵(PWM 255=100%)

#define PLA_PREHEAT_FAN_SPEED 0

 


步驟五:編譯與燒入

5

Ctrl+u進行編譯與上傳(到機器),這個階段大概要一分鐘,右下角有進度條。連接錯誤會跳警告。

燒入完後會顯示done


步驟六:機器更新參數

這邊有兩種說法,好像二代主板(黑色)只要燒完後斷電重開機,參數就會更新。

但我自己是需要這樣做才會更新:

LCD控制面板 > Control > Restore failsafe (回復原廠設定,在最後面)

如果要檢察參數是否有更新,可以在LCD > Control > motion檢察。

 

 

 


本文感謝彭團長、Huang Lin-Chieh‎、Gary Ko等社團高手提供教學

附帶一提,其實Ardunio有兩家公司、兩個官網。我只知道arduino.cc 1.0.x可以用。http://www.makezine.com.tw/make2599131456/arduino19

如果想用1.6.x來使用,有高手嘗試開發,不知道可不可以用

https://github.com/JChristensen/mighty-1284p/tree/v1.6.3

廣告

One thought on “[3DP][CR7] 高級班:燒韌體教學

  1. 你好,我想請問是否能提供CR7韌體,因為我在淘寶買了一台,也想把列印範圍加大,謝謝

迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s