嘿大家怎么了!
所以这里有一些超级酷的东西,一个以龙珠悟空为主题的 PCB 板!
这里的想法是制作一个包含 Goku 的简单 PCB 徽章,我在这块板上放置了几个 LED,这样当它由 Attiny13A 驱动时,它会以追逐模式发光,并产生 Goku 射击的错觉他著名的卡美哈美哈波。
对于那些不知道悟空是谁或什么是卡美哈美波波的人来说,悟空是一个外星人,由地球人抚养长大,他与坏人作战,基本上是日本超人。
这个 PCB 是第 2 版,我早在 2021 年就已经制作了 V1,它非常实用,那个版本的唯一问题是我在其中使用了 ATtiny84,现在由于芯片短缺,很难买到 attiny84,所以我修改了我的设计并改用了 Attiny13A。
https://www.hackster.io/413148/goku-pcb-badge-f26f11
在本文中,我将向大家展示这个徽章的整个构建过程,让我们开始吧
这是我在此内置中使用的组件的候选清单-
我为这个项目选择了 ATtiny13 的原因很简单,它足够强大,可以运行一个使用 5 个输出引脚的简单追逐开关。它也很便宜,易于编程并且可以广泛使用。
ATTINY13-20PU 是一款基于 RISC 的 8 位高性能低功耗 AVR 微控制器,结合了 1kB ISP 闪存、64B SRAM、64B EEPROM、32B 寄存器文件和 4 通道 10 位 A/D 转换器. 该器件在 20MHz 时支持 20 MIPS 的吞吐量,工作电压在 2.7 至 5.5V 之间。
它现在由 Microchip 制造,最适合像驱动一堆东西这样的应用程序,这就是我在这个项目中所做的。
https://www.microchip.com/en-us/product/ATtiny13A
至于使用一些像 Arduino 板这样的大功率 MCU,它会更好地工作,但问题在于尺寸和外形尺寸。仅使用一个完整的 MCU 来驱动几个 LED 也是矫枉过正的。
示意图
这款 PCB 徽章的设计非常简单明了。为了驱动 LED,我使用了由 Attiny13A 控制的 Mosfet。
正在使用 5 个 Mosfet,每个都驱动四个并联的 LED。
我在我的 OrCad PCB Suite 中制作了此原理图,然后将其转换为 Board 文件。
PCB设计
这个项目的主要吸引力是我放置在其顶部的悟空图像或丝网印刷。
我所做的是,我搜索黑白悟空图像,然后将其转换为 BMP 图像,因为我的 OrCad PCB Suite 仅导入 BMP 格式的图像。
将悟空的图像作为丝印层导入我的 PCB 设计后,我将所有组件放置在电路板周围并完成设计。
LED 被放置在从 GOKU 的手掌中发射的球或球体的形状中。
在完成 PCB 后,我将 Gerber 数据发送到PCBWAY以获取样品。
我为这个项目选择了带有白色丝印的黄色阻焊层。
我在 PCB 的顶部添加了图形以增加 PCB 的美感,我收到的 PCB 质量非常棒。
我已经使用他们的服务有一段时间了,我不得不说,这对于入门来说非常不错。
从这里检查 PCBWAY - https://www.pcbway.com/
PCB组装包括以下步骤-
现在第一步是在每个元件焊盘上逐个添加焊膏。
要涂抹焊膏,我使用的是带有宽注射器的焊膏分配针,我使用的焊膏是由 63% 锡和 37% 铅组成的普通焊膏。
应用焊膏后,我们继续下一步,将组件添加到指定位置。
我使用 ESD 镊子将每个组件放置在适当的位置。
在“Pick & Place Process”之后,我小心地将整个电路板抬起并放在我的 DIY SMT Hotplate 上。
热板将 PCB 从下方加热到焊膏熔化温度,一旦 PCB 达到该温度,焊膏就会熔化,所有组件都焊接到它们的焊盘上,我们抬起 PCB,然后将其放置在较冷的表面上一点点,以冷却PCB的热量。
现在,在添加纽扣电池座之前,我使用万用表在二极管检查模式下测试了 LED 是否正确焊接。
我将万用表的正极探头连接到第一列的正极,负极连接到它的负极。
通过这样做,我测试了所有五列,因为每列中的 LED 并联连接,所有 LED 都会发光。
在测试每个 LED 都正确焊接后,我继续进行下一个过程,即在 PCB 的背面添加一个 SMD 纽扣电池座。
最后,我用烙铁在其指定位置的背面添加了一个 SMD 纽扣电池座。
此 SMD 纽扣电池座是此 PCB 中唯一未添加焊膏的组件。
在此之后,我们只需要使用主代码刷新 ATtiny13 并启动此板!
这是我使用的代码。
我对其进行了一些更改,包括更改引脚编号,因为以前的版本具有不同的引脚分配,因为它使用 attiny84 但现在我使用的是 attiny13A。
int pinsCount=5; // declaring the integer variable pinsCount
int pins[] = {0,1,2,3,4}; // declaring the array pins[]
void setup() {
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
}
void loop() {
for (int i=0; i1 ){ // chasing right
digitalWrite(pins[i], HIGH); // switching the LED at index i on
delay(70); // stopping the program for 100 milliseconds
digitalWrite(pins[i], LOW); // switching the LED at index i off
}
for (int i=pinsCount-1; i>0; i=i-1){ // chasing left (except the outer leds)
digitalWrite(pins[i], HIGH); // switching the LED at index i on
delay(70); // stopping the program for 100 milliseconds
digitalWrite(pins[i], LOW); // switching the LED at index i off
}
}
我们不能通过任何 USB 直接对 ATTINY13 进行编程,有一种方法可以直接从 USB 端口对 Attiny 进行编程,但我没有这样做。
相反,我将使用 ISP 闪存方法,该方法将利用 attiny13A 的 SPI 引脚在其中烧录引导加载程序,然后烧录。
在 Arduino IDE 上安装 Attiny13 Core
在开始刷机过程之前,我们首先需要在 Arduino IDE 中下载并安装 Attiny13 Core 文件。https://github.com/MCUdude/MicroCore
准备 Arduino 作为 ISP 设置
AVR 芯片通常是空白的,它们需要设置为与 Arduino IDE 兼容,但要做到这一点,您需要 AVR 程序员来做这件事,例如 USBASP。
有趣的是,您可以通过一个非常简单的步骤使用 Arduino Uno 或 Nano 板制作自己的 AVR 编程器。
编程过程使用 VCC、GND、RST、MISO、MOSI 和 SCK。
不幸的是,我的 SOIC8 IC Clip 工作不正常(其中一个引脚坏了),所以我不得不手动将六根线焊接到 MCU 的 SPI 引脚,然后将其与 Arduino Nano 连接,后者与 Arduino 作为 ISP Sketch 一起闪烁。
这是我如何刷 ATtiny13,
至于这个项目的电源,我们可以用两种方法给它供电。
只要有一点点创造力,我们就可以将任何东西转换成 PCB,这也是我的目标。
Goku V2 工作正常,现在我终于可以说这个版本是最终版本,不需要任何进一步的开发。
特别感谢 PCBWAY 对这个项目的支持,您可以查看他们以更低的成本获得优质的 PCB 服务!
今天的内容就到这里了,感谢大家阅读这篇文章。
我很快就会带着一个新项目回来!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !