2016年8月12日 星期五

兩個Z軸馬達搭配兩個4988驅動器

Z軸馬達共用同一個4988驅動器,總讓人不放心,所以marlin有提供解套的方法。
可以在 Configuration_adv.h 裡面找這段
紅色的雙槓刪除後可以用第二個擠出機的4988來驅動第二顆Z軸馬達。

// A single Z stepper driver is usually used to drive 2 stepper motors.
// Uncomment this define to utilize a separate stepper driver for each Z axis motor.
// Only a few motherboards support this, like RAMPS, which have dual extruder support (the 2nd, often unused, extruder driver is used
// to control the 2nd Z axis stepper motor). The pins are currently only defined for a RAMPS motherboards.
// On a RAMPS (or other 5 driver) motherboard, using this feature will limit you to using 1 extruder.
//#define Z_DUAL_STEPPER_DRIVERS

2016年5月17日 星期二

[轉載] "3D印表機滅紋神器" 原理

原文由謝公碩先生撰寫,並同意轉載於此,特此感謝!!

---------
今天看到網友分享"3D印表機滅紋神器"
加了幾個二極體,怎麼看都不瞭解作用,
為了弄懂原理,從不同論壇連結過去,最後找到初始的這篇部落格文章,
剛花了約半小時K完... 很精彩的一篇文,內容有點複雜,
為了讓這半小時的心血不要白費,省下大家的力氣 , 簡單的說明一下文章內容
說明開始~
這個作者是個龜毛且是靠電子電路吃飯的專家, 他買了一塊新的電路板來驅動3D印表機,
該板子用的是4個THB6128(更正:DRV8825,6128是V2版本)來當步進馬達的驅動器
使用的是A模式 (文中有模式 但為了簡略 以A,B,C模式稱呼)
然後他發現印表機動作很詭異,嚴重的失步,而不是普通的水波紋.
所以切換了模式B
結果發現會有噪音,看了spec和示波器後,知道此模式的噪音問題無解 (PWM 30kHz 但是peak電流模式產生sine波一定會有次諧波問題)
所以切換成模式C
使用模式C時這個老兄用示波器發現sine波型電流有異樣的凸起, 最後發現原來是因為週期為33us的PWM波的脈衝無法小於4us. (因為該IC的H橋的原因)
他用的是8V的sine波,也就是說無法輸出比1.4V還小的電壓,
所以他經過遛狗和隔天沖澡之後,想出了解決方法,
就是在輸出電路上接上2個0.7伏特偏壓的二極體(電流去回各一,共四個),去抵銷那1.4V,而我猜應該是IC有電流偵測的原因, 所以和一般的截波不同, 該結果讓該IC產生出了漂亮完整的sine電流波型
於是乎這位老兄就滿意了, 文章結束.
倒是這個做法,完全是因為這老兄想要在C模式有美麗的sine波型以及解決噪音問題, 原始文章和水波紋完全沒有關聯.
用的也不是A4988 (不過原理應該類似,也有PWM和不同模式)
至於最後怎麼演變成"除紋神器" 這個說詞
到底是有另一番故事, 還是網路謠言, 就有待研究了.
應該是只要馬達沒有失步, 且機械結構夠好,應該就不會有水波紋,
我目前覺得正弦波是否夠漂亮跟馬達是否有失步感覺上沒有很大的關聯性,感覺上只要時間對和電流夠就可以, 不過這點要其他專精電機的人來確認了.
----------

參考資料

2016年2月15日 星期一

PID值調整步驟原則 & "Thermal Runaway" 的問題


PID值的調整,相信讓許多人吃足了苦頭。花很多時間看懂其原理,但在實際操作時卻又覺得不是那麼一回事。調整PID值,可以參考這圖片的調整過程。

一開始I、D值都歸零,只調整P值。P值太小,會達不到目標溫度;P值太大,會衝過頭太多。合適的P值,溫度會震盪,但應該會慢慢穩定下來。

在P值選定後,再考慮增加I值。I值的作用是要消除穩態誤差,理論上不會加快溫度穩定下來的速度,也不會減小震盪的幅度(其實是會加大震盪幅度)。I值太大,是會讓PID系統震盪的,只要沒有太大的穩態誤差,I值應該要盡量小,讓控制系統比較穩定。

最後再調整D值。D值會讓震盪的狀況減輕,但是過大的D值會讓系統難以達到目標溫度。


最近遇到有兩位網友在詢問 "Thermal Runaway" 的問題。如上圖,雖然溫度有控制在目標附近,但可以看到左下兩條綠色的"輸出功率"直方圖,都有"功率全開,瞬間又全關"的現象。這應該是屬於PID值不適合的問題。過大的P/I值,讓溫度稍微偏低,輸出功率就爆衝100%全開;待溫度稍微超過目標,輸出功率又坐雲霄飛車掉到零。遇到這種狀況,可能須要考慮重新調整PID值,或是用 Marlin 裡的 PID Autotune,做自動調校。