怎样用CNC铣床制作USBtinyISP编程器

电子说

1.2w人已加入

描述

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

真的!你不想购买PCB铣床。我们大多数人都没有预算购买这样的昂贵机器。我甚至都没有。

那么,我如何访问一台机器?

简单地说,我只是去了当地的fablab,创客空间或黑客空间!

就我而言,我只是去了到fablab并以便宜的价格使用机器。因此,找到像您所在地区的fablab或创客空间。对我来说,使用PCB铣床的价格 48¢/小时。价格可能因地区而异。

所以,就像我说你不想变得富有!

第2步:物料清单

铣床

铣床

铣床

组件清单

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 图像应为黑白组合。铣床将使用工具头铣出白色部分,黑色部分将原样离开。因此,迹线和焊盘应采用黑色格式。

一般规格

工作区:203.2 x 152.4 mm

Z轴行程:60.5mm

主轴转速:6500RPM

铣削钻头使用

铣刀位:1/64英寸(0.4 mm)钻头

切削钻头:1/32英寸(0.8 mm)钻头

步骤5:什么是ISP(IN-系统 - 编程器)?

在系统编程器(ISP)中也称为在线串行编程器(ICSP)是一个微控制器程序员。 ISP将从计算机USB读取指令和命令,并通过串行外设接口(SPI)发送到微控制器。只需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微控制器,运行于Atmel的RISC架构(微芯片最近收购了Atmel)。 Attiny 45采用8引脚封装。 Attiny 45有6个I/O引脚,其中3个是ADC引脚(10位ADC),另外两个是支持PWM的数字引脚。它配备4KM闪存,256个系统内可编程EEPROM和256B SRAM。工作电压约1.8V至5.5v 300mA。 Attiny 45支持通用串行接口。 SMD版和THT版都可在市场上买到。 Attiny 85是Attiny 45的更高版本,它们几乎相同。唯一的区别在于闪存,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系统中打开Fab模块软件(I通过在Linux终端中键入以下命令来“使用Ubuntu”。

fab

然后会弹出一个新窗口。选择图像(.png)作为输入文件格式,输出格式为Roland MDX-20 mill(rml)。之后,单击Make_png_rml按钮。

步骤2:加载PCB设计图像

在新窗口的顶部选择位你打算用。然后通过clink Load.png 按钮加载 .png 格式。然后单击 Make.path 按钮以生成铣削的路径。现在单击 Make.rml 以生成计算机的说明和命令。新的发送按钮将显示在顶部,然后生成 Make.rml 按钮。不要立即点击按钮。

第3步:设置X,Y& Z轴

我们还没有完成。现在按Modela MDX20控制面板上的View按钮。确保钻头牢固。再次按下查看按钮以返回默认位置。现在通过在所需的文本框中输入测量值(取决于您的电路板位置)来设置X,Y位置。我建议你记下X& Y位置。如果出现问题并且你需要从头开始,你应该需要精确的X和Y位置来继续你的铣削过程,否则它会搞砸。

按下向下按钮打开工具头。当工具头靠近铜包层时停止。然后丢失工具头螺钉,将钻头向下拉一点,直到它接触铜包层的铜层。然后再次拧紧螺丝,按下“查看”按钮将工具头移回原位。现在我们都准备好了。关闭Modela的安全盖,然后单击“发送”按钮。 modela将开始铣削过程。

磨削迹线和焊盘至少需要10到13分钟。完成铣削后,我得到了很好的结果。

步骤4:切割轮廓布局

完成曲面铣削后,切出PCB轮廓布局(简单的PCB形状)。这个过程几乎是一样的。要切割布局,请将1/64位更改为工具头中的1/32位。然后将切割布局 .png 文件加载到fab模块,并在工具菜单中选择切割位(1/32)。然后继续执行之前idid的相同过程。从床上取出完成的PCB。

步骤9:完成PCB

铣床

铣床

这是铣削加工后的PCB!

步骤10:焊接PCB上的元件

铣床

铣床

现在我有了完成的PCB。我需要做的就是焊接PCB上的元件。对我来说,这是一项有趣而轻松的任务。

在焊接方面,与SMD元件相比,通孔元件易于焊接。 SMD元件的占地面积很小。对于初学者来说,焊接有点困难。有很多机会犯错误,比如冷焊料错误的元件和最常见的东西,或者在走线和焊盘之间形成桥梁。但每个人都有自己的焊接技巧和窍门,他们是从自己的经验中学到的。这将使这项任务变得有趣和轻松。所以请花点时间焊接组件!

这里我如何焊接!

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

最后的通孔元件,电线和插头引脚。为了焊接我的USBTinyISP,我遵循相同的步骤。为了轻松焊接SMD,首先,我将烙铁加热到350°C。然后在焊盘上添加一些焊剂。然后加热我想要焊接元件的焊盘,然后在元件焊盘的单个焊盘上添加少量焊料。使用镊子,拔出组件并放在垫上,加热垫2-4秒。之后,焊接剩余的焊盘。如果在引脚和走线之间形成桥接或为元件提供大量焊料,则使用焊锡芯带去除不需要的焊料。我继续相同的步骤,直到PCB完全焊接没有任何问题。如果出现问题,首先我使用放大镜和万用表仔细检查所有具有断裂或桥接的迹线和组件。如果我找到了,那我就纠正它了!

步骤11:制作ISP电缆

铣床

连接微控制器或其他ISP程序员闪存固件。我们需要一条带有两个2x3母线连接器的六线ribon ribon线。我使用4/3英尺6通道带状线并小心地连接两侧的母头。为了做得好,我使用了G夹。看到图片。

第12步:闪烁固件

铣床

铣床

铣床

铣床

铣床

铣床

现在我们可以将固件刷新到我们的ISP。为此,我们需要另一个ISP程序员。我使用了另一个USBTinyISP,但你可以使用Arduino作为ISP来完成这项任务。使用我们之前制作的ISP连接器连接两个ISP。然后将USBinyISP(我们用于编程的那个)连接到计算机。通过在Linux终端中键入以下命令,确保在系统中检测到ISP。

lsusb

步骤1:安装AVR GCC工具链

总之,我们需要安装工具链。为此,请打开Linux终端并键入。

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

步骤2:下载并解压缩固件

现在下载并解压缩固件文件。你可以在这里下载。下载zip文件后,将其提取到一个可以轻松找到的好位置(以避免不必要的混淆)。

步骤3:创建文件

刻录固件之前。我们需要确保为Attiny微控制器配置makefile。为此,请在任何文本编辑器中打开Makefile。然后确认MCU = Attiny45。请参见下图。

步骤4:刷新固件

现在我们可以将固件刷新到我们的ISP。为此,我们需要另一个ISP程序员,正如我之前所说的那样。我使用了FabTinyISP,这是我之前制作的。但您可以使用任何ISP或使用Arduino作为ISP程序员。使用我之前制作的ISP连接器连接两个ISP。然后将FabTinyISP(我用来编程我的ISP)连接到计算机。通过在Linux终端中键入以下命令,确保在系统中检测到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草图。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分