分类存档: Lifestyle

DIY USB 电流表(4):PCB 焊接与调试

在前一篇 DIY USB 电流表(3):PCB 免费打样详解 中,我们已经完成了 PCB 的下单,坐等几天就可以将生产完成的 PCB 拿到手了。在 PCB 到手之前,可以先把焊接组装需要的元器件先采购起来,毕竟这个也需要两天时间才能快递到手。

等到焊接 PCB 所需要的元器件都到手之后,就可以将我们的 PCB 组装起来了。

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

元器件采购

在采购元器件前,我们可以先在立创 EDA 中将物料清单(俗称 BOM)导出,在立创 EDA 中使用 导出》物料清单(BOM)... 菜单就可以导出 BOM。

物料清单 (BOM),也称为产品结构,是构建、制造或维修产品或服务所需的所有物料的列表。物料清单充当集中式源,包含从原材料阶段制造产品所需的所有信息。

diy-usbmeter-bom-1

BOM 导出后是一个 Excel 文件,打开后就可以看到它包含了这块 PCB 所需要的全部相关元器件:

diy-usbmeter-bom-2

如果直接在立创商城购买这些元器件,可以在导出 BOM 对话框中选择 元件下单,这样就会将 BOM 上传到立创商城,并开启 BOM 配单服务,可以自动根据 BOM 表中的内容匹配到合适的元器件,省去了一个一个查找并添加到购物车的过程。

diy-usbmeter-bom-3

当然立创商城购买元器件的价格并不一定是最优的,淘宝上很多商家也提供配单服务。不过立创商城的东西比较齐全,对于一些低价元器件,还是可以考虑直接在立创商城一站配齐的,对于差价比较大的元器件,我也都是选择在淘宝上购买。

例如这个 …

阅读全文 »

DIY USB 电流表(3):PCB 免费打样详解

在前两篇文章中,我们已经完成了 DIY USB 电流表的元件选型、原理图绘制和 PCB 布局布线,完成这些后,就可以将 PCB 文件导出给到板厂进行生产啦,很快就可以拥有一块自己设计的 PCB 了。

如果还没有完成 PCB 设计,可以参考前两篇文章:

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

PCB 免费打样

得意于 PCB 板厂间的竞争,现在有不少板厂提供了免费打样服务,例如嘉立创、捷配等。有了这些提供免费打样服务的 PCB 板厂,作为电子 DIY 爱好者也可以低成本的拥有一块正经生产出来的 PCB 来完成一些产品了,而不是只能使用万用板和飞线来制作。

我现在用过两家板厂的免费打样服务,分别是嘉立创和捷配,目前两家的规则差不多,都是一个月内有两次免费打样机会。

嘉立创

嘉立创是我用过最多的免费打样服务板厂了,他的免费打样服务范围相当广,FR-4 2、4、6 层板,FPC 柔性电路板,铝基板等都可以进行免费打样,结合立创 EDA,整体下单流程很顺畅。

另外嘉立创 PCB 阻焊油墨除绿色外的颜色也是可以免费使用的,PCB 生产时间相比绿色会多一两天,但是可以拥有红色、蓝色、紫色、黑色 PCB,还是相当值得的。

嘉立创免费打样一般都是给 …

阅读全文 »

笔记本 RTX 3070 + 8G 显存本地运行大语言模型 CodeGeeX2 生成代码实践

之前看到 CodeGeeX2 大语言模型发布了,介绍说比上一个版本效果要好上不少,因此也想在本地跑一个看看,能不能在项目开发的流程中能应用一下。

CodeGeeX2 是多语言代码生成模型 CodeGeeX (KDD’23) 的第二代模型。不同于一代 CodeGeeX(完全在国产华为昇腾芯片平台训练) ,CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅60亿参数即超过150亿参数的 StarCoder-15B 近10%)

不过因为手上只有一个笔记本用的 Nvdia 显卡,型号是 3070,并且显存还只有 8G,因此在运行过程中相对更高显存的显卡会碰到一些坑,这里就记录一下整个安装过程、踩的坑和解决方法。

系统环境

我的笔记本安装了 Windows 10 系统,并且还没有安装 WSL,因此就直接在 Windows 系统中来安装和部署 CodeGeeX2 了。

软件和硬件环境:

  • OS: Windows 10 22H2 (19045)
  • Python:3.10.11
  • CPU:AMD Ryzen 7 5800H
  • 内存:32GB
  • 显卡:RTX


阅读全文 »

