3Dprinter控制技術分析探討
魂溷 2014-9-9 07:02:40
本帖最後由 魂溷 於 2014-9-9 10:11 編輯
作者:黃子帆
前言
本來不想這麼頻繁的發帖,前幾天剛發佈了關於切片引擎的簡單介紹,效果還不錯在科創論壇搞3D打印的人比較少的,居然不到十天有1000+的瀏覽量是不錯了。
暑假幹活太多,包括總結3D打印機的控制技術,對marlin固件進行研究高度概括總結了500多頁的ppt。按照一個同學說的如果要講課夠講一學期了。但是發帖很麻煩費時間,發高質量的貼更麻煩。所以只是抽時間,昨天中秋節在家閒着也是閒着就寫了一篇啊。希望大家不懂的可以學會,水平高的方家可以指正錯誤,大家一同進步,不要搞得老是我進步了。
簡介
我們做設計的追求的最高理想就是設計出能夠自動設計機器的機器,能夠製造出自動製造機器的機器。機牀被譽爲機器之母使我們向能夠製造機器的機器邁出了巨大的一步,但是對於自我複製,自己製造自己,快速成型技術彌補了這個缺陷。自從3D打印技術的發明以來,進行過很多自我複製的實驗做得最好的無疑是reprap。是reprap讓3D打印機由幾萬十幾萬美元,變成現在的一千至幾千美元。是許多DIY愛好者能夠做一些強度不大的非標準件。
2005年,RepRap項目在英國巴斯大學由機械工程高級講師Adrian Bowyer博士創建。(這可是3D打印技術歷史上的大事,各位同學想想自己當時在幹嘛)。
它具有一定程度的自我複製能力,能夠打印出大部分其自身的(塑料)組件。(部分自己製造自己)。
第一代的reprap Darwin
Reprap製造的第一個部件,用來製造一個Reprap。
右邊機器所有的塑料部件,都是被左邊機器生產的。
這原型機從軟件到硬件各種數據都是免費和開源的,都在自由軟件協議GNU通用公共許可證GPL之下發布
現在的reprap家族
原理
打印原理 :熔融沉積式(fused deposition modeling,FDM)
3D打印機工作流程
3D打印控制器
這是RAMPS1.4很常用很簡單的盾板,接口也比較多,在SLA也可以用但是要燒錄α固件,做SLS也可以,X軸接X軸 Y軸接Y軸 E1 E2接活塞。
機械軸
直角座標型:XYZ軸成互爲直角樣子的,XY軸通常是由同步帶接步進電機來定位的,Z軸則是由絲桿控制的。
三角爪型:其數學原理是跟直角座標型一樣,用笛卡爾座標系原理的。只是將XY軸通過三角函數來映射到三個爪的位置上。
固件
Grbl
Sprinter
Marlin
Repetier-Firmware
Smoothie
軟件架構
G Code 解譯
將G Code轉換成3D Printer的內部控制命令
EX :
G01 X10 Y15.5 F2000
M109 S180
加熱到180度才執行下一行G Code
G Code Interpretation on Sprinter/Marlin
Source Code
字符串解析
G Code, M Code, other…
軌跡規劃
溫度設定
系統參數的設定
delta結構軌跡
梯形加減速控制
使用步進電機時,通常會以梯形加減速或是 S 型加減速
Marlin 是使用梯形加減速
路徑軌跡初速度設定
步進電機控制軌跡
直線軌跡的規則
圓弧軌跡的規則
軌跡的梯形加減速規則
軌跡預覽 (look ahead)
對兩條軌跡連接處的規則
在Plan motion lib尋找
部分代碼,詳細可以到marlin固件尋找。
undefined
將planner的連續軌跡,轉化成步進電機所需的離散脈波
關於直線插補圓弧插補這是marlin固件中的內容,要寫在這篇貼中,就有點沒有抓住主要矛盾了。
利用Timer ISR來控制脈波的寬度(頻率)
用硬件的GPIO產生High & Low
溫度控制
控制週期約爲16mS
PID控制圖像
代碼