1. 项目概述与核心功能
这个基于单片机的电流电压采集系统,本质上是一个具备阈值报警功能的双通道模拟量监测装置。我在工业自动化领域摸爬滚打多年,发现这类基础但实用的监测系统往往是电子工程师的"必修课"——就像厨师必须掌握炒青菜一样重要。
系统硬件架构采用经典的"传感器+MCU+人机交互"模式。两个可调电阻模拟电压电流信号的变化,STC15单片机负责信号采集与处理,四个轻触按键提供人机交互接口,LED则承担报警指示功能。这种设计在电源监控、电池管理系统(BMS)等场景中非常常见,我在去年参与的太阳能逆变器项目中就采用过类似方案。
核心功能可以拆解为三个关键模块:
- 模拟量采集:通过12位ADC将可变电阻的阻值变化转换为数字信号
- 阈值设置:允许用户动态调整电压电流的安全上限
- 报警触发:当监测值超过设定阈值时,驱动LED闪烁报警
提示:STC15系列单片机内置的12位ADC相比传统51单片机的8位ADC,分辨率提升了16倍,这对需要精确测量的场景尤为重要。我在调试中发现,其实际有效位数(ENOB)可达10.5位左右。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计细节解析
2.1 信号输入电路设计
电压检测通道采用最简单的分压电路。假设可调电阻最大阻值为10kΩ,串联一个10kΩ固定电阻构成1:1分压。当电阻调至中点时,P1.0引脚电压为:
code复制V_adc = Vcc * (R_variable / (R_fixed + R_variable)) = 5V * (5k / 10k) = 2.5V
电流检测通道则需要考虑采样电阻的选择。使用0.1Ω电阻时,10A电流产生的压降为:
code复制V_sense = I * R = 10A * 0.1Ω = 1V
实际项目中我通常会选用INA199这类电流检测放大器,将小信号放大到适合ADC采样的范围。
2.2 抗干扰设计要点
原文提到的"电压显示抖动"问题,本质上是数字信号对模拟电路的干扰。我的工程笔记里记录了几种有效解决方案:
- 星型接地:将模拟地和数字地在MCU下方单点连接
- 去耦电容:每个电源引脚放置0.1μF陶瓷电容
- PCB布局:ADC输入通道周围铺设保护环(Guard Ring)
下表对比了不同方案的改善效果:
| 方案
