请问,我执行开始水泵或者风扇时候只是指示灯开启了,但是风扇等并没有工作。我代码里应该也写全了,但是还是不能实现。有没有大佬解答一下
“指示灯亮了就说明你的代码完全没问题,MCU的GPIO拉高了,ULN2003A也成功把引脚拉低了。别再改代码了,方向错了。 问题出在继电器或者功率部分的供电上。 按照你的排查顺序来:
- 先听声音:发指令时,继电器有没有‘吧嗒’的吸合声?如果没有,检查继电器的5V供电。
- 如果有吸合声:看你的原理图,接线端子(P1/P2)供电是由
5VR提供的。检查板子上是不是有5V和5VR的隔离跳线帽没有插? - 电流问题:你接了风扇和水泵,这俩都是感性负载,起步电流很大。如果你是直接插在电脑USB上供电,大概率电流不够,电压直接被拉低带不动电机。建议换个2A以上的独立电源试试。”
软件完全没问题。LED 灯与 ULN2003A 输出端的继电器线圈是并联的,所以只要灯亮,就说明逻辑执行完全正常。问题出在实际负载供电不足。那些小型潜水泵在启动时会产生巨大的浪涌电流。如果你是靠标准 USB 接口给整块板子供电,电压会骤降导致电机转不起来,哪怕继电器已经闭合了。试着接一个独立的 5V/2A 电源到板子的主电源输入口,并确保 5VR 电源轨确实有电。
楼主这个问题我之前踩过一模一样的坑!指示灯亮就说明 MCU 的 GPIO 输出、ULN2003 驱动芯片这一路完全没问题,别再死磕代码了。按我这个顺序查,10 分钟就能定位:
- 先拿万用表量继电器线圈两端电压,吸合的时候应该有 4.8V 左右。如果电压不够,要么是 + 5V 电源带载能力差,要么是 ULN2003 焊虚了;
- 重点来了!你电路图里继电器触点用的是5VR 独立电源,不是主 + 5V!90% 的人都会忘接这个,我上次就是这里卡了一下午;
- 要是 5VR 有电,就把风扇直接怼 5V 电源上试,转就是继电器坏了,不转就是风扇本身或者接线接反了。先查 5VR,大概率就是它的问题!
好的谢谢
好的谢谢
好的谢了
指示灯亮起 = ULN2003 输出为低电平 = 继电器线圈通电。故障不在代码或 GPIO 中。 故障位于继电器触点电路或负载电源部分。立即检查:测量 5VR 电压(继电器触点电源)。这是此设计中最常见的故障点。
- 如果缺少 5VR:将 5VR 连接到 5V 电源。
- 如果存在 5VR:直接用 5V 测试风扇/泵。若负载能正常工作,则更换继电器。
找到问题了吗,是什么问题?
是没给供5v的电,io口输出的电流不足以支撑继电器和外设所需要的电压
风扇的供电.线和端子的线也没有接好,太细了




