• #maker+t=market
  • COSPLAY 3D 建模
  • 3D列印服務
  • 1
  • 2
  • 3

ATOM 3D Printer Group 造訪社團 » 程式

原文網址 Charlie Ting
2015-10-16 12:48:39

[進度緩慢]

漸漸摸熟這支雷雕程式的架構,卻也面臨選擇。

因為我發現它是拿 printrun 來改的,而原始程式的邏輯是以 gcode 為基礎設計的。所以造成在雷雕方面,它只能單純的作雷射的開、關和行程速度的控制。

若要作到更精細的控制,像是功率或 PWM 脈衝,就要改寫整個 gcode 的處理程序。

再者,按照程式的架構來看,應該是可以直接支援多種圖檔格式。因為在 png 部份它主要也只是讀檔(也可寫檔)然後存成設好的資料結構而已。

所以,目前最麻煩的,是要不要把處理的概念從 gcode base 改為 image base 或者能自動切換。就雷雕的角度來看,gcode base 並不是那麼理想。因為如果要能預先載入材料照片,再疊上想雕的圖片一起去作分析修正的話,走 gcode 模式就是走入死胡同。

俞威名
2015-10-16 13:09:58

github上有相關Source 你可以上去參考看看別人的寫法

Benny Wong
2015-10-16 17:13:23


原文網址 Charlie Ting
2015-10-12 21:39:44

[自己的印章自己刻]

今天出門辦事,臨時需要印章,就刻了一個25塊的印章。

這種印章是不會拿來長期使用的,所以就拿來試雷射雕刻。

果然材料密度和含油量是有差的。這木頭的質地密實,用大功率打的深度也是有限。雖然我是用2000mm/min在跑。

另外,原廠程式似乎在加減速部份會影響跑每個點的時間?不過這點還得再驗證才知道了。

現在比較想先加的功能是列印定位點的功能,因為 ATOM 2.0 是極座標結構,在定位上先在就比直角座標要不便些。

這時候程式若不能先依圖案列印定位點,光是擺放材料就得搞半天。

所以這功能列為首要目標。

辜元志
2015-10-12 21:45:04

用軟料直接印出章面,效果不知道會不會更好?


原文網址 李穆
2015-10-12 01:58:19

[有關Marlin程式碼的問題請教各位高手]
官方版2.0.2韌體
在Configuration.h頁籤下第100~111行間:

// Effective X/Y positions of the three vertical towers.
# define SIN_60 0.8660254037844386
#define COS_60 0.5
#define DELTA_TOWER1_X -SIN_60*DELTA_RADIUS // front left tower
#define DELTA_TOWER1_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER2_X SIN_60*DELTA_RADIUS // front right tower
#define DELTA_TOWER2_Y -COS_60*DELTA_RADIUS
#define DELTA_TOWER3_X 0.0 // back middle tower
#define DELTA_TOWER3_Y DELTA_RADIUS

// Diagonal rod squared
#define DELTA_DIAGONAL_ROD_2 pow(DELTA_DIAGONAL_ROD,2)

問題1:
為何要透過定義SIN_60與COS_60的值來執行後續的delta轉換,而非直接使用語法庫裡的sin()與cos()函數來執行呢?這樣如果有角度誤差要修正不是很麻煩嗎?

問題2:
既然有sq()函數可以直接作平方計算,為何還特地使用pow()後指定2次方參數,這樣有畫蛇添足的感覺,是有什麼程式撰寫上的實務考量嗎?

因為小弟實在是程式外行,想要修改程式碼來校正誤差,但是又怕改的不好造成Bug,想來請教一下論壇上有程式實務經驗的前輩,希望能夠幫我解惑一下。

MoMo Yang
2015-10-12 03:08:19

問題1: define是預處理, 所以在編譯前就做掉了, 效率會高於呼叫sin()及cos()
問題2: sq() 是Android定義的, 不是標準C語言的函式, 所以可能作者不知道有這個定義, 也有可能是為了提高移植性, 也有可能是作者心情好

MoMo Yang
2015-10-12 03:14:33

另外若要取得0.8660254037844386可以透過以下兩個方式
sqrt(3.0)/2
sin(60*3.1415926/180)
很顯然用define效率高很多

Roy Lo
2015-10-12 03:14:39

