“Tom Nixon 打造了一臺簡易的 CNC 雕刻機,用于制造簡單的 PCB。”
我制造了一臺用于制作 PCB 等物品的微型 CNC 雕刻機。它的工作行程為 106 x 104 x 20 毫米,占用的空間約為 300 x 250 x 200 毫米。
它可用于制作帶有 0.5 毫米引腳間距元件的 FR4 電路板,并且能夠切割鋁材。

這里是兩個電路板示例,以及在亞克力和鋁材上進行的實驗:

為什么要做?
我曾在一次直播中看到 Scanlime 使用 Bantam Tools 的桌面銑床制作電路板。那看起來太方便了,擁有一臺類似設備的想法從此在我腦海中揮之不去。
當然,從大多數指標來看,CNC 銑削客觀上是獲取電路板最糟糕的方式。
PCB 打樣服務更便宜,能力更強,也更方便。但另一方面,我發現等待時間長(比如一周 vs 一小時)、每次都需要付費以及按板子面積付費這些因素,常常讓我拖延并花費大量時間來完善和檢查設計。
蝕刻無疑更便宜,并且可以獲得更高的質量,但需要處理危險的化學品(在鋪著地毯的出租公寓里不太理想……),它是一個單一用途的過程,并且也需要相當多的設備。在某些方面,它的能力更差,因為雕刻機可以很自然地制作出漂亮的電路板外形、安裝孔和開槽。在某些方面,制作雙面板也比使用蝕刻更容易。
雕刻機主要替代對象是在面包板上手工手工焊接原型項目:使用面包板的過程非常痛苦,總是比我預期的要花費更長的時間,而且結果常常不盡人意,稍不注意就會接錯線,而修復錯誤又很麻煩。在如今所有元件都是表面貼裝、所有信號都是高頻的世界里,面包板原型的性能也并不理想。
我在業余 CNC 社區里潛水了一段時間,想要參與其中。我沒有空間放置大型的二手設備,所以小型的全新設備就成了我的選擇。
設計標準
我大致的設計目標是:
-
工作區域:至少 100 x 100 毫米。
-
工作高度:足夠容納電路板、工件夾具和墊板,約 15 毫米。
-
刀具:能夠使用標準的 38.1 x 3.175 毫米刀具,并有足夠的行程在工件上方更換刀具。
-
性能(運動系統剛性、最大作用力、背隙和分辨率;主軸轉速、功率和跳動等)需足以滿足:
-
FR4 絕緣雕刻(高轉速,X 和 Y 軸分辨率 0.1 毫米,Z軸分辨率 0.01 毫米)
-
在合理的時間內完成 FR4 板材的切割
-
如果能切割鋁材就更好了
-
-
體積和重量:足夠小和輕,以便在不使用時可以輕松移動和存放。
我四處尋找市售的成品機器,發現的所有機器都太大、太貴,不符合我想要的功能。舊款的 Bantam Tools 銑床看起來很合適,但他們已經停產了,而且就其本身而言價格昂貴。
我也花了一段時間研究現有的設計。大多數通用機器都太大了。“The Ant” 看起來比較接近。制作出的電路板看起來不錯,但有些方面似乎不如我希望的那樣堅固。我也不太愿意在一個專有設計的基礎上進行構建:設計源文件不可用,只有輸出文件。
運動系統設計
這是標注了術語和軸名稱的機器:

這是一臺由 2020 鋁型材構建的龍門式機器。X 軸和 Z 軸使用單根 MGN12H 線性導軌和滑塊,而 Y 軸使用兩根。X 軸和 Y 軸由同步帶驅動,這些同步帶由 NEMA17 0.9 度步進電機直接驅動。Z 軸使用絲杠和消隙螺母,由一個小型 NEMA14 步進電機驅動。
按照傳統標準,這聽起來相當脆弱,與3D打印機幾乎沒有區別,但實際上它的剛性足以滿足上述標準。
其基本原理如下:
-
整個機器非常小,例如龍門在支撐之間的長度僅為 205 毫米。由于梁在三點加載下的撓度與其長度的立方成正比,這帶來了巨大的差異——將 X 軸加長 50 毫米,框架的剛性大約會減半。這也使得同步帶變短,從而有所幫助。
-
運動系統的設計使得切削力盡可能靠近導軌產生,以最大限度地減少扭矩。X 軸導軌承受的扭矩最大,但距離典型的刀具位置也只有 50 毫米。
-
未經測量,X 軸導軌是升級的一個好選擇——最簡單的方案是將龍門更換為20 x 40 毫米的型材,并使用兩條 MGN9 導軌,每條帶兩個滑塊,它們更小但可以并排放置。
-
X 軸和 Y 軸選擇同步帶驅動是因為它們便宜、緊湊、簡單且固有零背隙。為了使其具有剛性,我使用了大型步進電機、10 毫米的 GT2 同步帶、16齒 的小同步輪以及高皮帶張力。
-
步進電機的保持扭矩為46 N.cm,使用16齒同步輪時可達90 N。
-
選擇0.9度步進電機(而不是普通的1.8度)是因為在相同保持扭矩下,步數多一倍的步進電機剛性也高一倍。這是因為步進電機的扭矩相對于軸角度是正弦變化的,周期由步長定義。分辨率的提高也很好(0.08毫米,或使用16x微步時為0.005毫米)。
-
-
使用帶集成絲杠的步進電機可能復雜度相似,但價格昂貴且規格常常不明確。
-
在 Z 軸上使用絲杠可以在需要的地方提供更高的分辨率,減輕滑架的重量,并在電機斷電時保持Z軸位置。在我關心的應用場景中,Z軸上的力主要是一個方向(向上),所以消隙裝置可以弱一些。
運動系統中有一些3D打印的零件。
皮帶夾是打印的,并且足夠長,剛性不是問題(盡管帶齒的部分應該更換為鋁制的):

張緊輪/張緊器也是打印的:

這種奇特的設計是為了在小空間內處理高張力。左右兩部分都用一個螺絲安裝在框架上,它們之間有兩個螺絲連接。右側塊中的螺絲用于張緊皮帶,而左側塊中的螺絲用于使其與框架平行(在張緊皮帶時會松開)。盡管張力很高,但蠕變現象并未成為問題。
Z軸
Z 軸上的消隙螺母也是打印的:

我本打算使用市售的螺母,但很難找到一個能裝進這個空間的。最后,買一個tap 然后自己做了一個。它工作得還不錯,但肯定需要重新設計:柔性結構的設計雖然巧妙,但在實踐中完全沒有必要,彈簧力僅由塑料的彈性提供,而且底部的安裝螺絲完全被擋住,需要拆卸才能接觸到。
Z軸電機座/推力軸承也很有“趣”。它內部看起來是這樣的:

聯軸器將電機軸與絲杠連接起來。它是一種柔性的“梁”式聯軸器,在安裝時被拉伸,以張緊整個裝置并消除背隙(絲杠上的軸環將軸承推入支架底部)。
這很奇怪,但比我能找到的任何傳統絲杠軸承布置都更緊湊,而且是用我已有的零件組裝的。主要問題是不恰當地使用了球軸承;它很快將被一個角接觸軸承取代。
主軸
當前的主軸迭代是圍繞一個 ER8 夾頭“延長桿”構建的,這其實就是一個末端帶有夾頭的8毫米軸,通常用于在真實銑床中,在難以觸及的地方使用小刀具。主軸由一個無刷外轉子電機驅動,通過一個在鼓形輪上運行的平皮帶傳動:

主軸在兩個角接觸軸承上運行,這兩個軸承安裝在一個 3D 打印的塊中。該塊直接用螺絲固定在 Z 軸線性導軌的滑塊上。它被分成兩部分,因此軸承基本上是通過安裝螺栓夾緊在滑塊上的,使其具有相當的剛性。
軸承由一個彈簧和一個 3D 打印的軸環預緊。使用了一個剛度較低的彈簧,因為 PLA 的熱膨脹系數很高,如果彈簧剛度太高會導致問題。3D 打印的軸環不是一個好主意,很快就會被替換。
傳動帶只是一個反向使用的 6 毫米 GT2 同步帶,雖然能用,但我想找到一個更好的解決方案。主要問題是皮帶對于鼓形輪來說太寬了,所以循跡調整很棘手。
電機座也需要重新設計。下一個版本將把電機座和絲杠螺母集成到主軸塊中。
電子部分
整臺機器由一塊 Ender 3 3D 打印機的主板控制。它基本夠用,只是慢速的微控制器限制了控制軟件的選擇。

我做了一些修改,使其在此應用中工作得更好。
-
更換了限位開關輸入端的濾波器——最初它們有一個連接到 VCC 的 10k 電阻和一個連接到地的 9.2uF 電容。對于短接到地的限位開關,這基本上就是一個微型點焊機。難怪它們會損壞限位開關。
-
我還短接了 X 軸和 Y 軸上的 ROSC 電阻,以關閉 A4988 步進驅動器上的自動模式選擇功能,該功能似乎與這些步進電機配合得不好。
主軸電機由一個隨機在 ebay 上買的無刷電調(ESC)驅動。主要問題是,這個所謂的速度控制器盡管名字叫“速度控制器”,但實際上并不控制速度。電機速度與控制板發出的脈沖寬度沒有直接關系,也沒有速度反饋,所以目前我只能在 G 代碼中用任意的 PWM 單位設置速度,然后祈禱一切順利。
我希望在下一次迭代中加入一個主軸速度傳感器,這樣控制器就可以閉環控制并檢測失速或皮帶問題。
軟件
控制器運行的是 uCNC,它有很多功能,并且仍然可以在舊的微控制器上運行。相比 GRBL,我真正需要的唯一功能是能夠在一個軸上使用兩個電機(即使這個問題也可以通過硬件解決)。我遇到了一些bug,但開發者非常活躍,問題很快就得到了修復。
我使用 bCNC 向控制器發送 G 代碼。花了一段時間才找到這個軟件,它似乎是一個隱藏的寶藏。我遇到了一些小問題,但沒有致命的(而且如果使用 GRBL,有些問題可能根本不會出現)。由于它是一個簡單的 python/tk 項目,這些問題很容易解決。
我正在使用它的高度圖(height-mapping),發現它比 uCNC 內置的更方便,因為可以很容易地從加載的 G 代碼中設置區域,并且有一個很好的結果可視化。
它的手動換刀支持也很好——你可以讓它暫停作業,移動到指定的換刀位置,然后進行探測以設置刀具長度偏移或工件坐標系零點。
在主軸上使用攝像頭的功能很有趣,雖然也很繁瑣。一旦校準,它就可以用來找到特征的位置,以便設置零點位置,甚至校正旋轉。理論上,這為制作雙面電路板提供了一個很好的工作流程,通過絕緣雕刻和鉆孔第一面,然后使用鉆好的孔來對齊第二面。
實際上,第二面的對齊不需要那么精確,所以其他方法可能也足夠好,而且不那么麻煩。我唯一一次嘗試這個方法時,忘記了按那個實際校正旋轉的按鈕,結果也還不錯。
為了將 KiCad 的輸出轉換為 G 代碼,我使用了 pcb2gcode。它易于使用且效果很好,只是當前版本中有一個 bug,有時會導致移動路徑切斷走線,雖然很容易解決,但如果你沒發現就會很煩人。
我并不總是對它生成的刀路感到滿意,但這并非 pcb2gcode 的錯。在盡可能精確地再現設計和生成最優刀路之間存在固有的矛盾。例如,它會花時間將散熱焊盤的角落修成方形,這是不必要的,但這是它被告知要做的,而有時修方角是必要的。
我想嘗試制作自己的 G 代碼生成器,只是為了更好地理解這個問題,但這顯然是一個巨大的時間坑。
一個更好的控制器?
雖然這一切都能工作,但還可以更好。控制器和發送器之間的分離對我來說意義不大。它們是不同的項目,由不同的人編寫,使用混合的未指定協議和 G 代碼的隨機子集,這一點顯而易見。
當發送器發送一長串不間斷的 G 代碼時(就像在3D打印機中那樣),這種安排還行,但一旦有了用戶參與其中的操作(比如手動換刀),雙方就需要真正地相互理解。它大部分時間能工作,但感覺很別扭,而且非常容易出 bug。
我認為相比之下,有一些項目在這方面做得很好:
-
在Klipper中,一個服務器應用程序解釋 G 代碼以產生步進/方向信號,這些信號被壓縮并通過串口發送到一個微控制器,其唯一(或幾乎唯一)的工作就是產生步進/方向信號并報告其狀態。用戶界面通過一個定義良好的 API 與服務器通信。
-
這意味著只有一個 G 代碼解釋器,它不在微控制器上運行(因此不必為足夠快的運行速度而優化),甚至不需要實時運行,因為步進/方向命令可以被排隊。
-
為了實現探測,服務器告訴微控制器組件在 GPIO 狀態改變時停止。
-
不幸的是,它非常針對打印機,并且缺少 CNC 所需的許多功能。繁重的步進壓縮也只是為了在通過慢速鏈接連接的慢速微控制器上工作而需要的,而如今這兩者都是不必要的限制。
-
-
在LinuxCNC中,一個服務器每秒產生1000次一組電機位置。這些位置要么在軟件中轉換為步進/方向信號(用于老式的并口操作),要么通過將這些位置發送到某個硬件接口來實現。
-
這與Klipper類似,但服務器是實時運行的——這對于在 CNC 車床上實現螺紋加工等操作是必需的,但在這個應用中感覺多余。要簡單地添加一個緩沖區并不容易,因為探測是在服務器中實現的。這意味著有兩個不太理想的選擇:
-
-
在我的普通電腦上運行實時服務器(這臺電腦同時還運行著KiCad/FreeCAD、一個網頁瀏覽器、無數個 xterm 等——不是一個理想的實時環境),通過以太網或 USB 連接到機器上的某個控制板。
-
在連接到機器的嵌入式計算機上運行實時服務器,并通過 X11-over-SSH或使用 LinuxCNC 的客戶端/服務器模式來運行 GUI。這可能是明智的選擇,只是對我來說聽起來不太有趣。
刀具
對于FR4,到目前為止我只使用了 ebay 上特價的雕刻刀、銑刀和鉆頭。令人驚訝的是,所有這些實際上都是碳化鎢(根據密度判斷),但我只推薦鉆頭。銑刀到貨時就有缺口并且很鈍,而雕刻刀的幾何形狀基本上是隨機的:10 支中只有幾支能用。
對于鋁和塑料,我一直在使用 aliexpress上 “DREANIQUE” 店鋪的單刃立銑刀,看起來不錯。
對于工件夾持,我主要使用一些 3D 打印的壓板,用螺絲固定在底板的 M3 螺紋孔中。這效果很好,只是在絕緣雕刻一塊10 x 10厘米的電路板時,中心有足夠的彈性,需要更深的絕緣雕刻才能正常工作。一個解決方法是在中心加一些襯墊,讓高度圖來補償。
成果
FR4 電路板
這是我做的第一件東西,只是為了測試一下。它是一個反射式紅外傳感器的放大器:

