關於Repetier-Host你應該不陌生,是的,它就是我們常用的3D印表機在PC端的軟體,我們知道他有PC版的也有Mac版的,但是其實這家公司提供的不只是PC端軟體,它孩提供了韌體,在本篇之前我相信大家多數是用Marlin的韌體,我很好其當Repetier-Host配上自己的Repetier韌體時是不是列印出的品質或效能更好?

我下載了Repetier firmware,並且很簡單地經由Arduino IDE編譯成功,這至少代表它提供的原始韌體檔可以沒有錯誤地編譯,先別急著上傳至控制板,對了我們要修改Configuration.H檔案,很多人(尤其沒有C語言背景的)聽到這個就頭大,不過好消息來了,Repetier提供了網上(web based)自動修改並產生Configuration.H設定檔的工具(configuration tool),以下就是這個過程:

  1. Start開始
    先到configutation tool網頁,然後選擇剛剛下在的檔案目錄並且選擇configuration.h檔案,然後下一步。
    image
  2. General一般資訊,以下是說明與設定:
    image
    2-1之設置-
    Configuration level: 選擇Normal,我試過Expert但其實用不到。
    Processor: 請選擇Atmel 8-bit based board (e.g. Arduino Mega),這正是我們的Mega系列
    Motherboard: 選擇RAMPS1.3/RAMPS 1.4
    Printer type: 選擇Cartesian printer (因為我們XYZ每個軸都有自己的驅動馬達而且我們也不是其他的印表機類型。
    EEPROM usage: 先選擇Disabled,因為這樣在剛開始使用Repetier韌體時,可以避免讀入舊的設定,讓你以為動作正常但實際列印卻大失敗,等到動都正常並成功列印之後,在打開EEPROM然後把正確的值寫入,如果你是一直連著電腦在列印,其實這個功能並發揮不大。
    Band rate: 選擇250000 (或其他)
    Kill method: 在PC端軟體按下中斷列印(KILL)按鍵時的動作,我們選擇Reset controller就好,這樣可以讓控制器依然知道目前座標。
    2-2 Dimension-
    X min positon: 最小X位置,通常為0mm。除非你想改變X軸位置卻不想移動限位開關。
    Y min positon: 最小X位置,同上。
    Z min positon: 最小X位置,同上。
    X length: X軸最長有效距離,Prusa i3為200mm,你也可以保險一點設180mm。
    Y length: Y軸最長有效距離,同上。
    Z length: X軸最長有效距離,同上。(如果你機器上方有亂七八糟的線或是其它東西,為了避免擠出頭撞到,可以設小一點,比方說120,此時你將無法列印高過120mm的物件)
  3. 進入第2頁Mechanics機構設定
    3-1 Stepper-
    image

    Enable nackiash compesation: 關閉(不打勾),這是用來避免高速移動產生慣性位移的,內定值為關閉。
    Allow quad stepping. Required for frequencies larger 2400Hz:
    Disable steppers after inactivity of : 預設值360
    秒,印表機在此之內沒有動作就關閉所有馬達。
    Disable as much as possible after inactivity of : 預設值0(關閉)次功能,如果在此秒數之內印表機沒有動作就盡可能關閉所有動作,包含馬達,加熱器等等。
    Jerk XY moves : XY軸抽動速率,太快可能失步。預設值20。
    Z-Jerk: Z軸抽動速率,太快可能失步。預設值0.3。
    3-1-2 X asix stepper motor-
    Stepper socket : X軸馬達連接實際位置,預設值就是連接在X motor的PIN腳。
    Resolution : 每1mm所需要的步數,請參考步進馬達參數計算
    Max. travel speed : 最大移動速度,請注意這是每秒多少mm而不是每分鐘多少mm,如果你直接抄原本Marlin或是PC軟體的數值會很慘,我設為100。
    Homing speed : 自動歸零時的速度,通常比較慢,他要偵測限位開關的訊號,衝太快會可能導致因為慣性而不準確。
    Travel acceleration : 移動時(沒在列印時)的加速度,預設值1000。
    Print accelertion : 列印時的加速度,預設值1000。
    Invert direction : 將X軸座標方向對調(反向)。不要打勾。
    Invert enable signal: 將馬達致能訊號反向,不要打勾。
    Mirror motor signals to other stepper driver : 將此馬達的訊號同步至其它馬達,我不很確定這是什麼,預設值為不打勾。
    3
    -1-3 Y asix stepper motor-
    設定與X軸一樣但最後的Invert dirction比需打勾
    3
    -1-4 Z axis stepper motor-
    所需設定與X軸一樣,但數值當然不同,相異點如下
    Resolution: 我的機器是4000,每4000步為1mm。
    Max. travel speed : 3mm/s。
    Homing speed : 2 mm/s。
    Travel acceleration : 100mm/s2。
    Print acceleration : 100mm/s2。
    Invert dirction, Invert enable signal與Mirror motor signal to other stepper driver都不打勾。
    3-2
    Endstops-
    image

    Always check endstops :.
    X homing in negative direction (towards min endstop) : 歸位的時候是向座標較小的方向,請打勾。
    Y homing in negative direction (towards min endstop) : 同上。
    Z homing in negative direction (towards min endstop) : 同上。
    Homing order : 擠出頭歸位的順序,通常是X再來Y最後Z軸。
    X min : 選擇Switch on GND, normally open,通常為接地開路狀態,除非你的接法有所不同。
    Y min : 同上。
    Z min : 同上。
    X max : X軸最大距離的限位開關,Prusa i3並沒有接,選擇Not installed。
    Y max : 同上。
    Z max : 同上。
    Endstop distance after homing: 在擠出頭歸位之後停的位置(座標),通常為0,0,0。
  4. Temperature溫控相關設定
    4-1
    image

    Stabilize temperature corridor : 還不確定實際動作是啥,預設值為0(關閉)。
    Temperature control range : 溫控範圍,預設值為20。
    Skip bed temp. wait if within : 加熱床容許誤差為2度C。
    Enable extruder cooler at : 與設為50,當加熱頭高過50度開啟散熱風扇。
    Minimum exturder temperature : 預設值為150,加熱頭與允許動作(擠出)的最低溫度為150度。
    Maximum exturder temperature : 預設值275度,加熱頭允許的最高溫度。
    Minimum defect temperature : 預設值為-10度,當感應器偵測到加熱頭低於-10度時代表加熱頭異常(故障)。
    Maximum defect temperature : 預設值為290度,當感應器偵測到加熱頭高於290度時代表加熱頭異常(故障)。
    Maximum extrusion length : 預設值為160mm,當控制板接收到要一次擠出超過16公分長的材料時將會被視為異常命令而忽略。
    Heater PWM speed : 加熱器的PWN速度,預設值為15Hz, 256 values,即每秒15次,共區分為256個階段。
    Scale PID values to max. PID. Can give better temp. results if max. PID is low : 將PID參數調至最大,這樣加熱會比較快。預設值為否(不打勾)。
    Enable heated bed support : 請打勾,開啟加熱床功能。
    4-2 Heat bed 加熱床相關設置,比需打勾上一項才會有此設置
    Max. bed temperature : 能容許的最大加熱床溫度,內定值為120,我設為100,因為我用的玻璃並非耐熱玻璃,100度已經很危險了。
    Skip temp. wait if within : 預設值3,加熱床溫度誤差在3度之內將被忽略而不進行加溫。
    Temperature sensor : 溫度感應器種類,內定值為100k熱敏電阻,我用的是50k的,在列表中找不到,所以之後直接進去Configuration.H檔案中將其種類改為4。
    Temperature sensor pin : 溫度感應器接腳。預設值Temp 1 normally used for heared bed,不需更改。
    Heater pin : 加熱器控溫接腳,預設值為Heater 1 normally used for heared bed,不需更改。
    Temperature manager : 控溫管理方式,預設值為Bang bang 0 switches simple on/off,此為遲滯開關方式,而Marlin大多使用PID方式(註1),你可以試試看兩者的不同。
    Max PWM value : 對大的控溫PWM(脈衝寬度調變)值,預設值為255,不要更改,否則將有可能永遠達不到設定的最高溫度。
    註1: PID是歷史悠久的回授是溫控方式,具有數學運算法模型,使用普遍。Bang bang是另一種溫控方式,與PID不同,通常PID加溫會略超過設定溫度然後等降溫至設定溫度之後開始進行恆溫動作,而Bang bang方式則為當溫度到達時即進行恆溫,有人認為PID比較精準,有人認為Bang bang比較快,我都試過但感覺不大。
    4-3 Extruder 擠出頭設置
    image
    請按下Add extruder來增加一組設定,反之Remove last extruder是刪除最後一個擠出頭的設定,我們只有一個只需要增加一個就可。
    Extruder 0-
    Extruder stepper : 第1個擠出頭馬達位置為Extruder 0。
    I
    nvert motor direction : 不打勾。(請參考前面相同說明)
    Invert enable signal : 不打勾。(請參考前面相同說明)
    Offset X : X方向偏移位置,預設值為0,不作偏移。
    Offset Y : Y方向偏移位置,預設值為0,不作偏移。
    Start speed : 啟動時的速度,預設值為20mm/s。(每秒2公分)
    Maximum speed : 最大擠出速度,預設值為50mm/s。
    Resolution : 每擠出1mm所需的步數,請參考步進馬達參數計算
    Acceleration : 加速度,預設為5000mm/s2
    Temperature sensor : 溫度感應器種類,預設為100k熱敏電阻,大部分應該都是用這個。
    Temperature sensor pin : 溫度感應器接腳,使用預設值Temp 0 normally used for extruder 0。
    Heater pin : 加熱器接腳,使用預設值Temp 0 normally used for extruder 0。
    Temperature manager : 控溫管理方式,使用PID Controller。
    Max. PWM value : 使用預設值255。(請參考前面相同說明)
    Power when on : 預設值230,當加熱頭無法達到所設的溫度時將此數值調高。
    Dead time lag : 預設值為7秒,代表加熱開始要等7秒才能反映到較精準的溫度(熱能分布均勻)。
    Extruder cooler pin : 擠出頭風扇接腳。與設值為Disable關閉,因為RAMPS1.4上並沒有給擠出頭專用的散熱風扇接腳(只有物件冷卻風扇)。
    Wait retract distance : 加熱過程中擠出頭回抽長度,預設值為0,雖然不回抽會讓在加熱過程中流出塑膠料,但若回抽過多會造成加熱頭空燒,然後冒煙。請自行拿捏。
  5. Features 功能設置
    image
    Enable Z-probing : 選擇是否啟用Z軸歸零自動校正功能。
    Enable serve support : 選擇是否啟用伺服馬達Z軸附註校正。
    Enable ditto printing : 讓雙擠出頭的機種在兩個擠出頭同步(一次印兩個東西。
    Enable watchdog : 啟用看門狗功能,當溫控迴圈沒有每秒作出回饋時重置印表機。
    Enable arc support : 預設打勾,啟用G2/G3命令。
    Memory position/move to memory position : 預設打勾,啟用M401/M402命令。
    Force checksums onces a checksum is recevied : 當接收到檢查碼時強制系統檢驗檢查碼。
    Echo commands when executed rather when received : 當執行命令時才回應給PC,而不是在接收到時就回應。
    Send "wait" when firmware is idle : 當韌體處於閒置十,送出等待回應,可以協助解決電腦與印表機的連線問題(但比需電腦端軟體有支援)。
    Send line number aling with recevie confiration : 當收到確認訊號時送出目前線數(不確定這是不是層數)。
    Enable sd support : 開啟SD卡支援。
    Return extended directory information : 送出擴展目錄資訊。(PC目錄結構的東西,不知道在這裡作何用,所有的PC端軟體都不支援)
    Enable fan control for filament cooling : 開啟M106/M107命令功能,冷卻物件。
    Fan pin : 冷卻風扇接腳,預設為Fan pin不要更改。
    Fan pin for board cooling : 主控制板冷卻風扇,Disable不支援。
  6. User Interface使用者介面相關設置
    image
    Display Controller : 螢幕控制器種類,大多為Smartcontroller from RepRapDiscount on a RAMPS。
    Display Language : 顯示語言。
    Encoder Speed : 編碼開關速度,一般為Normal。
    Enable beeper : 啟用蜂鳴器(會嗶嗶叫提示音)。
    Animate menu switches : 在螢幕顯示動態字幕,字幕會好像廣告動畫一樣移動。
    Disable automatic info page swatching : 關閉自動顯示該頁資訊的功能。
    Start screen delay : 在1000毫秒(1秒)之後螢幕點亮。
    Time between page switches : 在不同頁面自動切換時間。
    Printer Name : 印表機名稱。
    Printer Company : 公司名稱。
    Go to main menu after : 在30000毫秒(30秒)之後自動回到主畫面。
    Key bounce time : 防止按鍵彈跳的間隔時間,預設為10毫秒。
    Repeat after : 在按下按鍵不放500毫秒(0.5秒)之後開始重複該鍵功能。
    Reduce repeat time by : 每多少毫秒重複該按鍵功能1次。預設為50。
    Minimum repeat time : 當開始重複該鍵功能後,至少重複時間,預設為50毫秒才會停止(如果手放開)。
    Preset bed temperature for PLA : 預設列印PLA時的加熱床溫度。
    Preset bed temperature for ABS : 預設列印ABS時的加熱床溫度。
    Minimum heated bed temperature : 加熱床最低的允許工作溫度。
    Maximum heated bed temperature : 加熱床最高的允許工作溫度。
    Preset extruder temperature for PLA : 預設列印PLA時的擠出頭溫度。
    Preset exturder temperature for ABS : 預設列印ABS時的擠出頭溫度。
    Minimum extruder temperature : 擠出頭最低的允許工作溫度。
    Maximum extruder temperature : 擠出頭最高的允許工作溫度。
    Extruder feedrate in menu actions : 擠出頭在使用螢幕控制面板時動作的速度。
    Retract distance : 回抽長度。
    Case Light Pin : LCD液晶螢幕背光接腳。預設為Disable(沒有)。
  7. Download下載
    image

    您可以選擇(1)下載全部韌體當然包含剛剛設置的Configuration.H壓縮檔或是(2)只下載Configuration.H檔案,或是(3)下載為Config.json格式,省去重新編譯的步驟。
    我使用1下載全部重新編譯,因為我發現只下載.H檔案和原有的其它檔案在一起編譯會有錯誤,不知道哪裡弄錯了,但全部一起打包下載就沒問題。

 

在使用過Repetier的韌體短短兩天,並沒有重大發現哪裡特別好或是不好,歡迎大家提供心得,我將以具名方式分享出來。



 

創作者介紹

3D Printer DIY 自製3D印表機

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


留言列表 (4)

發表留言
  • 高健民
  • 很棒很熱心 受用了
  • Thank you

    diy3dp 於 2014/04/14 20:37 回覆

  • Chi Yung
  • 你好,想問些新手的問題;目前我的i3硬體
    跟接線都組裝完成,想開始測試
    但我下載了arduino iDE and去開啟了marlin
    也用com3連結到了Mage板,也對照了
    Confuiguration.h接著打勾>上傳,就卡
    在這了,請問如何讓我的i3動起來然後能
    開始校正呢,謝謝
  • 用PC使用Repetier HOST軟體跟印表機連線 右邊有手動操作的選項 先試試看是不是動作正常 然後Z軸校正 完成後先列印方塊簡單的東西 然後量量看尺寸是否正確囉

    diy3dp 於 2014/05/13 02:36 回覆

  • PY
  • 請教一下
    我剛組好i3準備開始使用,在使用RH的手動控制時,XY軸歸零沒問題,但移動10mm 或50mm時常常會無法正常工作,好像卡卡的,有時候又可以正常移動,請問可能問題在哪?謝謝
  • 這範圍太大 組裝問題或是馬達線路 或是電流偏差太大 都可能導致如此

    diy3dp 於 2015/01/18 12:21 回覆

  • joshuawen
  • 請問您的prusa i3有試過做斷料偵測嗎?是不是需要在marlin裡面加入一些設定?
  • diy3dp 於 2017/06/27 09:09 回覆