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. java之旅_高级教程_java泛型

    摘自:http://www.runoob.com/java/java-generics.html JAVA泛型 java泛型(generics)是JDK5中引入的新特性,泛型提供了编译时类型安全检测机 ...

  2. pacakge-info.java

    翻看以前的笔记,看到一个特殊的java文件:pacakge-info.java,虽然有记录,但是不全,就尝试着追踪一下该问题, 分享一下流水账式的结果. 首先,它不能随便被创建.在Eclipse中, ...

  3. Examples of GoF Design Patterns in Java's core libraries

    设计模式分类 stackOverflow Structural(结构模式) Adapter:把一个接口或是类变成另外一种. java.util.Arrays#asList() javax.swing. ...

  4. dxRatingControl使用

    Properties AllowHover:是否鼠标滑动选择 CheckedGlyph:选中后显示的图像 Glyph:显示的图像 HoverGlyph:鼠标滑动时显示的图像 ItemCount:项目总 ...

  5. HTTP response 添加body

    在拦截器中进行拦截操作时,想要给response添加body,如何操作? /** * 返回JSON数据 * @param response * @param obj * @throws Excepti ...

  6. entry.define编程思路

    0.lua将文字传给场景脚本. 1.场景脚本将pattern.define文件中的PAT当作子弹(水泡弹,带颜色) 2.用户的问题作为客户端的请求,发送给服务器端 3.服务器端接受客户端的问题请求 4 ...

  7. model browser 不出现时

    1:当 创建 component 时, 创建完成后,没有出现model browser, 这时需要在model上面添加一个model,然后保存退出,重新进入,就会出现model browser

  8. php循环方法实现先序、中序、后序遍历二叉树

    二叉树是每个节点最多有两个子树的树结构.通常子树被称作“左子树”(left subtree)和“右子树”(right subtree). <?php class Node { public $v ...

  9. Tx.Origin 用作身份验证

    Solidity 中有一个全局变量,tx.origin,它遍历整个调用栈并返回最初发送调用(或交易)的帐户的地址.在智能合约中使用此变量进行身份验证会使合约容易受到类似网络钓鱼的攻击. 有关进一步阅读 ...

  10. Java创建文件夹

    import java.io.File; public class Mkdirs { public static void main(String[] args) { /** *创建文件夹,如果路径不 ...