发作品签到
专业版

【已验证】基于南京沁恒CH571F单片机的USB检测器

工程标签

336
0
0
2

简介

不会有人看的

简介:不会有人看的
复刻成本:20

开源协议

GPL 3.0

创建时间:2022-11-10 14:56:49更新时间:2025-02-28 01:14:08

描述

CH571F高精度电流检测计开源项目
项目概述
本开源项目基于沁恒CH571F蓝牙MCU与TI INA226电流检测芯片,搭配10mΩ高精度采样电阻,实现0-36V/±3.2A范围的电流电压检测系统。具备BLE 5.1无线传输和USB-CDC有线传输双模通信,采样率可达1kHz,精度±0.5% FS。

GitHub仓库:[项目链接]
(固件代码见评论区置顶链接)

硬件设计
核心器件
CH571F:RISC-V内核蓝牙MCU,内置12位ADC

INA226:双向电流/功率监测IC,I²C接口

采样电阻:10mΩ 1% 金属箔电阻(2512封装)

保护电路:SMBJ5.0A TVS + PTC自恢复保险

电路特性
输入电压范围:4.5-36V DC

电流检测范围:±3.2A(最大瞬时5A)

分辨率:

电流:0.1mA

电压:1mV

功率:1mW

工作温度:-40℃ ~ +85℃

电路框图

mermaid
复制
graph LR
A[电源输入] --> B[TVS保护]
B --> C[采样电阻]
C --> D[INA226]
D -->|I²C| E[CH571F]
E --> F[USB/UART]
E --> G[BLE广播]
软件架构
主要功能
INA226自动校准

双模数据传输:

BLE特征值更新(1Hz)

USB高速采样(1kHz)

动态基线校准

过流保护(硬件比较器+软件双保险)

关键配置
c
复制
// INA226校准寄存器计算
#define CAL (0.00512 / (0.01 * 0.0001)) // 10mΩ/100μA LSB

void INA226_Init() {
I2C_Write(0x40, 0x05, CAL); // 校准寄存器
I2C_Write(0x40, 0x00, 0x4527); // 配置寄存器:1ms采样+平均值
}
快速使用指南
硬件搭建
焊接采样电阻(注意电流方向)

连接电源正极到Vin+

负载接入Vin-与GND之间

数据读取
BLE模式:

bash
复制
gatttool -b [MAC地址] --char-read -a 0x000b

返回:电压(16bit) 电流(16bit) 功率(16bit)

USB模式:

python
复制
import serial
ser = serial.Serial('/dev/ttyACM0', 115200)
while True:
print(ser.readline().decode())

输出格式:V:12.345,I:1.234,P:15.234

校准方法
空载状态下执行CALIBRATE_ZERO命令

接入标准负载(推荐1A恒流源)

根据实际值调整校准参数:

c
复制
// 在ina226.c中修改校准系数
const float Current_LSB = 0.0001; // 调整此值补偿误差
性能测试
测试条件 测量值 误差
空载 0.002A ±0.2mA
1A恒流 1.003A +0.3%
3A脉冲 2.997A -0.1%
12V输入 12.01V +0.08%
常见问题
I²C无响应:检查0x40地址是否被占用

数据跳变:确保采样电阻功率≥3W

负电流显示:接线方向反向导致,交换Vin+/Vin-即可

开源协议
MIT License - 允许商业使用,需保留版权声明

欢迎提交PR改进项目!特别感谢TI提供的INA226评估板和沁恒的技术支持。

524cfe3f21bf4f731631bf3aaa6849b.jpg

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
CH571Fdemo.hex
2
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航