当前位置: 首页 > news >正文

#第七届立创电赛# 基于国民技术MCU的电流表与多功能学习开发板设计(一)

基于国民技术MCU的电流表与多功能学习开发板设计(一)

最近在捣鼓一个挺有意思的小玩意儿,它既是USB电流表,又是一块功能齐全的MCU学习开发板。这个项目是我参加第七届立创电子设计大赛的作品,核心想法是把两个常用工具合二为一,让学习和调试都更方便。今天这篇文章,咱们就来聊聊这个项目的硬件设计部分,我会把电路原理、芯片选型、模块设计这些细节掰开揉碎了讲,希望能给想入门嵌入式或者参加电赛的朋友一些参考。

1. 项目功能总览

这个板子主要干两件事,简单直接。

功能一:USB电流表这个功能很实用。平时我们给手机充电、测试各种USB小设备的功耗,或者调试自己做的低功耗电路时,总想知道它到底吃了多少电流。这块板子就能插在USB口和你的设备之间,实时测量电压和电流,并通过OLED屏幕显示出来。

功能二:通用MCU学习开发板除了当电流表,它本质上是一块基于国民技术MCU的开发板。板子上集成了LED、按键、扩展接口、下载口等学习单片机必备的外设。你可以用它来学习GPIO控制、ADC采样、定时器、通信协议(如I2C驱动OLED)等基础内容,相当于一块“二合一”的实战平台。

注意:受限于成本,这个版本没有集成无线(如Wi-Fi/蓝牙)功能。如果想玩物联网,需要额外购买无线模块接到扩展口上。

2. 核心大脑:MCU模块设计

任何嵌入式系统的核心都是主控芯片,它就像项目的大脑。我这次选用了国民技术的MCU。具体型号在原理图中可以看到,这是一款基于ARM Cortex-M内核的微控制器,性能足够应对电流测量和基础学习的需求。

2.1 时钟电路:给MCU配上“心跳”

单片机要工作,必须有时钟信号,就像人的心脏需要跳动一样。我设计了双晶振电路:

  • 主时钟(8MHz):这是一个无源晶振,为MCU内核及大部分外设提供高速时钟源。选择8MHz是一个平衡点,速度够用,电路也稳定。
  • 低速时钟(32.768kHz):这也是一个无源晶振。这个频率特别适合给实时时钟(RTC)或低功耗模式下的看门狗等外设使用,因为它功耗低,且频率容易分频得到标准的1秒时间基准。

在PCB布局时,这两个晶振要尽量靠近MCU的时钟引脚,走线要短,并且晶振外壳最好接地,这样可以减少干扰,让时钟信号更稳定。

2.2 复位与启动电路

这两个电路是确保MCU能正确开始工作的“开关”。

复位电路很简单,就是一个按键加一个电容(通常还会有一个上拉电阻)。按下按键,把复位引脚拉到低电平,MCU就会重启。电容的作用是保证上电时复位引脚有一个短暂的低电平过程,完成上电复位。

BOOT选择电路稍微关键一些。很多ARM MCU都有BOOT0/BOOT1这样的引脚,通过跳线帽设置它们的高低电平,可以决定MCU从哪种存储器启动。常见模式有:

  • 从用户闪存启动:运行我们烧写好的应用程序。
  • 从系统存储器启动:进入内置的Bootloader模式,可以通过串口等接口下载程序。
  • 从内置SRAM启动:用于调试。

我的板子上通过跳线帽来配置BOOT引脚,方便在不同模式间切换,特别是在第一次下载程序或者程序跑飞需要重新下载时非常有用。

3. 电流表功能硬件详解

这是本项目的特色功能,核心在于如何把模拟的电流、电压信号,准确转换成MCU能处理的数字信号。

3.1 电流采样电路

测量电流,最常用的方法就是使用采样电阻。原理很简单:根据欧姆定律(U=I*R),让被测电流流过一个已知阻值的小电阻(采样电阻),测量电阻两端的电压差,就能反推出电流大小。

在我的设计中,采样电阻串联在USB的电源路径中。为了减少对被测电路的影响,这个电阻的阻值要非常小(通常是毫欧级别)。产生的电压信号也非常微弱,所以后面一般需要接一个运算放大器(运放)进行放大,把信号调理到MCU的ADC可以测量的范围(比如0-3.3V)。

提示:电流采样电路的精度和稳定性是关键。采样电阻要选用低温漂、高精度的类型(如锰铜丝电阻),运放也要选择低失调电压、低噪声的型号。具体电路设计可以参考立创EDA开源平台上的官方USB电流表案例,里面有更深入的分析。

3.2 电压采样与ADC原理

电压采样相对直接,通过电阻分压网络将被测电压(比如USB的5V)按比例降低到MCU的ADC输入电压范围(0-3.3V)内即可。

这里重点说说ADC(模数转换器),它是连接模拟世界和数字世界的桥梁。MCU是数字芯片,只能处理0和1,而电流、电压、温度这些都是连续变化的模拟信号。ADC的工作就是“测量”模拟电压,并把它变成一个数字值。

这个过程可以简单理解成一把“电子尺”:

  1. 量程:这把尺子的最大测量范围是0到3.3V(假设MCU供电是3.3V)。
  2. 精度(分辨率):这把尺子有多少个刻度。比如一个12位的ADC,它的刻度总数是 2^12 = 4096个。也就是说,它能把0-3.3V分成4096份。
  3. 读数:当输入一个电压(比如1.65V)时,ADC就会去“数”这个电压对应第几个刻度。1.65V正好是3.3V的一半,所以它数出来的数字值大约是 4096 / 2 = 2048。

这个转换关系是线性的,所以我们用简单的数学就能从ADC读到的数字值反推出实际的电压值。ADC是嵌入式开发中极其重要的外设,务必掌握。

