i3之Configuration.H之說明(for Marlin)

這是一個header檔案,簡單地說就是一個儲存印表機主要參數與配置設定的檔案,這個檔案裡面的參數大概可以滿足95%的使用者,至於你需不需要去更動那要看你的硬體是否跟原創作一模一樣,不論你是什麼樣情況,透過以下解說相信你可以很快了解。
config-h

在編輯器上,您可以透過搜尋功能找到以下關鍵字,然後來進行適合的修改,請注意編輯器上面灰色的都是注解,您沒有必要修改註解,改了也不會影響結果,修改時請修改黑色字體。

#define MOTHERBOARD 33

定義控制板為 Mega 2560與RAMPS為RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)具有單一擠出頭、具有風扇和加熱板的功能,原來值7為Ultimaker並不符合我們的硬體。
(這個板子跟Ultimaker功能是完全一樣的,但IO配置不同,而且Ultimaker是使用的熱電偶+溫控板(AD597)當作溫度感應器,而RAMPS 1.4是100k的熱敏電阻)

#define TEMP_SENSOR_0 1
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_BED 4
定義第0號位置的溫度感應器為100k的熱敏電阻,1號為沒有使用,2號也為沒有使用,加溫床的感應器為10k的熱敏電阻(請注意由其是這個必須符合你所購買的種類),以上設定錯誤將導致換算出的溫度不正確(如果你有LCD控制板可以看到溫度不正常或是錯誤訊息),進而導致印表機不動作(印表機必須等待加溫擠出頭和加熱床溫度都正確之後才會動作)

const bool X_MIN_ENDSTOP_INVERTING = false;
const bool Y_MIN_ENDSTOP_INVERTING = false;
const bool Z_MIN_ENDSTOP_INVERTING = false;
定義限位開關(微動開關)的邏輯為正常,這樣才符合
接線圖的線路,如果你使用的限位開關是反相邏輯,則必須改成true,請參考組裝部分說明。請注意這三行後面有分號不可以刪除,因為這是const bool而不是#define,懂C語言的就知道囉。

#define INVERT_X_DIR false
#define INVERT_Y_DIR true
#define INVERT_Z_DIR false
定義反轉(顛倒)X軸方向為”否”,反轉Y軸方向為”是”,反轉Z軸為”否”

#define HOMING_FEEDRATE {50*60, 50*60, 2*60, 0}
定義4個馬達 (X軸, Y軸, Z軸, E擠出馬達)的復位(回到原點)的速度,分別為300, 300, 120, 0),您可以調整這個值,但復位時的移動速度不建議太快,我使用預設值,但是原本的Z軸的數值240太快造成嚴重失步,所以我改成了120。

#define DEFAULT_AXIS_STEPS_PER_UNIT   {100, 100, 4000, 750}
這個重要了,這個就是之前我們計算每1mm馬達需要跑多少微步的數值,將剛剛的值填入,數值錯誤將造成以後你列印的物件尺寸不正確,有可能太大太小或是太高太扁。E軸(擠出馬達)的數值740也是計算出來的,其中計算方法請參考。一般來說由於本身塑膠線本身誤差以及擠出時造成的誤差,如果這個數值差個幾十是看不出實際的影響,但這個可以用來微調擠出塑料不足或是太多之用。

#define PLA_PREHEAT_HOTEND_TEMP 230
定義PLA的內定溫度,原本是180但我所使用的塑料線建議值是230所以我改成了230,您可以不需要更改或是依照你所購買的塑料建議而定。

#define REPRAP_DISCOUNT_SMART_CONTROLLER
原本這行前面有//符號,這裡給不懂程式語言的人一個解說,在類似C語言的編譯器中//之後代表註解,所以會完全被忽略,所以你會看到在Arduino IDE環境中所有//之後都變成了暗灰色,意思就是會被編譯器忽略。 這行是用來定義LCD液晶螢幕及控制面板的,原本有//所以代表未定義(不使用),如果你用的是跟我一樣的RepRap Discount Smart Controller就必須作此定義,所以要把//刪除。如果您用的不是這款面板控制器模組就必須找到相對應的定義。

新增加懶人包提供下載(請注意我的馬達為16齒的 如果您使用20齒請更改參數 請參考上面的說明)

另外值得一提,如果您想將兩個不同.h的檔案進行內容比較,建議您使用WinMerge或是中文版WinMerge(由阿榮福利味提供),它是一個免費的通用型文字檔案比較器,可以標註出兩個檔案不同點,即使兩個檔案大小不同也可以比較相異點,更可以進行兩資料夾的整批比對,相當好用。

創作者介紹

3D Printer DIY 自製3D印表機

diy3dp 發表在 痞客邦 PIXNET 留言(12) 人氣()


