功能概览
实时功率监测:通过INA219采集电机电流,计算功率并显示。
过流保护控制:当电流超过设定阈值时,切断电机供电(响应时间<0.5s)。
阈值动态修改:通过开发板串口或外接按键调整过流阈值。
双保护模式:
自锁模式:过流后需手动复位(按键或串口指令)才能恢复供电。
打嗝模式:过流后暂停供电,电流正常后延时1秒自动恢复。
硬件介绍
NUCLEO-F411RE开发板:作为系统核心控制器,负责数据采集、逻辑处理、阈值修改及模式切换功能。
INA219电流检测模块:实时监测电机负载电流,分辨率达0.1mA,量程可配置,通过I²C接口传输数据。
OLED显示屏(128×64):显示实时电流、阈值、工作模式及状态信息,采用I²C通信。
220V转12V开关电源:为系统供电,输出12V直流电供开发板及电机驱动电路使用。
继电器模块:控制电机通断,实现过流保护的物理隔离。
按下图所示,将各模块连接起来,组成本次项目的演示电路。
设计思路
硬件架构:以NUCLEO-F411RE为核心,通过I²C总线连接INA219和OLED,继电器控制电机通断,开关电源提供稳定电力。
软件逻辑:
周期性采集电流数据并更新显示。
比较当前电流与阈值,触发保护逻辑。
根据模式选择执行自锁或打嗝策略。
通过中断或轮询处理串口/按键输入,动态修改阈值或切换模式。
功能实现
1. 软件流程图
2. 实现过程
(1)硬件初始化
INA219配置:通过I²C设置量程(±3.2A)和ADC分辨率(12位)。 OLED初始化:初始化显示屏并绘制界面框架(模式状态、标题、电压、电流、功率)。 继电器控制:通过GPIO控制继电器吸合/释放,初始状态为闭合(电机通电)。
(2)电流采集与阈值判断
采集频率:每400ms读取一次电流值,可通过滑动滤波算法消除噪声。 过流检测:若采样值超过阈值,判定为过流,立即断开继电器(响应时间<500ms)。
(3)保护模式逻辑
自锁模式: 过流后断开继电器,OLED显示 “锁”。单击按下开发板上的用户按键恢复解除锁定,吸合继电器。
打嗝模式: 过流后断开继电器,启动3s定时器。若定时器结束后电流恢复正常,自动吸合继电器;否则保持断开。
(4)动态阈值修改
串口指令:通过串口接收 SET:<value> 指令,修改阈值。 按键调节:短按按键进入阈值调整模式,通过旋转编码或加减键修改数值。
(5)模式切换
按键切换:开发板上的用户按键双击操作,可进行模式切换。两种模式循环切换。
功能展示
实时监测界面
OLED显示标题:模式(自锁/打嗝)电压电流表、当前电压、电流、功率、模式(自锁/打嗝)。其中自锁模式,在标题左侧显示 自,打嗝模式显示 嗝。当自锁模式时,触发限流锁定,将会显示 锁。解除锁定后,重新显示 自
过流保护演示
自锁模式
手动触发过流后,OLED显示 “锁”,电机停止,需单击按键恢复。
打嗝模式
过流后电机暂停,3秒后自动重启(若电流正常)。不过电机启动瞬间会有较大电流,因此也可能启动后重新触发过流锁定。
阈值修改
默认情况下,过流保护阈值为 200mA。为电机正常空载不会触发保护的电流值。可通过串口发送指令进行调整过流保护阈值。命令格式为:SET:保护电流值(单位:毫安)。例如:向串口发送 SET:100 后,阈值更新为 100mA。
模式切换
双击按键可切换模式
演示视频
https://www.bilibili.com/video/BV1QoTEzrEcu/
总结
本项目基于 NUCLEO-F411RE 开发板构建了低成本、高性能的功率监测与控制系统,实现了以下创新点:
快速响应:通过优先级优化和继电器驱动电路设计,过流响应时间<0.5s。
模式灵活性:支持自锁与打嗝双模式,适应不同应用场景需求
人机交互:结合OLED可视化界面与串口/按键操作,提升用户体验。
改进方向:
增加远程监控功能(如WiFi/蓝牙模块)。
扩展数据记录功能,存储历史电流曲线。
优化打嗝模式逻辑,支持多次重试后锁定。
该项目可广泛应用于小型电机保护、电源管理系统等场景,具备较高的实用价值与扩展潜力。
遇到的问题
1. 刚拿到开发板时,编写闪灯程序进行烧录时,出现错误。原因是开发板板载的STLink软件版本太老导致,升级 STLink 软件版本后,烧录正常。
2. 使用U8g2库驱动OLED显示中文时,某些汉字无法显示。一开始测试使用的 “你好” 二字时,显示输出正常。然后在做基础任务三时,显示 “电压电流表” 时,只显示了 “电 电流表”。搞的我还以为是代码跑飞了,折腾了好久。才发现是字库中没有 “压” 这个字,切换字库之后显示正常。
心得体会
参加《Let's do 2025年第1期——DigiKey陪你走过春夏秋冬·DIY功率监测与控制系统》活动,是一次将技术理论转化为实践的深度探索。通过围绕 NUCLEO-F411RE 开发板、INA219电流检测模块等核心硬件的系统设计,我不仅完成了电机过流保护控制的项目目标,更在技术能力、问题解决思维和协作体验上获得了全方位提升。
这次DIY之旅让我深知:电子开发不仅是代码与电路的堆砌,更是需求分析、资源整合与创新设计的综合艺术。这次的活动如同一座桥梁,连接了爱好者与专业工程师的世界,而我也在“走过春夏秋冬”的探索中,收获了属于自己的技术春天。
最后,感谢电子产品世界联合得捷电子推出的这次活动,期待未来活动能引入更多工业级场景案例(如光伏、智能家居),进一步打通技术到应用的 “最后一公里”。愿我们继续携手走过更多创新旅程,在EEPW社区的陪伴下,让每一次探索都收获技术的春天!
参考资料
STM32 开发板 - NUCLEO-F411RE 规格书
Gravity I2C数字功率计
Grove-OLED原理图
Grove - 0.96英寸黄蓝双色OLED显示屏 Wiki
nucleo-f411re官网
NUCLEO开发板用户手册
传送门