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,做自動調校。

2015年4月29日 星期三

SketchUp修改STL檔案的前置作業

STL檔,是以三角型為基礎,拼接出整個3D模型;因為以三角型為基礎,所以原本的四邊形、圓型或是其他的多邊形,都被強迫分割成一堆三角型組合在一起。因此,STL檔就算被讀入SketchUp,也因為線條混亂而變得難以修改。這題也是經常在討論板上被提起,但幾週之前我自己也沒有比較好的辦法。直到發現了 "FixIt 101" 這個Plug-in,才變得有可能可以把下載來的STL,整理得乾淨些。這樣也許就會比較容易修改計有的STL檔案了。以下用Prusa_i3_X_End_Motor.stl當作例子。

開始之前,請先自行安裝兩個Plug-in,還有MeshLab這個軟體。



到 http://www.thingiverse.com/thing:39889/#files 下載 Prusa_i3_X_End_Motor.stl

由於"su2stl" 這個Plug-In只支援文字模式的STL檔案,所以這邊先利用MeshLab來轉換二進位的STL檔案到文字模式的STL。

點選 File -> Import Mesh 來載入 Prusa_i3_X_End_Motor.stl

LeshLab詢問是否要偵測重複的線條。這邊直接點選OK就可以。

載入檔案後可以看到模型的預覽圖。不過沒有要在這邊修改模型,只是要另存成文字模式的STL。

點選 "File -> Export Mesh As..." 另存模型檔。

檔案格式當然要挑選 " *.stl "

下一個步驟裡面,要記取消勾選 "Binary encoding" ,這樣就會存成文字格式的STL檔。

接下來開啟 SketchUp,點選 "外掛程式 -> Import STL file",然後選取剛才轉存的文字格式STL檔案。

長度單位,一般都選 "Millimeters (mm)"。

載入的過程,會有進度秀在SketchUp的左下角。

載入完成後,SU2STL會有一個結果報告。這個檔案總共有1958個三角形組成,沒有失敗或是空的目標物出現。

載入之後的Prusa_i3_X_End_Motor,可以看到這個模型,真的都是一堆三角型組合出來的。這麼多線條,會讓模型的修改變得很棘手。接下來準備去除這些多餘的線條。

在模型任何位置連點滑鼠左鍵三下,把整個模型都選取起來。

再來點滑鼠右鍵,選用今天的主角 "FixIt 101"。

然後FixIt 101就辛勤得把模型上,多餘的線、面刪除。

乾淨的模型就出現啦~
終於可以開始動手修改了。

等等,有破面!!

順手拉一條線,把破面補起來。

同樣再呼叫 FixIt 101,修補破面的線條,也依靠它來去除。這樣這個模型就整理完畢了~

乾乾淨淨的模型檔,要修改起來就比較輕鬆了!學會這招,就不用瞪著人家設計的模型,卻無從下手修改。

SketchUp原生的功能實在是不夠用,有很多問題沒辦法處理。PlugIn雖然很多,但是到底有哪些功能,該怎麼用,也是需要很多時間去摸索。


後續:

馬上有神人陳昱廷老師分享了另一個專門處理類似問題的Plug-In
CleanUp³
有興趣的朋友可以趕快研究一下~~

Adrian Sung又介紹了另外兩款專門修補模型的軟體:Geomagic studio 跟 Materialise Magics

2015年4月13日 星期一

Visualizer 渲染器 教學



Visualizer for SketchUp 是一套用來在SketchUp中做即時渲染的軟體。設計師可以透過這套軟體,很方便又即時得看到自己的設計作品,用相當自然的光線、材質渲染出逼真的相片。不必等待相當長的渲染運算時間,就可以馬上看到渲染的效果,不滿意立刻修改,加快開發速度。更棒的是,自2015/3/15之後,Visualizer開放任何人免費使用!! Windows版以及Mac版本都有。



按鈕介紹





最上層鎖定

在調整鏡頭角度時,把Visualizer視窗鎖定在最上層,可以很方便得預覽鏡頭取景的結果。如果不希望Visualizer的視窗一直檔在畫面上,可以取消鎖定在最上層的功能。





設定影像大小

Visualizer的視窗大小,就是渲染後影像的大小。第一個按鈕是將Visualizer視窗比例,調整得跟SketchUp預覽室窗的比例相同。接下來三個帶有星號的按鈕,是三個使用者自定大小的快捷按鈕。第四個按鈕是設定自定大小用的。











可以直接輸入畫面寬高的數字(pixels)














(以下這些按鈕,都顧名思義。為了避免富堅病又發作,我就不再多介紹了... )

重新開始渲染



加強材質渲染






雜點過濾器








消除斑點







選擇影像品質
照相
鎖定相機
開啟相片資料夾
設定相片格式
景深控制
對焦點以及曝光採樣點控制


趕快動手玩玩看

繪製場景

開啟 3D Warehouse 去取得玩具車的模型

搜尋 Toy Model-T Car ,並且下載下來當作這篇示範的主角。

並且直接匯入SketchUp中。

下載

放置模型到工作空間中

在模型周圍畫三面牆,當做拍照的背景。
順手把那個不要的Makerbot工作區域樣本刪除。

背景加上磚牆的材質。
開啟"顏料桶",選擇"瀝青和混凝土 -> 混凝土_塊_擋土_灰色"這個材質。