DIY USB 电流表(2):PCB 布局布线

在前一篇 《DIY USB 电流表(1):元件选型和原理图绘制》 中介绍了 DIY 一个 USB 电流表的需求列表,以及将它所需要的元件确定下来,并在立创 EDA 中将整体功能的原理图绘制完成,现在就可以开始在立创 EDA 中进行布局布线了。

PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

布局布线效果预览

pcb preview

转换原理图到 PCB

通过立创 EDA 的 设计>更新/转换原理图到PCB 菜单,就可以将原理图中所有元件放置到 PCB 设计页面中,并且已经都将每个元件的网络配置且连接好。

pcb design 1

布局布线

设计预期外形

我们首先需要做的就是将元件根据用途大概放置到对应的区域,先来根据目标的形态绘制一个草图。

pcb design 2

初步确定布局

首先使用放置板框功能,画一个 PCB 的边框,可以根据实际预期 PCB 大小,将板框设置成那个尺寸,例如这里先设置成 45mm*70mm。

这里可以使用立创 EDA 的交叉选择功能,在原理图中选择对应功能区域的元件,然后按 Shift+X,就可以在 PCB 设计页面中选择对应的元件,方便将归属于同一功能的元件都选中,然后放置到目标位置去。

pcb layout

这样就可以大概将整体布局确定下来,后续就可以在这个基础上进行布线了,当然最终效果会比这个紧凑很多,可以在布线过程中不断调整。

精细调整布局

在初步确定布局之后,就可以根据每个模块的功能,将它们目标的布局确定下来,例如这里 DC-DC 模块,就可以根据一般 DC-DC 模块布局的需求,先把相关电阻、电容、电感的位置放置完毕,再进行最后的布线。

像 …

阅读全文 »

DIY USB 电流表(1):元件选型和原理图绘制

USB 电流表在电子 DIY 中还是比较常用的,可以用它来观察目标设备的实时电流、电压以及功耗。

作为电子 DIY 爱好者,做一个自己的 USB 电流表也是一件顺理成章的事。这里把之前已经开源的一个 USB 电流表的原理图来添加一些详细说明,对于初学者来说可以大概搞明白一个简单设备的原理图该怎么画。

当然我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。

USB 电流表成品效果

电压、电流、功率、容量界面

ui-1

功率历史图表界面

ui-2

需求分析和元件选型

在最开始搞一个入门 DIY 的产品,还是不要搞太复杂,尽量从简单的开始,先确定一下需求范围,降低整体开发难度,一方面减少原理图绘制之类的工作量,另外一方面,也可以增加成功率,防止半路弃坑 🤣。

需求分析

作为一个 USB 电流表,主要功能就是电流、电压等指标的采集,以及作为现在已经普及度非常高的 USB Type-C 接口和 USB PD 充电都需要支持一下,然后再通过屏幕展示出来采集的数据就可以了。

因此根据需求大概确定以下功能点:

  • USB Type-C 输入与输出
  • PD 协议透传
  • 支持 5~20V 电压检测
  • 支持 0~5A 电流检测
  • 支持功率计算、容量统计
  • 支持功率历史图表显示
  • 支持统计数据记录与清除
  • 按键切换电压电流数据与功率历史图表
  • 使用 12864 OLED


阅读全文 »

将节省进行到底,使用激光雕刻机和牛皮纸 DIY SMT 钢网

将节省进行到底

自从有了嘉立创 PCB 免费打样之后,我玩电子 DIY 基本上都是直接上 PCB 而不是洞洞板 + 模块了。在打样完 PCB 之后,一般都是选择手工焊接元件,以前都是直接使用针筒式锡膏点锡的方式来进行上锡,然后再用电铬铁或者加热台完成手工焊接操作。

但是在面临越来越复杂的 PCB,并且使用了 0603 甚至 0402 封装的元件之后,针筒式锡膏就很难控制挤出量了,并且一块板子几百个焊盘需要点锡的话,工作量实在太大了。

这个时候就可以按照 SMT 标准流程,使用钢网刷锡膏的方式来给焊盘上锡了。最开始也是使用了嘉立创的钢网服务来配备钢网,但是他们的费用还是比较高的,不管板子大小,一个钢网就需要 50 元,打样都已经白嫖的,再花 50 元似乎不太值。

后来再在淘宝上找到了一些钢网制作店铺,可以针对打样的 PCB 大小制作钢网,价格就便宜不少,加上运费在 15 元左右,这个价格也还算实惠了。

