0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣用CNC銑床制作USBtinyISP編程器

454398 ? 來源:工程師吳畏 ? 2019-08-26 11:15 ? 次閱讀

第1步:你不想變得富有!

真的!你不想購買PCB銑床。我們大多數人都沒有預算購買這樣的昂貴機器。我甚至都沒有。

那么,我如何訪問一臺機器?

簡單地說,我只是去了當地的fablab,創(chuàng)客空間或黑客空間!

就我而言,我只是去了到fablab并以便宜的價格使用機器。因此,找到像您所在地區(qū)的fablab或創(chuàng)客空間。對我來說,使用PCB銑床的價格 48¢/小時。價格可能因地區(qū)而異。

所以,就像我說你不想變得富有!

第2步:物料清單

怎樣用CNC銑床制作USBtinyISP編程器

組件清單

1 x Attiny 45/85微控制器(SOIC封裝)

2 x 499歐姆

2 x 49歐姆

2 x 1K

2 x 3.3齊納二極管

1 x 0.1mf電容器

1 x藍色LED

1 x綠色LED

1 x 2x3公頭插頭(smd)

1 x 20cm 6線帶狀電纜

2 x 2x3母頭IDC帶狀電纜過渡連接器

1x 4cm x 8cm FR4銅包層

請注意:(此項目中使用的電阻器,電容器,二極管和LED為1206封裝)

工具要求

焊臺或烙鐵(微尖)

焊接導線

鑷子(微尖)

脫焊芯

三手工具

萬用表

剝線器

煙霧抽取器(可選)

機器要求

Modela MDX20(任何PCB銑床都可以完成這項工作,但工作控制ol軟件將更改)

下載此項目的資源!

第3步:什么是PCB銑床?

PCB銑床是一臺CNC(計算機數字控制)機器,用于制造PCB原型。 PCB銑床磨掉銅包層的銅部件,制成PCB的走線和焊盤。 PCB銑床配有三軸機械機芯(X,Y,Z)。每個軸由步進電機控制,以實現精確運動。這些軸運動由計算機程序通過給出G代碼命令來控制。 Gcode廣泛使用數控編程語言,大多數機器都使用g代碼來控制機器的軸。將刀頭(通常是銑削刀頭)連接到這些軸上將銑削出PCB。

: - 我正在使用的機器是MODELA MDX20數控銑床。

Modela MDX 20 PCB銑床

Modela MDX20是PCB銑床。 Modela MDX20通常用于制造PCB,但我們也可以制作模具,蝕刻等。.. Modela可以在不同的材料上進行銑削,如膠合板,蠟,丙烯酸,不同的PCB材料,如Fr1 Fr4等。..。..模式輕量級,附帶體積小。我們甚至可以將它放在一個小桌面上。床(銑削面)安裝在Y軸上,刀頭安裝在X軸和Z軸上。這意味著床的運動由Y軸控制,刀頭的運動由X軸和刀頭控制。由Z軸控制。 Modela有自己的計算機程序。但我正在使用一個名為FABModules的Linux程序。 FABmodules與Modela通信以控制切割和銑削過程。 Fab模塊從不自動設置X,Y,Z軸,我們需要手動設置它們。

步驟4:開始使用Modela MDX20

如果我想磨制我的PCB,在這種情況下,是一個FabISP編程器。首先,我需要PCB設計布局和PCB輪廓布局。 PCB銑削是一個兩階段的過程。在第一階段,我需要銑掉PCB的走線和焊盤,在第二階段,我需要切掉PCB的輪廓。使用fab模塊,我們可以將 .png PCB設計布局轉換為G代碼。 G代碼包含銑削PCB的協調和工具路徑。 .png 圖像應為黑白組合。銑床將使用工具頭銑出白色部分,黑色部分將原樣離開。因此,跡線和焊盤應采用黑色格式。

一般規(guī)格

工作區(qū):203.2 x 152.4 mm

Z軸行程:60.5mm

主軸轉速:6500RPM

銑削鉆頭使用