我做的最復雜的東西是這塊用于 tidybot 的板子,帶有一個 ESP32-C6、一個用于供電/編程的USB端口、一個浪涌電流限制電路、兩個電機驅動器以及一些其他零碎的東西。

這是雙面板,過孔由黃銅鉚釘支持。背面主要是接地層。
這塊板的絕緣雕刻和外形切割各花了大約 10 分鐘。照看切割過程相當不愉快,因為我目前是手動添加肥皂水以防止玻璃纖維粉塵進入空氣。如果使用吸塵裝置和更快的速度(目前僅為100毫米/分鐘,下刀深度0.45毫米),也許是可行的。
不過,我對這類東西更感興趣,這是一個原型 DC-DC 電源,只是為了在另一個項目中驗證它而構建的(上面布滿了電線、助焊劑、氧化層和絨毛):

布局是隨手做的,沒有太在意,忽略了任何難以布線的走線,事后用漆包線補上。絕緣雕刻花了6分鐘,沒有切割或鉆孔步驟,整個過程快速而簡單。
關鍵部分的布線(例如這些 DC-DC 轉換器的接地和電源走線)比在面包板上使用 SMD 轉接板所能輕松實現的要好得多。
亞克力
在亞克力上鉆 4 毫米的孔和開 3 毫米的槽,使用 2 毫米單刃立銑刀切割。