不过在 B 站看到一些视频使用 3D 打印机制作钢网的视频之后,启发了我,想到闲置的那台激光雕刻机,似乎也可以用激光雕刻机来完成钢网的制作。

最终在尝试几次之后,选择了 90 克覆膜牛皮纸来作为制作钢网的材料,毕竟一般激光雕刻机的功率并不够用来雕刻钢片。

准备工具

  • 激光雕刻机
  • 90 克覆膜牛皮纸
  • 立创 EDA 专业版
  • LaserWeb

制作激光雕刻 Gcode 文件

对于使用 …

阅读全文 »

Arduino + ESP32 高分开源项目推荐

作为一个 ESP32 重度用户,并且一直使用 Arduino 框架开发嵌入式应用的爱好者,在过去开发的项目过程中使用过不少开源项目,这里稍微总结一下比较有意思的,以及比较有用的开源项目列表。

其中一些项目不光是固件方面的程序,也包含了对应的硬件设计,可以当作一个电子 DIY 入门的学习项目。

开源项目集合

awesome-esp

项目地址:https://github.com/agucova/awesome-esp

一个国外爱好者收集的 ESP32/ESP8266 开源项目集合,主要偏完整的固件应用。

固件应用

这里是一些完整的固件开源项目,通常也会包含一个完整的硬件项目,不管是用来学习硬件开发,还是学习嵌入式软件开发,都是很好的例子。

ESPHome

ESPHome Logo

项目地址:https://github.com/esphome/esphome

算是最流行的开源智能家居固件之一了,通过编写 YAML 配置文件的方式来快速集成各种传感器、开关、屏幕等设备到一个固件中,并且内置了 Home Assistant 等智能家居平台的支持,可以一键添加到这些平台中。

要使用 ESPHome,基于上只需要了解大概的 GPIO 知识,I2C 以及 SPI 总线的概念就可以上手了,传感器或者其他外设的驱动都已经包含在固件中,并且官方文档也包含了详细的配置教程。

之前就使用 ESPHome 快速搭建了两个应用:

tasmota

项目地址:…

阅读全文 »

万字长文,一个软件工程师的 2023 电子 DIY 总结

在去年这个时候,总结了一下 2022 年重新拾起电子 DIY 的经历《一个软件工程师的 2022 电子 DIY 小结》,翻了翻嘉立创 PCB 订单,今年也打了不少板子,虽然也有一些是取消的订单,但是总体还是打了不少板子,有一些旧的东西,也有一些新的东西。

相比去年,今年在电子 DIY 上又学习了一些新东西,再来总结一下在 2023 年得到的经验。当然这些都是我作为一个新手村玩家得到的经验,只能说在 DIY 这个领域,可以用来应付一些需求,与实际商业化产品开发过程中需要的经验,还是会有比较大的距离,因此这些经验也仅供大家参考。

经过这一年,看见什么数码产品,都想着自己能不能做一个,找找开源项目,找找对应芯片,然后搞出一个半成品 😆。

复刻项目

作为一个新手,2023 年整体还是以复刻为主,得益于立创硬件开源平台,总是可以看到各种很有意思的项目,这其中有一些算是玩具,有一些是开发相关的,有一些则是实际生活中会使用到的数码产品。

在复刻项目过程中,现在能更多地去理解原理图,知道每个部分的作用是什么,以及在它的基础上,是否可以做出一些符合自己需求的修改,例如以下这些基础的修改:

  • 元件封装是否方便手焊,0402 替换为 0603 或 0805
  • 布局是否方便使用加热台一次焊接,双面贴片变更为单片贴片
  • 元件选型是否和现在元件库存匹配,LDO、DCDC 等替换为库存已有型号
  • 主控是否可以替换为更熟悉的型号,例如 ATMEGA 替换为 ESP32

在经历过几个开源项目的复刻过程后,会逐渐对硬件项目的构成有一个更清晰的概念,也能对硬件项目中可能包含的功能模块了解更多一点,例如电源模块、充电模块、电机驱动等。

在知道和了解了硬件项目中的这些模块之后,在后续想要做自己的项目时,就可以参考和使用了,这跟在软件项目中使用开源库的原理也差不多。

SmartKnob - 基于 SimpleFOC 的无刷电机模拟旋钮

2023diy-smartknob1

项目地址:https://github.com/scottbez1/smartknob

关键词:无刷电机,SimpleFOC,PID,ESP32,TMC6300,磁编码器,SK6812…

阅读全文 »

一个软件工程师的 2022 电子 DIY 小结

在 2022 年中的时候,已经很久没有玩过 DIY 的我,在看到稚晖君以及其他一些 UP 主的视频之后,又对电子 DIY 捡起了兴趣。在这同时,又了解到了嘉立创的免费打样活动,因此也想在之前使用万用板和飞线的基础上,更进一步,能真正向产品化迈进一点,好好地做个东西出来。

在经过了几个月的学习、尝试,也在嘉立创打了快 30 块板子之后,目前也完成了几个小玩具的开发、组装、使用,也算是完成了一些里程碑。

学习路径

为了使 DIY 产品更像一个产品,就需要使用 PCB 了,因此需要系统地了解和学习硬件产品整体的开发流程。幸运的是,现在 B 站科技区很多 UP 主,在发布视频的时候,都给出了完整的实现方式,这就让我的整个学习过程有了比较详细的参考资料。

整体学习过程中,遵循了看视频》原理图学习》EDA 学习和操作》PCB 布线》项目复刻》自主从头实现这个路径。当然因为是业余 DIY,实践的时候都以满足基本需求为主,没有特别地去优化线路、优化功耗。

总的来说,在入门电子 DIY 的时候,还是遵循了实践大于理论的原则,很多时候并没有特别去深入原理性的东西,像模电的一些内容,并没有花太大精力去深入学习,更多还是直接使用了现成的模块。

EDA

在很久以前玩 Arduino 的时候,也去尝试过一些 EDA 软件,那个时候对整个电路,都比较费解,也不太能从头去画一个原理图,并且由于没有系统地去学习过原理图绘制,因此对于什么元件使用什么符号,各个元件所起的作用之类,都不太了解。

但是在接触到了立创开源硬件平台之后,就像是在 GitHub 上去阅读开源项目代码一样,可以成体系地去学习一下开源硬件项目了,自带的编辑器立创 EDA 可以直接打开项目。并且由于立创 EDA 相对其他 EDA 工具而言,功能还不太复杂,对于我这样的初学者来说,可以比较快的掌握并去画一些基础的原理图。

在使用立创 EDA 过程最大的感受就是,可以完全不需要了解各个元件的封装之类的参数,只需要在立创商城找到的元件,就可以直接放在画布中使用,各个参数、符号、3D 模型都是现成的,这也导致我现在使用立创 EDA 的时候还保留有一个习惯,元件选型的时候,只有有模型可以直接放置在画布的元件才会去选用,这样可以完全不用操心元件封装,还可以直接在 …

阅读全文 »

超简单 DIY – AirCube 空气检测站

源由

一直以来对家里的环境状态比较在意,在很多年以前,就使用万用板 + ESP8266 + 传感器组装了很多台空气检测节点放在家里,用于监控 PM 2.5 浓度、二氧化碳浓度、温度、湿度等环境状态。

配合 ESPEasy 固件 + Domoticz,可以很方便的采集环境状态的数值,从而配置 Domoticz 的脚本来完成一些自动化动作,例如打开新风、打开空气净化器等。

进一步,也可以通过 Domoticz 将采集到的数据保存到 InfluxDB 中,使用 Grafana 图形化的展示这些环境状态的变化趋势。

在知道嘉立创的 PCB 免费打样活动之后,就产生了将这些空气检测节点进行升级的想法。

目标

这次升级,主要是为了改进以前使用洞泂板,ESP8266 等老旧部件碰到的一些问题,主要有以下几点:

  • 更美观,原先使用万用板 + 亚克力面板太多飞线,不是很好看,整体空间利用也不充分,并且现在也有 3D 打印机,可以做一个更好看的外壳。
  • 更标准,原先每个节点的传感器选型都不太一致,从而导致每块万用板的飞线都不一致,组装存在出错可能,这次通过使用统一的 PCB,将所有传感器模块位置固定,每个节点的传感器都保持一致。
  • 更强大,原先使用的 ESP8266 模组,GPIO 数量较少,在传感器数量多的情况下,GPIO 就不够用了,这次更换为更先进的 ESP32,拥有更多 GPIO,性能也更为强大。并且因为 GPIO 数量更多,还可以额外增加一个屏幕,这样即使不借助 Domoticz 的情况下,也可以独立使用,查看当前环境数据。
  • 更灵活,原先使用的 ESPEasy 固件,所有的传感器是通过在它的网页配置界面来完成的,并且它的配置保存格式为自定义的二进制格式,很难阅读以及提前配置,这次更换为更灵活的


阅读全文 »