銑刀位:1/64英寸(0.4 mm)鉆頭

切削鉆頭:1/32英寸(0.8 mm)鉆頭

步驟5:什么是ISP(IN-系統(tǒng) - 編程器)?

在系統(tǒng)編程器(ISP)中也稱為在線串行編程器(ICSP)是一個微控制器程序員。 ISP將從計算機USB讀取指令和命令,并通過串行外設接口(SPI)發(fā)送到微控制器。只需ISP設備允許我們使用SPI線與微控制器通信。 SPI是微控制器中的通信方式。每個連接的外圍設備和接口都通過SPI與微控制器通信。作為一個電子愛好者,當我說ISP是MISO,MOSI SCK時,首先想到的是。這三個引腳是重要的引腳。

簡單地說,ISP用于將程序刻錄到微控制器并用于與微控制器通信!

步驟6:USBTiny ISP:原理圖和PCB布局

USBTiny ISP

USBTiny ISP是一個簡單的開源USB AVR編程器和SPI接口。它成本低,易于制作,適用于avrdude,兼容AVRStudio并在Windows,Linux和MacOS X下進行測試。非常適合學生和初學者,或作為備份程序員。

此項目SMD組件中使用了所有組件。 USBTinyISP的大腦是Attiny45微控制器。

ATtiny 45微控制器

在USBTinyISP中使用的微控制器是Attiny 45. Attiny45是一款高性能,低功耗的8位AVR微控制器,運行于AtmelRISC架構(微芯片最近收購了Atmel)。 Attiny 45采用8引腳封裝。 Attiny 45有6個I/O引腳,其中3個是ADC引腳(10位ADC),另外兩個是支持PWM的數字引腳。它配備4KM閃存,256個系統(tǒng)內可編程EEPROM和256B SRAM。工作電壓約1.8V至5.5v 300mA。 Attiny 45支持通用串行接口。 SMD版和THT版都可在市場上買到。 Attiny 85是Attiny 45的更高版本,它們幾乎相同。唯一的區(qū)別在于閃存,Attiny 45有4KB閃存,Attiny 85有8KB閃存。我們可以選擇Attiny 45或Attiny 85,這不是什么大不了的事,但Attiny 45足以制作FabTinyISP。請參閱此處的官方文檔。

步驟7:設置機器

現在讓我們使用PCB銑床構建PCB。我在zip文件中包含了Trace布局和Cut布局,您可以從下面下載zip文件。

預先請求:請從此鏈接下載并安裝Fab模塊

Fabmodules only supported in Linux machines, I am using Ubuntu!

步驟1:犧牲層

首先,PCB銑床(AKA銑床)的工作板是金屬板。它堅固且構造良好。但在某些情況下,錯誤地切入深度可能會造成損壞。因此,我在銑床頂部放置一層犧牲層(放置在銑床頂部的銅包層,以避免接觸金屬板中的鉆頭)。

步驟2:固定1/62銑削工具頭中的鉆頭

放置犧牲層后,現在我需要在工具頭中固定銑削鉆頭(通常使用1/62銑削鉆頭)。我已經解釋了銑削PCB的兩階段過程。要銑削PCB的走線和焊盤,請使用1/64銑刀并使用內六角扳手將其放在刀頭上。在更改位時,總是要特別注意這些位。鉆頭的尖端是如此之薄,它有更多的機會在從我們的手中滑落時打破鉆頭,即使它是一個小的下降。為了克服這種情況,我在工具頭下面放了一小塊泡沫以防止意外跌落。

第3步:清潔銅包

我正在使用FR1銅包這個項目。 FR-1耐熱且更耐用。但銅包層會迅速氧化。 Coppers是指紋磁鐵。因此,在使用銅包層之前,即使它是新的,我建議您在銑削PCB之前和之后用PCB清潔劑或丙酮清潔PCB。我使用PCB清潔劑來清潔PCB。

步驟4:將銅包固定在銑刨墊上