塗到兩面牆壁上。
看起來磚塊的size太大了,需要調整。

點選"編輯"標籤。
原本的"紋理"大小為609.6mm。

經過幾次調整後,覺得改成"50mm"可以獲得比較合理的專塊大小。

牆面看起來像這樣子,

接下來選擇"混凝土_標記_方石",並且塗在地面上。

一樣需要修改紋理的大小,這邊設定成"100mm",看起來會比較理想。

地板鋪面看起來像這樣。

Visualizer 啟動!!

接下來就可以啟動 Visualizer 了!!
直接點選Visualizer的啟動按鈕,或是在"延伸程式 -> Visualizer -> Start Visualizer" 啟動它。


黑色時尚風格的操作介面 ShowUp!!

很快得,什麼設定都不用做,Visualizer 就開始產生渲染結果。

Visualizer 會不停得改善渲染結果,時間等越久,畫面的精細程度就會越來越精美。
左下角時鐘符號可以點選,會跳出選單,有三種精細程度可以選擇。不過這三個選項只是用來提醒"目前精細程度已經到達的水準"。到達時只會發出提醒,並不會停止渲染的計算。如果不關閉Visualizer,他就會一直算一直算,算到CPU燒掉為止(我還沒看過他停下來)。

歐,這張圖重複了。(to do : 刪除這張圖)

Visualizer會估計還要多少時間才會達到應有的精細程度,這些估計值會不停得變動,參考就好。

對焦、曝光、景深

接下來可以試著拉動右下角的"景深控制",讓對焦點附近的影像清楚,焦點外的部分模糊。這樣可以讓畫面中的主角更加搶眼。
開啟景深功能後,畫面中會出現"對焦點選擇器",拖移它,可以選擇要對焦的地方。
(如果對景深的形成原理有興趣,可以參考這篇"景深的迷思"。這篇算是我在網路上發表的第一篇教學呢,呵呵~)

對焦跟曝光的位置也可以分開設定。點集AF跟AE中間的鎖鍊符號,可以解開對焦跟曝光兩個游標的鎖定功能,這樣就可以分開選擇對焦跟曝光的位置了。


對焦在車頭燈上,但是曝光以引擎箱正面為準。

渲染圖解析度設定

選擇解析度設定最下面的按鈕,開啟自訂解析度功能。

可以直接輸入畫面寬高的數字(pixels)。
寬跟高隻間的鎖鍊符號,代表長寬比要固定,改寬度,高度會依比例跟著調整。點一下鎖鍊符號可以解開限制。
Save as Favorie 1~3可以指定解析度快速按鈕所要設定的解析度。

光線、陰影

接下來我們試著調整太陽光照射的角度。

開啟SketchUp中的"陰影工具列。

案工具列的第一個按鈕,可以調整陰影的參數。第二個按鈕可以啟動或關閉陰影(SketchUp中的陰影預覽可以關閉,但是Visualizer內渲染出來的陰影是不會被關閉的。)

調整陰影工具列上的時間跟日期,可以改變太陽照射的角度跟顏色(夕陽會有點黃黃的)。

調整到另一個角度,陰影的方向也跟著變化。

材質反光設定

Visualizer利用材料裡頭的"不透明度"來判斷材質是否帶有光澤。我們來試著讓地板的紅磚上帶有反光的效果。
回到材料視窗,選擇剛剛塗在地上的"混凝土_標記_方石",並且把不透明度設定成90%。


待Visualizer渲染後,地板上就出現鏡面反射的效果了!!

再另外點選"材質加強"的按鈕,Visualizer會依照材質貼圖的紋路,做出比較逼真的反射影像,而不是單純用鏡面的方式映射出倒影。

鏡面反射或是依材質反光,各有優缺點,就看大家各自喜歡怎麼設定囉~

雜訊、雜點、高品質渲染

開啟"材質加強"功能,關閉"雜訊過濾"以及"雜點抑制"功能,待渲染品質達到"預覽"等級時的渲染結果,暗處得雜點相當明顯。關閉景深的功能,所以整個畫面都是清楚不模糊的。

增加一點點景深效果,到達"預覽"等級時,可以看到陰影處有雜點,沒對到焦的模糊區域,也有相當多的雜訊。

"雜點抑制"功能開到最強,看起來暗處得雜點有獲得改善。

單獨開啟"雜訊過濾",不過看起來好像還是有雜訊。也許再多給它一些時間做渲染,雜訊會有所改善吧。

最後,把雜訊過濾跟雜點抑制都開到最強,並且等待渲染品質超過第三個等級之後,畫面上不管是雜訊或是雜點都消除得相當乾淨了!!看來想要獲得很好的渲染品質,需要相當多的CPU Power跟時間阿。

很簡單,沒幾個設定就玩完了

Visualizer用起來真的相當簡單又方便,產生出來的渲染圖品質也令人滿意,真是相見恨晚。可惜燈光只能用太陽光,不能自己另外設定多盞燈泡,就少了攝影棚打燈效過的玩法了。而且開發團隊不繼續發展這套軟體,所以也不用期待會有新的功能出現了。不過不再收費,讓大家免錢使用,也算是相當大方的了!

期待看到大家用Visualizer渲染出來的作品~

https://www.getvisualizer.com/
https://www.facebook.com/getvisualizer