如果 sq(x) 的結果和 pow(x,2)一樣的話,用那一個都可以吧,不過我查了 sq() 的定義,參數是任意的數字型別,而 pow() 的參數型別為 float, 也許作者有其他的考量~也可能只是寫程式的習慣

Roy Lo
2015-10-12 03:15:35

同意 +1

Rickey Yang
2015-10-12 08:04:18

我也覺得是效率考量
尤其控制的東西多了
又要減少各被控件與感測件的作動時間差
減少計算函式引入差很多

戴士偉
2015-10-12 08:16:19

計算速度問題, 這樣簡化都已經不夠快了~ XD

汪之逸
2015-10-12 10:40:39

官方Marlin用sq不是用pow, 避免某些compiler的差異...

李穆
2015-10-12 11:50:46

懂了,感謝您的解答!


原文網址 Danny Kuo
2015-10-11 23:28:42

求助~
安裝雷射硬體 韌體 軟體皆完成

開啟官方的測試檔 gcode 卻不知如何讓他跑gcode的程式!!

Charlie Ting
2015-10-11 23:34:11

丟SD裡去跑啊


原文網址 Charlie Ting
2015-10-10 23:22:29

[軟料地獄週 - 完結篇]

先講結論,我想我找到可以完全解決軟料在 ATOM 2.0 這類遠端進料系統的先天因素及實際列印時的風險管理模組了。

這部份將會著手進行開發,只能跟大家說明概念,就是洩壓閥的模式。

再來說明一下實測後,影響軟料運作的最主要關鍵因素,同好們若要嚐試時,可以多留意這些點,應該會有效提高成功率和作品品質。

1. 要有壓力概念。軟料從馬達到管線到噴嘴到列印面,這整個過程會形成一個壓力流線,這個壓力流的重要因素在於馬達的轉向、噴嘴的出口流速及加熱區線。而影響的底線是線材的強度,一旦超過底線,線材變形扭曲,就掛了。

2. 測得的速度上限 40mm/s,但就風險來看,loop 大概可以到 60mm/s 以上。infill 大概 40mm/s 左右;sparse infill 大概到 30mm/s。不過 sparse infill 要看寬度設定,如果是 0.4mm,那影響不大;若是大於 0.4mm,那就要特別留意,隨時會掛。(因為壓力)

3. 測得的最佳溫度 210度。這個溫度出來的料,透過光線會看到一絲銀色光芒,然後隨即轉白,最後呈現類似矽膠的涼透質感。再低的話,會影響列印速度,太高的話會有氣泡。

4. 如果要快速列印,建議更換電源。當我用 40mm/s 在列印時,發現噴嘴溫度區間變大,LCD 選單甚至進不去,推測是跑的速度太快,陶瓷加熱片的功率跟不上,所以210的溫度一度掉到 190,然後又升到220,而這段時間 LCD 是無效的。顯然程式的優先權放在溫度控制的部份了。

5. 軟料的列印概念,其實可以完全不當一回事,按 PLA 的概念直接設定列印。但要留意幾個會造成噴嘴壓力上升的部份,a. 是打底過程,這點要從 G29 Z+xx 去微調,建議可以找一個軟料用的合適高度,會讓你打底時省事很多;b. sparse infill width > 0.4mm,當打開 sparse infill 且寬度大於 0.4mm 後,代表馬達會提供多餘的料來擠出寬度,這就很容易卡料。另外,因為太薄的翹曲問題一樣只能靠角度和溫度去避免,這部份建議自行改gcode,或者換能分區設定的切圖程式處理。

結論,軟料在使用上的問題不大,但成功率的調校和過程的穩定性是重點。而 ATOM 2.0 採用的遠端進料機構,是可以透過外掛的模組讓它變成跟近端進料一樣,讓使用者完全感覺不出它的差異。而這樣的外掛不只 TPE 適合,對 PLA / ABS 一樣有效。

至於軟Q的材料翹曲問題屬於材料特性,基本上無解。只能用影響最小的方式來因應。

以上跟大家分享。暫時不會再印軟料了,換來設計模組囉。


原文網址 Charlie Ting
2015-10-08 11:52:30

[TPEE 軟料心得及作品圖]

感謝官方提供新調配的軟料給我測試,讓我發現許多原本用 PLA / ABS 時不曾細思的問題,以及思考因應之道。

本來想講些比較理論的東西,但是好像要放連假了,還是讓心情放輕鬆些好了。

1. 減料供應。按照原本用 PLA 的切圖程式設定,在換到軟料時,可能要考慮下修 Flow Tweak,我是減到0.85~0.9左右。原因有可能是膨脹係數不同,造成噴嘴內部的壓力上升,可能造成擠料輪卡料。

2. 供料檢查。在列印之初(Brim)時,要經常按壓擠料輪的加壓臂,若有線材彈回,代表供料過多,有卡料風險。最好中止,然後修正 Flow Tweak。

3. 溫度。目前測試漸漸從240降到220,會再以每次5度的方式往下修。關鍵在於融料流出後的氣泡量在240的狀態下偏多,會降低成品外觀。220的狀態下已經少很多。

4. 固定。目前證明軟料是可以靠 3M 2090 膠帶牢牢固定的,但有前提就是你的 brim 要印得夠大、夠密,這樣它會變成一個吸盤。另外,為了避免平面度造成 brim 厚薄不一,所以我把 board roughness 設為 0.1。如附圖所示,整尊人偶是牢牢吸附住的,硬要用手拔下來還拔不動。但用刀子把brim輕鬆翻開後,徒手就取下了。而在撥除 brim 的過程中發現整個 brim 像是矽膠膜一樣很軟Q,但不透氣,所以要相當用力才能撥下。

5. 厚度。軟料基本上沒有什麼厚度限制,但是麻煩的地方在於過薄的區域很容易翹曲或在列印過程中受拉力影響而變形。因此,建議厚度是0.2mm或以上。以軟料的材質特性 0.2mm 厚度的品質大約與 PLA 0.1~0.15mm 層厚的相當。相反的,當軟料層厚 0.1mm 甚至更低時,因為拉力造成的變形,往往使品質變得更差。所以不要一昧追求細膩的切層。

6. 回抽。這款軟料是能回抽的,目前開到 5/5/0/50 左右。但有刻意將觸發頻率下降,只在比較重大的位移時回抽。有回抽當然有改善,但目前還無法作到不牽絲。這跟為了加速冷卻而將風扇全出力也有相關。所以暫時無解。

7. 接料。這陣子用軟料,常常發生線材擠在擠料輪那裡造成變形。這時線材是推不進去的,但抽出後往往會浪費一大段材料。原本我打算丟棄的,但實在太多了。最後選擇把它接起來用。結果還算滿意。
只要把二條線頭一起用打火機的藍火處烤融了,然後把兩端壓實接起(要盡量對準),再用美工刀把接合處突起的材料切掉,就很緊實了。

等等換來挑戰摩艾了~~~

Odinson Thor
2015-10-08 12:03:32

摩艾讚 (欸 XD

Wei-Chun Chang
2015-10-08 12:13:29

看完這篇,很早買的軟料..終於可以派上用場了......這果然是經驗法則..!

林祐德
2015-10-08 13:01:46

遠端軟料要注意好多眉角。辛苦了

Kevin Chen
2015-10-08 13:31:12

我剛好完成了簡單的回抽參數實驗,晚點和大家分享:)

Kevin Chen
2015-10-08 16:16:19

Charlie大提到的減料供應其實很棒的方法,這是兼顧列印速度卻又不卡料的兩全方案,不過不知道能不能說服一般消費者(把流量降低?那是什麼?),另一方面對於在乎尺寸和層厚的人,流量降低不知道能不能接受。Moai的下巴也是我接下來的目標,因為平常大都印一些很無聊的測試用檔案...反而對造型品的列印不熟

李穆
2015-10-08 17:02:45

除了降低流量以外,也可以考慮用回抽大於預擠的設定,同樣有定時釋放壓力的作用

Kevin Chen
2015-10-08 18:12:03

對喔,不過起始點好像會因此有供料不足的隙縫產生

林祐德
2015-10-08 18:15:29

唉~~~ 目前沒有一個料廠有提供印出來的樣品+切片參數+適用硬體~~~ 誰會突破這個僵局製造另一優勢呢~~~

賴威銘
2015-10-09 01:02:34

我還是希望原料商能像CNC刀具商一樣提供開發出來的原料的建議溫度.回抽預擠值出來~~~不要只是開發出來就丟句因為每人印的東西不一樣,所以數據自己抓.....至少也給個平均數據出來讓大家參考做微調...........

Charlie Ting
2015-10-09 01:08:19

我倒是覺得線材商要搜集一套測試用的物件,然後每種料都用這些物件印過一輪,然後把數據提供給使用者參考。
算是標準的QC程序。


原文網址 Charlie Ting
2015-10-04 05:19:18

[摩艾失敗的收穫]

原本以為找到理想的控制參數,讓輸出變穩定後就睡著了。結果睡到一半被奇怪的聲音吵起來,發現摩艾印壞了。

不過雖然是失敗了,仍然可以從物件中得到許多經驗。

1. 雖然在下巴處印壞了,但其他地方依然正常輸出,代表這樣的供料狀況是相當穩定的,而且無視印壞之後的壓力變化。這表示這個參數在列印軟料的容錯空間增大了。

2. 輸出的表面品質可以跟 PLA 完全一致,0.1mm 沒有問題,甚至覺得可以挑戰 0.05mm 的層厚。

3. 這尊的散熱是捉70%含導板,代表還有上修的空間,有機會解決下巴翹曲的問題。

4. 疙瘩主要發生在路徑超出物件外層的地方,而且非連續。這部份可以考慮換不同的切片程式因應。讓移動路徑盡量維持在物件內部。

5. 吸附力依然不足,在印到50%左右,下方的吸附面積己經只剩3公分直徑的圓形範圍,代表底層翹曲己經很明顯了。有可能需要考慮熱床,或其他吸附力更好的作法。增加brim 寬度及厚度也可以考慮。即使翹曲,也可以在脫落之前,先用藍色膠帶把brim 貼在平台上作為固定。只要位置沒跑掉,一樣可以印完。

6. infill 的溢料極多,突顯沒作 de-string 的影響。以軟料的物理特性來說,de-string 不是沒用,但產生效果的時間長,因此抽的距離可以頂多1~2mm。速度也不宜太快,太頻繁。還是要以避免擠料輪堵塞為優先。

7. 軟料雖軟,但厚度大於1mm 之後,只要散熱得宜,仍有相當的強度。因此,小距離的 wipe 應該是可以的。另外,infill 的比例也不用太高。

結論,使用軟料,我會以穩定的進料控制會最優先考量,測出理想的供料速度後,再依它的容錯空間和物件複雜度去設定參數,然後正式列印。

另外,會考慮在brim 之後就全程全出力降溫,以較佳的強度和穩定的收縮量來達到一致的輸出。避免因為尺寸的差異或結構造成列印風險。

最後,因為材料因素,對於細長或比例差異大的物件,除非能貼在玻璃上印,不然成功率應該是很低,可以不用浪費心力嚐試了。

倒是在換料的過程中發現軟料和 PLA有一定程度的接合力,這表示以後用雙噴頭時有機會合併材料使用。但是兩者的輸出邏輯大不同,在切片程式和機台韌體中都必須有相對應的設計才能完美結合。這部份應該還要一段時日吧。

柯紀維
2015-10-04 08:22:25

意外總是發生在沒有盯著機器的時後阿...
我印比較容易翹曲的物件的時後,還是會換底板塗一下口紅膠
就算是路徑的外邊界向外擴張時發生翹曲的時後,物件也比較不容易被噴頭撞掉
比藍色膠帶穩很多,不知道對軟料的底面翹曲問題有沒有幫助

Charlie Ting
2015-10-04 11:41:14

就目前的測試,軟料在藍色膠帶的附著力似乎沒有玻璃+口紅膠好. 現階段覺得最好的固定方式是加大brim, 然後等 brim 印好後, 上方再用藍色膠帶補貼固定, 這樣是否翹曲都不會脫落了.

Kevin Chen
2015-10-04 13:39:22

Charlie大的測試分析都超詳細的,這隻軟料和藍色膠帶幾乎沒有黏著性可言,所以我大都建議使用玻璃+口紅膠再開brim,尤其有infill的狀況下材料向內收緊的力道很大,destring到也可以放心的開,其實我之前沿用prime/suck=6mm和60mm/s的回抽參數用了很久,這支材料沒有那麼怕回抽,除非短時間內超高頻率的回抽才會造成磨損