清潔銅包層后,將銅包層放在上面。銑床。我借助雙面膠帶將銅包放在銑刨墊上。雙面膠帶很容易拆卸,價格便宜。我將雙面膠帶貼在犧牲層的頂部。然后將銅包放在膠帶的頂部。

步驟8:設置Fab模塊和銑削過程

步驟1:啟動機器并加載FabModules

啟動機器,然后在Linux系統(tǒng)中打開Fab模塊軟件(I通過在Linux終端中鍵入以下命令來“使用Ubuntu”。

fab

然后會彈出一個新窗口。選擇圖像(.png)作為輸入文件格式,輸出格式為Roland MDX-20 mill(rml)。之后,單擊Make_png_rml按鈕。

步驟2:加載PCB設計圖像

在新窗口的頂部選擇位你打算用。然后通過clink Load.png 按鈕加載 .png 格式。然后單擊 Make.path 按鈕以生成銑削的路徑。現在單擊 Make.rml 以生成計算機的說明和命令。新的發(fā)送按鈕將顯示在頂部,然后生成 Make.rml 按鈕。不要立即點擊按鈕。

第3步:設置X,Y& Z軸

我們還沒有完成。現在按Modela MDX20控制面板上的View按鈕。確保鉆頭牢固。再次按下查看按鈕以返回默認位置?,F在通過在所需的文本框中輸入測量值(取決于您的電路板位置)來設置X,Y位置。我建議你記下X& Y位置。如果出現問題并且你需要從頭開始,你應該需要精確的X和Y位置來繼續(xù)你的銑削過程,否則它會搞砸。

按下向下按鈕打開工具頭。當工具頭靠近銅包層時停止。然后丟失工具頭螺釘,將鉆頭向下拉一點,直到它接觸銅包層的銅層。然后再次擰緊螺絲,按下“查看”按鈕將工具頭移回原位?,F在我們都準備好了。關閉Modela的安全蓋,然后單擊“發(fā)送”按鈕。 modela將開始銑削過程。

磨削跡線和焊盤至少需要10到13分鐘。完成銑削后,我得到了很好的結果。

步驟4:切割輪廓布局

完成曲面銑削后,切出PCB輪廓布局(簡單的PCB形狀)。這個過程幾乎是一樣的。要切割布局,請將1/64位更改為工具頭中的1/32位。然后將切割布局 .png 文件加載到fab模塊,并在工具菜單中選擇切割位(1/32)。然后繼續(xù)執(zhí)行之前idid的相同過程。從床上取出完成的PCB。

步驟9:完成PCB

這是銑削加工后的PCB!

步驟10:焊接PCB上的元件

現在我有了完成的PCB。我需要做的就是焊接PCB上的元件。對我來說,這是一項有趣而輕松的任務。

在焊接方面,與SMD元件相比,通孔元件易于焊接。 SMD元件的占地面積很小。對于初學者來說,焊接有點困難。有很多機會犯錯誤,比如冷焊料錯誤的元件和最常見的東西,或者在走線和焊盤之間形成橋梁。但每個人都有自己的焊接技巧和竅門,他們是從自己的經驗中學到的。這將使這項任務變得有趣和輕松。所以請花點時間焊接組件!

這里我如何焊接!

我通常首先焊接微控制器和其他IC。然后我焊接電阻器和電容器等小部件。..。..

最后的通孔元件,電線和插頭引腳。為了焊接我的USBTinyISP,我遵循相同的步驟。為了輕松焊接SMD,首先,我將烙鐵加熱到350°C。然后在焊盤上添加一些焊劑。然后加熱我想要焊接元件的焊盤,然后在元件焊盤的單個焊盤上添加少量焊料。使用鑷子,拔出組件并放在墊上,加熱墊2-4秒。之后,焊接剩余的焊盤。如果在引腳和走線之間形成橋接或為元件提供大量焊料,則使用焊錫芯帶去除不需要的焊料。我繼續(xù)相同的步驟,直到PCB完全焊接沒有任何問題。如果出現問題,首先我使用放大鏡和萬用表仔細檢查所有具有斷裂或橋接的跡線和組件。如果我找到了,那我就糾正它了!

步驟11:制作ISP電纜

連接微控制器或其他ISP程序員閃存固件。我們需要一條帶有兩個2x3母線連接器的六線ribon ribon線。我使用4/3英尺6通道帶狀線并小心地連接兩側的母頭。為了做得好,我使用了G夾。看到圖片。

第12步:閃爍固件

現在我們可以將固件刷新到我們的ISP。為此,我們需要另一個ISP程序員。我使用了另一個USBTinyISP,但你可以使用Arduino作為ISP來完成這項任務。使用我們之前制作的ISP連接器連接兩個ISP。然后將USBinyISP(我們用于編程的那個)連接到計算機。通過在Linux終端中鍵入以下命令,確保在系統(tǒng)中檢測到ISP。

lsusb

步驟1:安裝AVR GCC工具鏈

總之,我們需要安裝工具鏈。為此,請打開Linux終端并鍵入。

sudo apt-get install avrdude gcc-avr avr-libc make

步驟2:下載并解壓縮固件

現在下載并解壓縮固件文件。你可以在這里下載。下載zip文件后,將其提取到一個可以輕松找到的好位置(以避免不必要的混淆)。

步驟3:創(chuàng)建文件

刻錄固件之前。我們需要確保為Attiny微控制器配置makefile。為此,請在任何文本編輯器中打開Makefile。然后確認MCU = Attiny45。請參見下圖。

步驟4:刷新固件

現在我們可以將固件刷新到我們的ISP。為此,我們需要另一個ISP程序員,正如我之前所說的那樣。我使用了FabTinyISP,這是我之前制作的。但您可以使用任何ISP或使用Arduino作為ISP程序員。使用我之前制作的ISP連接器連接兩個ISP。然后將FabTinyISP(我用來編程我的ISP)連接到計算機。通過在Linux終端中鍵入以下命令,確保在系統(tǒng)中檢測到Isp。

lsusb

現在我們已準備好進行閃存。在所找固件的文件夾路徑中打開終端,然后鍵入“ make”以生成 .hex 文件。這將生成一個。 hex 文件,我們需要將其刻錄到Attiny 45中。

在Linux終端中鍵入以下命令以進行閃存固件到微控制器。

make flash

步驟5:啟用Fusebit

就是我們完成了閃存固件。但我們需要激活保險絲。只需輸入 make fuse

端子即可激活內部保險絲。

現在我們需要移除跳線或禁用復位引腳。刪除跳線連接不是強制性的,我們可以禁用復位引腳。它是由你決定。我選擇禁用復位引腳。

請注意: - 如果禁用復位引腳,則復位引腳將在內部斷開。意味著在禁用復位引腳后無法再對其進行編程。

如果要禁用復位引腳,請在終端輸入以下命令。

rstdisbl

您將收到成功消息。成功上傳固件后我需要檢查USBTinyISP是否正常工作,為此需要在終端輸入命令

sudo avrdude -c usbtiny -b9600 -p t45 -v

輸入命令后,將獲得返回反饋終端窗口。

步驟13:我們完成了

現在,您可以從計算機中刪除這兩個設備,并使用現在內置的USBtiny從現在開始為微控制器編程。我正在使用這個ISP來刷新我的Arduino草圖。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 編程器
    +關注

    關注

    9

    文章

    393

    瀏覽量

    42207
  • 銑床
    +關注

    關注

    1

    文章

    34

    瀏覽量

    11439
收藏 人收藏

    評論

    相關推薦

    怎樣用THS3201實現輸出功率可調?

    怎樣用THS3201實現輸出功率可調?
    發(fā)表于 08-26 08:28

    XTW100PRO編程器驅動

    XTW100PRO編程器驅動
    發(fā)表于 08-01 14:16 ?1次下載

    cnc系統(tǒng)一般可用幾種編程語言

    CNC系統(tǒng)廣泛應用于機械制造、汽車制造、航空航天等領域。 CNC系統(tǒng)的編程語言是實現CNC系統(tǒng)控制功能的關鍵技術之一。以下是對CNC系統(tǒng)可
    的頭像 發(fā)表于 06-14 15:54 ?925次閱讀

    cnc怎么編程m99循環(huán)次數

    CNC(計算機數控)編程是一種用于控制機床自動加工零件的技術。M99是一個在數控程序中用于結束循環(huán)的指令。 引言 CNC編程是一種廣泛應用于制造業(yè)的技術,它允許機床按照預設的程序自動加
    的頭像 發(fā)表于 06-14 15:49 ?1627次閱讀

    數控銑床絕對編程和相對編程指令是

    數控銑床編程是數控加工技術中的重要組成部分,它涉及到數控銑床的控制和操作。在數控銑床編程中,絕對編程
    的頭像 發(fā)表于 06-07 11:12 ?915次閱讀

    銑床是用來進行什么加工的機床

    銑床 :操作者手動控制銑刀的移動和切削。 數控銑床CNC):通過計算機程序控制銑刀的移動和切削,實現自動化加工。 按結構形式分類 : 立式銑床 :銑刀垂直于工作臺,適用于加工平面和
    的頭像 發(fā)表于 06-07 10:41 ?1403次閱讀

    使用uVision5可以什么編程器來更新BLDC Shield?

    我很想知道使用 uVision5 可以什么編程器來更新 BLDC Shield。 我買了一個 J-LINK Mini,但發(fā)現 3.3V 與 BLDC Shield 的 5V 不兼容。 在 Shield 文檔中,使用了 J-Link Lite 設備,但我找不到在哪里可以買
    發(fā)表于 05-28 06:19

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?

    怎樣用STM8L的PB3/TIM2_TRIG的引腳測量脈寬?
    發(fā)表于 05-07 06:55

    stm32f100怎樣用重映射功能?

    的是stm32f100c8t6b芯片,現在想用將PB1映射為TIM1_CH3N,在調用GPIO_PinAFConfig(GPIOB,GPIO_PinSource1,GPIO_AF_TIM1)時, GPIO_PinAFConfig和GPIO_AF_TIM1都沒定義,stm32f100
    發(fā)表于 05-07 06:06

    PG-FP6閃存編程器發(fā)布說明

    電子發(fā)燒友網站提供《PG-FP6閃存編程器發(fā)布說明.pdf》資料免費下載
    發(fā)表于 02-19 13:49 ?5次下載
    PG-FP6閃存<b class='flag-5'>編程器</b>發(fā)布說明

    SmartBond Flash編程器工具發(fā)行說明

    電子發(fā)燒友網站提供《SmartBond Flash編程器工具發(fā)行說明.pdf》資料免費下載
    發(fā)表于 01-03 09:51 ?0次下載
    SmartBond Flash<b class='flag-5'>編程器</b>工具發(fā)行說明

    編程器件的特點和發(fā)展歷程

    編程器件(Programmable devices)是一種集成電路,可以在生產過程中通過編程改變其功能和性能。它們具有的特點和發(fā)展歷程可以追溯到20世紀60年代的早期靜態(tài)隨機存儲(SRAM
    的頭像 發(fā)表于 12-21 17:19 ?766次閱讀

    怎樣用表來判斷加熱管的好壞?

    怎樣用表來判斷加熱管的好壞? 萬表是電工常用的測量儀器,它可以用來判斷加熱管的好壞。加熱管是一種常見的加熱元件,廣泛應用于家電、機械設備和工業(yè)生產中。在選擇和使用加熱管時,我們需要了解其電阻值
    的頭像 發(fā)表于 12-20 17:21 ?4393次閱讀

    怎樣用ADAU1761設計DRC的壓縮/擴展?

    請問怎樣用ADAU1761設計DRC的壓縮/擴展。我在SigmaStudio 4.5的模塊中只找到RMS。如果ADAU1761設計DRC要怎樣
    發(fā)表于 11-28 06:41

    怎樣用32單片機測電壓?

    怎樣用32單片機測電壓
    發(fā)表于 10-31 07:09