留言列表 (12)

發表留言
  • 鐵人工坊
  • 板主我目前想將我以前的雕刻機改裝為3d print
    我是項台灣網友買這塊控制板(沒售後服務啦~~)
    http://learn.makerlab.me/guides/1/articles/3
    目前問題是configuration.h檔案一直無法編輯(在arduniox裡面編輯一直不過)
    我請教過朋友,朋友回覆是windos不開放權限修改
    請問是否有解決方法
    謝謝板大
  • 怎麼可能有這種事情 你是不能編輯 還是編輯之後過不了 如果是不能編輯我猜想是你這個檔案被Windows設定為某特定人所有(權) 所以你無權編輯 如果是可以編輯卻編譯錯誤 是不是你語法錯誤呢? 你要不要把Configuration.h貼出來看看

    diy3dp 於 2014/04/13 14:33 回覆

  • 鐵人工坊
  • 目前權限改成Administrator 編輯已經ok
    我的版子選33 出現下面一段編輯問題

    前面已除去雙斜線
    33 = RAMPS 1.3 / 1.4 (Power outputs: Extruder, Fan, Bed)
    // 34 = RAMPS 1.3 / 1.4 (Power outputs: Extruder0, Extruder1, Bed)

    下面是邊及警示文字
    請教如何改正 謝謝~~

    In file included from /Marlin.h:22,
    from BlinkM.cpp:5:
    Configuration.h:42: error: expected unqualified-id before numeric constant
  • 你可以整個打包(壓縮)寄到我信箱媽? 晚一點幫你看看 dcchi007小老鼠hotmail點com 另外你做的雕刻機有照片嗎? 我很好奇想看一下~

    diy3dp 於 2014/04/13 16:57 回覆

  • 段瑋勳
  • 版主大大 請問你歐 我把馬林燒進去以後 我的 LCD 版就翻白眼 不會動了 該怎麼辦QAQ
  • 段瑋勳
  • 版主大大 請問你歐 我把馬林燒進去以後 我的 LCD 版就翻白眼 不會動了 該怎麼辦QAQ
  • 你LCD要打開 在Configuration.h裡面

    diy3dp 於 2014/08/05 21:01 回覆

  • Titan
  • 請問我的設定大致上跟上面差不多
    X、Y、Z軸都可以用LCD內的指令去控制
    但是擠出頭的Motor就是不動
    但是我用RAMPS14TestCode測試五顆馬達都會動
    韌體是否還有哪裡要確認
  • 擠出機馬達跟擠出頭溫度限制有關 在溫度未達到時 他不會轉動 不然線沒融化豈不是卡住了

    diy3dp 於 2014/08/22 09:21 回覆

  • Titan
  • 版主
    我想我已經發現問題了
    剛剛把configuration.h內容慢慢研究應該是我的擠出頭motor動作設定溫度沒改所以常溫下無法動
  • 對呀 改成0就可以動 但不建議這樣改

    diy3dp 於 2014/08/22 12:36 回覆

  • 小五
  • 版主~我改完要燒進去出現紅字
    avrdude: stk500_getsync(): not in sync: resp=0x21
    請問是什麼問題??
  • 凱凱
  • 請問 版主
    如果我的印表機是 U.Maker
    機板是 PCB 1.5.7 、 MEGA 2560 、 42步進馬達(3.4 V、1.7 A 、1.8度)、A4988
    使用100K熱敏電阻配合單一擠出頭 請問我將

    https://github.com/ErikZalm/Marlin/blob/Marlin_v1/Marlin/Configuration.h

    此網站上的 Configuration.h 上傳到 arduino 2560 但是出現的卻有紅字 如下:

    avrdude: Recv: . [94]
    avrdude: Recv: i [69]
    avrdude: Recv: . [f7]
    avrdude: Recv: ` [60]
    avrdude: Recv: . [95]
    avrdude: Recv: p [70]
    avrdude: Recv: . [95]
    avrdude: Recv: . [80]
    avrdude: Recv: . [95]
    avrdude: Recv: . [90]
    avrdude: Recv: . [95]
    avrdude: Recv: . [9b]
    avrdude: Recv: . [01]
    avrdude: Recv: . [ac]
    avrdude: Recv: . [01]
    avrdude: Recv: . [bd]
    avrdude: Recv: . [01]
    avrdude: Recv: . [cf]
    avrdude: Recv: . [01]
    avrdude: Recv: . [08]
    avrdude: Recv: . [95]
    avrdude: Recv: . [97]
    avrdude: Recv: . [fb]
    avrdude: Recv: . [09]
    avrdude: Recv: . [2e]
    avrdude: Recv: . [05]
    avrdude: Recv: & [26]
    avrdude: Recv: . [0e]
    avrdude: Recv: . [d0]
    avrdude: Recv: W [57]
    avrdude: Recv: . [fd]
    avrdude: Recv: . [04]
    avrdude: Recv: . [d0]
    avrdude: Recv: . [d7]
    avrdude: Recv: . [df]
    avrdude: Recv: . [00]
    avrdude: Recv: . [a6]
    avrdude: Send: . [1b] . [a4] . [00] . [04] . [0e] . [14] . [01] . [00] [20] . [80]
    avrdude: Recv: . [1b]
    avrdude: Recv: . [a4]
    avrdude: Recv: . [01]
    avrdude: Recv: . [03]
    avrdude: Recv: . [0e]
    avrdude: Recv: . [14]
    avrdude: Recv: . [00]
    avrdude: Recv: . [0a]
    avrdude: Recv: . [d0]
    avrdude: Recv: . [00]
    avrdude: Recv: . [1c]
    avrdude: Recv: 8 [38]
    avrdude: Recv: . [f4]
    avrdude: Recv: P [50]
    avrdude: Recv: . [95]
    avrdude: Recv: @ [40]
    avrdude: Recv: . [95]
    avrdude: Recv: 0 [30]
    avrdude: Recv: . [95]
    avrdude: Recv: ! [21]
    avrdude: Recv: . [95]
    avrdude: Recv: ? [3f]
    avrdude: Recv: O [4f]
    avrdude: Recv: O [4f]
    avrdude: Recv: O [4f]
    avrdude: Recv: _ [5f]
    avrdude: Recv: O [4f]
    avrdude: Recv: . [08]
    avrdude: Recv: . [95]
    avrdude: Recv: . [f6]
    avrdude: Recv: . [f7]
    avrdude: Recv: . [90]
    avrdude: Recv: . [95]
    avrdude: Recv: . [80]
    avrdude: Recv: . [95]
    avrdude: Recv: p [70]
    avrdude: Recv: . [95]
    avrdude: Recv: a [61]
    avrdude: Recv: . [95]
    avrdude: Recv: . [7f]
    avrdude: Recv: O [4f]
    avrdude: Recv: . [8f]
    avrdude: Recv: O [4f]
    avrdude: Recv: . [9f]
    avrdude: Recv: O [4f]
    avrdude: Recv: . [08]
    avrdude: Recv: . [95]
    avrdude: Recv: . [aa]
    avrdude: Recv: . [1b]
    avrdude: Recv: . [bb]
    avrdude: Recv: . [1b]
    avrdude: Recv: Q [51]
    avrdude: Recv: . [e1]
    avrdude: Recv: . [07]
    avrdude: Recv: . [c0]
    avrdude: Recv: . [aa]
    avrdude: Recv: . [1f]
    avrdude: Recv: . [bb]
    avrdude: Recv: . [1f]

    請問這該如何處理 ?
  • 你程式有問題

    diy3dp 於 2014/12/11 23:37 回覆

  • Shu Chen Wu
  • 版主您好,想跟請教一下,
    我的機型為 Prusa i3 ,前陣子不小心把原韌體刷掉,
    在自行重新上傳 Marlin 後,Cura 無法連線,Cura 版本為 15.02.1
    請問會是哪裡設定的問題?感謝~
  • com port and connection speed

    diy3dp 於 2015/07/21 00:22 回覆

  • 迷惘
  • 不好意思 我想請教個問題,前陣子有買台i3試印可行,現在想自己組一套雕刻機
    採用印表機的方式跟機型,只是完全沒這方面的知識,材料買了些 RAMPS 1.4 擴展板,Mega2560,A4988,脫機SD卡座,2004 LCD顯示器,組裝才發現很多問題....
    我有下載板大的Marlin,也照著步驟改,但燒進去之後,LCD無法切換選單,
    按了按鈕也是只畫面閃爍一下,有時可以切換過去,不過大約幾秒就會自動跳回主畫面,
    看別人都沒我這個問題,我有2組擴展板.MEGA.LCD,問題都一樣....麻煩大大指導~"~
    感激不盡!!
  • You require necessary skills to do this DIY.

    diy3dp 於 2016/04/14 01:10 回覆

  • x大
  • 請問LCD有顯示也可以控制,但蜂鳴器不知道為什麼ˊ一直叫,請問怎麼把它關掉
  • Your firmware setting is incorrect

    diy3dp 於 2016/10/10 12:35 回覆

  • x大
  • 然後我在印時,都會給料過多,導致整個模型變樣,那個是要去調整#define DEFAULT_AXIS_STEPS_PER_UNIT {100,100,4000,740} 這個的第4個數字 ?
  • Same here. Your firmware setting is incorrect

    diy3dp 於 2016/10/10 12:36 回覆