我写这一系列文章主要是为了我自己,或者至少是为了那些试图制作电子产品来销售的人。如果那是您,那么我希望这对您的旅程有所帮助!如果您只想查看最终产品,可以在https://hortus.dev/products/social-battery找到它。
这是一篇很长的文章,所以我将其分成几块,以便更容易消化。这些都是:
我想尝试一下 JLC PCB 的组装服务 - 虽然我在手动放置和焊接组件之前设计和制造了裸露 PCB,但我想到了一些未来的项目,由于数量和数量的原因,手工焊接是不切实际的。组件的尺寸。
当你考虑到所涉及的内容时,这项服务的便宜程度令人惊讶,但它仍然足够昂贵,以至于交出你的钱可能会有点令人畏惧,然后等待找出你是否犯了一些会毁掉你的错误。最终结果。
我想我应该从一些简单的事情开始,不仅可以测试 PCB 组装,还可以测试电子商务。我的计划是想出一个小产品,我可以在不到一天的时间内实际设计并提交制造,然后希望在 Etsy 等市场上相当容易地销售。
我原以为设计和制造方面是最困难的部分,而在 Etsy 上列出产品会很容易,但事实恰恰相反,如果你继续阅读,你就会发现!
我快速浏览了 Etsy,看看人们成功销售了哪些我可以制作的东西。我发现了几个人们制作电子徽章的例子 - 完美的项目!这些大多由 LED 组成,在形状新颖的板上具有随机或预设的闪烁模式。
这些对我来说看起来不错,但我想尝试一些更具互动性和更有意义的东西,这样我就可以卖到足够的钱,从而在少量的初始单位上赚取合理的利润。
看着 Etsy 上出售的常规别针徽章,我看到了一堆带有滑动指示器的搪瓷“社交电池”别针。这些立即引起我的注意,因为 a) 我个人可以认同(人们对我的社交电池开无尽的玩笑……),b) 作为电子版本真的很有趣,c) 很容易设计 - 只是一个几个 LED、一个开关和一个微控制器将所有这些连接在一起!
我对自己的技能充满信心,在 Kicad 中快速制作了一个电路图。我决定使用 ATtiny13A - 主要是因为我手头有一些来自以前项目的芯片,而且因为我对类似芯片有丰富的经验。
如果您不熟悉,ATtiny13A 是一款小型 8 位微处理器,具有 6 个 IO 引脚,属于 AVR MCU 系列的一部分。它类似于历史上大多数 Arduino 核心的 ATmega 芯片,但其功能更加有限。
好处是 ATtiny 系列芯片更小、更便宜,所以如果您不需要大量内存或外围设备,那么它们就很棒了! (尽管现在可能有点过时了,因为可用的 ARM 芯片种类繁多)。
我在 KiCad 中为我的电路布置了 PCB,然后让它吐出 gerber 和钻孔文件(用于制造 PCB)以及物料清单和布局文件(用于将组件组装到 PCB 上) 。我将它们提交给 JLC PCB,看看他们是否能够正确处理它们。
BoM 和放置文件需要对默认值进行一些调整才能使它们采用正确的格式(事实证明我以困难的方式做到了这一点,并且 KiCad 有一个更简单的插件,只需单击一下即可完美完成所有操作)。
JLC PCB 维护着一个相当大的元件库,他们为组装订单保留了库存。然而,就我而言,ATtiny13a 不可用,所以我不得不订购它们。使用他们的全球采购服务,这非常简单。我能够找到价格最优惠的供应商来满足我所需的数量,然后让 JLC PCB 代表我将它们订购到他们的仓库。
在等待的同时,我想我不妨在设计上进行试验并开始编写代码,我很高兴我这样做了,因为我立即发现了一个问题!我的设计使用 ATtiny13a 上的五个 IO 引脚来直接驱动 LED(第六个用于监控按钮)。
上次我犯这个错误时我没有意识到/记得(是的,以前也发生过),这些 IO 之一也是复位引脚。你可以使用它,但它无法提供太多电流,并且通过 LED 将其接地,我使芯片保持在永久重置状态。
解决这个问题的一种方法是烧毁芯片上的保险丝,永久禁用引脚的重置功能,将其转换为常规 IO。但问题是你只能对芯片进行一次编程(除非你拥有一个高压编程器,而我没有),并且考虑到我倾向于以艰难的方式学习东西,这似乎可能相当浪费!
另一种选择是找到一种用更少的引脚做更多事情的方法,这样就可以单独保留复位引脚。这可以通过一种称为charlieplexing 的技术来实现,该技术允许您寻址比可用引脚数量多得多的 LED。
然后,您可以扫描这些 LED,以高速率单独打开和关闭它们,通过视觉暂留使其看起来好像同时打开了多个 LED。
就我而言,我使用 3 个引脚驱动四个绿色 LED,并使用专用引脚驱动红色 LED。这不是 charlieplexing 的最有效示例,因为我可以从三个引脚驱动所有 LED,但在专用引脚上保持红色可以在编程时简化代码。
我修改了电路图和 PCB 设计,然后重新导出必要的文件并将其发送给 JLC PCB 来制造和组装初始的五个原型。
一个多星期后,我收到了我的原型,我对它们非常满意!我认为有一些事情需要改变:
我并没有真正计划如何对电路板进行编程。我刚刚拆开 AVR 编程引脚并希望一切顺利。这对于五个原型来说很好,因为我可以用最微小的焊料将编程线固定在一起,但是如果大规模的话,这很快就会变得非常乏味。
背面紧固件的尖峰被焊接到接地垫上。这本来很好,除非尖峰的热质量和电路板上的接地平面很难实现良好的连接。它还非常靠近电池座的正极金属笼,这意味着如果人们将徽章放置/附着在导电表面上,很可能会发生意外短路。
电池的负极触点不够突出,所以我不得不在上面添加一点焊料以建立良好的连接。再说一遍——对于少数原型来说,这并不是世界末日,但如果我必须为负载这样做,那就很痛苦了。
这些都是易于实施的简单修复。我添加了一个适当的编程头,可以与弹簧针夹具一起使用,以实现快速且可重复的编程。
我将尖峰与地平面断开,这样它就成为一个独立的小铜岛,更容易升温并且不会导致短路。
我还扩大了电池的负极触点,使其具有更多的表面积来建立牢固的连接。
代码非常简单。我跟踪徽章所处的模式,该模式由一个整数表示,每次按下按钮时该整数都会递减。然后,我按照模式的指示循环并闪烁每个 LED。当达到模式 0 时,我将其重置回原始数字,然后将 ATtiny 置于睡眠模式。
再次按下按钮会触发中断,唤醒芯片并重新开始整个过程。
总的来说,我对结果非常满意,这意味着是时候看看我是否可以卖掉它们了!
您可以在本系列的下一篇文章中了解我这样做的经验。