原文網址 陳賢能
2015-10-03 00:22:50

請問線上高手們,為什麼我的電腦抓不到板子
無法更新程式

Clarence Lee
2015-10-03 00:29:31

陳賢能
2015-10-03 00:30:10

謝謝您


原文網址 Charlie Ting
2015-09-29 11:24:10

[忙完了]

好像有一陣子都比較少在分享和研究新東西,因為之前主機出狀況,一些東西要改寫,所以必須趕在年底旺季之前完成。

不然年底一忙,報稅又有時間限制,動輒一二百位美眉們的年度收入,整理起來會很嚇人~~~所以,趁最近有空,趕快把程式寫一寫,把資料對一對。

回到正題,最近其實都在看大家的問題,和釐清自己的想法和體驗。

有幾個小想法該來陸續執行了:

1. 配線重整
主要是作一個擴充板把主板上的 IO 埠接出來,然後再接到各個模組上。這樣的好處很多,就不一一說明了。
2. 加裝搖桿
3. 改裝電源
4. 模組固定座
5. 擋風罩

想想,好像事情還蠻多的.....XD

Rickey Yang
2015-09-29 12:07:58

想把舊的ipad拿來改成搖桿的轉盤

Clarence Lee
2015-09-29 14:33:58

那顆我有在想;p
不過可能比較適合Menu旋轉而已...

曾俊維
2015-09-29 15:51:38

加搖桿有什麼主要的功能嗎?

Rickey Yang
2015-09-29 15:57:08

控制平台移動

Charlie Ting
2015-09-29 19:28:29

搖桿的應用在雷射模組上的用處較大,然後也是未來作為其他模組加工用的前置作業操控使用。

因為現在的 ATOM 和 3D 印表機都是以單向輸出的概念來作,比較缺少雙方互動的可能性,但這其實產生很多麻煩。

最簡單的作法是在產生 gcode 時改用相對座標輸出,然後使用時可以用原始起點,也可以改成自設的起點,這時的一些不便就會解開了。

而現階段的 3D 印表機似乎比較傾向用控制軟體來操作,而非機上操作。這點,也會需要一些突破。


原文網址 Charlie Ting
2015-09-25 09:47:04

[Next step?]

這二天研究了一下官方的 burner 程式, 其實主要是從 printrun 發展來的, 裡面有不少其他東西的內容.

然後也試著把自己畫的那個介面跟機器串起來, 然後傳指令給 ATOM.

目前主要兩個問題:

1. 自己弄的這個, 暫時是走 web-based 模式, 是能夠傳指令控制機器, 但畢竟是 stateless 的架構, 很多事不方便作. 最終不論是 py2exe 或 php2exe , 都是要封裝起來才行.

2. 這個問題比較麻煩, 究竟要用 php 寫, 還是臨時學一下 python, 把有需要的地方改一改, 其他跳過. 很兩難. 因為 python 在很多硬體上的應用性似乎有後起之秀的感覺. 比 C 跟 Java 要簡潔許多. 相較之下, php 還是偏重在 web.

3. 在思考這個工具程式的同時, 我也在想 IoT 和 Maker 風潮的事. 這些工具讓人們有機會作更多創意發想. 它是架構在 Open source 的軟硬體才能讓大家易於接觸. 但是似乎在程式、經驗、材料、作品的部份, 就越來越封閉. 然後有點閉門造車的感覺.

這是我想搞控制程式的原因之一. 因為從程式的設置和成果中可以找到很多可行的操作模式, 這些模式會有合適的參數和材料搭配, 累積起來之後, 以後只要選好材料和成功的參數, 套入自己的圖案或設計, 就能作出東西. 而不是辛辛苦苦搞好圖案後, 還得試個半天.

這樣的經驗加乘好像能創造更有影響力的機制?
不過事情越來越多了, 只能先挑重點試試.

MoMo Yang
2015-09-25 10:07:07

問題1 可以用Session來存, 也可以用Url參數來傳遞

Mickey Chuang
2015-09-25 10:15:20

可以推薦試試 Raspberry Pi + QT 來做, 我在 RPI2 上玩 QT 一陣子了, 不錯用