這些是在 1100 毫米/分鐘的速度和 20000 RPM 的轉速下切割的,每齒進給量約為 0.05 毫米。左邊兩個的下刀深度為 0.75 毫米,右邊為 1 毫米。兩者看起來都不錯,但排屑開始成為問題,并且可以看到一些重復切削的痕跡。
孔使用了單程螺旋路徑(100%寬度),而槽使用了帶有斜坡進刀修飾的偏置路徑,這讓它聽起來更順暢。
鋁材
在神秘的鋁型材上切割一個 5 毫米寬、2 毫米深的 pocket 和一個 2 毫米的槽,使用 2 毫米單刃立銑刀。

這些是在 500 毫米/分鐘的速度和 20000 RPM 的轉速下切割的,每齒進給量約為 0.025 毫米,下刀深度為 0.2毫米。
pocket 使用了自適應清角和 0.1 毫米的全深度全速精加工,這太多了——可以看到一些顫振的痕跡。
經過一些調整,它可能可以跑得更快一些。
成本
不包括電子部分的大致成本明細可能如下所示:
-
3 x 步進電機,2x 直角支架,扁平支架,聯軸器:43英鎊 + 26英鎊運費 =70英鎊
-
3 x 708C-P5 角接觸球軸承:16英鎊
-
3 x 150毫米 MGN12H 導軌,1x 100毫米 MGN12H 導軌,1x 2毫米導程 T8 絲杠:45英鎊
-
2 米 10毫米 GT2同步帶,3x 5毫米 20T 10毫米惰輪,3x 5毫米 16T 10毫米同步輪:36英鎊
-
C8-ER8A-100L 夾頭,ER8-3.175mm 夾心:11英鎊
-
2 米 2020 鋁型材:15英鎊 + 9英鎊運費 =24英鎊
-
L2210A-1650 電機,20A 電調:約25英鎊
-
5 毫米鋁板用于床身,6 毫米用于滑架:約20英鎊
-
TR8 x 2 絲錐:21英鎊
-
雜項硬件:30英鎊
總計約300英鎊。在可能的情況下,我使用了 Voron 采購指南來尋找零件。
結論
一方面,這個項目的結果永遠無法證明其成本,這主要是我花在上面的時間。
另一方面,我想造一臺 CNC 機器,結果令人滿意,過程也很有趣。我對一些非傳統的設計決策冒了險,這些決策似乎得到了回報,因為機器達到或超過了我開始項目時的期望。
我已經計劃好了一些升級和使用這臺機器的項目;未來將繼續更新。
本文轉載自:https://www.tomn.co.uk/posts/2025/May/08/pcb_cnc/
,經過翻譯及校對
-
pcb
+關注
關注
4368文章
23489瀏覽量
409656 -
DIY
+關注
關注
176文章
894瀏覽量
353212 -
CNC
+關注
關注
8文章
374瀏覽量
37122 -
雕刻機
+關注
關注
3文章
56瀏覽量
15185
發布評論請先 登錄
《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第17期:2025.06.23--2025.06.27
RTL8720芯片WIFI模組在雕刻機中的應用

激光雕刻技術在雕刻密封件的工藝優勢

激光雕刻技術在雕刻密封環的工藝應用

使用CY3014USB芯片組制作了一臺相機,視頻顯示延遲怎么解決?
挑選桌面級PCB雕刻機,讓創意與實用并存!

【DIY】用EWM201系列無線音頻模塊制作對講機

ARMxy嵌入式計算機:雕刻機自動化的新標準

全自動雕刻機:馬達驅動芯片MS3142S的應用案例
SycoTec牙齒雕刻機電主軸:精雕細琢,成就完美義齒

評論