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

基于51单片机220V交流电流检测系统过流阈值报警设计

1 系统功能介绍

本设计是一套基于 STC89C52 单片机 的 220V 交流电流检测与过流阈值报警系统,能够对交流电路的实时电流进行采集与显示,并通过设定的阈值进行过流报警提示。系统特别适合用于工业设备的电流监测、家庭用电安全检测以及用电设备状态监控。

系统主要功能如下:

  1. 交流电流实时检测
    采用 TA1005M 电流互感器,将 220V 交流电路中的电流信号采集并转换为适合单片机采集的低电压信号,经模数转换电路(ADC)处理后送入单片机进行计算,最终换算出实时电流值。

  2. LCD1602 实时显示
    实时显示交流电流值,并支持显示当前设定的过流报警阈值,用户可以直观掌握用电情况。

  3. 过流报警功能
    用户可通过按键设定电流上限阈值,当检测到电流超过该值时,蜂鸣器会发出声响提示;若电流低于阈值,则系统保持静音。

  4. 阈值可调功能
    阈值可通过按键灵活设置,适配不同设备的电流安全范围。

  5. 安全检测与用电监控
    对于长期运行的设备,如果电流异常增大,可能代表设备处于过载、短路或其他故障状态,系统能够快速发出报警,从而提升用电安全性。


2 系统电路设计

2.1 单片机最小系统

本系统选用 STC89C52 单片机作为核心控制单元,主要电路包括:

  • 电源电路:将外部 DC 5V 电源供给单片机与外围器件,采用滤波电容减少干扰。
  • 晶振电路:外接 12MHz 晶振及两只 30pF 电容,保证单片机稳定工作。
  • 复位电路:采用上拉电阻与复位按键,保证上电与人工复位可靠。

该模块主要负责数据处理、逻辑控制、LCD 显示、按键扫描与报警输出。

2.2 电流采集模块(TA1005M 电流互感器)

TA1005M 是一款交流电流互感器,通过电磁感应原理将一次侧高电流转换为二次侧低电流,再经过采样电阻转换成电压信号。

  • 一次侧:串接在被测交流负载回路中。
  • 二次侧:通过采样电阻产生与电流成比例的电压信号。
  • 输出信号需经过整流与滤波,转化为稳定的直流电压,以便后续 ADC 采样。

该模块的设计要点:

  1. 选取合适的采样电阻,保证输出电压在 ADC 输入范围内。
  2. 加入 RC 滤波电路,减少交流波形中的高频干扰。

2.3 AD 转换模块

STC89C52 无内置 ADC,因此采用外接 ADC 模块(如 ADC0832、ADC0809)进行模数转换:

  • 将 TA1005M 输出的模拟电压输入到 ADC 模块。
  • ADC 将电压信号转换为数字数据,并通过 SPI 或并行方式传输至单片机。
  • ADC 分辨率越高,测量精度越高;本系统采用 8 位或 10 位 ADC 即可满足要求。

2.4 LCD1602 显示模块

LCD1602 通过 4 位或 8 位并行接口与单片机相连,用于显示:

  • 实时电流值(单位 A)
  • 当前设定的过流阈值(单位 A)
  • 报警状态信息

该模块显示直观、刷新速度快,适合现场监测。

2.5 按键输入模块

系统设计 3 个按键:

  • SET:进入阈值设置模式或确认设置
  • UP:在设置模式下增加阈值
  • DOWN:在设置模式下减少阈值

按键采用上拉电阻设计,按下时输入为低电平,软件需进行去抖处理。

2.6 蜂鸣器报警模块

采用有源蜂鸣器与 NPN 三极管驱动:

  • 当单片机检测到过流,输出高电平使三极管导通,蜂鸣器发出报警声。
  • 报警音可以为持续音或间歇音,可在程序中灵活控制。

2.7 电源电路

系统采用 5V 直流电源供电:

  • 单片机、LCD、ADC 直接使用 5V 电压。
  • 采样电路与互感器与 220V 交流回路隔离,确保安全。

3 程序设计

3.1 主程序结构

程序分为 初始化主循环 两部分:

  1. 初始化部分

    • 初始化 LCD 显示
    • 初始化 ADC
    • 初始化按键与蜂鸣器
    • 读取上次保存的阈值(可选)
  2. 主循环部分

    • 采集电流数据
    • 计算电流有效值
    • 显示数据与阈值
    • 判断是否过流报警
    • 按键扫描与阈值修改

3.2 电流采集与计算

unsigned int Get_ADC_Value(void) {unsigned int value = 0;// 启动 ADC 转换ADC_Start();// 等待转换完成while(!ADC_Complete());value = ADC_Read();return value;
}float Calculate_Current(unsigned int adc_value) {float voltage = (adc_value / 255.0) * 5.0; // 转换成电压值float current = voltage / 0.1; // 采样电阻0.1Ωreturn current;
}

3.3 LCD 显示程序

void Display_Current_Threshold(float current, float threshold) {char buf[16];LCD_SetCursor(0, 0);sprintf(buf, "I: %.2f A", current);LCD_Print(buf);LCD_SetCursor(0, 1);sprintf(buf, "TH: %.2f A", threshold);LCD_Print(buf);
}

3.4 按键扫描与阈值设置

void Key_Scan(void) {if(KEY_SET == 0) { // 进入设置模式delay_ms(20);if(KEY_SET == 0) {setting_mode = 1;}}if(setting_mode) {if(KEY_UP == 0) {delay_ms(20);if(KEY_UP == 0) threshold += 0.1;}if(KEY_DOWN == 0) {delay_ms(20);if(KEY_DOWN == 0) threshold -= 0.1;}}
}

3.5 报警控制程序

void Alarm_Check(float current, float threshold) {if(current > threshold) {BEEP_ON();} else {BEEP_OFF();}
}

3.6 主循环

void main(void) {float current = 0;float threshold = 5.0; // 默认阈值System_Init();while(1) {unsigned int adc_value = Get_ADC_Value();current = Calculate_Current(adc_value);Display_Current_Threshold(current, threshold);Alarm_Check(current, threshold);Key_Scan();}
}

4 总结

本系统基于 STC89C52 单片机,利用 TA1005M 电流互感器 + ADC + LCD1602 + 按键 + 蜂鸣器 构建了一套实用的交流电流检测与过流报警系统。系统不仅能够实时测量并显示交流电流,还能根据用户设定的阈值进行灵活报警,具有结构简单、成本低、稳定性高的优点。
未来可扩展方向包括:

  • 增加 EEPROM 存储功能,实现掉电记忆
  • 通过 RS485 或 WiFi 模块将数据上传至上位机
  • 增加多通道电流检测,实现多设备同时监控
http://www.lryc.cn/news/618592.html

相关文章:

  • 通信接口与通信约规
  • 【牛客刷题】REAL806 放它一马:怪物经验值最大化策略详解
  • 【基于DesignStart的M3 SoC】
  • 终端安全检测和防御技术
  • UGUI源码剖析(6):遮罩的“魔法”与“算法”——从C#到Shader,彻底揭示Mask与RectMask2D的原理
  • OpenHarmony编译与烧录
  • HTTPS服务
  • MCU外设初始化:为什么参数配置必须优先于使能
  • Ceph的FileStore存储引擎详解
  • 如何提升需求分析能力
  • NLP—词向量转换评论学习项目分析
  • 【SpringBoot】05 容器功能 - SpringBoot底层注解的应用与实战 - @Configuration + @Bean
  • IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
  • 面试八股之从jvm层面深入解析Java中的synchronized关键字
  • 使用pyqt5实现可勾选的测试用例界面
  • MM DEMO-2025 | 北航新融合LLM与多模态交互的无人机导航系统!AirStar,智能空中助手等你来体验
  • 前端/在vscode中创建Vue3项目
  • NoC设计中Router Table的作用
  • Day05 店铺营业状态设置 Redis
  • 【C++】迭代器失效问题
  • THCV215一种高速视频数据收发器,采用低电压差分信号(LVDS)技术支持高速串行数据传输,支持1080p/60Hz高分辨率传输
  • 软考备考(三)
  • 2-1〔O҉S҉C҉P҉ ◈ 研记〕❘ 漏洞扫描▸理论基础与NSE脚本
  • 26 届秋招建议指南
  • Git与CI/CD相关知识点总结
  • [激光原理与应用-251]:理论 - 几何光学 - 长焦与短焦的比较
  • k8s-scheduler 解析
  • 【Java项目与数据库、Maven的关系详解】
  • 正向传播与反向传播(神经网络思维的逻辑回归)
  • Gradient Descent for Logistic Regression|逻辑回归梯度下降