顯示具有 CNC 標籤的文章。 顯示所有文章
顯示具有 CNC 標籤的文章。 顯示所有文章

2015年6月19日 星期五

土砲 CNC 雕刻機完成驗收

本實驗室的土砲 CNC 雕刻機終於完成驗收, 確認工作正常


這裡記下最後幾步的修正

2015年3月24日 星期二

土砲 CNC:G code 轉換軟體

接續前篇:土砲 CNC:控制界面軟體

本實驗室在使用 pycam 以後感到十分困擾, 於是就自己拼了一個 G code 轉換器
如同 pycam 一樣, 其功能是輸入模型, 輸入參數, 然後我這軟體會分析
最後做出一組 G code 讓機器能切出和模型一樣外型的實體出來
做了以後終於了解這個問題有多機車XD
經過許多的妥協終於完工, 耗時兩個月半
當看到 "妥協" 兩字就要知道和 CNC 的機構一樣, 絕對不是完美的, 都是有漏洞的XD
做過這軟體以後對於 CAD 類軟體收取高額費用就比較能接受
不過我還是不會買, 要買也是公司去買, 不干我的事!XD
所以如同前面自製 CNC 機器, 如果你期望我這自製軟體能有商業軟體等級的轉換能力
我會建議你放棄吧, 乖乖去 Windows 上用商業軟體 (不管如何取得!XD)
這軟體適合給堅持蹲在 Linux 系統上開發的用戶, 以及對於 G code 轉換器有興趣的用戶
一般用戶請迴避, 感謝XD

2014年12月24日 星期三

土砲 CNC:控制界面軟體

接續前篇:土砲 CNC:控制器和韌體 (Grbl)
韌體裝好了, 接著就可以連線測試了
arduino 上有兩顆 AVR, 一顆面對 USB 的被刷成 USB serial
現行版本的 ubuntu 看到這裝置會產生 ttyACM 節點, 用 minicom 打開就可以通訊
手動輸入 G code 機器就會動, 挺容易的, 不過通常我們不會想這樣操作
一行一行輸入喔臥槽! 這樣不行吧
總要有個 UI 吧! 這裡有個現成的:

Grbl Controller 3.0

看起來好像能用, 不過我沒測, 因為我做完了才發現有這種軟體XD
如果上面那軟體看了喜歡就跳過這篇文章吧XD
我知道還有 Linux CNC 這種東西, 也把它裝起來看過, 發現它實在太肥大了
而且它的硬體抽象層 EMC 是個 Parallel Port 控制軟體
簡單說就是把 Grbl 做的事在電腦上重寫, 它的算法可能更好但我不需要
我們的土砲用那樣太複雜了, 土砲就應該簡單!XD 所以沒有採用

土砲 CNC:控制器和韌體 (Grbl)

接續前篇:土砲 CNC:電機部份
我們把馬達和電磨機裝好後, 接著就要控制它們了
由於原先 3D 印表機的主板有問題所以決定上網重買
找來找去都沒看到順眼的, 後來不知道哪天心血來潮換了個關鍵詞搜尋
結果找到這:

Arduino CNC Shield!真是屌爆了!(?)XD
真是佩服老外吃飽撐著時的娛樂XD 居然連這種都做 kit 出來
在大量生產的優勢下上圖這堆全部加起來只收一張小朋友
控制器, 馬達控制 IC, 與電腦的連線, 統統都準備好了
本來想說找不到順眼的就自己開板子, 看來不需要了
雖然是用 Arduino 但這不代表就一定要用 Arduino IDE
慣用 C 語言 (簡稱慣C) 是本實驗室的規矩, 上圖右拉出來的線就是燒錄器界面
USB 只當 USB Serial 使用

2014年12月23日 星期二

2014年12月22日 星期一

CNC DIY! 自製土砲 CNC 雕刻機

本實驗室為了製作一些較堅固的客製化製品因此開了這個計畫
3D 印表機固然不錯, 但是所選用的材料仍無法適應某些應用
尤其需要鑽孔攻牙的, 需要小體積但高強度的
3D 列印的多層結構若沒有良好的黏合, 將會從各層間解體
尤其列印面積大時, 溫度差更容易產生這種現象
而 CNC 雕刻機總是從一開始就結構完整的物體去切削
結構設計妥當的話是相當堅固的, 可用的材質也非常多樣化
低溫強固的 HDPE, 化學特性優良又耐高溫的鐵氟龍 (貴!)
機體結構夠穩的話還可以切金屬, 應用範圍更廣
不過這機器可不好搞, 切割時是靠快速轉動銑刀來進行切削
這會產生極大的噪音以及振動, 機體結構需要能應付這些衝擊
可是預算不是無上限, 我們沒法無止盡的強化結構來解決問題
因此一些妥協是必須的, 我的機器會在加工時因為振動而產生誤差
故稱作 "土砲 CNC 雕刻機", 它還是能用, 只是有點不準XD
如果你期望自己做的機器可以超越商業產品, 那我會建議你忽略這篇文章
或許有人可以做到, 但我做不到XD

2014年11月16日 星期日

實作 Bresenham 直線演算法

這次要玩的是比較軟體一點的東西:Bresenham's line algorithm
Wiki 上的中文翻譯是 "布雷森漢姆直線演算法"
這原本是圖學在用的, 在研究 3D 印表機的韌體時注意到註解裡有寫這
才發現原來它也可以拿去用在機械控制上
對於 3D 印表機來說這是非常重要的核心程式
準確的一邊走一邊擠出適量的料, 這機器絕大多數的工作時間都是在做這
而實現這動作的程式就是布雷森漢姆直線演算法
我所拿到的印表機韌體在這裡寫了非常多的程式, 就為了能讓它安分的走直線
所以我把它研究了一下, 然後重新寫成自己的版本給新玩具使用
這演算法的精神在 wiki 上已經寫得很詳細了, 都是中文字
我不認為有必要再重複, 所以只紀錄應用時的小修正

2014年8月8日 星期五

用 A4988 控制步進馬達

為了做一些工具所以研究了一下 3D 印表機的步進馬達部份
以前寫過一篇 透過 L297 / L298 控制四線式步進馬達
這兩顆 IC 一顆是產生時序, 另一顆則是 H 橋
兩個合起來就可以讓 MCU 可以只用 clock 便可讓步進馬達依照 clock 速度旋轉
而現在 3D 印表機上的步進馬達控制 IC 則是把上面兩顆的功能全都做進一顆小小的 IC 裡

上圖兩黑色散熱片下面的 IC 是 A4988, 3D 印表機常用的步進馬達控制 IC, 晶片面積非常小
控制方式一樣是只要把 clock 信號送進 step 接腳, Enable 腳拉低, 馬達就會轉
而且還加了一個厲害的功能:Microstepping
這些技術的介紹在英文版的 wiki 上有, 中文版的 wiki 沒有完全翻譯