Marlin 擠出頭溫度控制PID值校正

擠出頭加熱器、溫度感應器安裝好後,先別急著直接指定工作溫度並且加熱。因為控制板上的溫度控制PID參數尚未校正。如果加熱速度過快,有可能會加熱過度並且導致零件燒毀。
Marlin 有提供 PID 參數自動校正的功能 (PID Autotune)
加熱器、溫度感應器線路接妥後,執行G-code "M303 C8 S175" (自動調整PID參數,溫度震盪8次後停止,目標溫度175度。)。
若收到錯誤訊息"PID Autotune failed! Temperature too high",代表初始測試條件會讓溫度超出目標溫度20度。這時候需要修正韌體中的PID_MAX(加熱頭最高電流上限)。請修改Configuration.h中的PID_MAX(譬如改為原本的一半),然後重新燒錄韌體後,再回到上個步驟做 "M303 C8 S175"。如果重複測試後溫度上不去,請提高PID_MAX。如果溫度還是衝過頭,請繼續降低PID_MAX。
待收到 "PID Autotune finished! Put the Kp, Ki and Kd constants into Configuration.h" 的訊息,請用測試過程中最後一輪的 Kp, Ki and Kd 值,替換掉 Configuration.h 中的 DEFAULT_Kp, DEFAULT_Ki 和 DEFAULT_Kd。之後重新燒錄韌體,完成擠出頭溫度控制校正。

感謝Jacky Yen提供圖片
編按:自動測出來的PID,依我的經驗,仍然會有衝過頭的現象。我是有把P值稍微再調低一點。

張貼者: 陳亮宇下午3:19

以電子郵件傳送這篇文章BlogThis!分享至 Twitter分享至 Facebook分享到 Pinterest

4 則留言:

黃小軍2014年5月12日 上午7:58

這些值跟加熱上的溫度有關係嗎?!因為我現在加熱床(10K)用這些偵測出來的數值,我每次都加熱約55度,會讓RAMP 1.4產生一種類似機板燒掉的味道,但不至於當機,好像是 上面兩片黃色的方形電子元件產生的,我是不是要降低這些數值!?有幫助嗎!?

回覆

回覆

陳亮宇2014年5月26日 下午5:20

RAMPS 1.4發出燒掉的味道!? 應該是你的熱床或是熱床線路有問題吧!?我不覺的修改PID參數對你的問題有幫助。

TomYY2014年5月30日 上午10:36

ramps 配熱床建議加個 relay (中文叫繼電器?)
有朋友試過因熱床電流太大燒掉 ramps 了..

回覆

佑任陳2015年1月11日 上午12:56

你好
請問一般正常狀態下,從室溫加熱到180度大約要多久的時間?

回覆

Marlin 擠出頭溫度控制PID值校正的更多相关文章

  1. Marlin 溫度感應器 數值轉換對應表

    Marlin 溫度感應器 數值轉換對應表   (2014/03/27)Update: 自己實測了這個自動產生的對應表,結果測得的溫度與實際值仍有相當大的誤差.看來還是要回頭用測量的方式來校正溫度... ...

  2. 擠出線寬(Extrusion width),要怎麼設定?

    擠出線寬(Extrusion width),要怎麼設定? Slic3r的作者,把這邊的%設定,跟"層高"做連結.我個人認為擠出線寬,要以噴頭孔徑當做設定參考才好.層高應該只要設定成 ...

  3. Marlin 溫度 sensor 校正

    Marlin 溫度 sensor 校正 使用 Type-K 溫度計 將探針綑綁在加熱頭側面 開啟Marlin-Marlin_v1\Marlin\thermistortables.h 要修改的溫度對應表 ...

  4. 擠出機步進馬達的 Steps per Unit 該如何計算?

    擠出機步進馬達的 Steps per Unit 該如何計算?   這邊 Steps per Unit 指的是塑料往前推進1mm,步進馬達須要走幾步.依此定義,可知計算方式可以用 步進馬達轉一圈需要的步 ...

  5. 華氏溫度轉化為攝氏溫度的簡單JavaScript代碼

    今天,跟著W3School學到了"JavaScript函數",代碼都挺簡單的,在運算符調用函數的地方寫了一個小程序.原碼程序是這樣的: <!DOCTYPE html> ...

  6. C. Om Nom and Candies 巧妙优化枚举,将复杂度控制在10e6

    C. Om Nom and Candies 无线超大背包问题 #include <iostream> #include <cstdio> #include <cstrin ...

  7. 手動設定 電池溫度 mtk platform

    adb root adb shell echo "3 1 27" > ./proc/mtk_battery_cmd/battery_cmd 27 即是所要設定的溫度, 此設定 ...

  8. 測試 電池溫度的 batch file

    無限迴圈, 執行讀取 電池溫度, @echo off adb root :loop echo %date% %time% adb shell "cat /sys/class/power_su ...

  9. Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)

    var  ExeName:PChar;  StartupInfo:TStartupInfo;  ProcessInfo:TProcessInformation;begin  FillChar(Proc ...

随机推荐

  1. elasticsearch更新doc文档

    在elasticsearch-head中: http://localhost:9200/my_index/products/2/ _update { "script" : { &q ...

  2. java kafka 生产者消费者demo

    一.修改kafka   server.porperties的ip是你本机的ip listeners=PLAINTEXT://192.168.111.130:9092 二.生产者的例子 import o ...

  3. kubernetes的应用数据持久化

    1.无状态应用与有状态应用 应用的有状态和无状态是根据应用是否有持久化保存数据的需求而言的,即持久化保存数据的应用为有状态的应用,反之则为无状态的应用.常见的系统往往是有状态的应用,比如对于微博和微信 ...

  4. svn 修改文件的可执行权限

    设置svn可执行权限,svn:executable 1)svn propset svn:executable on 文件名/文件夹名 2)svn propset svn:executable on t ...

  5. golang 死锁

    golang中for{}会引起程序死锁 如: main(){ go func(){fmt.Println("dfkdsf")} for{ } } 程序运行一会会停止 按照下面的写法 ...

  6. C++取出string的一部分以及int型转成string类型

    在实际应用中,对文件的操作是十分频繁的,我们需要对文件进行拷贝,重命名等操作,这是就需要获取文件的绝对路径,一般情况下,该路径是以字符串的形式存储的,如果我们需要对文件进行重命名等,就需要对绝对路径这 ...

  7. 10.7-uC/OS-III内部任务(定时器任务 OS_TmrTask())

    {这节所说的定时器都是软件定时器} 1.uC/OS-III为用户提供了定时器任务,相应代码在OS_TMR.C中.定时器任务是可选的,通过将OS_CFG.H中的OS_CFG_TMR_EN设置为1使能.当 ...

  8. 29-2-电容触摸屏控制芯片GT911

    1.接口说明 GT9 非单层多点系列(以下简称 GT9 系列) 与主机接口共有 6 PIN,分别为: VDD. GND. SCL.SDA. INT. RESET. 主控的 INT 口线需具有上升沿或下 ...

  9. Vue通过build打包后 打开index.html页面是空白的

    最近在build打包vue项目遇到了几个问题,如下: 1.npm run build打包项目之后,我们通常是把dist文件里面被压缩后的static文件跟index.html提交到服务器,但最近发现直 ...

  10. bat删除过期文件(FORFILES)

    关键词:bat删除过期文件,bat,FORFILES 原文:https://blog.csdn.net/sandy9919/article/details/82932460 --最佳实践 :: IIS ...