4. 开发板通用功能模块

为了让这块板子能用来学习,我给它加上了很多通用外设和接口。

4.1 电源管理:LDO稳压

板子可能需要从USB口取电,或者从外部接入其他电压。但MCU和大部分芯片通常需要稳定的3.3V或5V供电。这里我用了经典的ASM1117线性稳压芯片。

LDO(低压差线性稳压器)的作用是把一个较高的输入电压(比如5V)稳定地转换成较低的输出电压(3.3V)。它的电路很简单,输入输出各接一个滤波电容就行。需要注意,LDO会以发热的形式消耗掉(Vin - Vout)* I 的功率,所以如果电流较大,要考虑散热。

4.2 人机交互:按键与LED

这是学习GPIO控制最好的起点。

  • LED电路:通常采用MCU引脚通过一个限流电阻直接驱动LED。引脚输出高电平,LED亮;输出低电平,LED灭。限流电阻阻值根据LED工作电流和电压计算,常用330欧姆到1千欧。
  • 按键电路:我采用的是上拉电阻方案。按键未按下时,MCU引脚通过上拉电阻接到3.3V,读到高电平;按键按下时,引脚直接接地,读到低电平。MCU程序通过检测这个引脚的电平变化来判断按键动作。

4.3 扩展性与调试接口

为了方便连接其他模块和下载调试程序,我预留了几个关键接口:

  1. 扩展IO排针:把MCU多余的GPIO引脚、电源引脚(3.3V、5V、GND)引出来。这样你就可以轻松地连接超声波模块、温湿度传感器、舵机等各种外部模块,不用再飞线飞得乱七八糟了。

  2. OLED显示屏接口:我预留了一个标准的4针I2C接口(VCC, GND, SCL, SDA),用来连接常见的0.96寸OLED屏幕。显示电流电压值、调试信息就靠它了。

  3. SWD下载调试接口:这是给ARM Cortex-M内核MCU下载和调试程序最常用的接口。相比老的JTAG,SWD只需要两根线(SWDIO, SWCLK)加电源线,节省引脚。通过这个接口,你可以使用ST-Link、DAP-Link等调试器给板子烧写程序,还能进行单步调试、查看变量值,是开发调试的利器。

好了,关于这个二合一板子的硬件设计部分,就先聊到这里。从MCU最小系统到电流采样,再到各种外设接口,每一部分都是嵌入式硬件设计中会遇到的实际问题。硬件是基础,搭好了舞台,下一步就是软件编程让整个系统动起来。在下一篇文章里,我会详细讲解如何为国民技术这款MCU搭建开发环境、编写驱动程序,并最终实现电流表的测量与显示功能。如果你在复现硬件时遇到问题,或者有更好的设计思路,欢迎一起交流讨论。

http://www.jsqmd.com/news/474725/

相关文章:

  • 实战指南:基于快马平台生成端到端的图像分类项目,集成accelerate加速训练全流程
  • VLSI设计基石——CMOS反相器的性能建模与优化
  • Gemma-3 Pixel Studio应用场景:UI设计稿分析、PPT配图理解、海报文案生成
  • 解决AndroidX依赖冲突:appcompat-resources版本与compileSdkVersion不兼容问题
  • Dify评估系统上线前必须通过的5道生死关(含混淆矩阵偏差检测、judge模型漂移预警、评估链路可观测性埋点)
  • Magpie-LuckyDraw一站式3D抽奖解决方案:从部署到定制的全流程指南
  • LaTeX参考文献排版问题排查:特殊字符导致的缩进异常
  • Vue2与WebSocket实战:构建高效实时聊天室的全流程解析
  • 深入剖析CCPROXY溢出漏洞:从shellcode构造到远程控制实战
  • 5大场景适配:Magpie-LuckyDraw开源3D抽奖工具的全平台落地指南
  • 实战分享:用ollama embeddinggemma-300m构建电商客服话术匹配
  • 从零搭建局域网:eNSP模拟实验全流程解析
  • R 4.5部署危机预警(2024年Q3已触发17起CRAN包兼容性熔断):紧急绕过reticulate与future冲突的5种军工级方案
  • 【AI显卡训练】Manjaro系统下AMD RX 5700与ROCm的深度学习环境搭建与优化
  • CLIP ViT-H-14模型加载优化:内存映射+懒加载提升服务启动速度
  • 小白也能上手的LongCat-Image-Editn:星图平台部署到实战改图全流程
  • 从模型到极限:深入解析信道容量与香农公式
  • 绝了!个人微信终于能连“小龙虾”了,手机发条消息10分钟自动建站。
  • 逆向实战:从流量分析到文件提取的攻防技巧
  • 从仿真到合规:利用LTspice预演ISO 7637-2与ISO 16750-2的汽车电源瞬态测试
  • 5维突破帧率枷锁:genshin-fps-unlock工具全场景优化指南
  • AudioSeal详细步骤:模型缓存路径/root/audioseal/的磁盘空间管理策略
  • 造相-Z-Image部署教程:RTX 4090环境配置,极简UI快速上手
  • 动态调参实战:从理论到代码的深度优化指南
  • 基于RA2E1的嵌入式桌面时钟设计与低功耗实现
  • 模型即裁判?Dify评估系统生产部署全解析,深度拆解RBAC权限隔离、敏感数据脱敏、审计日志留存三大合规硬要求
  • Windows Cleaner开源清理工具:系统优化的终极解决方案
  • 从“Expected 96, got 88”报错出发:深度解析NumPy二进制兼容性陷阱与多版本环境治理
  • 【Dify企业级成本治理SOP】:从节点粒度监控→异步队列限流→自动熔断的7层防护体系
  • 湖北师范大学专升本编程真题精析:从基础算法到实战应用