全开源!使用 7 毛钱的单片机 DIY USB 电流表教程,入坑硬件设计、固件开发、外观建模
之前已经连载完了 DIY USB 电流表的所有章节,这里汇总介绍一下这个项目,希望对电子 DIY 感兴趣的朋友们有所帮助。
这个 DIY USB 电流表的所有内容都已经开源,包括:
硬件原理图
硬件 PCB 布局布线
MCU 固件代码
外壳 3D 模型 STL 文件
面板生产文件
在文末可以找到开源项目的所有资料,其中硬件部分在立创开源平台,其他部分在 GitHub 中。
PS. 我也还是一个初学者,如果文章中有一些错误或不足,还请多多指教。
项目介绍
这是一个基于沁恒 CH32V003 和德州仪器 INA219 的 DIY USB 电流表,使用 CH32V003 作为主控 MCU 来读取和显示电压电流数据,INA219 作为电压电流监测计,并且通过两个按键来进行交互。
主要元件
MCU:CH32V003
电压电流监测:INA219
显示设备:SSD1306 OLED
输入输出:USB Type-C
采样电阻:10mR
功能设计
电压、电流、功率、累计电量监测
USB Type-C 输入与输出
PD 协议透传,支持 USB PD 2.0
支持功率历史图表显示
按键切换电压电流数据与功率历史图表
使用 0.96 寸 12864 OLED 显示相关数据
设计指标
最大支持 PD 2.0 100W
支持 5~20V 电压检测
支持 0~5A 电流检测
最小电压分辨率 10mV
最小电流分辨率 2mA
功率历史记录最长 128 分钟
涉及内容
这个教程涉及到了电子 DIY 从 0 开始的内容,基本上搞完下来,对于电子 DIY 也有个大概了解了,玩其他的开源项目,更多是元器件和芯片知识的扩充了。
产品设计
功能设计
规划 USB 电流表包括哪些功能,需要哪些字段,并且设计界面来显示这些字段
用户交互输入,使用按键输入,并且具备页面切换
外壳设计
结合 3D 建模和亚克力面板设计,让 DIY 项目更像一个产品
硬件设计与设计
元件参数与选型
如何选择需要的元器件,以及根据哪些指标筛选相关的元器件
原理图设计
阅读芯片数据手册,添加外围元件,并且各个芯片连接起来
PCB 布局布线
在确定完 PCB 上整体按键、输入输出接口、屏幕位置等之后,开始进行元器件的布局和布线
PCB 焊接和调试
通过嘉立创等板厂进行免费打样,拿到 PCB 之后,通过手动焊接的方式来完成 PCBA 的制作
嵌入式软件开发
开发环境搭建
基于 Visual Studio Code + Platform IO 的开发环境搭建
通信协议
通过 I2C 协议来读取 INA219 数据,以及 SSD1306 OLED 的显示驱动
屏幕和按键驱动
了解 SSD1306 屏幕驱动的原理,点阵字体的格式,以及如何写一个英文字符显示驱动
实现一个简单的按键检测驱动,支持单击以及长按事件检测
固件体积分析和优化
使用 PlatformIO Inspect 功能来分析固件体积和内容,并且针对性的优化
DIY USB 电流表完整教程
以下是 DIY USB 电流表的全部分阶段教程,可以直接点击链接查看。
USB 电流表开源地址
这个 USB 电流表所有资料已经开源,可以在以下仓库中获取,包含固件代码、PCB 生产 Gerber 文件、原理图和外壳 STL 文件。
https://github.com/ohdarling/CH32V003-USBMeter
硬件相关的源文件已经在立创开源平台开源,访问以下地址可以进行一键 PCB 下单和一键 BOM 配单操作:
https://oshwhub.com/wandaeda/ji-yu-ch32v003-de-usb-dian-liu-biao
电子 DIY 入门知识整理
当然也可以了解一些其他电子 DIY 入门相关的知识,在元器件选型时可以更有方向一些。
其他 DIY 项目
30 元 DIY 一个柔性灯丝氛围灯
教程地址:https://xujiwei.com/blog/2024/04/diy-ambient-light/
如果这个文章对你有帮助的话,可以关注、点赞、转发或分享,非常感谢 😃。