新闻中心

EEPW首页 > 设计应用 > 功率监测与控制系统DIY⸺电机功率控制

功率监测与控制系统DIY⸺电机功率控制

作者:鲜de芒果 时间:2025-06-29 来源:EEPW 收藏


本文引用地址:https://www.eepw.com.cn/article/202506/471815.htm

1   功能概览

实时功率监测:通过INA219采集电机电流,计算功率并显示。

过流保护控制:当电流超过设定阈值时,切断电机供电(响应时间<0.5s)。

阈值动态修改:通过开发板串口或外接按键调整过流阈值。

双保护模式:

自锁模式:过流后需手动复位(按键或串口指令)才能恢复供电。

打嗝模式:过流后暂停供电,电流正常后延时1秒自动恢复。

2   硬件介绍

NUCLEO-F411RE开发板:作为系统核心控制器,负责数据采集、逻辑处理、阈值修改及模式切换功能。INA219电流检测模块:实时监测电机负载电流,分辨率达0.1mA,量程可配置,通过I2C接口传输数据。

OLED显示屏(128×64):显示实时电流、阈值、工作模式及状态信息,采用I²C通信。

220V转12V开关电源:为系统供电,输出12V直流电供开发板及电机驱动电路使用。

继电器模块:控制电机通断,实现过流保护的物理隔离。

按下图所示,将各模块连接起来,组成本次项目的演示电路。

image.png

3   设计思路

硬件架构:以NUCLEO-F411RE为核心,通过I²C总线连接INA219和OLED,继电器控制电机通断,开关电源提供稳定电力。

软件逻辑:

周期性采集电流数据并更新显示。

比较当前电流与阈值,触发保护逻辑。

根据模式选择执行自锁或打嗝策略。

通过中断或轮询处理串口/ 按键输入,动态修改阈值或切换模式。

4   功能实现

4.1 软件流程图

image.png

4.2 实现过程

(1)硬件初始化

INA219配置: 通过I2C设置量程(±3.2 A)和ADC分辨率(12 位)。OLED初始化:初始化显示屏并绘制界面框架(模式状态、标题、电压、电流、功率)。

继电器控制:通过GPIO控制继电器吸合/ 释放,初始状态为闭合(电机通电)。

(2)电流采集与阈值判断

采集频率:每400ms读取一次电流值,可通过滑动滤波算法消除噪声。过流检测:若采样值超过阈值,判定为过流,立即断开继电器(响应时间<500ms)。

(3)保护模式逻辑

自锁模式:过流后断开继电器,OLED显示“锁”。单击按下开发板上的用户按键恢复解除锁定,吸合继电器。

打嗝模式:过流后断开继电器,启动3s定时器。若定时器结束后电流恢复正常,自动吸合继电器;否则保持断开。

(4)动态阈值修改

串口指令:通过串口接收SET:<value>指令,修改阈值。按键调节:短按按键进入阈值调整模式,通过旋转编码或加减键修改数值。

(5)模式切换

按键切换:开发板上的用户按键双击操作,可进行模式切换。两种模式循环切换。

5   功能展示

实时监测界面

OLED显示标题:模式(自锁/ 打嗝)电压电流表、当前电压、电流、功率、模式(自锁/ 打嗝)。其中自锁模式,在标题左侧显示自,打嗝模式显示嗝。当自锁模式时,触发限流锁定,将会显示锁。解除锁定后,重新显示自

image.png

过流保护演示

自锁模式

手动触发过流后,OLED显示“锁”,电机停止,需单击按键恢复。

打嗝模式

过流后电机暂停,3秒后自动重启(若电流正常)。

不过电机启动瞬间会有较大电流,因此也可能启动后重新触发过流锁定。

阈值修改

默认情况下,过流保护阈值为200mA。为电机正常空载不会触发保护的电流值。可通过串口发送指令进行调整过流保护阈值。命令格式为:SET:保护电流值(单位:毫安)。例如:向串口发送SET:100 后,阈值更新为100mA。

模式切换

双击按键可切换模式

1751174761224130.png

6   总结

本项目基于NUCLEO-F411RE开发板构建了低成本、高性能的功率监测与控制系统,实现了以下创新点:快速响应:通过优先级优化和继电器驱动电路设计,过流响应时间<0.5s。

模式灵活性:支持自锁与打嗝双模式,适应不同应用场景需求

人机交互:结合OLED 可视化界面与串口/ 按键操作,提升用户体验。

改进方向:

增加远程监控功能(如WiFi/ 蓝牙模块)。

扩展数据记录功能,存储历史电流曲线。

优化打嗝模式逻辑,支持多次重试后锁定。

该项目可广泛应用于小型电机保护、电源管理系统等场景,具备较高的实用价值与扩展潜力。

7   遇到的问题

1.刚拿到开发板时,编写闪灯程序进行烧录时,出现错误。原因是开发板板载的STLink软件版本太老导致,升级STLink软件版本后,烧录正常。

2.使用U8g2库驱动OLED显示中文时, 某些汉字无法显示。一开始测试使用的“你好”二字时,显示输出正常。

然后在做基础任务三时,显示“电压电流表”时,只显示了“电电流表”。

搞的我还以为是代码跑飞了,折腾了好久。才发现是字库中没有“压”这个字,切换字库之后显示正常。

8   心得体会

参加《Let's do 2025 年第1 期—— DigiKey陪你走过春夏秋冬●DIY功率监测与控制系统》活动,是一次将技术理论转化为实践的深度探索。通过围绕NUCLEOF411RE开发板、INA219电流检测模块等核心硬件的系统设计,我不仅完成了电机过流保护控制的项目目标,更在技术能力、问题解决思维和协作体验上获得了全方位提升。

这次DIY之旅让我深知:电子开发不仅是代码与电路的堆砌,更是需求分析、资源整合与创新设计的综合艺术。这次的活动如同一座桥梁,连接了爱好者与专业工程师的世界,而我也在“走过春夏秋冬”的探索中,收获了属于自己的技术春天。

最后,感谢电子产品世界联合得捷电子推出的这次活动,期待未来活动能引入更多工业级场景案例(如光伏、智能家居),进一步打通技术到应用的“最后一公里”。愿我们继续携手走过更多创新旅程,在EEPW 社区的陪伴下,让每一次探索都收获技术的春天!

(本文来源于《EEPW》2020506)



关键词: 202506

评论


技术专区

关闭