EEPW论坛

这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » Let'sdo第1期-DIY功率检测与控制系统-磕磕绊绊的进阶任务

共2条 1/1 1 跳转至
1506012

Let'sdo第1期-DIY功率检测与控制系统-磕磕绊绊的进阶任务

助工
2025年06月20日 16:34:53 打赏

在完成了基础任务,实现了每个模块单独控制后,就开始着手去做进阶任务了。可惜道路不是一帆风顺的,期间出了很多状况。


问题1:电流模块烧毁:这次功率检测使用了INA219电流检测模块。该模块可以接26v内的电压,可以测量到8A的电流。然后我就成功地将该模块烧毁了。烧毁后的表现为,能够测量电流,但是电压测量始终显示为0。从某宝上购买芯片,挽救这个模块。

1750402698619.png

1750402721315.png使用锡箔纸,保护一下板子,使用热风枪,成功换芯。

问题2:需要共地。为了实现单片机控制电路通断功能。一开始我采用的方案是:使用一个L298N驱动模块,接入12v电源。NUCLEO-F411RE通过GPIO输出高低电平,输出给L298N的INA上,控制输出端输出0V或12V。输出端接入INA219电流检测模块,电机和INA219电流检测模块串联,完成电路控制。

image.png

但是这里出现个问题,L298N驱动模块输出的12v电压和电流模块的控制电压是不共地的。如果将L298N驱动模块输出端的负极,和电流模块输出端的GND连接起来,电源就会短路保护。经过多次测试,最终放弃此方案,改用继电器来开关电源。继电器能够很方便地共地处理。

问题3:电路中干扰太大,单片机很容易死机。使用继电器控制整个电路后,电机对整个电路产生了巨大的污染,导致NUCLEO-F411RE频繁死机。电路无法稳定地工作。这个暂时无法解决,最后去掉了电机,改用一个卤素灯作为负载,工作情况才有好转。

79e76215440f062000ead221f5378eb.jpg


进阶任务:1. 在以上任务基础上,增加对INA219电流传感器的应用,例如电机过流保护控制,使用开发板的串口或者外接按键,可以修改过流阈值,并且过流控制响应在0.5s以内;2.实现自锁模式与打嗝模式,自锁模式:当过流保护产生时,必须使用按键或者串口指令恢复控制;打嗝模式:当过流保护产生时停止负载,过流消失1s(可自行设定)后自行恢复控制。

实现该任务,接线比较复杂。解决了接线问题后,就比较容易了。首先实现OLED

// u8g2.setFont(u8g2_font_unifont_t_chinese2); // use chinese2
  u8g2.firstPage();
  do
  {
    u8g2.setFont(u8g2_font_cu12_tf); //
    u8g2.setCursor(5, 15);
    u8g2.print("Power:"); //
    u8g2.setCursor(60, 15);
    dtostrf(p, 5, 2, fValue);
    u8g2.print(fValue);
    u8g2.setCursor(100, 15);
    u8g2.print("mW"); //
    u8g2.setFont(u8g2_font_spleen12x24_mf); // use chinese2
    u8g2.setCursor(5, 40);
    u8g2.print("V:"); //
    u8g2.setCursor(30, 40);
    dtostrf(v, 5, 1, fValue);
    u8g2.print(fValue);
    u8g2.setCursor(115, 40);
    u8g2.print("V"); //
    u8g2.setCursor(5, 64);
    u8g2.print("I:"); //
    u8g2.setCursor(30, 64);
    dtostrf(i, 5, 1, fValue);
    u8g2.print(fValue);
    u8g2.setCursor(105, 64);
    u8g2.print("mA"); //
  } while (u8g2.nextPage());

在OLED屏幕上显示,功率、电压、电流三项数据。继电器接到D13管脚,也是板载的LED灯的输出。将LED灯和继电器关联起来,这样更方便直观地可以看见电路的通断。

 if (i >= 800)
  {
    lasttime = millis();
    digitalWrite(LED_BUILTIN, LOW);
  }
  if (millis() - lasttime > 5000)
  {
    digitalWrite(LED_BUILTIN, HIGH);
  }

通过判断电流的大小,来关断继电器,断开负载电路的输出。实现保护负载电路的功能。恢复电路这里设置了5秒(可以修改为1秒),是方便自己调节可调电源的电压。但是这里每次电源自动恢复时,应该是电路中电流冲击过大,很容易导致死机。或者是使用板载的USER按键,强行开启继电器,使负载电源供电。

心得体会

参加《Let's do 2025年第1期——DigiKey陪你走过春夏秋冬·DIY功率监测与控制系统》活动,让我尝试了一下低电压控制高电压的实验。期间曲折,也让自己明白了电路设计的不易,电路设计中的干扰着时让人心烦,还需要继续努力学习。

power.zip

视频:https://www.bilibili.com/video/BV11hKAznExE/



1506034
菜鸟
2025年06月21日 01:09:32 打赏
2楼

同遇到干扰问题


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]
-

嵌入式开发

STM32

MCU

FPGA

软件与操作系统

RISC-V

国产MCU

-

综合技术

电源与模拟

通讯及无线技术

工业控制与自动化

物联网技术

PCB与EMC

测试测量

智能新技术

基础知识

-

DIY与开源设计

电子DIY

开源硬件

设计工具

-

行业应用

汽车电子

机器人开发

-

活动中心

板卡试用

研讨会

下载专区

合作大赛

视频专区

有奖活动

-

高校专区

毕业设计专区

竞赛辅导

坤创E-Geek/天科大新电社

漓东e学堂

周师电子设计创新社区

岭南EE码农港

湖北理工TEA

东师科技爱好者

-

休闲专区

话题讨论

我爱工作

我爱生活

-

企业专区

OpenVINO生态社区

英飞凌

ADI

Xilinx

TI

Mouser

Microchip

贝能国际

Atmel

GD32

Linear

Renesas

Cypress

机智云Gizwits

Micron

-

论坛服务

投诉与建议

论坛公告








AltStyle によって変換されたページ (->オリジナル) /