第一次成功设计 PCB 电路板记录
记录第一次成功完成从电路设计到能正常使用的过程。
前言
之前也尝试过设计定位器,但是遇到这样那样的BUG,然后发现需要处理天线,加上电池体积还大,还不如买个华强北的AirTag,再加上老婆怀孕,因此不了了之。
这次又开始折腾的原因是家里的人体传感器出问题了,半夜卫生间没人,都在睡觉,却感应到有人,把卫生间灯打开了。我睡眠质量挺好,没影响到我,但是影响到我老婆了,她说了我几次让我处理。但是对于这种,我也没啥好的处理办法,猜测是有灰尘,或者卫生间的水雾影响到了电路。
接着,我就想到了之前冲动消费,放在家里吃灰的人在传感器,该产品如下图所示:
当时是因为买完人体传感器后,发现功能有点弱,识别能力有点弱,我在淋浴间洗澡,人体传感器就识别不到了,洗着洗着就关灯了。我就想着换个人在传感器,因为这个牌子支持米家,在人在传感器中这个又很处于底部价格,看着功能挺多的,我没有认真看,就下单了。
但是到手后一看设备,两眼一黑😤,如下图所示:
谁家正经传感器用外部供电,我还得在装修的时候专门给你留个坑位?因此这个设备买来后一直放在家里睡觉。
上次为了搞定位器,买了块锂电池,如下图所示:
因为定位器的失利,所以这个电池也在家睡觉,但我现在是看不惯他俩一直在家睡觉,再加上最近又处于电子阳痿期间,我就想着把他两利用起来。
电路设计
接着,我就想到了之前在设计定义器时用到的TP4065
芯片,参考电路如下所示:
该电路是 3.7V 锂电池充电电路,输入 5V,提供充电和充满电指示灯。但是 3.7V 的锂电池最多只能充到 4.2V 左右,而我需要的输出为 5V,因此还需要一个升压电路,把锂电池的输出升压到 5V。
接着继续在嘉立创的开源社区闲逛,然后发现了TP-5400
芯片,参考电路如下所示:
该芯片既提供给 3.7V 的锂电池充电,还提供锂电池升压到 5V 的输出,完美的符合了我的需求。随后我开始在嘉立创上设计电路,第一部分电路如下所示:
第二部分电路设计输出,如下所示:
我设计了一个type-c
口,一个micro-usb
口,两个排针口。其中usb/c 口可以通一个 2 排 6教 2 档的开关来切换是输入还是输出。两个排针口,一个设计的是输入,一个设计的是输出。
如果要节省成本,当然是只要一个 type-c 口或者micro-usb 口就好了,但是呢,我在嘉立创开源社区闲逛的时候,学习到了第三部分电路,如下所示:
其中5VOUT
为TP-5400
升压输出的 5V 引脚,BAT
为电池输入引脚,VCC
为整个电路板供电输出引脚。+5V
为 USB 供电输入。Q1 和 Q2 为 PMOS,只有在栅极电压比源极电压低于Vth 时,才会导通。
因为R4:R5 = 1:9
,所以Q1 的栅极电压Vg = 0.9Vbat
。
Q1 的源极(S)是5VOUT
,所以在Vs - Vg > Vth
时,Q1 导通。
当电池电量充足时,Vs = 5V
,Vbat
的最大值为4.2,因此Vg(max) = 0.9 * 4.2 = 3.78V
。
我选用的 PMOS 型号参数如下所示:
Vs - Vg(max) = 5 - 3.78V = 1.22V > Vth = 1V
,因此在电量充足的情况下,Q1 处于导通状态VOUT = 5VOUT
。
TP-5400
有以下特性:
当电量不足 3V时,TP-5400
无法再升压到 5V,5VOUT
的输出电压等于电池Vbat
电压。这时:Vs - Vg = Vbat - 0.9Vbat = 0.1Vbat
,只有当Vbat > 10V
,才能满足Vs - Vg > Vth
,这时Q1
关断。VOUT
没有电压,相当于切断电路。
因此,上半部分电路的作用为:电池电压小于 3V断电。
再来看下半部分电路图。当没有 USB 供电时,Q2 的Vg = 0
,正常情况下Vs = 5V
,这时 Q2 导通,VCC = VOUT
。
当存在 USB 供电时,Q2 的Vg = 5V
,Vs - Vg = 0
,Q2 关断。D3 为肖基特二极管,作用是降压,参数如下所示:
D3降压0.55V,因此 VCC = 4.5V
。因为该电路是我直接抄来的,对我来说 D3 没用,缩减成本可以去掉。
因此,下半部分电路的作用是:当USB 供电时,使用 USB 供电作为电路输出。否则电池电路作为输出。
正常来说,到此为止的电路已经满足我需求。但是我想添加一个测量电池电量的功能,考虑到成本和电路复杂度,我只需要初略计算,因此我发现了HM1160
芯片,参考电路如下所示:
我画出的电路图如下所示:
该电路挺简单的,有 4 个能级,电量越高,亮灯越多。使用了一个开关,只有按下开关时,才会显示电量。
到此,所有电路都设计完毕了,完整电路图如下所示:
下一步就是画 PCB 板了,这个没啥可说的,最终PCB 板为双层板,如下所示:
我没有直接把测量电量的电路和主电路合并到一起,并且中间添加了一道分割线,考虑未来可以以此线进行切割,就可以单独有一个测量电量的模块。在切割线上禁止铺铜,为了方便切割。
最终的实体板子如下所示:
贴片贴好以后:
测试电量:
充电中:
充满后:
给人体存在传感器供电:
下一步就是使用 3D 打印机给它设计外壳,比较是放在卫生间的,比较潮,还是需要有保护壳。我发现直接使用嘉立创EDA 能很方便的给自己设计的 PCB 板设计外壳,我设计的外壳如下所示:
最终成品如下所示:
成本计算
一份板子的成本如下所示:
名称 | 花费(RMB) |
---|---|
PCB 板 | 0 |
TP-5400 | 0.67 |
HM1160 | 0.3 |
47UF 钽电容 | 0.7 |
6 个贴片LED | 0.264 |
type-c 母座 | 0.32 |
2个SS34肖基特二极管 | 0.38 |
PH2.0-2P 母座 | 0.0177 |
PH2.0-2P 公座 | 0.0147 |
0630电感10UH | 0.285 |
拨动开关 | 0.1375 |
TVS | 0.19 |
2010 0.3R电阻 | 0.175 |
22uF 电容2个 | 0.06 |
800毫安电池 | 14.8 |
PMOS 2个 | 0.355 |
轻触开关 | 0.336 |
Micro-B 母座 | 0.217 |
100nF电容2个 | 0.0218 |
10uF 电容 | 0.1296 |
1uF 电容 | 0.195 |
10k 电阻 | 0.037 |
5个电阻 | 0.028 |
总计:19.6333,约等于 20 块。
失败经验分享
之前,失败过一个版本,来分析一下踩坑经验。
- 电焊能力不扎实。如下图所示:
两个 USB 是因为我只汗好了贴片引脚,打孔引脚没焊好,导致拔插线,稍微一用力,就拔掉了。分析原因,我使用的有铅锡,写着熔点温度 185℃,我电烙铁开到 200℃,感觉很难焊。最新一次,把电烙铁温度开到 300 ℃,焊起来就特别顺畅。
下面开关的四个引脚都是贴片引脚,下面两个偏大的 GND 引脚不知道为啥,热起来慢,第一次我用热风枪吹了半天,锡膏都没化,上面两个引脚的都 ok 了。我实在等不住了,就没继续吹了,导致没焊好,稍微用力,开关就被按掉了。
- 贴片 LED 没法用热风枪。
在我的电路图中,有 6 个 LED 灯,都使用贴片封装。因为特别轻,热风枪很容易就吹飞,我调小了风速,还是会吹飞。之后还是用电烙铁焊的,浪费了大量时间。
拨动开关太占位置。一开始选择这个波动开关是因为家里有这个元件,但是太占位置了,一个开关只能控制两种状态。我需要控制两个 USB 口,加排针口的输入输出,因此需要 3 个开关。之后在逛商店的时候发现了最新版使用的2 排 6 脚 2 档开关,一个顶两,个头也没有更大。其实还可以考虑拨码开关,但是没想好怎么设计,所以就没选。
⚠️电子元件的功率问题。
刚开始学电路设计,很多地方都没考虑到。比如元件封装的型号是跟功率相关的,在我的电路中大部分使用的是英制0603 封装,常见贴片电阻封装对照表如下所示:
英制封装代号 | 公制封装代号 | 尺寸 (长×宽) mm | 典型功率 (瓦特 W) | 常见应用和备注 |
---|---|---|---|---|
0201 | 0603 | 0.6 × 0.3 | 1/20W (0.05W) | 超小型设备,手机、可穿戴设备,对焊接工艺要求高。 |
0402 | 1005 | 1.0 × 0.5 | 1/16W (0.0625W) | 高密度PCB,智能手机、平板电脑。 |
0603 | 1608 | 1.6 × 0.8 | 1/16W (0.0625W) 或 1/10W (0.1W) |
最常用的通用型封装之一,功率有不同规格,需看具体型号。 |
0805 | 2012 | 2.0 × 1.25 | 1/10W (0.1W) | 非常通用的封装,用于各种消费电子和工业产品。 |
1206 | 3216 | 3.2 × 1.6 | 1/8W (0.125W) 或 1/4W (0.25W) |
通用性强,功率稍大,也可用于做排阻。 |
1210 | 3225 | 3.2 × 2.5 | 1/2W (0.5W) | 需要中等功率的场合。 |
2010 | 5025 | 5.0 × 2.5 | 3/4W (0.75W) | 功率电阻。 |
2512 | 6432 | 6.4 × 3.2 | 1W | 常见的大功率贴片电阻封装。 |
— | 1225 | 3.2 × 6.4 | 2W | 大功率贴片电阻。 |
— | 2050 | 5.0 × 12.5 | 3W | 大功率贴片电阻。 |
— | 2550 | 6.4 × 12.5 | 4W | 大功率贴片电阻。 |
因为在TP-5400
的资料中有以下设定,Rprog
电阻在我的电路中为R1
,阻值为1.1kΩ,因此充电电流Ibat = 1A
。因此,流经R2 的电流也 1A,而 R2 的阻值为0.3Ω,R2 的功率为0.3W。因此 R2 不能使用 0603封装,我最终选择了 2010 封装的电阻。我们试试计算 R1 的功率,通过文档可以得知Vprog = 1V
,那么 R1 的功率为:P = U * I = U * U / R = 1/1100W
,使用 0603 封装的电阻完全没问题。
以上这些知识我都是看资料学来的,但是我以为只有电阻需要考虑,但是电感,电容也同样需要考虑。电容需要考虑额定电压,电感需要考虑额定电流。比如在我设计的电路中,就没考虑过电感的额定电流问题,导致电感烧了,如下所示:
第一版设计,大部分功能都正常,但是电池输出一旦接上负载就冒烟,经过研究发现,是电感烧了。我使用的电感是 0603 封装 10uH,额定电流大部分为几十到几百mA。
使用 GPT 搜了一下电感电流的计算方法:https://chatgpt.com/share/68a89e1f-64d0-8000-abcd-0e7ab49a67ba
电感的电流至少要 2A 以上,最终我选定了 0630 封装的功率电感。
最终进展
一切都完成后,开始实用阶段。仅仅一晚,锂电池就没电了,电压就降到3V 左右。接着,我再深入了解了一下人体存在传感器的情况和人体传感器的情况,我才发现之前的想法是大错特错。
比如我的这款人体传感器,包含红外模块,光感模块,蓝牙模块,官方数据如下所示:
按照上面的数据来计算一下,已知:CR2450纽扣电池 (典型容量600-620mAh, 3V),容量按最高的 620mAh 算,总能量为:Wh = U * I * t = 3V * 0.62Ah = 1.86Wh
。一年有 365 天,一天有 24 小时,3 年总共有 26280h。那么设备每小时消耗的能量为:1.86Wh / 26280h ≈ 70.7μWh
。每小时的工作电流约等于 23.6μAh。
再来看看我的这款乐天派 人体存在传感器,包含红外模块,毫米波雷达,光感模块,温度,湿度,蓝牙模块。虽然官方没有标明功耗信息,但是已知毫米波雷达使用的是 24G 毫米波雷达技术,如下所示:
经过拆解搜索,发现乐天派 POP 使用的是RKB1125G人体存在检测 24GHz毫米波雷达。该款毫米波雷达的工作电流为 75mA。
如果仅计算毫米波雷达的功耗,首先是功率为:75mA / 1000 * 3.3V = 0.2475W
。我的 3.7V 锂电池的容量为800mAh,那么总能量为:Wh = 3.7V * 0.8Ah = 2.96Wh
。那么该锂电池给毫米波雷达供电,能持续运行:2.96Wh / 0.2475W ≈ 12h
。
分析到这,我也就明白为什么乐天派人体存在传感器 POP使用 USB 供电,在体积受限的情况下,根本没法让设备长时间运行。而我添加的供电模块也是无用功,相比使用 USB 供电,每半天需要充一次电更让我无法忍受。
接着我又继续研究了一波人体存在传感器,绝大部分都是使用 USB 进行供电,我猜测这些设备使用的毫米波雷达的工作电流都在 20mA以上。但是也有部分可以使用电池供电的低功耗版本,比如乐天派的人体传感器Air,参数性能没发现有下降,不过价格相对的会更高,估计是用的更贵的低功耗毫米波雷达。比如:低功耗人体存在传感器USRR235L毫米波雷达感应模块,该款毫米波雷达的耗能为 70uA,就可以支持纽扣电池供电。
第一次成功设计 PCB 电路板记录